summaryrefslogtreecommitdiff
path: root/src/Tag.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/Tag.c')
-rw-r--r--src/Tag.c9694
1 files changed, 0 insertions, 9694 deletions
diff --git a/src/Tag.c b/src/Tag.c
deleted file mode 100644
index a4b9131..0000000
--- a/src/Tag.c
+++ /dev/null
@@ -1,9694 +0,0 @@
-/* Tag.c generated by valac 0.40.4, 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 <glib.h>
-#include <glib-object.h>
-#include <stdlib.h>
-#include <string.h>
-#include <gee.h>
-#include <time.h>
-#include <glib/gi18n-lib.h>
-
-
-#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;
-enum {
- TAG_0_PROPERTY,
- TAG_NUM_PROPERTIES
-};
-static GParamSpec* tag_properties[TAG_NUM_PROPERTIES];
-
-#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))
-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))
-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_add127 (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))
-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);
-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 1229 "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 1241 "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 1254 "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 1266 "Tag.c"
-}
-
-
-TagSourceCollection*
-tag_source_collection_construct (GType object_type)
-{
- TagSourceCollection* self = NULL;
- LibraryPhotoSourceCollection* _tmp0_;
- VideoSourceCollection* _tmp1_;
- LibraryPhotoSourceCollection* _tmp2_;
-#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 1293 "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 1302 "Tag.c"
-}
-
-
-static gboolean
-tag_source_collection_real_holds_type_of_source (SourceCollection* base,
- DataSource* source)
-{
- TagSourceCollection * self;
- gboolean result = FALSE;
-#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"
- result = G_TYPE_CHECK_INSTANCE_TYPE (source, TYPE_TAG);
-#line 30 "/home/jens/Source/shotwell/src/Tag.vala"
- return result;
-#line 1320 "Tag.c"
-}
-
-
-static gint64
-tag_source_collection_get_tag_key (DataSource* source)
-{
- gint64 result = 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"
- result = data_source_get_instance_id (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (source, TYPE_TAG, Tag), TYPE_DATA_SOURCE, DataSource));
-#line 34 "/home/jens/Source/shotwell/src/Tag.vala"
- return result;
-#line 1334 "Tag.c"
-}
-
-
-static GeeCollection*
-tag_source_collection_real_get_containers_holding_source (ContainerSourceCollection* base,
- DataSource* source)
-{
- TagSourceCollection * self;
- GeeCollection* result = NULL;
- GeeList* _tmp0_;
-#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_ = tag_source_collection_fetch_for_source (self, G_TYPE_CHECK_INSTANCE_CAST (source, TYPE_MEDIA_SOURCE, MediaSource));
-#line 38 "/home/jens/Source/shotwell/src/Tag.vala"
- result = G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_COLLECTION, GeeCollection);
-#line 38 "/home/jens/Source/shotwell/src/Tag.vala"
- return result;
-#line 1355 "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 1364 "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};
- gint64 _tmp0_;
- gint64 _tmp1_;
- Tag* _result_ = NULL;
- Tag* tag = NULL;
- TagID _tmp2_;
- Tag* _tmp3_;
- Tag* _tmp4_;
- Tag* _tmp23_;
-#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_ = source_backlink_get_instance_id (backlink);
-#line 42 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp1_ = _tmp0_;
-#line 42 "/home/jens/Source/shotwell/src/Tag.vala"
- tag_id_init (&tag_id, _tmp1_);
-#line 43 "/home/jens/Source/shotwell/src/Tag.vala"
- _result_ = NULL;
-#line 46 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp2_ = tag_id;
-#line 46 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp3_ = tag_source_collection_fetch (self, &_tmp2_);
-#line 46 "/home/jens/Source/shotwell/src/Tag.vala"
- tag = _tmp3_;
-#line 47 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp4_ = tag;
-#line 47 "/home/jens/Source/shotwell/src/Tag.vala"
- if (_tmp4_ != NULL) {
-#line 1405 "Tag.c"
- Tag* _tmp5_;
- Tag* _tmp6_;
-#line 48 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp5_ = tag;
-#line 48 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp6_ = _g_object_ref0 (_tmp5_);
-#line 48 "/home/jens/Source/shotwell/src/Tag.vala"
- _g_object_unref0 (_result_);
-#line 48 "/home/jens/Source/shotwell/src/Tag.vala"
- _result_ = _tmp6_;
-#line 1416 "Tag.c"
- } else {
- {
- GeeIterator* _container_it = NULL;
- GeeCollection* _tmp7_;
- GeeCollection* _tmp8_;
- GeeIterator* _tmp9_;
- GeeIterator* _tmp10_;
-#line 51 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp7_ = 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"
- _tmp8_ = _tmp7_;
-#line 51 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp9_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, GEE_TYPE_ITERABLE, GeeIterable));
-#line 51 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp10_ = _tmp9_;
-#line 51 "/home/jens/Source/shotwell/src/Tag.vala"
- _g_object_unref0 (_tmp8_);
-#line 51 "/home/jens/Source/shotwell/src/Tag.vala"
- _container_it = _tmp10_;
-#line 51 "/home/jens/Source/shotwell/src/Tag.vala"
- while (TRUE) {
-#line 1438 "Tag.c"
- GeeIterator* _tmp11_;
- ContainerSource* container = NULL;
- GeeIterator* _tmp12_;
- gpointer _tmp13_;
- ContainerSource* _tmp14_;
- Tag* _tmp15_;
- Tag* _tmp16_;
- TagID _tmp17_ = {0};
- gint64 _tmp18_;
- TagID _tmp19_;
- gint64 _tmp20_;
-#line 51 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp11_ = _container_it;
-#line 51 "/home/jens/Source/shotwell/src/Tag.vala"
- if (!gee_iterator_next (_tmp11_)) {
-#line 51 "/home/jens/Source/shotwell/src/Tag.vala"
- break;
-#line 1456 "Tag.c"
- }
-#line 51 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp12_ = _container_it;
-#line 51 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp13_ = gee_iterator_get (_tmp12_);
-#line 51 "/home/jens/Source/shotwell/src/Tag.vala"
- container = (ContainerSource*) _tmp13_;
-#line 52 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp14_ = container;
-#line 52 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp15_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp14_, 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 = _tmp15_;
-#line 53 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp16_ = tag;
-#line 53 "/home/jens/Source/shotwell/src/Tag.vala"
- tag_get_tag_id (_tmp16_, &_tmp17_);
-#line 53 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp18_ = _tmp17_.id;
-#line 53 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp19_ = tag_id;
-#line 53 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp20_ = _tmp19_.id;
-#line 53 "/home/jens/Source/shotwell/src/Tag.vala"
- if (_tmp18_ == _tmp20_) {
-#line 1484 "Tag.c"
- Tag* _tmp21_;
- Tag* _tmp22_;
-#line 54 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp21_ = tag;
-#line 54 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp22_ = _g_object_ref0 (_tmp21_);
-#line 54 "/home/jens/Source/shotwell/src/Tag.vala"
- _g_object_unref0 (_result_);
-#line 54 "/home/jens/Source/shotwell/src/Tag.vala"
- _result_ = _tmp22_;
-#line 55 "/home/jens/Source/shotwell/src/Tag.vala"
- _g_object_unref0 (container);
-#line 55 "/home/jens/Source/shotwell/src/Tag.vala"
- break;
-#line 1499 "Tag.c"
- }
-#line 51 "/home/jens/Source/shotwell/src/Tag.vala"
- _g_object_unref0 (container);
-#line 1503 "Tag.c"
- }
-#line 51 "/home/jens/Source/shotwell/src/Tag.vala"
- _g_object_unref0 (_container_it);
-#line 1507 "Tag.c"
- }
- }
-#line 63 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp23_ = _result_;
-#line 63 "/home/jens/Source/shotwell/src/Tag.vala"
- if (_tmp23_ != NULL) {
-#line 1514 "Tag.c"
- gboolean _tmp24_ = FALSE;
- Tag* _tmp25_;
- gchar* _tmp26_;
- gchar* _tmp27_;
- gboolean _tmp28_;
-#line 64 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp25_ = _result_;
-#line 64 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp26_ = tag_get_path (_tmp25_);
-#line 64 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp27_ = _tmp26_;
-#line 64 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp28_ = g_str_has_prefix (_tmp27_, TAG_PATH_SEPARATOR_STRING);
-#line 64 "/home/jens/Source/shotwell/src/Tag.vala"
- _g_free0 (_tmp27_);
-#line 64 "/home/jens/Source/shotwell/src/Tag.vala"
- if (_tmp28_) {
-#line 1532 "Tag.c"
- Tag* _tmp29_;
- gchar* _tmp30_;
- gchar* _tmp31_;
- GeeList* _tmp32_;
- GeeList* _tmp33_;
- gint _tmp34_;
- gint _tmp35_;
-#line 65 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp29_ = _result_;
-#line 65 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp30_ = tag_get_path (_tmp29_);
-#line 65 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp31_ = _tmp30_;
-#line 65 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp32_ = hierarchical_tag_utilities_enumerate_parent_paths (_tmp31_);
-#line 65 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp33_ = _tmp32_;
-#line 65 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp34_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp33_, GEE_TYPE_COLLECTION, GeeCollection));
-#line 65 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp35_ = _tmp34_;
-#line 65 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp24_ = _tmp35_ > 0;
-#line 65 "/home/jens/Source/shotwell/src/Tag.vala"
- _g_object_unref0 (_tmp33_);
-#line 65 "/home/jens/Source/shotwell/src/Tag.vala"
- _g_free0 (_tmp31_);
-#line 1560 "Tag.c"
- } else {
-#line 64 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp24_ = FALSE;
-#line 1564 "Tag.c"
- }
-#line 64 "/home/jens/Source/shotwell/src/Tag.vala"
- if (_tmp24_) {
-#line 1568 "Tag.c"
- gchar* top_level_with_prefix_path = NULL;
- Tag* _tmp36_;
- gchar* _tmp37_;
- gchar* _tmp38_;
- GeeList* _tmp39_;
- GeeList* _tmp40_;
- gpointer _tmp41_;
- gchar* _tmp42_;
- gchar* top_level_no_prefix_path = NULL;
- const gchar* _tmp43_;
- gchar* _tmp44_;
-#line 66 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp36_ = _result_;
-#line 66 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp37_ = tag_get_path (_tmp36_);
-#line 66 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp38_ = _tmp37_;
-#line 66 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp39_ = hierarchical_tag_utilities_enumerate_parent_paths (_tmp38_);
-#line 66 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp40_ = _tmp39_;
-#line 66 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp41_ = gee_list_get (_tmp40_, 0);
-#line 66 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp42_ = (gchar*) _tmp41_;
-#line 66 "/home/jens/Source/shotwell/src/Tag.vala"
- _g_object_unref0 (_tmp40_);
-#line 66 "/home/jens/Source/shotwell/src/Tag.vala"
- _g_free0 (_tmp38_);
-#line 66 "/home/jens/Source/shotwell/src/Tag.vala"
- top_level_with_prefix_path = _tmp42_;
-#line 68 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp43_ = top_level_with_prefix_path;
-#line 68 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp44_ = hierarchical_tag_utilities_hierarchical_to_flat (_tmp43_);
-#line 68 "/home/jens/Source/shotwell/src/Tag.vala"
- top_level_no_prefix_path = _tmp44_;
-#line 1606 "Tag.c"
- {
- GeeIterator* _container_it = NULL;
- GeeCollection* _tmp45_;
- GeeCollection* _tmp46_;
- GeeIterator* _tmp47_;
- GeeIterator* _tmp48_;
-#line 71 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp45_ = 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"
- _tmp46_ = _tmp45_;
-#line 71 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp47_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp46_, GEE_TYPE_ITERABLE, GeeIterable));
-#line 71 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp48_ = _tmp47_;
-#line 71 "/home/jens/Source/shotwell/src/Tag.vala"
- _g_object_unref0 (_tmp46_);
-#line 71 "/home/jens/Source/shotwell/src/Tag.vala"
- _container_it = _tmp48_;
-#line 71 "/home/jens/Source/shotwell/src/Tag.vala"
- while (TRUE) {
-#line 1627 "Tag.c"
- GeeIterator* _tmp49_;
- ContainerSource* container = NULL;
- GeeIterator* _tmp50_;
- gpointer _tmp51_;
- Tag* parent_candidate = NULL;
- ContainerSource* _tmp52_;
- Tag* _tmp53_;
- Tag* _tmp54_;
- gchar* _tmp55_;
- gchar* _tmp56_;
- const gchar* _tmp57_;
- gboolean _tmp58_;
-#line 71 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp49_ = _container_it;
-#line 71 "/home/jens/Source/shotwell/src/Tag.vala"
- if (!gee_iterator_next (_tmp49_)) {
-#line 71 "/home/jens/Source/shotwell/src/Tag.vala"
- break;
-#line 1646 "Tag.c"
- }
-#line 71 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp50_ = _container_it;
-#line 71 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp51_ = gee_iterator_get (_tmp50_);
-#line 71 "/home/jens/Source/shotwell/src/Tag.vala"
- container = (ContainerSource*) _tmp51_;
-#line 72 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp52_ = container;
-#line 72 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp53_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp52_, TYPE_TAG, Tag));
-#line 72 "/home/jens/Source/shotwell/src/Tag.vala"
- parent_candidate = _tmp53_;
-#line 73 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp54_ = parent_candidate;
-#line 73 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp55_ = tag_get_path (_tmp54_);
-#line 73 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp56_ = _tmp55_;
-#line 73 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp57_ = top_level_no_prefix_path;
-#line 73 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp58_ = g_strcmp0 (_tmp56_, _tmp57_) == 0;
-#line 73 "/home/jens/Source/shotwell/src/Tag.vala"
- _g_free0 (_tmp56_);
-#line 73 "/home/jens/Source/shotwell/src/Tag.vala"
- if (_tmp58_) {
-#line 1674 "Tag.c"
- Tag* _tmp59_;
-#line 74 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp59_ = parent_candidate;
-#line 74 "/home/jens/Source/shotwell/src/Tag.vala"
- tag_promote (_tmp59_);
-#line 1680 "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 1686 "Tag.c"
- }
-#line 71 "/home/jens/Source/shotwell/src/Tag.vala"
- _g_object_unref0 (_container_it);
-#line 1690 "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 1696 "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 1705 "Tag.c"
-}
-
-
-Tag*
-tag_source_collection_fetch (TagSourceCollection* self,
- TagID* tag_id)
-{
- Tag* result = NULL;
- TagID _tmp0_;
- gint64 _tmp1_;
- DataSource* _tmp2_;
-#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 1731 "Tag.c"
-}
-
-
-gboolean
-tag_source_collection_exists (TagSourceCollection* self,
- const gchar* name,
- gboolean treat_htags_as_root)
-{
- gboolean result = FALSE;
- Tag* _tmp0_;
- Tag* _tmp1_;
- gboolean _tmp2_;
-#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_ = tag_source_collection_fetch_by_name (self, name, treat_htags_as_root);
-#line 87 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp1_ = _tmp0_;
-#line 87 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp2_ = _tmp1_ != NULL;
-#line 87 "/home/jens/Source/shotwell/src/Tag.vala"
- _g_object_unref0 (_tmp1_);
-#line 87 "/home/jens/Source/shotwell/src/Tag.vala"
- result = _tmp2_;
-#line 87 "/home/jens/Source/shotwell/src/Tag.vala"
- return result;
-#line 1760 "Tag.c"
-}
-
-
-GeeCollection*
-tag_source_collection_get_all_names (TagSourceCollection* self)
-{
- GeeCollection* result = NULL;
- GeeHashMap* _tmp0_;
- GeeSet* _tmp1_;
- GeeSet* _tmp2_;
-#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_ABSTRACT_MAP, GeeAbstractMap));
-#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 1783 "Tag.c"
-}
-
-
-GeeList*
-tag_source_collection_fetch_for_source (TagSourceCollection* self,
- MediaSource* source)
-{
- GeeList* result = NULL;
- GeeHashMap* _tmp0_;
- gpointer _tmp1_;
-#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_ = gee_abstract_map_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), source);
-#line 99 "/home/jens/Source/shotwell/src/Tag.vala"
- result = (GeeList*) _tmp1_;
-#line 99 "/home/jens/Source/shotwell/src/Tag.vala"
- return result;
-#line 1806 "Tag.c"
-}
-
-
-GeeSortedSet*
-tag_source_collection_fetch_sorted_for_source (TagSourceCollection* self,
- MediaSource* photo)
-{
- GeeSortedSet* result = NULL;
- GeeHashMap* _tmp0_;
- gpointer _tmp1_;
-#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_ = gee_abstract_map_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), photo);
-#line 107 "/home/jens/Source/shotwell/src/Tag.vala"
- result = (GeeSortedSet*) _tmp1_;
-#line 107 "/home/jens/Source/shotwell/src/Tag.vala"
- return result;
-#line 1829 "Tag.c"
-}
-
-
-Tag*
-tag_source_collection_fetch_by_name (TagSourceCollection* self,
- const gchar* name,
- gboolean treat_htags_as_root)
-{
- Tag* result = NULL;
- GeeHashMap* _tmp17_;
- gpointer _tmp18_;
-#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"
- if (treat_htags_as_root) {
-#line 114 "/home/jens/Source/shotwell/src/Tag.vala"
- if (g_str_has_prefix (name, TAG_PATH_SEPARATOR_STRING)) {
-#line 1849 "Tag.c"
- GeeList* _tmp0_;
- GeeList* _tmp1_;
- gint _tmp2_;
- gint _tmp3_;
- gboolean _tmp4_;
-#line 115 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp0_ = hierarchical_tag_utilities_enumerate_path_components (name);
-#line 115 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp1_ = _tmp0_;
-#line 115 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp2_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, GEE_TYPE_COLLECTION, GeeCollection));
-#line 115 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp3_ = _tmp2_;
-#line 115 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp4_ = _tmp3_ == 1;
-#line 115 "/home/jens/Source/shotwell/src/Tag.vala"
- _g_object_unref0 (_tmp1_);
-#line 115 "/home/jens/Source/shotwell/src/Tag.vala"
- if (_tmp4_) {
-#line 1869 "Tag.c"
- Tag* tag = NULL;
- GeeHashMap* _tmp5_;
- gchar* _tmp6_;
- gchar* _tmp7_;
- gpointer _tmp8_;
- Tag* _tmp9_;
- Tag* _tmp10_;
-#line 116 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp5_ = self->priv->name_map;
-#line 116 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp6_ = hierarchical_tag_utilities_hierarchical_to_flat (name);
-#line 116 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp7_ = _tmp6_;
-#line 116 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp8_ = gee_abstract_map_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp7_);
-#line 116 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp9_ = (Tag*) _tmp8_;
-#line 116 "/home/jens/Source/shotwell/src/Tag.vala"
- _g_free0 (_tmp7_);
-#line 116 "/home/jens/Source/shotwell/src/Tag.vala"
- tag = _tmp9_;
-#line 117 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp10_ = tag;
-#line 117 "/home/jens/Source/shotwell/src/Tag.vala"
- if (_tmp10_ != NULL) {
-#line 118 "/home/jens/Source/shotwell/src/Tag.vala"
- result = tag;
-#line 118 "/home/jens/Source/shotwell/src/Tag.vala"
- return result;
-#line 1899 "Tag.c"
- }
-#line 115 "/home/jens/Source/shotwell/src/Tag.vala"
- _g_object_unref0 (tag);
-#line 1903 "Tag.c"
- }
- } else {
- Tag* tag = NULL;
- GeeHashMap* _tmp11_;
- gchar* _tmp12_;
- gchar* _tmp13_;
- gpointer _tmp14_;
- Tag* _tmp15_;
- Tag* _tmp16_;
-#line 121 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp11_ = self->priv->name_map;
-#line 121 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp12_ = hierarchical_tag_utilities_flat_to_hierarchical (name);
-#line 121 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp13_ = _tmp12_;
-#line 121 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp14_ = gee_abstract_map_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp11_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp13_);
-#line 121 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp15_ = (Tag*) _tmp14_;
-#line 121 "/home/jens/Source/shotwell/src/Tag.vala"
- _g_free0 (_tmp13_);
-#line 121 "/home/jens/Source/shotwell/src/Tag.vala"
- tag = _tmp15_;
-#line 122 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp16_ = tag;
-#line 122 "/home/jens/Source/shotwell/src/Tag.vala"
- if (_tmp16_ != NULL) {
-#line 123 "/home/jens/Source/shotwell/src/Tag.vala"
- result = tag;
-#line 123 "/home/jens/Source/shotwell/src/Tag.vala"
- return result;
-#line 1935 "Tag.c"
- }
-#line 114 "/home/jens/Source/shotwell/src/Tag.vala"
- _g_object_unref0 (tag);
-#line 1939 "Tag.c"
- }
- }
-#line 127 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp17_ = self->priv->name_map;
-#line 127 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp18_ = gee_abstract_map_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp17_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), name);
-#line 127 "/home/jens/Source/shotwell/src/Tag.vala"
- result = (Tag*) _tmp18_;
-#line 127 "/home/jens/Source/shotwell/src/Tag.vala"
- return result;
-#line 1950 "Tag.c"
-}
-
-
-Tag*
-tag_source_collection_restore_tag_from_holding_tank (TagSourceCollection* self,
- const gchar* name)
-{
- Tag* result = NULL;
- Tag* found = NULL;
- Tag* _tmp15_;
-#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 1967 "Tag.c"
- {
- GeeIterator* _container_it = NULL;
- GeeCollection* _tmp0_;
- GeeCollection* _tmp1_;
- GeeIterator* _tmp2_;
- GeeIterator* _tmp3_;
-#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 1988 "Tag.c"
- GeeIterator* _tmp4_;
- ContainerSource* container = NULL;
- GeeIterator* _tmp5_;
- gpointer _tmp6_;
- Tag* tag = NULL;
- ContainerSource* _tmp7_;
- Tag* _tmp8_;
- Tag* _tmp9_;
- gchar* _tmp10_;
- gchar* _tmp11_;
- gboolean _tmp12_;
-#line 132 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp4_ = _container_it;
-#line 132 "/home/jens/Source/shotwell/src/Tag.vala"
- if (!gee_iterator_next (_tmp4_)) {
-#line 132 "/home/jens/Source/shotwell/src/Tag.vala"
- break;
-#line 2006 "Tag.c"
- }
-#line 132 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp5_ = _container_it;
-#line 132 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp6_ = gee_iterator_get (_tmp5_);
-#line 132 "/home/jens/Source/shotwell/src/Tag.vala"
- container = (ContainerSource*) _tmp6_;
-#line 133 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp7_ = container;
-#line 133 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp8_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, TYPE_TAG, Tag));
-#line 133 "/home/jens/Source/shotwell/src/Tag.vala"
- tag = _tmp8_;
-#line 134 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp9_ = tag;
-#line 134 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp10_ = data_object_get_name (G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, TYPE_DATA_OBJECT, DataObject));
-#line 134 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp11_ = _tmp10_;
-#line 134 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp12_ = g_strcmp0 (_tmp11_, name) == 0;
-#line 134 "/home/jens/Source/shotwell/src/Tag.vala"
- _g_free0 (_tmp11_);
-#line 134 "/home/jens/Source/shotwell/src/Tag.vala"
- if (_tmp12_) {
-#line 2032 "Tag.c"
- Tag* _tmp13_;
- Tag* _tmp14_;
-#line 135 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp13_ = tag;
-#line 135 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp14_ = _g_object_ref0 (_tmp13_);
-#line 135 "/home/jens/Source/shotwell/src/Tag.vala"
- _g_object_unref0 (found);
-#line 135 "/home/jens/Source/shotwell/src/Tag.vala"
- found = _tmp14_;
-#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 2049 "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 2055 "Tag.c"
- }
-#line 132 "/home/jens/Source/shotwell/src/Tag.vala"
- _g_object_unref0 (_container_it);
-#line 2059 "Tag.c"
- }
-#line 141 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp15_ = found;
-#line 141 "/home/jens/Source/shotwell/src/Tag.vala"
- if (_tmp15_ != NULL) {
-#line 2065 "Tag.c"
- gboolean relinked = FALSE;
- Tag* _tmp16_;
- gboolean _tmp17_;
-#line 142 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp16_ = found;
-#line 142 "/home/jens/Source/shotwell/src/Tag.vala"
- relinked = container_source_collection_relink_from_holding_tank (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_CONTAINER_SOURCE_COLLECTION, ContainerSourceCollection), G_TYPE_CHECK_INSTANCE_CAST (_tmp16_, TYPE_CONTAINER_SOURCE, ContainerSource));
-#line 143 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp17_ = relinked;
-#line 143 "/home/jens/Source/shotwell/src/Tag.vala"
- _vala_assert (_tmp17_, "relinked");
-#line 2077 "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 2083 "Tag.c"
-}
-
-
-static void
-tag_source_collection_real_notify_items_added (DataCollection* base,
- GeeIterable* added)
-{
- TagSourceCollection * self;
-#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 2096 "Tag.c"
- {
- GeeIterator* _object_it = NULL;
- GeeIterator* _tmp0_;
-#line 150 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp0_ = gee_iterable_iterator (added);
-#line 150 "/home/jens/Source/shotwell/src/Tag.vala"
- _object_it = _tmp0_;
-#line 150 "/home/jens/Source/shotwell/src/Tag.vala"
- while (TRUE) {
-#line 2106 "Tag.c"
- GeeIterator* _tmp1_;
- DataObject* object = NULL;
- GeeIterator* _tmp2_;
- gpointer _tmp3_;
- Tag* tag = NULL;
- DataObject* _tmp4_;
- Tag* _tmp5_;
- GeeHashMap* _tmp6_;
- Tag* _tmp7_;
- gchar* _tmp8_;
- gchar* _tmp9_;
- GeeHashMap* _tmp10_;
- Tag* _tmp11_;
- gchar* _tmp12_;
- gchar* _tmp13_;
- Tag* _tmp14_;
-#line 150 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp1_ = _object_it;
-#line 150 "/home/jens/Source/shotwell/src/Tag.vala"
- if (!gee_iterator_next (_tmp1_)) {
-#line 150 "/home/jens/Source/shotwell/src/Tag.vala"
- break;
-#line 2129 "Tag.c"
- }
-#line 150 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp2_ = _object_it;
-#line 150 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp3_ = gee_iterator_get (_tmp2_);
-#line 150 "/home/jens/Source/shotwell/src/Tag.vala"
- object = (DataObject*) _tmp3_;
-#line 151 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp4_ = object;
-#line 151 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp5_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, TYPE_TAG, Tag));
-#line 151 "/home/jens/Source/shotwell/src/Tag.vala"
- tag = _tmp5_;
-#line 153 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp6_ = self->priv->name_map;
-#line 153 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp7_ = tag;
-#line 153 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp8_ = data_object_get_name (G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, TYPE_DATA_OBJECT, DataObject));
-#line 153 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp9_ = _tmp8_;
-#line 153 "/home/jens/Source/shotwell/src/Tag.vala"
- _vala_assert (!gee_abstract_map_has_key (G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp9_), "!name_map.has_key(tag.get_name())");
-#line 153 "/home/jens/Source/shotwell/src/Tag.vala"
- _g_free0 (_tmp9_);
-#line 154 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp10_ = self->priv->name_map;
-#line 154 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp11_ = tag;
-#line 154 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp12_ = data_object_get_name (G_TYPE_CHECK_INSTANCE_CAST (_tmp11_, TYPE_DATA_OBJECT, DataObject));
-#line 154 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp13_ = _tmp12_;
-#line 154 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp14_ = tag;
-#line 154 "/home/jens/Source/shotwell/src/Tag.vala"
- gee_abstract_map_set (G_TYPE_CHECK_INSTANCE_CAST (_tmp10_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp13_, _tmp14_);
-#line 154 "/home/jens/Source/shotwell/src/Tag.vala"
- _g_free0 (_tmp13_);
-#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 2173 "Tag.c"
- }
-#line 150 "/home/jens/Source/shotwell/src/Tag.vala"
- _g_object_unref0 (_object_it);
-#line 2177 "Tag.c"
- }
-#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), added);
-#line 2181 "Tag.c"
-}
-
-
-static void
-tag_source_collection_real_notify_items_removed (DataCollection* base,
- GeeIterable* removed)
-{
- TagSourceCollection * self;
-#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 2194 "Tag.c"
- {
- GeeIterator* _object_it = NULL;
- GeeIterator* _tmp0_;
-#line 161 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp0_ = gee_iterable_iterator (removed);
-#line 161 "/home/jens/Source/shotwell/src/Tag.vala"
- _object_it = _tmp0_;
-#line 161 "/home/jens/Source/shotwell/src/Tag.vala"
- while (TRUE) {
-#line 2204 "Tag.c"
- GeeIterator* _tmp1_;
- DataObject* object = NULL;
- GeeIterator* _tmp2_;
- gpointer _tmp3_;
- Tag* tag = NULL;
- DataObject* _tmp4_;
- Tag* _tmp5_;
- gboolean unset = FALSE;
- GeeHashMap* _tmp6_;
- Tag* _tmp7_;
- gchar* _tmp8_;
- gchar* _tmp9_;
- gboolean _tmp10_;
- gboolean _tmp11_;
- gboolean _tmp12_;
- Tag* parent = NULL;
- Tag* _tmp13_;
- Tag* _tmp14_;
- gboolean _tmp15_ = FALSE;
- Tag* _tmp16_;
-#line 161 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp1_ = _object_it;
-#line 161 "/home/jens/Source/shotwell/src/Tag.vala"
- if (!gee_iterator_next (_tmp1_)) {
-#line 161 "/home/jens/Source/shotwell/src/Tag.vala"
- break;
-#line 2231 "Tag.c"
- }
-#line 161 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp2_ = _object_it;
-#line 161 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp3_ = gee_iterator_get (_tmp2_);
-#line 161 "/home/jens/Source/shotwell/src/Tag.vala"
- object = (DataObject*) _tmp3_;
-#line 162 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp4_ = object;
-#line 162 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp5_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, TYPE_TAG, Tag));
-#line 162 "/home/jens/Source/shotwell/src/Tag.vala"
- tag = _tmp5_;
-#line 164 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp6_ = self->priv->name_map;
-#line 164 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp7_ = tag;
-#line 164 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp8_ = data_object_get_name (G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, TYPE_DATA_OBJECT, DataObject));
-#line 164 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp9_ = _tmp8_;
-#line 164 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp10_ = gee_abstract_map_unset (G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp9_, NULL);
-#line 164 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp11_ = _tmp10_;
-#line 164 "/home/jens/Source/shotwell/src/Tag.vala"
- _g_free0 (_tmp9_);
-#line 164 "/home/jens/Source/shotwell/src/Tag.vala"
- unset = _tmp11_;
-#line 165 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp12_ = unset;
-#line 165 "/home/jens/Source/shotwell/src/Tag.vala"
- _vala_assert (_tmp12_, "unset");
-#line 169 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp13_ = tag;
-#line 169 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp14_ = tag_get_hierarchical_parent (_tmp13_);
-#line 169 "/home/jens/Source/shotwell/src/Tag.vala"
- parent = _tmp14_;
-#line 170 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp16_ = parent;
-#line 170 "/home/jens/Source/shotwell/src/Tag.vala"
- if (_tmp16_ != NULL) {
-#line 2275 "Tag.c"
- Tag* _tmp17_;
- Tag* _tmp18_;
- Tag* _tmp19_;
-#line 170 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp17_ = parent;
-#line 170 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp18_ = tag_get_hierarchical_parent (_tmp17_);
-#line 170 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp19_ = _tmp18_;
-#line 170 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp15_ = _tmp19_ == NULL;
-#line 170 "/home/jens/Source/shotwell/src/Tag.vala"
- _g_object_unref0 (_tmp19_);
-#line 2289 "Tag.c"
- } else {
-#line 170 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp15_ = FALSE;
-#line 2293 "Tag.c"
- }
-#line 170 "/home/jens/Source/shotwell/src/Tag.vala"
- if (_tmp15_) {
-#line 2297 "Tag.c"
- Tag* _tmp20_;
- GeeList* _tmp21_;
- GeeList* _tmp22_;
- gint _tmp23_;
- gint _tmp24_;
- gboolean _tmp25_;
-#line 171 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp20_ = parent;
-#line 171 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp21_ = tag_get_hierarchical_children (_tmp20_);
-#line 171 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp22_ = _tmp21_;
-#line 171 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp23_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp22_, GEE_TYPE_COLLECTION, GeeCollection));
-#line 171 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp24_ = _tmp23_;
-#line 171 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp25_ = _tmp24_ == 0;
-#line 171 "/home/jens/Source/shotwell/src/Tag.vala"
- _g_object_unref0 (_tmp22_);
-#line 171 "/home/jens/Source/shotwell/src/Tag.vala"
- if (_tmp25_) {
-#line 2320 "Tag.c"
- Tag* _tmp26_;
-#line 172 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp26_ = parent;
-#line 172 "/home/jens/Source/shotwell/src/Tag.vala"
- tag_flatten (_tmp26_);
-#line 2326 "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 2335 "Tag.c"
- }
-#line 161 "/home/jens/Source/shotwell/src/Tag.vala"
- _g_object_unref0 (_object_it);
-#line 2339 "Tag.c"
- }
-#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), removed);
-#line 2343 "Tag.c"
-}
-
-
-static void
-tag_source_collection_real_notify_items_altered (DataCollection* base,
- GeeMap* map)
-{
- TagSourceCollection * self;
-#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 2356 "Tag.c"
- {
- GeeIterator* _object_it = NULL;
- GeeSet* _tmp0_;
- GeeSet* _tmp1_;
- GeeSet* _tmp2_;
- GeeIterator* _tmp3_;
- GeeIterator* _tmp4_;
-#line 180 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp0_ = gee_map_get_keys (map);
-#line 180 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp1_ = _tmp0_;
-#line 180 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp2_ = _tmp1_;
-#line 180 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp3_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, GEE_TYPE_ITERABLE, GeeIterable));
-#line 180 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp4_ = _tmp3_;
-#line 180 "/home/jens/Source/shotwell/src/Tag.vala"
- _g_object_unref0 (_tmp2_);
-#line 180 "/home/jens/Source/shotwell/src/Tag.vala"
- _object_it = _tmp4_;
-#line 180 "/home/jens/Source/shotwell/src/Tag.vala"
- while (TRUE) {
-#line 2380 "Tag.c"
- GeeIterator* _tmp5_;
- DataObject* object = NULL;
- GeeIterator* _tmp6_;
- gpointer _tmp7_;
- Tag* tag = NULL;
- DataObject* _tmp8_;
- Tag* _tmp9_;
- gchar* old_name = NULL;
- GeeMapIterator* iter = NULL;
- GeeHashMap* _tmp10_;
- GeeMapIterator* _tmp11_;
- const gchar* _tmp20_;
- Tag* _tmp21_;
- gchar* _tmp22_;
- gchar* _tmp23_;
- const gchar* _tmp24_;
- gboolean _tmp25_;
-#line 180 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp5_ = _object_it;
-#line 180 "/home/jens/Source/shotwell/src/Tag.vala"
- if (!gee_iterator_next (_tmp5_)) {
-#line 180 "/home/jens/Source/shotwell/src/Tag.vala"
- break;
-#line 2404 "Tag.c"
- }
-#line 180 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp6_ = _object_it;
-#line 180 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp7_ = gee_iterator_get (_tmp6_);
-#line 180 "/home/jens/Source/shotwell/src/Tag.vala"
- object = (DataObject*) _tmp7_;
-#line 181 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp8_ = object;
-#line 181 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp9_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, TYPE_TAG, Tag));
-#line 181 "/home/jens/Source/shotwell/src/Tag.vala"
- tag = _tmp9_;
-#line 183 "/home/jens/Source/shotwell/src/Tag.vala"
- old_name = NULL;
-#line 186 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp10_ = self->priv->name_map;
-#line 186 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp11_ = gee_abstract_map_map_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp10_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap));
-#line 186 "/home/jens/Source/shotwell/src/Tag.vala"
- iter = _tmp11_;
-#line 187 "/home/jens/Source/shotwell/src/Tag.vala"
- while (TRUE) {
-#line 2428 "Tag.c"
- GeeMapIterator* _tmp12_;
- GeeMapIterator* _tmp13_;
- gpointer _tmp14_;
- Tag* _tmp15_;
- Tag* _tmp16_;
- gboolean _tmp17_;
- GeeMapIterator* _tmp18_;
- gpointer _tmp19_;
-#line 187 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp12_ = iter;
-#line 187 "/home/jens/Source/shotwell/src/Tag.vala"
- if (!gee_map_iterator_next (_tmp12_)) {
-#line 187 "/home/jens/Source/shotwell/src/Tag.vala"
- break;
-#line 2443 "Tag.c"
- }
-#line 188 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp13_ = iter;
-#line 188 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp14_ = gee_map_iterator_get_value (_tmp13_);
-#line 188 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp15_ = (Tag*) _tmp14_;
-#line 188 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp16_ = tag;
-#line 188 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp17_ = !data_source_equals (G_TYPE_CHECK_INSTANCE_CAST (_tmp15_, TYPE_DATA_SOURCE, DataSource), G_TYPE_CHECK_INSTANCE_CAST (_tmp16_, TYPE_DATA_SOURCE, DataSource));
-#line 188 "/home/jens/Source/shotwell/src/Tag.vala"
- _g_object_unref0 (_tmp15_);
-#line 188 "/home/jens/Source/shotwell/src/Tag.vala"
- if (_tmp17_) {
-#line 189 "/home/jens/Source/shotwell/src/Tag.vala"
- continue;
-#line 2461 "Tag.c"
- }
-#line 191 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp18_ = iter;
-#line 191 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp19_ = gee_map_iterator_get_key (_tmp18_);
-#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*) _tmp19_;
-#line 193 "/home/jens/Source/shotwell/src/Tag.vala"
- break;
-#line 2473 "Tag.c"
- }
-#line 196 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp20_ = old_name;
-#line 196 "/home/jens/Source/shotwell/src/Tag.vala"
- _vala_assert (_tmp20_ != NULL, "old_name != null");
-#line 198 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp21_ = tag;
-#line 198 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp22_ = data_object_get_name (G_TYPE_CHECK_INSTANCE_CAST (_tmp21_, TYPE_DATA_OBJECT, DataObject));
-#line 198 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp23_ = _tmp22_;
-#line 198 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp24_ = old_name;
-#line 198 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp25_ = g_strcmp0 (_tmp23_, _tmp24_) != 0;
-#line 198 "/home/jens/Source/shotwell/src/Tag.vala"
- _g_free0 (_tmp23_);
-#line 198 "/home/jens/Source/shotwell/src/Tag.vala"
- if (_tmp25_) {
-#line 2493 "Tag.c"
- GeeHashMap* _tmp26_;
- const gchar* _tmp27_;
- GeeHashMap* _tmp28_;
- Tag* _tmp29_;
- gchar* _tmp30_;
- gchar* _tmp31_;
- Tag* _tmp32_;
-#line 199 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp26_ = self->priv->name_map;
-#line 199 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp27_ = old_name;
-#line 199 "/home/jens/Source/shotwell/src/Tag.vala"
- gee_abstract_map_unset (G_TYPE_CHECK_INSTANCE_CAST (_tmp26_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp27_, NULL);
-#line 200 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp28_ = self->priv->name_map;
-#line 200 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp29_ = tag;
-#line 200 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp30_ = data_object_get_name (G_TYPE_CHECK_INSTANCE_CAST (_tmp29_, TYPE_DATA_OBJECT, DataObject));
-#line 200 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp31_ = _tmp30_;
-#line 200 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp32_ = tag;
-#line 200 "/home/jens/Source/shotwell/src/Tag.vala"
- gee_abstract_map_set (G_TYPE_CHECK_INSTANCE_CAST (_tmp28_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp31_, _tmp32_);
-#line 200 "/home/jens/Source/shotwell/src/Tag.vala"
- _g_free0 (_tmp31_);
-#line 2521 "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 2531 "Tag.c"
- }
-#line 180 "/home/jens/Source/shotwell/src/Tag.vala"
- _g_object_unref0 (_object_it);
-#line 2535 "Tag.c"
- }
-#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), map);
-#line 2539 "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 2552 "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;
- Tag* _tmp0_;
- GeeCollection* sources = NULL;
- GeeCollection* _tmp1_;
-#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_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (container, TYPE_TAG, Tag));
-#line 209 "/home/jens/Source/shotwell/src/Tag.vala"
- tag = _tmp0_;
-#line 210 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp1_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (added, GEE_TYPE_COLLECTION, GeeCollection));
-#line 210 "/home/jens/Source/shotwell/src/Tag.vala"
- sources = _tmp1_;
-#line 2581 "Tag.c"
- {
- GeeIterator* _source_it = NULL;
- GeeCollection* _tmp2_;
- GeeIterator* _tmp3_;
-#line 212 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp2_ = sources;
-#line 212 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp3_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, GEE_TYPE_ITERABLE, GeeIterable));
-#line 212 "/home/jens/Source/shotwell/src/Tag.vala"
- _source_it = _tmp3_;
-#line 212 "/home/jens/Source/shotwell/src/Tag.vala"
- while (TRUE) {
-#line 2594 "Tag.c"
- GeeIterator* _tmp4_;
- MediaSource* source = NULL;
- GeeIterator* _tmp5_;
- gpointer _tmp6_;
- GeeList* tags = NULL;
- GeeHashMap* _tmp7_;
- MediaSource* _tmp8_;
- gpointer _tmp9_;
- GeeList* _tmp10_;
- gboolean is_added = FALSE;
- GeeList* _tmp15_;
- Tag* _tmp16_;
- gboolean _tmp17_;
- GeeSortedSet* sorted_tags = NULL;
- GeeHashMap* _tmp18_;
- MediaSource* _tmp19_;
- gpointer _tmp20_;
- GeeSortedSet* _tmp21_;
- GeeSortedSet* _tmp26_;
- Tag* _tmp27_;
- gboolean _tmp28_;
-#line 212 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp4_ = _source_it;
-#line 212 "/home/jens/Source/shotwell/src/Tag.vala"
- if (!gee_iterator_next (_tmp4_)) {
-#line 212 "/home/jens/Source/shotwell/src/Tag.vala"
- break;
-#line 2622 "Tag.c"
- }
-#line 212 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp5_ = _source_it;
-#line 212 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp6_ = gee_iterator_get (_tmp5_);
-#line 212 "/home/jens/Source/shotwell/src/Tag.vala"
- source = (MediaSource*) _tmp6_;
-#line 213 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp7_ = self->priv->source_map;
-#line 213 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp8_ = source;
-#line 213 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp9_ = gee_abstract_map_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp8_);
-#line 213 "/home/jens/Source/shotwell/src/Tag.vala"
- tags = (GeeList*) _tmp9_;
-#line 214 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp10_ = tags;
-#line 214 "/home/jens/Source/shotwell/src/Tag.vala"
- if (_tmp10_ == NULL) {
-#line 2642 "Tag.c"
- GeeArrayList* _tmp11_;
- GeeHashMap* _tmp12_;
- MediaSource* _tmp13_;
- GeeList* _tmp14_;
-#line 215 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp11_ = gee_array_list_new (TYPE_TAG, (GBoxedCopyFunc) g_object_ref, (GDestroyNotify) 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 (_tmp11_, GEE_TYPE_LIST, GeeList);
-#line 216 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp12_ = self->priv->source_map;
-#line 216 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp13_ = source;
-#line 216 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp14_ = tags;
-#line 216 "/home/jens/Source/shotwell/src/Tag.vala"
- gee_abstract_map_set (G_TYPE_CHECK_INSTANCE_CAST (_tmp12_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp13_, _tmp14_);
-#line 2661 "Tag.c"
- }
-#line 219 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp15_ = tags;
-#line 219 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp16_ = tag;
-#line 219 "/home/jens/Source/shotwell/src/Tag.vala"
- is_added = gee_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp15_, GEE_TYPE_COLLECTION, GeeCollection), _tmp16_);
-#line 220 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp17_ = is_added;
-#line 220 "/home/jens/Source/shotwell/src/Tag.vala"
- _vala_assert (_tmp17_, "is_added");
-#line 222 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp18_ = self->priv->sorted_source_map;
-#line 222 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp19_ = source;
-#line 222 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp20_ = gee_abstract_map_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp18_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp19_);
-#line 222 "/home/jens/Source/shotwell/src/Tag.vala"
- sorted_tags = (GeeSortedSet*) _tmp20_;
-#line 223 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp21_ = sorted_tags;
-#line 223 "/home/jens/Source/shotwell/src/Tag.vala"
- if (_tmp21_ == NULL) {
-#line 2685 "Tag.c"
- GeeTreeSet* _tmp22_;
- GeeHashMap* _tmp23_;
- MediaSource* _tmp24_;
- GeeSortedSet* _tmp25_;
-#line 224 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp22_ = gee_tree_set_new (TYPE_TAG, (GBoxedCopyFunc) g_object_ref, (GDestroyNotify) 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 (_tmp22_, GEE_TYPE_SORTED_SET, GeeSortedSet);
-#line 225 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp23_ = self->priv->sorted_source_map;
-#line 225 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp24_ = source;
-#line 225 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp25_ = sorted_tags;
-#line 225 "/home/jens/Source/shotwell/src/Tag.vala"
- gee_abstract_map_set (G_TYPE_CHECK_INSTANCE_CAST (_tmp23_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp24_, _tmp25_);
-#line 2704 "Tag.c"
- }
-#line 228 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp26_ = sorted_tags;
-#line 228 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp27_ = tag;
-#line 228 "/home/jens/Source/shotwell/src/Tag.vala"
- is_added = gee_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp26_, GEE_TYPE_COLLECTION, GeeCollection), _tmp27_);
-#line 229 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp28_ = is_added;
-#line 229 "/home/jens/Source/shotwell/src/Tag.vala"
- _vala_assert (_tmp28_, "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 2722 "Tag.c"
- }
-#line 212 "/home/jens/Source/shotwell/src/Tag.vala"
- _g_object_unref0 (_source_it);
-#line 2726 "Tag.c"
- }
-#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), container, added, relinking);
-#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 2734 "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;
- Tag* _tmp0_;
- GeeCollection* sources = NULL;
- GeeCollection* _tmp1_;
-#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_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (container, TYPE_TAG, Tag));
-#line 237 "/home/jens/Source/shotwell/src/Tag.vala"
- tag = _tmp0_;
-#line 238 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp1_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (removed, GEE_TYPE_COLLECTION, GeeCollection));
-#line 238 "/home/jens/Source/shotwell/src/Tag.vala"
- sources = _tmp1_;
-#line 2763 "Tag.c"
- {
- GeeIterator* _source_it = NULL;
- GeeCollection* _tmp2_;
- GeeIterator* _tmp3_;
-#line 240 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp2_ = sources;
-#line 240 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp3_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, GEE_TYPE_ITERABLE, GeeIterable));
-#line 240 "/home/jens/Source/shotwell/src/Tag.vala"
- _source_it = _tmp3_;
-#line 240 "/home/jens/Source/shotwell/src/Tag.vala"
- while (TRUE) {
-#line 2776 "Tag.c"
- GeeIterator* _tmp4_;
- MediaSource* source = NULL;
- GeeIterator* _tmp5_;
- gpointer _tmp6_;
- GeeList* tags = NULL;
- GeeHashMap* _tmp7_;
- MediaSource* _tmp8_;
- gpointer _tmp9_;
- GeeList* _tmp10_;
- gboolean is_removed = FALSE;
- GeeList* _tmp11_;
- Tag* _tmp12_;
- gboolean _tmp13_;
- GeeList* _tmp14_;
- gint _tmp15_;
- gint _tmp16_;
- GeeSortedSet* sorted_tags = NULL;
- GeeHashMap* _tmp19_;
- MediaSource* _tmp20_;
- gpointer _tmp21_;
- GeeSortedSet* _tmp22_;
- GeeSortedSet* _tmp23_;
- Tag* _tmp24_;
- gboolean _tmp25_;
- GeeSortedSet* _tmp26_;
- gint _tmp27_;
- gint _tmp28_;
-#line 240 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp4_ = _source_it;
-#line 240 "/home/jens/Source/shotwell/src/Tag.vala"
- if (!gee_iterator_next (_tmp4_)) {
-#line 240 "/home/jens/Source/shotwell/src/Tag.vala"
- break;
-#line 2810 "Tag.c"
- }
-#line 240 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp5_ = _source_it;
-#line 240 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp6_ = gee_iterator_get (_tmp5_);
-#line 240 "/home/jens/Source/shotwell/src/Tag.vala"
- source = (MediaSource*) _tmp6_;
-#line 241 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp7_ = self->priv->source_map;
-#line 241 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp8_ = source;
-#line 241 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp9_ = gee_abstract_map_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp8_);
-#line 241 "/home/jens/Source/shotwell/src/Tag.vala"
- tags = (GeeList*) _tmp9_;
-#line 242 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp10_ = tags;
-#line 242 "/home/jens/Source/shotwell/src/Tag.vala"
- _vala_assert (_tmp10_ != NULL, "tags != null");
-#line 244 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp11_ = tags;
-#line 244 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp12_ = tag;
-#line 244 "/home/jens/Source/shotwell/src/Tag.vala"
- is_removed = gee_collection_remove (G_TYPE_CHECK_INSTANCE_CAST (_tmp11_, GEE_TYPE_COLLECTION, GeeCollection), _tmp12_);
-#line 245 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp13_ = is_removed;
-#line 245 "/home/jens/Source/shotwell/src/Tag.vala"
- _vala_assert (_tmp13_, "is_removed");
-#line 247 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp14_ = tags;
-#line 247 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp15_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp14_, GEE_TYPE_COLLECTION, GeeCollection));
-#line 247 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp16_ = _tmp15_;
-#line 247 "/home/jens/Source/shotwell/src/Tag.vala"
- if (_tmp16_ == 0) {
-#line 2848 "Tag.c"
- GeeHashMap* _tmp17_;
- MediaSource* _tmp18_;
-#line 248 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp17_ = self->priv->source_map;
-#line 248 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp18_ = source;
-#line 248 "/home/jens/Source/shotwell/src/Tag.vala"
- gee_abstract_map_unset (G_TYPE_CHECK_INSTANCE_CAST (_tmp17_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp18_, NULL);
-#line 2857 "Tag.c"
- }
-#line 250 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp19_ = self->priv->sorted_source_map;
-#line 250 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp20_ = source;
-#line 250 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp21_ = gee_abstract_map_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp19_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp20_);
-#line 250 "/home/jens/Source/shotwell/src/Tag.vala"
- sorted_tags = (GeeSortedSet*) _tmp21_;
-#line 251 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp22_ = sorted_tags;
-#line 251 "/home/jens/Source/shotwell/src/Tag.vala"
- _vala_assert (_tmp22_ != NULL, "sorted_tags != null");
-#line 253 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp23_ = sorted_tags;
-#line 253 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp24_ = tag;
-#line 253 "/home/jens/Source/shotwell/src/Tag.vala"
- is_removed = gee_collection_remove (G_TYPE_CHECK_INSTANCE_CAST (_tmp23_, GEE_TYPE_COLLECTION, GeeCollection), _tmp24_);
-#line 254 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp25_ = is_removed;
-#line 254 "/home/jens/Source/shotwell/src/Tag.vala"
- _vala_assert (_tmp25_, "is_removed");
-#line 256 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp26_ = sorted_tags;
-#line 256 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp27_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp26_, GEE_TYPE_COLLECTION, GeeCollection));
-#line 256 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp28_ = _tmp27_;
-#line 256 "/home/jens/Source/shotwell/src/Tag.vala"
- if (_tmp28_ == 0) {
-#line 2889 "Tag.c"
- GeeHashMap* _tmp29_;
- MediaSource* _tmp30_;
-#line 257 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp29_ = self->priv->sorted_source_map;
-#line 257 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp30_ = source;
-#line 257 "/home/jens/Source/shotwell/src/Tag.vala"
- gee_abstract_map_unset (G_TYPE_CHECK_INSTANCE_CAST (_tmp29_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp30_, NULL);
-#line 2898 "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 2906 "Tag.c"
- }
-#line 240 "/home/jens/Source/shotwell/src/Tag.vala"
- _g_object_unref0 (_source_it);
-#line 2910 "Tag.c"
- }
-#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), container, removed, unlinking);
-#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 2918 "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 2933 "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 = (gboolean (*) (SourceCollection *, DataSource*)) tag_source_collection_real_holds_type_of_source;
-#line 7 "/home/jens/Source/shotwell/src/Tag.vala"
- ((ContainerSourceCollectionClass *) klass)->get_containers_holding_source = (GeeCollection* (*) (ContainerSourceCollection *, DataSource*)) tag_source_collection_real_get_containers_holding_source;
-#line 7 "/home/jens/Source/shotwell/src/Tag.vala"
- ((ContainerSourceCollectionClass *) klass)->convert_backlink_to_container = (ContainerSource* (*) (ContainerSourceCollection *, SourceBacklink*)) tag_source_collection_real_convert_backlink_to_container;
-#line 7 "/home/jens/Source/shotwell/src/Tag.vala"
- ((DataCollectionClass *) klass)->notify_items_added = (void (*) (DataCollection *, GeeIterable*)) tag_source_collection_real_notify_items_added;
-#line 7 "/home/jens/Source/shotwell/src/Tag.vala"
- ((DataCollectionClass *) klass)->notify_items_removed = (void (*) (DataCollection *, GeeIterable*)) tag_source_collection_real_notify_items_removed;
-#line 7 "/home/jens/Source/shotwell/src/Tag.vala"
- ((DataCollectionClass *) klass)->notify_items_altered = (void (*) (DataCollection *, GeeMap*)) tag_source_collection_real_notify_items_altered;
-#line 7 "/home/jens/Source/shotwell/src/Tag.vala"
- ((ContainerSourceCollectionClass *) klass)->notify_container_contents_added = (void (*) (ContainerSourceCollection *, ContainerSource*, GeeCollection*, gboolean)) tag_source_collection_real_notify_container_contents_added;
-#line 7 "/home/jens/Source/shotwell/src/Tag.vala"
- ((ContainerSourceCollectionClass *) klass)->notify_container_contents_removed = (void (*) (ContainerSourceCollection *, ContainerSource*, GeeCollection*, gboolean)) tag_source_collection_real_notify_container_contents_removed;
-#line 2962 "Tag.c"
-}
-
-
-static void
-tag_source_collection_instance_init (TagSourceCollection * self)
-{
- GeeHashMap* _tmp0_;
- GeeHashMap* _tmp1_;
- GeeHashMap* _tmp2_;
-#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, (GDestroyNotify) g_free, TYPE_TAG, (GBoxedCopyFunc) g_object_ref, (GDestroyNotify) 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, (GDestroyNotify) g_object_unref, GEE_TYPE_LIST, (GBoxedCopyFunc) g_object_ref, (GDestroyNotify) 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, (GDestroyNotify) g_object_unref, GEE_TYPE_SORTED_SET, (GBoxedCopyFunc) g_object_ref, (GDestroyNotify) 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 2986 "Tag.c"
-}
-
-
-static void
-tag_source_collection_finalize (DataCollection * obj)
-{
- TagSourceCollection * self;
- LibraryPhotoSourceCollection* _tmp0_;
- guint _tmp1_;
-#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 3012 "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 3038 "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 3049 "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 3058 "Tag.c"
-}
-
-
-static Tag*
-tag_construct (GType object_type,
- TagRow* row,
- gint64 object_id)
-{
- Tag * self = NULL;
- TagRow* _tmp0_;
- TagRow* _tmp1_;
- TagRow* _tmp2_;
- const gchar* _tmp3_;
- gchar* _tmp4_;
- GeeArrayList* source_list = NULL;
- GeeArrayList* _tmp5_;
- GeeArrayList* thumbnail_views = NULL;
- GeeArrayList* _tmp6_;
- TagRow* _tmp7_;
- GeeSet* _tmp8_;
- TagID _tmp29_;
- gint64 _tmp30_;
- gchar* _tmp31_;
- gchar* _tmp32_;
- gchar* _tmp33_;
- gchar* _tmp34_;
- ViewCollection* _tmp35_;
- ViewCollection* _tmp36_;
- GeeArrayList* _tmp37_;
- GeeCollection* _tmp38_;
- GeeCollection* _tmp39_;
- GeeArrayList* _tmp40_;
- gint _tmp41_;
- gint _tmp42_;
- ViewCollection* _tmp47_;
- LibraryPhotoSourceCollection* _tmp48_;
- VideoSourceCollection* _tmp49_;
-#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"
- self = (Tag*) data_source_construct (object_type, object_id);
-#line 335 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp0_ = _tag_row_ref0 (row);
-#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 = _tmp0_;
-#line 338 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp1_ = self->priv->row;
-#line 338 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp2_ = self->priv->row;
-#line 338 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp3_ = _tmp2_->name;
-#line 338 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp4_ = tag_prep_tag_name (_tmp3_);
-#line 338 "/home/jens/Source/shotwell/src/Tag.vala"
- _g_free0 (_tmp1_->name);
-#line 338 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp1_->name = _tmp4_;
-#line 341 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp5_ = gee_array_list_new (TYPE_MEDIA_SOURCE, (GBoxedCopyFunc) g_object_ref, (GDestroyNotify) g_object_unref, NULL, NULL, NULL);
-#line 341 "/home/jens/Source/shotwell/src/Tag.vala"
- source_list = _tmp5_;
-#line 342 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp6_ = gee_array_list_new (TYPE_THUMBNAIL_VIEW, (GBoxedCopyFunc) g_object_ref, (GDestroyNotify) g_object_unref, NULL, NULL, NULL);
-#line 342 "/home/jens/Source/shotwell/src/Tag.vala"
- thumbnail_views = _tmp6_;
-#line 343 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp7_ = self->priv->row;
-#line 343 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp8_ = _tmp7_->source_id_list;
-#line 343 "/home/jens/Source/shotwell/src/Tag.vala"
- if (_tmp8_ != NULL) {
-#line 3132 "Tag.c"
- {
- GeeIterator* _source_id_it = NULL;
- TagRow* _tmp9_;
- GeeSet* _tmp10_;
- GeeIterator* _tmp11_;
-#line 344 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp9_ = self->priv->row;
-#line 344 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp10_ = _tmp9_->source_id_list;
-#line 344 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp11_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp10_, GEE_TYPE_ITERABLE, GeeIterable));
-#line 344 "/home/jens/Source/shotwell/src/Tag.vala"
- _source_id_it = _tmp11_;
-#line 344 "/home/jens/Source/shotwell/src/Tag.vala"
- while (TRUE) {
-#line 3148 "Tag.c"
- GeeIterator* _tmp12_;
- gchar* source_id = NULL;
- GeeIterator* _tmp13_;
- gpointer _tmp14_;
- MediaSource* current_source = NULL;
- MediaCollectionRegistry* _tmp15_;
- MediaCollectionRegistry* _tmp16_;
- const gchar* _tmp17_;
- MediaSource* _tmp18_;
- MediaSource* _tmp19_;
- MediaSource* _tmp20_;
- GeeArrayList* _tmp21_;
- MediaSource* _tmp22_;
- GeeArrayList* _tmp23_;
- MediaSource* _tmp24_;
- ThumbnailView* _tmp25_;
- ThumbnailView* _tmp26_;
-#line 344 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp12_ = _source_id_it;
-#line 344 "/home/jens/Source/shotwell/src/Tag.vala"
- if (!gee_iterator_next (_tmp12_)) {
-#line 344 "/home/jens/Source/shotwell/src/Tag.vala"
- break;
-#line 3172 "Tag.c"
- }
-#line 344 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp13_ = _source_id_it;
-#line 344 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp14_ = gee_iterator_get (_tmp13_);
-#line 344 "/home/jens/Source/shotwell/src/Tag.vala"
- source_id = (gchar*) _tmp14_;
-#line 345 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp15_ = media_collection_registry_get_instance ();
-#line 345 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp16_ = _tmp15_;
-#line 345 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp17_ = source_id;
-#line 345 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp18_ = media_collection_registry_fetch_media (_tmp16_, _tmp17_);
-#line 345 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp19_ = G_TYPE_CHECK_INSTANCE_CAST (_tmp18_, TYPE_MEDIA_SOURCE, MediaSource);
-#line 345 "/home/jens/Source/shotwell/src/Tag.vala"
- _media_collection_registry_unref0 (_tmp16_);
-#line 345 "/home/jens/Source/shotwell/src/Tag.vala"
- current_source = _tmp19_;
-#line 347 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp20_ = current_source;
-#line 347 "/home/jens/Source/shotwell/src/Tag.vala"
- if (_tmp20_ == 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 3204 "Tag.c"
- }
-#line 350 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp21_ = source_list;
-#line 350 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp22_ = current_source;
-#line 350 "/home/jens/Source/shotwell/src/Tag.vala"
- gee_abstract_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp21_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp22_);
-#line 351 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp23_ = thumbnail_views;
-#line 351 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp24_ = current_source;
-#line 351 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp25_ = thumbnail_view_new (G_TYPE_CHECK_INSTANCE_CAST (_tmp24_, TYPE_THUMBNAIL_SOURCE, ThumbnailSource));
-#line 351 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp26_ = _tmp25_;
-#line 351 "/home/jens/Source/shotwell/src/Tag.vala"
- gee_abstract_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp23_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp26_);
-#line 351 "/home/jens/Source/shotwell/src/Tag.vala"
- _g_object_unref0 (_tmp26_);
-#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 3228 "Tag.c"
- }
-#line 344 "/home/jens/Source/shotwell/src/Tag.vala"
- _g_object_unref0 (_source_id_it);
-#line 3232 "Tag.c"
- }
- } else {
- TagRow* _tmp27_;
- GeeHashSet* _tmp28_;
-#line 355 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp27_ = self->priv->row;
-#line 355 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp28_ = gee_hash_set_new (G_TYPE_STRING, (GBoxedCopyFunc) g_strdup, (GDestroyNotify) g_free, NULL, NULL, NULL, NULL, NULL, NULL);
-#line 355 "/home/jens/Source/shotwell/src/Tag.vala"
- _g_object_unref0 (_tmp27_->source_id_list);
-#line 355 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp27_->source_id_list = G_TYPE_CHECK_INSTANCE_CAST (_tmp28_, GEE_TYPE_SET, GeeSet);
-#line 3245 "Tag.c"
- }
-#line 359 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp29_ = row->tag_id;
-#line 359 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp30_ = _tmp29_.id;
-#line 359 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp31_ = g_strdup_printf ("%" G_GINT64_FORMAT, _tmp30_);
-#line 359 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp32_ = _tmp31_;
-#line 359 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp33_ = g_strdup_printf ("ViewCollection for tag %s", _tmp32_);
-#line 359 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp34_ = _tmp33_;
-#line 359 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp35_ = view_collection_new (_tmp34_);
-#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 = _tmp35_;
-#line 359 "/home/jens/Source/shotwell/src/Tag.vala"
- _g_free0 (_tmp34_);
-#line 359 "/home/jens/Source/shotwell/src/Tag.vala"
- _g_free0 (_tmp32_);
-#line 360 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp36_ = self->priv->media_views;
-#line 360 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp37_ = thumbnail_views;
-#line 360 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp38_ = data_collection_add_many (G_TYPE_CHECK_INSTANCE_CAST (_tmp36_, TYPE_DATA_COLLECTION, DataCollection), G_TYPE_CHECK_INSTANCE_CAST (_tmp37_, GEE_TYPE_COLLECTION, GeeCollection), NULL, NULL);
-#line 360 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp39_ = _tmp38_;
-#line 360 "/home/jens/Source/shotwell/src/Tag.vala"
- _g_object_unref0 (_tmp39_);
-#line 364 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp40_ = source_list;
-#line 364 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp41_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp40_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection));
-#line 364 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp42_ = _tmp41_;
-#line 364 "/home/jens/Source/shotwell/src/Tag.vala"
- if (_tmp42_ > 0) {
-#line 3287 "Tag.c"
- TagSourceCollection* _tmp43_;
- GeeArrayList* _tmp44_;
- TagSourceCollection* _tmp45_;
- GeeArrayList* _tmp46_;
-#line 365 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp43_ = tag_global;
-#line 365 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp44_ = source_list;
-#line 365 "/home/jens/Source/shotwell/src/Tag.vala"
- container_source_collection_notify_container_contents_added (G_TYPE_CHECK_INSTANCE_CAST (_tmp43_, TYPE_CONTAINER_SOURCE_COLLECTION, ContainerSourceCollection), G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_CONTAINER_SOURCE, ContainerSource), G_TYPE_CHECK_INSTANCE_CAST (_tmp44_, GEE_TYPE_COLLECTION, GeeCollection), FALSE);
-#line 366 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp45_ = tag_global;
-#line 366 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp46_ = source_list;
-#line 366 "/home/jens/Source/shotwell/src/Tag.vala"
- container_source_collection_notify_container_contents_altered (G_TYPE_CHECK_INSTANCE_CAST (_tmp45_, TYPE_CONTAINER_SOURCE_COLLECTION, ContainerSourceCollection), G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_CONTAINER_SOURCE, ContainerSource), G_TYPE_CHECK_INSTANCE_CAST (_tmp46_, GEE_TYPE_COLLECTION, GeeCollection), FALSE, NULL, FALSE);
-#line 3304 "Tag.c"
- }
-#line 371 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp47_ = self->priv->media_views;
-#line 371 "/home/jens/Source/shotwell/src/Tag.vala"
- g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (_tmp47_, 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"
- _tmp48_ = library_photo_global;
-#line 375 "/home/jens/Source/shotwell/src/Tag.vala"
- g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (_tmp48_, 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"
- _tmp49_ = video_global;
-#line 376 "/home/jens/Source/shotwell/src/Tag.vala"
- g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (_tmp49_, 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 3326 "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 3336 "Tag.c"
-}
-
-
-void
-tag_init (ProgressMonitor monitor,
- void* monitor_target)
-{
- TagSourceCollection* _tmp0_;
- GeeList* rows = NULL;
- GeeTreeMap* ancestry_dictionary = NULL;
- GeeTreeMap* _tmp8_;
- GeeArrayList* unlinked = NULL;
- GeeArrayList* _tmp9_;
- gint count = 0;
- GeeList* _tmp10_;
- gint _tmp11_;
- gint _tmp12_;
- GeeSet* victim_set = NULL;
- GeeHashSet* _tmp51_;
- GeeSet* _tmp103_;
- TagSourceCollection* _tmp158_;
- GeeTreeMap* _tmp159_;
- GeeCollection* _tmp160_;
- GeeCollection* _tmp161_;
- GeeCollection* _tmp162_;
- GeeCollection* _tmp163_;
- GeeCollection* _tmp164_;
- TagSourceCollection* _tmp165_;
- GeeArrayList* _tmp166_;
- 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 3375 "Tag.c"
- {
- GeeList* _tmp1_ = NULL;
- TagTable* _tmp2_;
- TagTable* _tmp3_;
- GeeList* _tmp4_;
- GeeList* _tmp5_;
- GeeList* _tmp6_;
-#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 3399 "Tag.c"
- goto __catch480_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 3410 "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 3422 "Tag.c"
- }
- goto __finally480;
- __catch480_database_error:
- {
- GError* err = NULL;
- GError* _tmp7_;
-#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 3439 "Tag.c"
- }
- __finally480:
-#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 3452 "Tag.c"
- }
-#line 404 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp8_ = gee_tree_map_new (G_TYPE_STRING, (GBoxedCopyFunc) g_strdup, (GDestroyNotify) g_free, TYPE_TAG, (GBoxedCopyFunc) g_object_ref, (GDestroyNotify) 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, (GDestroyNotify) 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 3470 "Tag.c"
- {
- gint ctr = 0;
-#line 408 "/home/jens/Source/shotwell/src/Tag.vala"
- ctr = 0;
-#line 3475 "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 3482 "Tag.c"
- gint _tmp15_;
- gint _tmp16_;
- TagRow* row = NULL;
- GeeList* _tmp17_;
- gint _tmp18_;
- gpointer _tmp19_;
- gchar* name = NULL;
- TagRow* _tmp20_;
- const gchar* _tmp21_;
- gchar* _tmp22_;
- const gchar* _tmp23_;
- TagRow* _tmp34_;
- const gchar* _tmp35_;
- gchar* _tmp36_;
- Tag* tag = NULL;
- TagRow* _tmp37_;
- Tag* _tmp38_;
- GeeTreeMap* _tmp41_;
- Tag* _tmp42_;
- gchar* _tmp43_;
- gchar* _tmp44_;
- Tag* _tmp45_;
- Tag* _tmp46_;
-#line 408 "/home/jens/Source/shotwell/src/Tag.vala"
- if (!_tmp13_) {
-#line 3508 "Tag.c"
- gint _tmp14_;
-#line 408 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp14_ = ctr;
-#line 408 "/home/jens/Source/shotwell/src/Tag.vala"
- ctr = _tmp14_ + 1;
-#line 3514 "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 3526 "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 3548 "Tag.c"
- TagRow* _tmp24_;
- const gchar* _tmp25_;
-#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 3557 "Tag.c"
- {
- TagTable* _tmp26_;
- TagTable* _tmp27_;
- TagRow* _tmp28_;
- TagID _tmp29_;
-#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 3579 "Tag.c"
- goto __catch481_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 3598 "Tag.c"
- }
- }
- goto __finally481;
- __catch481_database_error:
- {
- GError* err = NULL;
- TagRow* _tmp30_;
- const gchar* _tmp31_;
- GError* _tmp32_;
- const gchar* _tmp33_;
-#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 3625 "Tag.c"
- }
- __finally481:
-#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 3646 "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 3654 "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"
- if (monitor != NULL) {
-#line 3674 "Tag.c"
- gint _tmp39_;
- gint _tmp40_;
-#line 430 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp39_ = ctr;
-#line 430 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp40_ = count;
-#line 430 "/home/jens/Source/shotwell/src/Tag.vala"
- monitor ((guint64) _tmp39_, (guint64) _tmp40_, TRUE, monitor_target);
-#line 3683 "Tag.c"
- }
-#line 432 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp41_ = ancestry_dictionary;
-#line 432 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp42_ = tag;
-#line 432 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp43_ = tag_get_path (_tmp42_);
-#line 432 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp44_ = _tmp43_;
-#line 432 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp45_ = tag;
-#line 432 "/home/jens/Source/shotwell/src/Tag.vala"
- gee_abstract_map_set (G_TYPE_CHECK_INSTANCE_CAST (_tmp41_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp44_, _tmp45_);
-#line 432 "/home/jens/Source/shotwell/src/Tag.vala"
- _g_free0 (_tmp44_);
-#line 434 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp46_ = tag;
-#line 434 "/home/jens/Source/shotwell/src/Tag.vala"
- if (container_source_has_links (G_TYPE_CHECK_INSTANCE_CAST (_tmp46_, TYPE_CONTAINER_SOURCE, ContainerSource))) {
-#line 3703 "Tag.c"
- Tag* _tmp47_;
- TagSourceCollection* _tmp48_;
- GeeArrayList* _tmp49_;
- Tag* _tmp50_;
-#line 435 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp47_ = tag;
-#line 435 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp48_ = tag_global;
-#line 435 "/home/jens/Source/shotwell/src/Tag.vala"
- data_source_rehydrate_backlinks (G_TYPE_CHECK_INSTANCE_CAST (_tmp47_, TYPE_DATA_SOURCE, DataSource), G_TYPE_CHECK_INSTANCE_CAST (_tmp48_, TYPE_SOURCE_COLLECTION, SourceCollection), NULL);
-#line 436 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp49_ = unlinked;
-#line 436 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp50_ = tag;
-#line 436 "/home/jens/Source/shotwell/src/Tag.vala"
- gee_abstract_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp49_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp50_);
-#line 3720 "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 3728 "Tag.c"
- }
- }
- }
-#line 440 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp51_ = gee_hash_set_new (TYPE_TAG, (GBoxedCopyFunc) g_object_ref, (GDestroyNotify) 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 (_tmp51_, GEE_TYPE_SET, GeeSet);
-#line 3736 "Tag.c"
- {
- GeeIterator* _fq_tag_path_it = NULL;
- GeeTreeMap* _tmp52_;
- GeeSet* _tmp53_;
- GeeSet* _tmp54_;
- GeeSet* _tmp55_;
- GeeIterator* _tmp56_;
- GeeIterator* _tmp57_;
-#line 445 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp52_ = ancestry_dictionary;
-#line 445 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp53_ = gee_abstract_map_get_keys (G_TYPE_CHECK_INSTANCE_CAST (_tmp52_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap));
-#line 445 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp54_ = _tmp53_;
-#line 445 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp55_ = _tmp54_;
-#line 445 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp56_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp55_, GEE_TYPE_ITERABLE, GeeIterable));
-#line 445 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp57_ = _tmp56_;
-#line 445 "/home/jens/Source/shotwell/src/Tag.vala"
- _g_object_unref0 (_tmp55_);
-#line 445 "/home/jens/Source/shotwell/src/Tag.vala"
- _fq_tag_path_it = _tmp57_;
-#line 445 "/home/jens/Source/shotwell/src/Tag.vala"
- while (TRUE) {
-#line 3763 "Tag.c"
- GeeIterator* _tmp58_;
- gchar* fq_tag_path = NULL;
- GeeIterator* _tmp59_;
- gpointer _tmp60_;
- const gchar* _tmp61_;
- GeeList* _tmp62_;
- GeeList* _tmp63_;
- gint _tmp64_;
- gint _tmp65_;
- gboolean _tmp66_;
-#line 445 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp58_ = _fq_tag_path_it;
-#line 445 "/home/jens/Source/shotwell/src/Tag.vala"
- if (!gee_iterator_next (_tmp58_)) {
-#line 445 "/home/jens/Source/shotwell/src/Tag.vala"
- break;
-#line 3780 "Tag.c"
- }
-#line 445 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp59_ = _fq_tag_path_it;
-#line 445 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp60_ = gee_iterator_get (_tmp59_);
-#line 445 "/home/jens/Source/shotwell/src/Tag.vala"
- fq_tag_path = (gchar*) _tmp60_;
-#line 446 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp61_ = fq_tag_path;
-#line 446 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp62_ = hierarchical_tag_utilities_enumerate_parent_paths (_tmp61_);
-#line 446 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp63_ = _tmp62_;
-#line 446 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp64_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp63_, GEE_TYPE_COLLECTION, GeeCollection));
-#line 446 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp65_ = _tmp64_;
-#line 446 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp66_ = _tmp65_ < 1;
-#line 446 "/home/jens/Source/shotwell/src/Tag.vala"
- _g_object_unref0 (_tmp63_);
-#line 446 "/home/jens/Source/shotwell/src/Tag.vala"
- if (_tmp66_) {
-#line 3804 "Tag.c"
- gboolean _tmp67_ = FALSE;
- const gchar* _tmp68_;
-#line 447 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp68_ = fq_tag_path;
-#line 447 "/home/jens/Source/shotwell/src/Tag.vala"
- if (g_str_has_prefix (_tmp68_, TAG_PATH_SEPARATOR_STRING)) {
-#line 3811 "Tag.c"
- GeeTreeMap* _tmp69_;
- const gchar* _tmp70_;
- gchar* _tmp71_;
- gchar* _tmp72_;
-#line 448 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp69_ = ancestry_dictionary;
-#line 448 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp70_ = fq_tag_path;
-#line 448 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp71_ = hierarchical_tag_utilities_hierarchical_to_flat (_tmp70_);
-#line 448 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp72_ = _tmp71_;
-#line 448 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp67_ = gee_abstract_map_has_key (G_TYPE_CHECK_INSTANCE_CAST (_tmp69_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp72_);
-#line 448 "/home/jens/Source/shotwell/src/Tag.vala"
- _g_free0 (_tmp72_);
-#line 3828 "Tag.c"
- } else {
-#line 447 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp67_ = FALSE;
-#line 3832 "Tag.c"
- }
-#line 447 "/home/jens/Source/shotwell/src/Tag.vala"
- if (_tmp67_) {
-#line 3836 "Tag.c"
- GeeSet* _tmp73_;
- GeeTreeMap* _tmp74_;
- const gchar* _tmp75_;
- gpointer _tmp76_;
- Tag* _tmp77_;
-#line 449 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp73_ = victim_set;
-#line 449 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp74_ = ancestry_dictionary;
-#line 449 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp75_ = fq_tag_path;
-#line 449 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp76_ = gee_abstract_map_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp74_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp75_);
-#line 449 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp77_ = (Tag*) _tmp76_;
-#line 449 "/home/jens/Source/shotwell/src/Tag.vala"
- gee_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp73_, GEE_TYPE_COLLECTION, GeeCollection), _tmp77_);
-#line 449 "/home/jens/Source/shotwell/src/Tag.vala"
- _g_object_unref0 (_tmp77_);
-#line 3856 "Tag.c"
- }
- }
-#line 445 "/home/jens/Source/shotwell/src/Tag.vala"
- _g_free0 (fq_tag_path);
-#line 3861 "Tag.c"
- }
-#line 445 "/home/jens/Source/shotwell/src/Tag.vala"
- _g_object_unref0 (_fq_tag_path_it);
-#line 3865 "Tag.c"
- }
- {
- GeeIterator* _tag_it = NULL;
- GeeSet* _tmp78_;
- GeeIterator* _tmp79_;
-#line 454 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp78_ = victim_set;
-#line 454 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp79_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp78_, GEE_TYPE_ITERABLE, GeeIterable));
-#line 454 "/home/jens/Source/shotwell/src/Tag.vala"
- _tag_it = _tmp79_;
-#line 454 "/home/jens/Source/shotwell/src/Tag.vala"
- while (TRUE) {
-#line 3879 "Tag.c"
- GeeIterator* _tmp80_;
- Tag* tag = NULL;
- GeeIterator* _tmp81_;
- gpointer _tmp82_;
- GeeCollection* source_collection = NULL;
- Tag* _tmp83_;
- GeeCollection* _tmp84_;
- gchar* flat_version = NULL;
- Tag* _tmp85_;
- gchar* _tmp86_;
- TagSourceCollection* _tmp87_;
- const gchar* _tmp88_;
- Tag* _tmp89_;
- Tag* _tmp90_;
- GeeCollection* _tmp91_;
- GeeTreeMap* _tmp92_;
- Tag* _tmp93_;
- gchar* _tmp94_;
- gchar* _tmp95_;
- Tag* _tmp96_;
- Tag* _tmp97_;
- GeeCollection* _tmp98_;
- GeeCollection* _tmp99_;
- GeeMultiMap* _tmp100_;
- GeeMultiMap* _tmp101_;
- Tag* _tmp102_;
-#line 454 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp80_ = _tag_it;
-#line 454 "/home/jens/Source/shotwell/src/Tag.vala"
- if (!gee_iterator_next (_tmp80_)) {
-#line 454 "/home/jens/Source/shotwell/src/Tag.vala"
- break;
-#line 3912 "Tag.c"
- }
-#line 454 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp81_ = _tag_it;
-#line 454 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp82_ = gee_iterator_get (_tmp81_);
-#line 454 "/home/jens/Source/shotwell/src/Tag.vala"
- tag = (Tag*) _tmp82_;
-#line 455 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp83_ = tag;
-#line 455 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp84_ = tag_get_sources (_tmp83_);
-#line 455 "/home/jens/Source/shotwell/src/Tag.vala"
- source_collection = _tmp84_;
-#line 456 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp85_ = tag;
-#line 456 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp86_ = tag_get_user_visible_name (_tmp85_);
-#line 456 "/home/jens/Source/shotwell/src/Tag.vala"
- flat_version = _tmp86_;
-#line 457 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp87_ = tag_global;
-#line 457 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp88_ = flat_version;
-#line 457 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp89_ = tag_source_collection_fetch_by_name (_tmp87_, _tmp88_, FALSE);
-#line 457 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp90_ = _tmp89_;
-#line 457 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp91_ = source_collection;
-#line 457 "/home/jens/Source/shotwell/src/Tag.vala"
- tag_attach_many (_tmp90_, _tmp91_);
-#line 457 "/home/jens/Source/shotwell/src/Tag.vala"
- _g_object_unref0 (_tmp90_);
-#line 459 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp92_ = ancestry_dictionary;
-#line 459 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp93_ = tag;
-#line 459 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp94_ = tag_get_path (_tmp93_);
-#line 459 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp95_ = _tmp94_;
-#line 459 "/home/jens/Source/shotwell/src/Tag.vala"
- gee_abstract_map_unset (G_TYPE_CHECK_INSTANCE_CAST (_tmp92_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp95_, NULL);
-#line 459 "/home/jens/Source/shotwell/src/Tag.vala"
- _g_free0 (_tmp95_);
-#line 461 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp96_ = tag;
-#line 461 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp97_ = tag;
-#line 461 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp98_ = tag_get_sources (_tmp97_);
-#line 461 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp99_ = _tmp98_;
-#line 461 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp100_ = tag_detach_many (_tmp96_, _tmp99_);
-#line 461 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp101_ = _tmp100_;
-#line 461 "/home/jens/Source/shotwell/src/Tag.vala"
- _g_object_unref0 (_tmp101_);
-#line 461 "/home/jens/Source/shotwell/src/Tag.vala"
- _g_object_unref0 (_tmp99_);
-#line 462 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp102_ = tag;
-#line 462 "/home/jens/Source/shotwell/src/Tag.vala"
- data_source_destroy_orphan (G_TYPE_CHECK_INSTANCE_CAST (_tmp102_, 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 3984 "Tag.c"
- }
-#line 454 "/home/jens/Source/shotwell/src/Tag.vala"
- _g_object_unref0 (_tag_it);
-#line 3988 "Tag.c"
- }
-#line 468 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp103_ = victim_set;
-#line 468 "/home/jens/Source/shotwell/src/Tag.vala"
- gee_collection_clear (G_TYPE_CHECK_INSTANCE_CAST (_tmp103_, GEE_TYPE_COLLECTION, GeeCollection));
-#line 3994 "Tag.c"
- {
- GeeIterator* _fq_tag_path_it = NULL;
- GeeTreeMap* _tmp104_;
- GeeSet* _tmp105_;
- GeeSet* _tmp106_;
- GeeSet* _tmp107_;
- GeeIterator* _tmp108_;
- GeeIterator* _tmp109_;
-#line 470 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp104_ = ancestry_dictionary;
-#line 470 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp105_ = gee_abstract_map_get_keys (G_TYPE_CHECK_INSTANCE_CAST (_tmp104_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap));
-#line 470 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp106_ = _tmp105_;
-#line 470 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp107_ = _tmp106_;
-#line 470 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp108_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp107_, GEE_TYPE_ITERABLE, GeeIterable));
-#line 470 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp109_ = _tmp108_;
-#line 470 "/home/jens/Source/shotwell/src/Tag.vala"
- _g_object_unref0 (_tmp107_);
-#line 470 "/home/jens/Source/shotwell/src/Tag.vala"
- _fq_tag_path_it = _tmp109_;
-#line 470 "/home/jens/Source/shotwell/src/Tag.vala"
- while (TRUE) {
-#line 4021 "Tag.c"
- GeeIterator* _tmp110_;
- gchar* fq_tag_path = NULL;
- GeeIterator* _tmp111_;
- gpointer _tmp112_;
- GeeList* parents_to_search = NULL;
- const gchar* _tmp113_;
- GeeList* _tmp114_;
- Tag* curr_child = NULL;
- GeeTreeMap* _tmp115_;
- const gchar* _tmp116_;
- gpointer _tmp117_;
-#line 470 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp110_ = _fq_tag_path_it;
-#line 470 "/home/jens/Source/shotwell/src/Tag.vala"
- if (!gee_iterator_next (_tmp110_)) {
-#line 470 "/home/jens/Source/shotwell/src/Tag.vala"
- break;
-#line 4039 "Tag.c"
- }
-#line 470 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp111_ = _fq_tag_path_it;
-#line 470 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp112_ = gee_iterator_get (_tmp111_);
-#line 470 "/home/jens/Source/shotwell/src/Tag.vala"
- fq_tag_path = (gchar*) _tmp112_;
-#line 471 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp113_ = fq_tag_path;
-#line 471 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp114_ = hierarchical_tag_utilities_enumerate_parent_paths (_tmp113_);
-#line 471 "/home/jens/Source/shotwell/src/Tag.vala"
- parents_to_search = _tmp114_;
-#line 474 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp115_ = ancestry_dictionary;
-#line 474 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp116_ = fq_tag_path;
-#line 474 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp117_ = gee_abstract_map_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp115_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp116_);
-#line 474 "/home/jens/Source/shotwell/src/Tag.vala"
- curr_child = (Tag*) _tmp117_;
-#line 4061 "Tag.c"
- {
- GeeList* _parent_path_list = NULL;
- GeeList* _tmp118_;
- GeeList* _tmp119_;
- gint _parent_path_size = 0;
- GeeList* _tmp120_;
- gint _tmp121_;
- gint _tmp122_;
- gint _parent_path_index = 0;
-#line 476 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp118_ = parents_to_search;
-#line 476 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp119_ = _g_object_ref0 (_tmp118_);
-#line 476 "/home/jens/Source/shotwell/src/Tag.vala"
- _parent_path_list = _tmp119_;
-#line 476 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp120_ = _parent_path_list;
-#line 476 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp121_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp120_, GEE_TYPE_COLLECTION, GeeCollection));
-#line 476 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp122_ = _tmp121_;
-#line 476 "/home/jens/Source/shotwell/src/Tag.vala"
- _parent_path_size = _tmp122_;
-#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 4089 "Tag.c"
- gint _tmp123_;
- gint _tmp124_;
- gint _tmp125_;
- gchar* parent_path = NULL;
- GeeList* _tmp126_;
- gint _tmp127_;
- gpointer _tmp128_;
- gint child_ref_count = 0;
- Tag* _tmp129_;
- gint parent_ref_count = 0;
- GeeTreeMap* _tmp130_;
- const gchar* _tmp131_;
- gint _tmp136_;
- gint _tmp137_;
- GeeSet* _tmp140_;
- GeeTreeMap* _tmp141_;
- const gchar* _tmp142_;
- gpointer _tmp143_;
- Tag* _tmp144_;
- gboolean _tmp145_;
-#line 476 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp123_ = _parent_path_index;
-#line 476 "/home/jens/Source/shotwell/src/Tag.vala"
- _parent_path_index = _tmp123_ + 1;
-#line 476 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp124_ = _parent_path_index;
-#line 476 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp125_ = _parent_path_size;
-#line 476 "/home/jens/Source/shotwell/src/Tag.vala"
- if (!(_tmp124_ < _tmp125_)) {
-#line 476 "/home/jens/Source/shotwell/src/Tag.vala"
- break;
-#line 4122 "Tag.c"
- }
-#line 476 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp126_ = _parent_path_list;
-#line 476 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp127_ = _parent_path_index;
-#line 476 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp128_ = gee_list_get (_tmp126_, _tmp127_);
-#line 476 "/home/jens/Source/shotwell/src/Tag.vala"
- parent_path = (gchar*) _tmp128_;
-#line 479 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp129_ = curr_child;
-#line 479 "/home/jens/Source/shotwell/src/Tag.vala"
- child_ref_count = tag_get_sources_count (_tmp129_);
-#line 480 "/home/jens/Source/shotwell/src/Tag.vala"
- parent_ref_count = -1;
-#line 483 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp130_ = ancestry_dictionary;
-#line 483 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp131_ = parent_path;
-#line 483 "/home/jens/Source/shotwell/src/Tag.vala"
- if (gee_abstract_map_has_key (G_TYPE_CHECK_INSTANCE_CAST (_tmp130_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp131_)) {
-#line 4144 "Tag.c"
- GeeTreeMap* _tmp132_;
- const gchar* _tmp133_;
- gpointer _tmp134_;
- Tag* _tmp135_;
-#line 485 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp132_ = ancestry_dictionary;
-#line 485 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp133_ = parent_path;
-#line 485 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp134_ = gee_abstract_map_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp132_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp133_);
-#line 485 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp135_ = (Tag*) _tmp134_;
-#line 485 "/home/jens/Source/shotwell/src/Tag.vala"
- parent_ref_count = tag_get_sources_count (_tmp135_);
-#line 485 "/home/jens/Source/shotwell/src/Tag.vala"
- _g_object_unref0 (_tmp135_);
-#line 4161 "Tag.c"
- }
-#line 489 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp136_ = child_ref_count;
-#line 489 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp137_ = parent_ref_count;
-#line 489 "/home/jens/Source/shotwell/src/Tag.vala"
- if (_tmp136_ > _tmp137_) {
-#line 4169 "Tag.c"
- GeeSet* _tmp138_;
- Tag* _tmp139_;
-#line 493 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp138_ = victim_set;
-#line 493 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp139_ = curr_child;
-#line 493 "/home/jens/Source/shotwell/src/Tag.vala"
- gee_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp138_, GEE_TYPE_COLLECTION, GeeCollection), _tmp139_);
-#line 497 "/home/jens/Source/shotwell/src/Tag.vala"
- _g_free0 (parent_path);
-#line 497 "/home/jens/Source/shotwell/src/Tag.vala"
- break;
-#line 4182 "Tag.c"
- }
-#line 501 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp140_ = victim_set;
-#line 501 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp141_ = ancestry_dictionary;
-#line 501 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp142_ = parent_path;
-#line 501 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp143_ = gee_abstract_map_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp141_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp142_);
-#line 501 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp144_ = (Tag*) _tmp143_;
-#line 501 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp145_ = gee_collection_contains (G_TYPE_CHECK_INSTANCE_CAST (_tmp140_, GEE_TYPE_COLLECTION, GeeCollection), _tmp144_);
-#line 501 "/home/jens/Source/shotwell/src/Tag.vala"
- _g_object_unref0 (_tmp144_);
-#line 501 "/home/jens/Source/shotwell/src/Tag.vala"
- if (_tmp145_) {
-#line 4200 "Tag.c"
- GeeSet* _tmp146_;
- Tag* _tmp147_;
-#line 503 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp146_ = victim_set;
-#line 503 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp147_ = curr_child;
-#line 503 "/home/jens/Source/shotwell/src/Tag.vala"
- gee_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp146_, GEE_TYPE_COLLECTION, GeeCollection), _tmp147_);
-#line 504 "/home/jens/Source/shotwell/src/Tag.vala"
- _g_free0 (parent_path);
-#line 504 "/home/jens/Source/shotwell/src/Tag.vala"
- break;
-#line 4213 "Tag.c"
- }
-#line 476 "/home/jens/Source/shotwell/src/Tag.vala"
- _g_free0 (parent_path);
-#line 4217 "Tag.c"
- }
-#line 476 "/home/jens/Source/shotwell/src/Tag.vala"
- _g_object_unref0 (_parent_path_list);
-#line 4221 "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 4229 "Tag.c"
- }
-#line 470 "/home/jens/Source/shotwell/src/Tag.vala"
- _g_object_unref0 (_fq_tag_path_it);
-#line 4233 "Tag.c"
- }
- {
- GeeIterator* _t_it = NULL;
- GeeSet* _tmp148_;
- GeeIterator* _tmp149_;
-#line 510 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp148_ = victim_set;
-#line 510 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp149_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp148_, GEE_TYPE_ITERABLE, GeeIterable));
-#line 510 "/home/jens/Source/shotwell/src/Tag.vala"
- _t_it = _tmp149_;
-#line 510 "/home/jens/Source/shotwell/src/Tag.vala"
- while (TRUE) {
-#line 4247 "Tag.c"
- GeeIterator* _tmp150_;
- Tag* t = NULL;
- GeeIterator* _tmp151_;
- gpointer _tmp152_;
- GeeTreeMap* _tmp153_;
- Tag* _tmp154_;
- gchar* _tmp155_;
- gchar* _tmp156_;
- Tag* _tmp157_;
-#line 510 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp150_ = _t_it;
-#line 510 "/home/jens/Source/shotwell/src/Tag.vala"
- if (!gee_iterator_next (_tmp150_)) {
-#line 510 "/home/jens/Source/shotwell/src/Tag.vala"
- break;
-#line 4263 "Tag.c"
- }
-#line 510 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp151_ = _t_it;
-#line 510 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp152_ = gee_iterator_get (_tmp151_);
-#line 510 "/home/jens/Source/shotwell/src/Tag.vala"
- t = (Tag*) _tmp152_;
-#line 511 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp153_ = ancestry_dictionary;
-#line 511 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp154_ = t;
-#line 511 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp155_ = tag_get_path (_tmp154_);
-#line 511 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp156_ = _tmp155_;
-#line 511 "/home/jens/Source/shotwell/src/Tag.vala"
- gee_abstract_map_unset (G_TYPE_CHECK_INSTANCE_CAST (_tmp153_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp156_, NULL);
-#line 511 "/home/jens/Source/shotwell/src/Tag.vala"
- _g_free0 (_tmp156_);
-#line 512 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp157_ = t;
-#line 512 "/home/jens/Source/shotwell/src/Tag.vala"
- data_source_destroy_orphan (G_TYPE_CHECK_INSTANCE_CAST (_tmp157_, TYPE_DATA_SOURCE, DataSource), TRUE);
-#line 510 "/home/jens/Source/shotwell/src/Tag.vala"
- _g_object_unref0 (t);
-#line 4289 "Tag.c"
- }
-#line 510 "/home/jens/Source/shotwell/src/Tag.vala"
- _g_object_unref0 (_t_it);
-#line 4293 "Tag.c"
- }
-#line 516 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp158_ = tag_global;
-#line 516 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp159_ = ancestry_dictionary;
-#line 516 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp160_ = gee_abstract_map_get_values (G_TYPE_CHECK_INSTANCE_CAST (_tmp159_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap));
-#line 516 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp161_ = _tmp160_;
-#line 516 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp162_ = _tmp161_;
-#line 516 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp163_ = data_collection_add_many (G_TYPE_CHECK_INSTANCE_CAST (_tmp158_, TYPE_DATA_COLLECTION, DataCollection), _tmp162_, NULL, NULL);
-#line 516 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp164_ = _tmp163_;
-#line 516 "/home/jens/Source/shotwell/src/Tag.vala"
- _g_object_unref0 (_tmp164_);
-#line 516 "/home/jens/Source/shotwell/src/Tag.vala"
- _g_object_unref0 (_tmp162_);
-#line 517 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp165_ = tag_global;
-#line 517 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp166_ = unlinked;
-#line 517 "/home/jens/Source/shotwell/src/Tag.vala"
- container_source_collection_init_add_many_unlinked (G_TYPE_CHECK_INSTANCE_CAST (_tmp165_, TYPE_CONTAINER_SOURCE_COLLECTION, ContainerSourceCollection), G_TYPE_CHECK_INSTANCE_CAST (_tmp166_, GEE_TYPE_COLLECTION, GeeCollection));
-#line 4319 "Tag.c"
- {
- GeeIterator* _t_it = NULL;
- GeeTreeMap* _tmp167_;
- GeeCollection* _tmp168_;
- GeeCollection* _tmp169_;
- GeeCollection* _tmp170_;
- GeeIterator* _tmp171_;
- GeeIterator* _tmp172_;
-#line 521 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp167_ = ancestry_dictionary;
-#line 521 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp168_ = gee_abstract_map_get_values (G_TYPE_CHECK_INSTANCE_CAST (_tmp167_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap));
-#line 521 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp169_ = _tmp168_;
-#line 521 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp170_ = _tmp169_;
-#line 521 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp171_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp170_, GEE_TYPE_ITERABLE, GeeIterable));
-#line 521 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp172_ = _tmp171_;
-#line 521 "/home/jens/Source/shotwell/src/Tag.vala"
- _g_object_unref0 (_tmp170_);
-#line 521 "/home/jens/Source/shotwell/src/Tag.vala"
- _t_it = _tmp172_;
-#line 521 "/home/jens/Source/shotwell/src/Tag.vala"
- while (TRUE) {
-#line 4346 "Tag.c"
- GeeIterator* _tmp173_;
- Tag* t = NULL;
- GeeIterator* _tmp174_;
- gpointer _tmp175_;
- gboolean _tmp176_ = FALSE;
- Tag* _tmp177_;
- GeeList* _tmp178_;
- GeeList* _tmp179_;
- gint _tmp180_;
- gint _tmp181_;
- gboolean _tmp182_;
-#line 521 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp173_ = _t_it;
-#line 521 "/home/jens/Source/shotwell/src/Tag.vala"
- if (!gee_iterator_next (_tmp173_)) {
-#line 521 "/home/jens/Source/shotwell/src/Tag.vala"
- break;
-#line 4364 "Tag.c"
- }
-#line 521 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp174_ = _t_it;
-#line 521 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp175_ = gee_iterator_get (_tmp174_);
-#line 521 "/home/jens/Source/shotwell/src/Tag.vala"
- t = (Tag*) _tmp175_;
-#line 523 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp177_ = t;
-#line 523 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp178_ = tag_get_hierarchical_children (_tmp177_);
-#line 523 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp179_ = _tmp178_;
-#line 523 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp180_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp179_, GEE_TYPE_COLLECTION, GeeCollection));
-#line 523 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp181_ = _tmp180_;
-#line 523 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp182_ = _tmp181_ < 1;
-#line 523 "/home/jens/Source/shotwell/src/Tag.vala"
- _g_object_unref0 (_tmp179_);
-#line 523 "/home/jens/Source/shotwell/src/Tag.vala"
- if (_tmp182_) {
-#line 4388 "Tag.c"
- Tag* _tmp183_;
- Tag* _tmp184_;
- Tag* _tmp185_;
-#line 523 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp183_ = t;
-#line 523 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp184_ = tag_get_hierarchical_parent (_tmp183_);
-#line 523 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp185_ = _tmp184_;
-#line 523 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp176_ = _tmp185_ == NULL;
-#line 523 "/home/jens/Source/shotwell/src/Tag.vala"
- _g_object_unref0 (_tmp185_);
-#line 4402 "Tag.c"
- } else {
-#line 523 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp176_ = FALSE;
-#line 4406 "Tag.c"
- }
-#line 523 "/home/jens/Source/shotwell/src/Tag.vala"
- if (_tmp176_) {
-#line 4410 "Tag.c"
- Tag* _tmp186_;
-#line 525 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp186_ = t;
-#line 525 "/home/jens/Source/shotwell/src/Tag.vala"
- tag_flatten (_tmp186_);
-#line 4416 "Tag.c"
- }
-#line 521 "/home/jens/Source/shotwell/src/Tag.vala"
- _g_object_unref0 (t);
-#line 4420 "Tag.c"
- }
-#line 521 "/home/jens/Source/shotwell/src/Tag.vala"
- _g_object_unref0 (_t_it);
-#line 4424 "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 4434 "Tag.c"
-}
-
-
-void
-tag_terminate (void)
-{
-}
-
-
-gint
-tag_compare_names (Tag* a,
- Tag* b)
-{
- gint result = 0;
- gchar* _tmp0_;
- gchar* _tmp1_;
- gchar* _tmp2_;
- gchar* _tmp3_;
- gchar* _tmp4_;
- gchar* _tmp5_;
- gchar* _tmp6_;
- gchar* _tmp7_;
- gint _tmp8_;
-#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_ = data_object_get_name (G_TYPE_CHECK_INSTANCE_CAST (a, TYPE_DATA_OBJECT, DataObject));
-#line 534 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp1_ = _tmp0_;
-#line 534 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp2_ = tag_get_name_collation_key (a);
-#line 534 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp3_ = _tmp2_;
-#line 534 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp4_ = data_object_get_name (G_TYPE_CHECK_INSTANCE_CAST (b, TYPE_DATA_OBJECT, DataObject));
-#line 534 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp5_ = _tmp4_;
-#line 534 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp6_ = tag_get_name_collation_key (b);
-#line 534 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp7_ = _tmp6_;
-#line 534 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp8_ = string_precollated_compare (_tmp1_, _tmp3_, _tmp5_, _tmp7_);
-#line 534 "/home/jens/Source/shotwell/src/Tag.vala"
- _g_free0 (_tmp7_);
-#line 534 "/home/jens/Source/shotwell/src/Tag.vala"
- _g_free0 (_tmp5_);
-#line 534 "/home/jens/Source/shotwell/src/Tag.vala"
- _g_free0 (_tmp3_);
-#line 534 "/home/jens/Source/shotwell/src/Tag.vala"
- _g_free0 (_tmp1_);
-#line 534 "/home/jens/Source/shotwell/src/Tag.vala"
- result = _tmp8_;
-#line 534 "/home/jens/Source/shotwell/src/Tag.vala"
- return result;
-#line 4492 "Tag.c"
-}
-
-
-gint
-tag_compare_user_visible_names (Tag* a,
- Tag* b)
-{
- gint result = 0;
- gchar* _tmp0_;
- gchar* _tmp1_;
- gchar* _tmp2_;
- gchar* _tmp3_;
- gchar* _tmp4_;
- gchar* _tmp5_;
- gchar* _tmp6_;
- gchar* _tmp7_;
- gint _tmp8_;
-#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_ = tag_get_user_visible_name (a);
-#line 539 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp1_ = _tmp0_;
-#line 539 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp2_ = tag_get_name_collation_key (a);
-#line 539 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp3_ = _tmp2_;
-#line 539 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp4_ = tag_get_user_visible_name (b);
-#line 539 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp5_ = _tmp4_;
-#line 539 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp6_ = tag_get_name_collation_key (b);
-#line 539 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp7_ = _tmp6_;
-#line 539 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp8_ = string_precollated_compare (_tmp1_, _tmp3_, _tmp5_, _tmp7_);
-#line 539 "/home/jens/Source/shotwell/src/Tag.vala"
- _g_free0 (_tmp7_);
-#line 539 "/home/jens/Source/shotwell/src/Tag.vala"
- _g_free0 (_tmp5_);
-#line 539 "/home/jens/Source/shotwell/src/Tag.vala"
- _g_free0 (_tmp3_);
-#line 539 "/home/jens/Source/shotwell/src/Tag.vala"
- _g_free0 (_tmp1_);
-#line 539 "/home/jens/Source/shotwell/src/Tag.vala"
- result = _tmp8_;
-#line 539 "/home/jens/Source/shotwell/src/Tag.vala"
- return result;
-#line 4544 "Tag.c"
-}
-
-
-guint
-tag_hash_name_string (const gchar* a)
-{
- guint result = 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"
- result = string_collated_hash (a);
-#line 544 "/home/jens/Source/shotwell/src/Tag.vala"
- return result;
-#line 4558 "Tag.c"
-}
-
-
-gboolean
-tag_equal_name_strings (const gchar* a,
- const gchar* b)
-{
- gboolean result = 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"
- result = string_collated_equals (a, b);
-#line 548 "/home/jens/Source/shotwell/src/Tag.vala"
- return result;
-#line 4575 "Tag.c"
-}
-
-
-Tag*
-tag_for_path (const gchar* name)
-{
- Tag* result = NULL;
- Tag* tag = NULL;
- TagSourceCollection* _tmp0_;
- Tag* _tmp1_;
- Tag* _tmp2_;
- Tag* _tmp5_;
- TagSourceCollection* _tmp13_;
- Tag* _tmp14_;
- 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_ = tag_source_collection_fetch_by_name (_tmp0_, name, TRUE);
-#line 554 "/home/jens/Source/shotwell/src/Tag.vala"
- tag = _tmp1_;
-#line 555 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp2_ = tag;
-#line 555 "/home/jens/Source/shotwell/src/Tag.vala"
- if (_tmp2_ == NULL) {
-#line 4603 "Tag.c"
- TagSourceCollection* _tmp3_;
- Tag* _tmp4_;
-#line 556 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp3_ = tag_global;
-#line 556 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp4_ = tag_source_collection_restore_tag_from_holding_tank (_tmp3_, name);
-#line 556 "/home/jens/Source/shotwell/src/Tag.vala"
- _g_object_unref0 (tag);
-#line 556 "/home/jens/Source/shotwell/src/Tag.vala"
- tag = _tmp4_;
-#line 4614 "Tag.c"
- }
-#line 558 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp5_ = tag;
-#line 558 "/home/jens/Source/shotwell/src/Tag.vala"
- if (_tmp5_ != NULL) {
-#line 559 "/home/jens/Source/shotwell/src/Tag.vala"
- result = tag;
-#line 559 "/home/jens/Source/shotwell/src/Tag.vala"
- return result;
-#line 4624 "Tag.c"
- }
- {
- TagRow* _tmp6_ = NULL;
- TagTable* _tmp7_;
- TagTable* _tmp8_;
- TagRow* _tmp9_;
- TagRow* _tmp10_;
- Tag* _tmp11_;
-#line 563 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp7_ = tag_table_get_instance ();
-#line 563 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp8_ = _tmp7_;
-#line 563 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp9_ = tag_table_add (_tmp8_, name, &_inner_error_);
-#line 563 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp10_ = _tmp9_;
-#line 563 "/home/jens/Source/shotwell/src/Tag.vala"
- _database_table_unref0 (_tmp8_);
-#line 563 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp6_ = _tmp10_;
-#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 4649 "Tag.c"
- goto __catch482_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 4660 "Tag.c"
- }
-#line 563 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp11_ = tag_new (_tmp6_, 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 = _tmp11_;
-#line 562 "/home/jens/Source/shotwell/src/Tag.vala"
- _tag_row_unref0 (_tmp6_);
-#line 4670 "Tag.c"
- }
- goto __finally482;
- __catch482_database_error:
- {
- GError* err = NULL;
- GError* _tmp12_;
-#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"
- _tmp12_ = err;
-#line 565 "/home/jens/Source/shotwell/src/Tag.vala"
- app_window_database_error (_tmp12_);
-#line 562 "/home/jens/Source/shotwell/src/Tag.vala"
- _g_error_free0 (err);
-#line 4687 "Tag.c"
- }
- __finally482:
-#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 4700 "Tag.c"
- }
-#line 568 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp13_ = tag_global;
-#line 568 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp14_ = tag;
-#line 568 "/home/jens/Source/shotwell/src/Tag.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 570 "/home/jens/Source/shotwell/src/Tag.vala"
- result = tag;
-#line 570 "/home/jens/Source/shotwell/src/Tag.vala"
- return result;
-#line 4712 "Tag.c"
-}
-
-
-GeeCollection*
-tag_get_terminal_tags (GeeCollection* tags)
-{
- GeeCollection* result = NULL;
- GeeSet* result_paths = NULL;
- GeeHashSet* _tmp0_;
- GeeArrayList* _result_ = NULL;
- GeeArrayList* _tmp34_;
-#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, (GDestroyNotify) 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 4730 "Tag.c"
- {
- GeeIterator* _tag_it = NULL;
- GeeIterator* _tmp1_;
-#line 576 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp1_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (tags, GEE_TYPE_ITERABLE, GeeIterable));
-#line 576 "/home/jens/Source/shotwell/src/Tag.vala"
- _tag_it = _tmp1_;
-#line 576 "/home/jens/Source/shotwell/src/Tag.vala"
- while (TRUE) {
-#line 4740 "Tag.c"
- GeeIterator* _tmp2_;
- Tag* tag = NULL;
- GeeIterator* _tmp3_;
- gpointer _tmp4_;
- Tag* _tmp5_;
- gchar* _tmp6_;
- gchar* _tmp7_;
- gboolean _tmp8_;
- Tag* _tmp13_;
- Tag* _tmp14_;
- Tag* _tmp15_;
- gboolean _tmp16_;
- GeeSet* _tmp30_;
- Tag* _tmp31_;
- gchar* _tmp32_;
- gchar* _tmp33_;
-#line 576 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp2_ = _tag_it;
-#line 576 "/home/jens/Source/shotwell/src/Tag.vala"
- if (!gee_iterator_next (_tmp2_)) {
-#line 576 "/home/jens/Source/shotwell/src/Tag.vala"
- break;
-#line 4763 "Tag.c"
- }
-#line 576 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp3_ = _tag_it;
-#line 576 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp4_ = gee_iterator_get (_tmp3_);
-#line 576 "/home/jens/Source/shotwell/src/Tag.vala"
- tag = (Tag*) _tmp4_;
-#line 578 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp5_ = tag;
-#line 578 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp6_ = tag_get_path (_tmp5_);
-#line 578 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp7_ = _tmp6_;
-#line 578 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp8_ = !g_str_has_prefix (_tmp7_, TAG_PATH_SEPARATOR_STRING);
-#line 578 "/home/jens/Source/shotwell/src/Tag.vala"
- _g_free0 (_tmp7_);
-#line 578 "/home/jens/Source/shotwell/src/Tag.vala"
- if (_tmp8_) {
-#line 4783 "Tag.c"
- GeeSet* _tmp9_;
- Tag* _tmp10_;
- gchar* _tmp11_;
- gchar* _tmp12_;
-#line 579 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp9_ = result_paths;
-#line 579 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp10_ = tag;
-#line 579 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp11_ = tag_get_path (_tmp10_);
-#line 579 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp12_ = _tmp11_;
-#line 579 "/home/jens/Source/shotwell/src/Tag.vala"
- gee_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, GEE_TYPE_COLLECTION, GeeCollection), _tmp12_);
-#line 579 "/home/jens/Source/shotwell/src/Tag.vala"
- _g_free0 (_tmp12_);
-#line 580 "/home/jens/Source/shotwell/src/Tag.vala"
- _g_object_unref0 (tag);
-#line 580 "/home/jens/Source/shotwell/src/Tag.vala"
- continue;
-#line 4804 "Tag.c"
- }
-#line 586 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp13_ = tag;
-#line 586 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp14_ = tag_get_hierarchical_parent (_tmp13_);
-#line 586 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp15_ = _tmp14_;
-#line 586 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp16_ = _tmp15_ != NULL;
-#line 586 "/home/jens/Source/shotwell/src/Tag.vala"
- _g_object_unref0 (_tmp15_);
-#line 586 "/home/jens/Source/shotwell/src/Tag.vala"
- if (_tmp16_) {
-#line 4818 "Tag.c"
- GeeSet* _tmp17_;
- Tag* _tmp18_;
- Tag* _tmp19_;
- Tag* _tmp20_;
- gchar* _tmp21_;
- gchar* _tmp22_;
- gboolean _tmp23_;
-#line 589 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp17_ = result_paths;
-#line 589 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp18_ = tag;
-#line 589 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp19_ = tag_get_hierarchical_parent (_tmp18_);
-#line 589 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp20_ = _tmp19_;
-#line 589 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp21_ = tag_get_path (_tmp20_);
-#line 589 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp22_ = _tmp21_;
-#line 589 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp23_ = gee_collection_contains (G_TYPE_CHECK_INSTANCE_CAST (_tmp17_, GEE_TYPE_COLLECTION, GeeCollection), _tmp22_);
-#line 589 "/home/jens/Source/shotwell/src/Tag.vala"
- _g_free0 (_tmp22_);
-#line 589 "/home/jens/Source/shotwell/src/Tag.vala"
- _g_object_unref0 (_tmp20_);
-#line 589 "/home/jens/Source/shotwell/src/Tag.vala"
- if (_tmp23_) {
-#line 4846 "Tag.c"
- GeeSet* _tmp24_;
- Tag* _tmp25_;
- Tag* _tmp26_;
- Tag* _tmp27_;
- gchar* _tmp28_;
- gchar* _tmp29_;
-#line 590 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp24_ = result_paths;
-#line 590 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp25_ = tag;
-#line 590 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp26_ = tag_get_hierarchical_parent (_tmp25_);
-#line 590 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp27_ = _tmp26_;
-#line 590 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp28_ = tag_get_path (_tmp27_);
-#line 590 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp29_ = _tmp28_;
-#line 590 "/home/jens/Source/shotwell/src/Tag.vala"
- gee_collection_remove (G_TYPE_CHECK_INSTANCE_CAST (_tmp24_, GEE_TYPE_COLLECTION, GeeCollection), _tmp29_);
-#line 590 "/home/jens/Source/shotwell/src/Tag.vala"
- _g_free0 (_tmp29_);
-#line 590 "/home/jens/Source/shotwell/src/Tag.vala"
- _g_object_unref0 (_tmp27_);
-#line 4871 "Tag.c"
- }
- }
-#line 593 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp30_ = result_paths;
-#line 593 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp31_ = tag;
-#line 593 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp32_ = tag_get_path (_tmp31_);
-#line 593 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp33_ = _tmp32_;
-#line 593 "/home/jens/Source/shotwell/src/Tag.vala"
- gee_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp30_, GEE_TYPE_COLLECTION, GeeCollection), _tmp33_);
-#line 593 "/home/jens/Source/shotwell/src/Tag.vala"
- _g_free0 (_tmp33_);
-#line 576 "/home/jens/Source/shotwell/src/Tag.vala"
- _g_object_unref0 (tag);
-#line 4888 "Tag.c"
- }
-#line 576 "/home/jens/Source/shotwell/src/Tag.vala"
- _g_object_unref0 (_tag_it);
-#line 4892 "Tag.c"
- }
-#line 596 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp34_ = gee_array_list_new (TYPE_TAG, (GBoxedCopyFunc) g_object_ref, (GDestroyNotify) g_object_unref, NULL, NULL, NULL);
-#line 596 "/home/jens/Source/shotwell/src/Tag.vala"
- _result_ = _tmp34_;
-#line 4898 "Tag.c"
- {
- GeeIterator* _path_it = NULL;
- GeeSet* _tmp35_;
- GeeIterator* _tmp36_;
-#line 597 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp35_ = result_paths;
-#line 597 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp36_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp35_, GEE_TYPE_ITERABLE, GeeIterable));
-#line 597 "/home/jens/Source/shotwell/src/Tag.vala"
- _path_it = _tmp36_;
-#line 597 "/home/jens/Source/shotwell/src/Tag.vala"
- while (TRUE) {
-#line 4911 "Tag.c"
- GeeIterator* _tmp37_;
- gchar* path = NULL;
- GeeIterator* _tmp38_;
- gpointer _tmp39_;
- TagSourceCollection* _tmp40_;
- const gchar* _tmp41_;
-#line 597 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp37_ = _path_it;
-#line 597 "/home/jens/Source/shotwell/src/Tag.vala"
- if (!gee_iterator_next (_tmp37_)) {
-#line 597 "/home/jens/Source/shotwell/src/Tag.vala"
- break;
-#line 4924 "Tag.c"
- }
-#line 597 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp38_ = _path_it;
-#line 597 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp39_ = gee_iterator_get (_tmp38_);
-#line 597 "/home/jens/Source/shotwell/src/Tag.vala"
- path = (gchar*) _tmp39_;
-#line 598 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp40_ = tag_global;
-#line 598 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp41_ = path;
-#line 598 "/home/jens/Source/shotwell/src/Tag.vala"
- if (tag_source_collection_exists (_tmp40_, _tmp41_, FALSE)) {
-#line 4938 "Tag.c"
- GeeArrayList* _tmp42_;
- const gchar* _tmp43_;
- Tag* _tmp44_;
- Tag* _tmp45_;
-#line 599 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp42_ = _result_;
-#line 599 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp43_ = path;
-#line 599 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp44_ = tag_for_path (_tmp43_);
-#line 599 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp45_ = _tmp44_;
-#line 599 "/home/jens/Source/shotwell/src/Tag.vala"
- gee_abstract_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp42_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp45_);
-#line 599 "/home/jens/Source/shotwell/src/Tag.vala"
- _g_object_unref0 (_tmp45_);
-#line 4955 "Tag.c"
- } else {
- {
- GeeIterator* _probed_tag_it = NULL;
- GeeIterator* _tmp46_;
-#line 601 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp46_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (tags, GEE_TYPE_ITERABLE, GeeIterable));
-#line 601 "/home/jens/Source/shotwell/src/Tag.vala"
- _probed_tag_it = _tmp46_;
-#line 601 "/home/jens/Source/shotwell/src/Tag.vala"
- while (TRUE) {
-#line 4966 "Tag.c"
- GeeIterator* _tmp47_;
- Tag* probed_tag = NULL;
- GeeIterator* _tmp48_;
- gpointer _tmp49_;
- Tag* _tmp50_;
- gchar* _tmp51_;
- gchar* _tmp52_;
- const gchar* _tmp53_;
- gboolean _tmp54_;
-#line 601 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp47_ = _probed_tag_it;
-#line 601 "/home/jens/Source/shotwell/src/Tag.vala"
- if (!gee_iterator_next (_tmp47_)) {
-#line 601 "/home/jens/Source/shotwell/src/Tag.vala"
- break;
-#line 4982 "Tag.c"
- }
-#line 601 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp48_ = _probed_tag_it;
-#line 601 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp49_ = gee_iterator_get (_tmp48_);
-#line 601 "/home/jens/Source/shotwell/src/Tag.vala"
- probed_tag = (Tag*) _tmp49_;
-#line 602 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp50_ = probed_tag;
-#line 602 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp51_ = tag_get_path (_tmp50_);
-#line 602 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp52_ = _tmp51_;
-#line 602 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp53_ = path;
-#line 602 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp54_ = g_strcmp0 (_tmp52_, _tmp53_) == 0;
-#line 602 "/home/jens/Source/shotwell/src/Tag.vala"
- _g_free0 (_tmp52_);
-#line 602 "/home/jens/Source/shotwell/src/Tag.vala"
- if (_tmp54_) {
-#line 5004 "Tag.c"
- GeeArrayList* _tmp55_;
- Tag* _tmp56_;
-#line 603 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp55_ = _result_;
-#line 603 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp56_ = probed_tag;
-#line 603 "/home/jens/Source/shotwell/src/Tag.vala"
- gee_abstract_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp55_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp56_);
-#line 5013 "Tag.c"
- }
-#line 601 "/home/jens/Source/shotwell/src/Tag.vala"
- _g_object_unref0 (probed_tag);
-#line 5017 "Tag.c"
- }
-#line 601 "/home/jens/Source/shotwell/src/Tag.vala"
- _g_object_unref0 (_probed_tag_it);
-#line 5021 "Tag.c"
- }
- }
-#line 597 "/home/jens/Source/shotwell/src/Tag.vala"
- _g_free0 (path);
-#line 5026 "Tag.c"
- }
-#line 597 "/home/jens/Source/shotwell/src/Tag.vala"
- _g_object_unref0 (_path_it);
-#line 5030 "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 5038 "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 5051 "Tag.c"
-}
-
-
-GeeList*
-tag_make_user_visible_tag_list (GeeCollection* tags)
-{
- GeeList* result = NULL;
- GeeHashSet* seen_tags = NULL;
- GeeHashSet* _tmp0_;
- GeeCollection* terminal_tags = NULL;
- GeeCollection* _tmp1_;
- GeeArrayList* sorted_tags = NULL;
- GeeArrayList* _tmp2_;
- GeeArrayList* _tmp16_;
-#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, (GDestroyNotify) 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_ = tag_get_terminal_tags (tags);
-#line 614 "/home/jens/Source/shotwell/src/Tag.vala"
- terminal_tags = _tmp1_;
-#line 615 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp2_ = gee_array_list_new (TYPE_TAG, (GBoxedCopyFunc) g_object_ref, (GDestroyNotify) g_object_unref, NULL, NULL, NULL);
-#line 615 "/home/jens/Source/shotwell/src/Tag.vala"
- sorted_tags = _tmp2_;
-#line 5080 "Tag.c"
- {
- GeeIterator* _tag_it = NULL;
- GeeCollection* _tmp3_;
- GeeIterator* _tmp4_;
-#line 616 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp3_ = terminal_tags;
-#line 616 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp4_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, GEE_TYPE_ITERABLE, GeeIterable));
-#line 616 "/home/jens/Source/shotwell/src/Tag.vala"
- _tag_it = _tmp4_;
-#line 616 "/home/jens/Source/shotwell/src/Tag.vala"
- while (TRUE) {
-#line 5093 "Tag.c"
- GeeIterator* _tmp5_;
- Tag* tag = NULL;
- GeeIterator* _tmp6_;
- gpointer _tmp7_;
- gchar* user_visible_name = NULL;
- Tag* _tmp8_;
- gchar* _tmp9_;
- GeeHashSet* _tmp10_;
- const gchar* _tmp11_;
-#line 616 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp5_ = _tag_it;
-#line 616 "/home/jens/Source/shotwell/src/Tag.vala"
- if (!gee_iterator_next (_tmp5_)) {
-#line 616 "/home/jens/Source/shotwell/src/Tag.vala"
- break;
-#line 5109 "Tag.c"
- }
-#line 616 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp6_ = _tag_it;
-#line 616 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp7_ = gee_iterator_get (_tmp6_);
-#line 616 "/home/jens/Source/shotwell/src/Tag.vala"
- tag = (Tag*) _tmp7_;
-#line 617 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp8_ = tag;
-#line 617 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp9_ = tag_get_user_visible_name (_tmp8_);
-#line 617 "/home/jens/Source/shotwell/src/Tag.vala"
- user_visible_name = _tmp9_;
-#line 618 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp10_ = seen_tags;
-#line 618 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp11_ = user_visible_name;
-#line 618 "/home/jens/Source/shotwell/src/Tag.vala"
- if (!gee_abstract_collection_contains (G_TYPE_CHECK_INSTANCE_CAST (_tmp10_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp11_)) {
-#line 5129 "Tag.c"
- GeeArrayList* _tmp12_;
- Tag* _tmp13_;
- GeeHashSet* _tmp14_;
- const gchar* _tmp15_;
-#line 619 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp12_ = sorted_tags;
-#line 619 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp13_ = tag;
-#line 619 "/home/jens/Source/shotwell/src/Tag.vala"
- gee_abstract_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp12_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp13_);
-#line 620 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp14_ = seen_tags;
-#line 620 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp15_ = user_visible_name;
-#line 620 "/home/jens/Source/shotwell/src/Tag.vala"
- gee_abstract_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp14_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp15_);
-#line 5146 "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 5152 "Tag.c"
- }
-#line 616 "/home/jens/Source/shotwell/src/Tag.vala"
- _g_object_unref0 (_tag_it);
-#line 5156 "Tag.c"
- }
-#line 623 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp16_ = sorted_tags;
-#line 623 "/home/jens/Source/shotwell/src/Tag.vala"
- gee_list_sort (G_TYPE_CHECK_INSTANCE_CAST (_tmp16_, 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 5170 "Tag.c"
-}
-
-
-gchar*
-tag_make_tag_markup_string (GeeList* tags,
- gint highlight_index)
-{
- gchar* result = NULL;
- GString* builder = NULL;
- GString* _tmp0_;
- gint i = 0;
- gboolean first = FALSE;
- GString* _tmp24_;
- gchar* built = NULL;
- GString* _tmp25_;
- const gchar* _tmp26_;
- gchar* _tmp27_;
-#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 ("<small>");
-#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 5198 "Tag.c"
- {
- GeeList* _tag_list = NULL;
- GeeList* _tmp1_;
- gint _tag_size = 0;
- GeeList* _tmp2_;
- gint _tmp3_;
- gint _tmp4_;
- gint _tag_index = 0;
-#line 631 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp1_ = _g_object_ref0 (tags);
-#line 631 "/home/jens/Source/shotwell/src/Tag.vala"
- _tag_list = _tmp1_;
-#line 631 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp2_ = _tag_list;
-#line 631 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp3_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, GEE_TYPE_COLLECTION, GeeCollection));
-#line 631 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp4_ = _tmp3_;
-#line 631 "/home/jens/Source/shotwell/src/Tag.vala"
- _tag_size = _tmp4_;
-#line 631 "/home/jens/Source/shotwell/src/Tag.vala"
- _tag_index = -1;
-#line 631 "/home/jens/Source/shotwell/src/Tag.vala"
- while (TRUE) {
-#line 5223 "Tag.c"
- gint _tmp5_;
- gint _tmp6_;
- gint _tmp7_;
- Tag* tag = NULL;
- GeeList* _tmp8_;
- gint _tmp9_;
- gpointer _tmp10_;
- gchar* tag_name = NULL;
- Tag* _tmp11_;
- gchar* _tmp12_;
- gchar* esc_tag_name = NULL;
- const gchar* _tmp13_;
- gchar* _tmp14_;
- gboolean _tmp15_;
- gint _tmp17_;
- GString* _tmp19_;
- const gchar* _tmp20_;
- gint _tmp21_;
- gint _tmp23_;
-#line 631 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp5_ = _tag_index;
-#line 631 "/home/jens/Source/shotwell/src/Tag.vala"
- _tag_index = _tmp5_ + 1;
-#line 631 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp6_ = _tag_index;
-#line 631 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp7_ = _tag_size;
-#line 631 "/home/jens/Source/shotwell/src/Tag.vala"
- if (!(_tmp6_ < _tmp7_)) {
-#line 631 "/home/jens/Source/shotwell/src/Tag.vala"
- break;
-#line 5255 "Tag.c"
- }
-#line 631 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp8_ = _tag_list;
-#line 631 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp9_ = _tag_index;
-#line 631 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp10_ = gee_list_get (_tmp8_, _tmp9_);
-#line 631 "/home/jens/Source/shotwell/src/Tag.vala"
- tag = (Tag*) _tmp10_;
-#line 632 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp11_ = tag;
-#line 632 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp12_ = tag_get_user_visible_name (_tmp11_);
-#line 632 "/home/jens/Source/shotwell/src/Tag.vala"
- tag_name = _tmp12_;
-#line 633 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp13_ = tag_name;
-#line 633 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp14_ = guarded_markup_escape_text (_tmp13_);
-#line 633 "/home/jens/Source/shotwell/src/Tag.vala"
- esc_tag_name = _tmp14_;
-#line 634 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp15_ = first;
-#line 634 "/home/jens/Source/shotwell/src/Tag.vala"
- if (_tmp15_) {
-#line 635 "/home/jens/Source/shotwell/src/Tag.vala"
- first = FALSE;
-#line 5283 "Tag.c"
- } else {
- GString* _tmp16_;
-#line 637 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp16_ = builder;
-#line 637 "/home/jens/Source/shotwell/src/Tag.vala"
- g_string_append (_tmp16_, TAG_TAG_LIST_SEPARATOR_STRING);
-#line 5290 "Tag.c"
- }
-#line 638 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp17_ = i;
-#line 638 "/home/jens/Source/shotwell/src/Tag.vala"
- if (highlight_index == _tmp17_) {
-#line 5296 "Tag.c"
- GString* _tmp18_;
-#line 639 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp18_ = builder;
-#line 639 "/home/jens/Source/shotwell/src/Tag.vala"
- g_string_append (_tmp18_, "<u>");
-#line 5302 "Tag.c"
- }
-#line 640 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp19_ = builder;
-#line 640 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp20_ = esc_tag_name;
-#line 640 "/home/jens/Source/shotwell/src/Tag.vala"
- g_string_append (_tmp19_, _tmp20_);
-#line 641 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp21_ = i;
-#line 641 "/home/jens/Source/shotwell/src/Tag.vala"
- if (highlight_index == _tmp21_) {
-#line 5314 "Tag.c"
- GString* _tmp22_;
-#line 642 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp22_ = builder;
-#line 642 "/home/jens/Source/shotwell/src/Tag.vala"
- g_string_append (_tmp22_, "</u>");
-#line 5320 "Tag.c"
- }
-#line 643 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp23_ = i;
-#line 643 "/home/jens/Source/shotwell/src/Tag.vala"
- i = _tmp23_ + 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 5332 "Tag.c"
- }
-#line 631 "/home/jens/Source/shotwell/src/Tag.vala"
- _g_object_unref0 (_tag_list);
-#line 5336 "Tag.c"
- }
-#line 646 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp24_ = builder;
-#line 646 "/home/jens/Source/shotwell/src/Tag.vala"
- g_string_append (_tmp24_, "</small>");
-#line 647 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp25_ = builder;
-#line 647 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp26_ = _tmp25_->str;
-#line 647 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp27_ = g_strdup (_tmp26_);
-#line 647 "/home/jens/Source/shotwell/src/Tag.vala"
- built = _tmp27_;
-#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 5356 "Tag.c"
-}
-
-
-gchar*
-tag_prep_tag_name (const gchar* name)
-{
- gchar* result = NULL;
- gchar* _tmp0_;
-#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_ = prepare_input_text (name, PREPARE_INPUT_TEXT_OPTIONS_DEFAULT, DEFAULT_USER_TEXT_INPUT_LENGTH);
-#line 654 "/home/jens/Source/shotwell/src/Tag.vala"
- result = _tmp0_;
-#line 654 "/home/jens/Source/shotwell/src/Tag.vala"
- return result;
-#line 5373 "Tag.c"
-}
-
-
-static void
-_vala_array_add127 (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 5389 "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 5395 "Tag.c"
-}
-
-
-gchar**
-tag_prep_tag_names (gchar** names,
- int names_length1,
- int* result_length1)
-{
- gchar** result = NULL;
- gchar** _result_ = NULL;
- gchar** _tmp0_;
- gint _result__length1;
- gint __result__size_;
- gchar** _tmp11_;
- gint _tmp11__length1;
-#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 5419 "Tag.c"
- {
- gint ctr = 0;
-#line 662 "/home/jens/Source/shotwell/src/Tag.vala"
- ctr = 0;
-#line 5424 "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 5431 "Tag.c"
- gint _tmp3_;
- gchar* new_name = NULL;
- gint _tmp4_;
- const gchar* _tmp5_;
- gchar* _tmp6_;
- const gchar* _tmp7_;
-#line 662 "/home/jens/Source/shotwell/src/Tag.vala"
- if (!_tmp1_) {
-#line 5440 "Tag.c"
- gint _tmp2_;
-#line 662 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp2_ = ctr;
-#line 662 "/home/jens/Source/shotwell/src/Tag.vala"
- ctr = _tmp2_ + 1;
-#line 5446 "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"
- if (!(_tmp3_ < names_length1)) {
-#line 662 "/home/jens/Source/shotwell/src/Tag.vala"
- break;
-#line 5456 "Tag.c"
- }
-#line 663 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp4_ = ctr;
-#line 663 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp5_ = names[_tmp4_];
-#line 663 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp6_ = tag_prep_tag_name (_tmp5_);
-#line 663 "/home/jens/Source/shotwell/src/Tag.vala"
- new_name = _tmp6_;
-#line 664 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp7_ = new_name;
-#line 664 "/home/jens/Source/shotwell/src/Tag.vala"
- if (_tmp7_ != NULL) {
-#line 5470 "Tag.c"
- gchar** _tmp8_;
- gint _tmp8__length1;
- const gchar* _tmp9_;
- gchar* _tmp10_;
-#line 665 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp8_ = _result_;
-#line 665 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp8__length1 = _result__length1;
-#line 665 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp9_ = new_name;
-#line 665 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp10_ = g_strdup (_tmp9_);
-#line 665 "/home/jens/Source/shotwell/src/Tag.vala"
- _vala_array_add127 (&_result_, &_result__length1, &__result__size_, _tmp10_);
-#line 5485 "Tag.c"
- }
-#line 662 "/home/jens/Source/shotwell/src/Tag.vala"
- _g_free0 (new_name);
-#line 5489 "Tag.c"
- }
- }
- }
-#line 668 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp11_ = _result_;
-#line 668 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp11__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 = _tmp11__length1;
-#line 5501 "Tag.c"
- }
-#line 668 "/home/jens/Source/shotwell/src/Tag.vala"
- result = _tmp11_;
-#line 668 "/home/jens/Source/shotwell/src/Tag.vala"
- return result;
-#line 5507 "Tag.c"
-}
-
-
-static void
-tag_set_raw_flat_name (Tag* self,
- const gchar* name)
-{
- gchar* prepped_name = NULL;
- gchar* _tmp0_;
- const gchar* _tmp1_;
- const gchar* _tmp2_;
- TagRow* _tmp9_;
- const gchar* _tmp10_;
- gchar* _tmp11_;
- Alteration* _tmp12_;
- Alteration* _tmp13_;
- 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_ = tag_prep_tag_name (name);
-#line 672 "/home/jens/Source/shotwell/src/Tag.vala"
- prepped_name = _tmp0_;
-#line 674 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp1_ = prepped_name;
-#line 674 "/home/jens/Source/shotwell/src/Tag.vala"
- _vala_assert (_tmp1_ != NULL, "prepped_name != null");
-#line 675 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp2_ = prepped_name;
-#line 675 "/home/jens/Source/shotwell/src/Tag.vala"
- _vala_assert (!g_str_has_prefix (_tmp2_, TAG_PATH_SEPARATOR_STRING), "!prepped_name.has_prefix(Tag.PATH_SEPARATOR_STRING)");
-#line 5541 "Tag.c"
- {
- TagTable* _tmp3_;
- TagTable* _tmp4_;
- TagRow* _tmp5_;
- TagID _tmp6_;
- const gchar* _tmp7_;
-#line 678 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp3_ = tag_table_get_instance ();
-#line 678 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp4_ = _tmp3_;
-#line 678 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp5_ = self->priv->row;
-#line 678 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp6_ = _tmp5_->tag_id;
-#line 678 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp7_ = prepped_name;
-#line 678 "/home/jens/Source/shotwell/src/Tag.vala"
- tag_table_rename (_tmp4_, &_tmp6_, _tmp7_, &_inner_error_);
-#line 678 "/home/jens/Source/shotwell/src/Tag.vala"
- _database_table_unref0 (_tmp4_);
-#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 5566 "Tag.c"
- goto __catch483_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 5577 "Tag.c"
- }
- }
- goto __finally483;
- __catch483_database_error:
- {
- GError* err = NULL;
- GError* _tmp8_;
-#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"
- _tmp8_ = err;
-#line 680 "/home/jens/Source/shotwell/src/Tag.vala"
- app_window_database_error (_tmp8_);
-#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 5599 "Tag.c"
- }
- __finally483:
-#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 5612 "Tag.c"
- }
-#line 684 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp9_ = self->priv->row;
-#line 684 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp10_ = prepped_name;
-#line 684 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp11_ = g_strdup (_tmp10_);
-#line 684 "/home/jens/Source/shotwell/src/Tag.vala"
- _g_free0 (_tmp9_->name);
-#line 684 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp9_->name = _tmp11_;
-#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"
- _tmp12_ = alteration_new_from_list ("metadata:name, indexable:keywords");
-#line 689 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp13_ = _tmp12_;
-#line 689 "/home/jens/Source/shotwell/src/Tag.vala"
- data_object_notify_altered (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_OBJECT, DataObject), _tmp13_);
-#line 689 "/home/jens/Source/shotwell/src/Tag.vala"
- _alteration_unref0 (_tmp13_);
-#line 671 "/home/jens/Source/shotwell/src/Tag.vala"
- _g_free0 (prepped_name);
-#line 5640 "Tag.c"
-}
-
-
-static void
-tag_set_raw_path (Tag* self,
- const gchar* path,
- gboolean suppress_notify)
-{
- gchar* prepped_path = NULL;
- gchar* _tmp0_;
- const gchar* _tmp1_;
- const gchar* _tmp2_;
- TagSourceCollection* _tmp3_;
- const gchar* _tmp4_;
- TagRow* _tmp11_;
- const gchar* _tmp12_;
- gchar* _tmp13_;
- 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_ = tag_prep_tag_name (path);
-#line 693 "/home/jens/Source/shotwell/src/Tag.vala"
- prepped_path = _tmp0_;
-#line 695 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp1_ = prepped_path;
-#line 695 "/home/jens/Source/shotwell/src/Tag.vala"
- _vala_assert (_tmp1_ != NULL, "prepped_path != null");
-#line 696 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp2_ = prepped_path;
-#line 696 "/home/jens/Source/shotwell/src/Tag.vala"
- _vala_assert (g_str_has_prefix (_tmp2_, TAG_PATH_SEPARATOR_STRING), "prepped_path.has_prefix(Tag.PATH_SEPARATOR_STRING)");
-#line 697 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp3_ = tag_global;
-#line 697 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp4_ = prepped_path;
-#line 697 "/home/jens/Source/shotwell/src/Tag.vala"
- _vala_assert (!tag_source_collection_exists (_tmp3_, _tmp4_, FALSE), "!Tag.global.exists(prepped_path)");
-#line 5681 "Tag.c"
- {
- TagTable* _tmp5_;
- TagTable* _tmp6_;
- TagRow* _tmp7_;
- TagID _tmp8_;
- const gchar* _tmp9_;
-#line 700 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp5_ = tag_table_get_instance ();
-#line 700 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp6_ = _tmp5_;
-#line 700 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp7_ = self->priv->row;
-#line 700 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp8_ = _tmp7_->tag_id;
-#line 700 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp9_ = prepped_path;
-#line 700 "/home/jens/Source/shotwell/src/Tag.vala"
- tag_table_rename (_tmp6_, &_tmp8_, _tmp9_, &_inner_error_);
-#line 700 "/home/jens/Source/shotwell/src/Tag.vala"
- _database_table_unref0 (_tmp6_);
-#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 5706 "Tag.c"
- goto __catch484_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 5717 "Tag.c"
- }
- }
- goto __finally484;
- __catch484_database_error:
- {
- GError* err = NULL;
- GError* _tmp10_;
-#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"
- _tmp10_ = err;
-#line 702 "/home/jens/Source/shotwell/src/Tag.vala"
- app_window_database_error (_tmp10_);
-#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 5739 "Tag.c"
- }
- __finally484:
-#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 5752 "Tag.c"
- }
-#line 706 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp11_ = self->priv->row;
-#line 706 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp12_ = prepped_path;
-#line 706 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp13_ = g_strdup (_tmp12_);
-#line 706 "/home/jens/Source/shotwell/src/Tag.vala"
- _g_free0 (_tmp11_->name);
-#line 706 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp11_->name = _tmp13_;
-#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"
- if (!suppress_notify) {
-#line 5770 "Tag.c"
- Alteration* _tmp14_;
- Alteration* _tmp15_;
-#line 710 "/home/jens/Source/shotwell/src/Tag.vala"
- tag_update_indexable_keywords (self);
-#line 711 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp14_ = alteration_new_from_list ("metadata:name, indexable:keywords");
-#line 711 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp15_ = _tmp14_;
-#line 711 "/home/jens/Source/shotwell/src/Tag.vala"
- data_object_notify_altered (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_OBJECT, DataObject), _tmp15_);
-#line 711 "/home/jens/Source/shotwell/src/Tag.vala"
- _alteration_unref0 (_tmp15_);
-#line 5783 "Tag.c"
- }
-#line 692 "/home/jens/Source/shotwell/src/Tag.vala"
- _g_free0 (prepped_path);
-#line 5787 "Tag.c"
-}
-
-
-static gchar*
-tag_real_get_typename (DataSource* base)
-{
- Tag * self;
- gchar* result = NULL;
- gchar* _tmp0_;
-#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 5805 "Tag.c"
-}
-
-
-static gint64
-tag_real_get_instance_id (DataSource* base)
-{
- Tag * self;
- gint64 result = 0LL;
- TagID _tmp0_ = {0};
- gint64 _tmp1_;
-#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 5826 "Tag.c"
-}
-
-
-static gchar*
-tag_real_get_name (DataObject* base)
-{
- Tag * self;
- gchar* result = NULL;
- TagRow* _tmp0_;
- const gchar* _tmp1_;
- gchar* _tmp2_;
-#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 5850 "Tag.c"
-}
-
-
-gchar*
-tag_get_path (Tag* self)
-{
- gchar* result = NULL;
- gchar* _tmp0_;
-#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 5867 "Tag.c"
-}
-
-
-gchar*
-tag_get_user_visible_name (Tag* self)
-{
- gchar* result = NULL;
- gchar* _tmp0_;
- gchar* _tmp1_;
- gchar* _tmp2_;
- gchar* _tmp3_;
-#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 5895 "Tag.c"
-}
-
-
-gchar*
-tag_get_searchable_name (Tag* self)
-{
- gchar* result = NULL;
- gchar* istring = NULL;
- gchar* _tmp0_;
- gchar* _tmp1_;
- gchar* _tmp2_;
- gchar* _tmp3_;
- gchar* _tmp4_;
- gchar* _tmp5_;
- gchar* _tmp6_;
-#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 5939 "Tag.c"
-}
-
-
-void
-tag_flatten (Tag* self)
-{
- Tag* _tmp0_;
- Tag* _tmp1_;
- gchar* _tmp2_;
- gchar* _tmp3_;
-#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 5968 "Tag.c"
-}
-
-
-void
-tag_promote (Tag* self)
-{
- gchar* _tmp0_;
- gchar* _tmp1_;
- gboolean _tmp2_;
- gchar* _tmp3_;
- gchar* _tmp4_;
- gchar* _tmp5_;
- gchar* _tmp6_;
-#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"
- _g_free0 (_tmp1_);
-#line 747 "/home/jens/Source/shotwell/src/Tag.vala"
- if (_tmp2_) {
-#line 748 "/home/jens/Source/shotwell/src/Tag.vala"
- return;
-#line 5996 "Tag.c"
- }
-#line 750 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp3_ = tag_get_path (self);
-#line 750 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp4_ = _tmp3_;
-#line 750 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp5_ = g_strconcat (TAG_PATH_SEPARATOR_STRING, _tmp4_, NULL);
-#line 750 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp6_ = _tmp5_;
-#line 750 "/home/jens/Source/shotwell/src/Tag.vala"
- tag_set_raw_path (self, _tmp6_, FALSE);
-#line 750 "/home/jens/Source/shotwell/src/Tag.vala"
- _g_free0 (_tmp6_);
-#line 750 "/home/jens/Source/shotwell/src/Tag.vala"
- _g_free0 (_tmp4_);
-#line 6012 "Tag.c"
-}
-
-
-Tag*
-tag_get_hierarchical_parent (Tag* self)
-{
- Tag* result = NULL;
- gchar* _tmp0_;
- gchar* _tmp1_;
- gboolean _tmp2_;
- GeeList* components = NULL;
- gchar* _tmp3_;
- gchar* _tmp4_;
- GeeList* _tmp5_;
- GeeList* _tmp6_;
- GeeList* _tmp7_;
- gint _tmp8_;
- gint _tmp9_;
- GeeList* _tmp10_;
- gint _tmp11_;
- gint _tmp12_;
- gchar* parent_path = NULL;
- gchar* _tmp13_;
- TagSourceCollection* _tmp28_;
- const gchar* _tmp29_;
-#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"
- _g_free0 (_tmp1_);
-#line 755 "/home/jens/Source/shotwell/src/Tag.vala"
- if (_tmp2_) {
-#line 756 "/home/jens/Source/shotwell/src/Tag.vala"
- result = NULL;
-#line 756 "/home/jens/Source/shotwell/src/Tag.vala"
- return result;
-#line 6054 "Tag.c"
- }
-#line 758 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp3_ = tag_get_path (self);
-#line 758 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp4_ = _tmp3_;
-#line 758 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp5_ = hierarchical_tag_utilities_enumerate_path_components (_tmp4_);
-#line 758 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp6_ = _tmp5_;
-#line 758 "/home/jens/Source/shotwell/src/Tag.vala"
- _g_free0 (_tmp4_);
-#line 758 "/home/jens/Source/shotwell/src/Tag.vala"
- components = _tmp6_;
-#line 761 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp7_ = components;
-#line 761 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp8_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, GEE_TYPE_COLLECTION, GeeCollection));
-#line 761 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp9_ = _tmp8_;
-#line 761 "/home/jens/Source/shotwell/src/Tag.vala"
- _vala_assert (_tmp9_ > 0, "components.size > 0");
-#line 763 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp10_ = components;
-#line 763 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp11_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp10_, GEE_TYPE_COLLECTION, GeeCollection));
-#line 763 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp12_ = _tmp11_;
-#line 763 "/home/jens/Source/shotwell/src/Tag.vala"
- if (_tmp12_ == 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 6090 "Tag.c"
- }
-#line 767 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp13_ = g_strdup ("");
-#line 767 "/home/jens/Source/shotwell/src/Tag.vala"
- parent_path = _tmp13_;
-#line 6096 "Tag.c"
- {
- gint i = 0;
-#line 768 "/home/jens/Source/shotwell/src/Tag.vala"
- i = 0;
-#line 6101 "Tag.c"
- {
- gboolean _tmp14_ = FALSE;
-#line 768 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp14_ = TRUE;
-#line 768 "/home/jens/Source/shotwell/src/Tag.vala"
- while (TRUE) {
-#line 6108 "Tag.c"
- gint _tmp16_;
- GeeList* _tmp17_;
- gint _tmp18_;
- gint _tmp19_;
- const gchar* _tmp20_;
- GeeList* _tmp21_;
- gint _tmp22_;
- gpointer _tmp23_;
- gchar* _tmp24_;
- gchar* _tmp25_;
- gchar* _tmp26_;
- gchar* _tmp27_;
-#line 768 "/home/jens/Source/shotwell/src/Tag.vala"
- if (!_tmp14_) {
-#line 6123 "Tag.c"
- gint _tmp15_;
-#line 768 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp15_ = i;
-#line 768 "/home/jens/Source/shotwell/src/Tag.vala"
- i = _tmp15_ + 1;
-#line 6129 "Tag.c"
- }
-#line 768 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp14_ = FALSE;
-#line 768 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp16_ = i;
-#line 768 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp17_ = components;
-#line 768 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp18_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp17_, GEE_TYPE_COLLECTION, GeeCollection));
-#line 768 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp19_ = _tmp18_;
-#line 768 "/home/jens/Source/shotwell/src/Tag.vala"
- if (!(_tmp16_ < (_tmp19_ - 1))) {
-#line 768 "/home/jens/Source/shotwell/src/Tag.vala"
- break;
-#line 6145 "Tag.c"
- }
-#line 769 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp20_ = parent_path;
-#line 769 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp21_ = components;
-#line 769 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp22_ = i;
-#line 769 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp23_ = gee_list_get (_tmp21_, _tmp22_);
-#line 769 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp24_ = (gchar*) _tmp23_;
-#line 769 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp25_ = g_strconcat (TAG_PATH_SEPARATOR_STRING, _tmp24_, NULL);
-#line 769 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp26_ = _tmp25_;
-#line 769 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp27_ = g_strconcat (_tmp20_, _tmp26_, 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 = _tmp27_;
-#line 769 "/home/jens/Source/shotwell/src/Tag.vala"
- _g_free0 (_tmp26_);
-#line 769 "/home/jens/Source/shotwell/src/Tag.vala"
- _g_free0 (_tmp24_);
-#line 6171 "Tag.c"
- }
- }
- }
-#line 771 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp28_ = tag_global;
-#line 771 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp29_ = parent_path;
-#line 771 "/home/jens/Source/shotwell/src/Tag.vala"
- if (tag_source_collection_exists (_tmp28_, _tmp29_, FALSE)) {
-#line 6181 "Tag.c"
- const gchar* _tmp30_;
- Tag* _tmp31_;
-#line 772 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp30_ = parent_path;
-#line 772 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp31_ = tag_for_path (_tmp30_);
-#line 772 "/home/jens/Source/shotwell/src/Tag.vala"
- result = _tmp31_;
-#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 6196 "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 6206 "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 6212 "Tag.c"
-}
-
-
-gint
-tag_get_attachment_count (Tag* self,
- MediaSource* source)
-{
- gint result = 0;
- 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"
- if (!tag_contains (self, source)) {
-#line 780 "/home/jens/Source/shotwell/src/Tag.vala"
- result = 0;
-#line 780 "/home/jens/Source/shotwell/src/Tag.vala"
- return result;
-#line 6232 "Tag.c"
- }
-#line 783 "/home/jens/Source/shotwell/src/Tag.vala"
- _result_ = 1;
-#line 6236 "Tag.c"
- {
- GeeList* _child_list = NULL;
- GeeList* _tmp0_;
- gint _child_size = 0;
- GeeList* _tmp1_;
- gint _tmp2_;
- gint _tmp3_;
- gint _child_index = 0;
-#line 786 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp0_ = tag_get_hierarchical_children (self);
-#line 786 "/home/jens/Source/shotwell/src/Tag.vala"
- _child_list = _tmp0_;
-#line 786 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp1_ = _child_list;
-#line 786 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp2_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, GEE_TYPE_COLLECTION, GeeCollection));
-#line 786 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp3_ = _tmp2_;
-#line 786 "/home/jens/Source/shotwell/src/Tag.vala"
- _child_size = _tmp3_;
-#line 786 "/home/jens/Source/shotwell/src/Tag.vala"
- _child_index = -1;
-#line 786 "/home/jens/Source/shotwell/src/Tag.vala"
- while (TRUE) {
-#line 6261 "Tag.c"
- gint _tmp4_;
- gint _tmp5_;
- gint _tmp6_;
- Tag* child = NULL;
- GeeList* _tmp7_;
- gint _tmp8_;
- gpointer _tmp9_;
- Tag* _tmp10_;
-#line 786 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp4_ = _child_index;
-#line 786 "/home/jens/Source/shotwell/src/Tag.vala"
- _child_index = _tmp4_ + 1;
-#line 786 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp5_ = _child_index;
-#line 786 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp6_ = _child_size;
-#line 786 "/home/jens/Source/shotwell/src/Tag.vala"
- if (!(_tmp5_ < _tmp6_)) {
-#line 786 "/home/jens/Source/shotwell/src/Tag.vala"
- break;
-#line 6282 "Tag.c"
- }
-#line 786 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp7_ = _child_list;
-#line 786 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp8_ = _child_index;
-#line 786 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp9_ = gee_list_get (_tmp7_, _tmp8_);
-#line 786 "/home/jens/Source/shotwell/src/Tag.vala"
- child = (Tag*) _tmp9_;
-#line 787 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp10_ = child;
-#line 787 "/home/jens/Source/shotwell/src/Tag.vala"
- if (tag_contains (_tmp10_, source)) {
-#line 6296 "Tag.c"
- gint _tmp11_;
-#line 788 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp11_ = _result_;
-#line 788 "/home/jens/Source/shotwell/src/Tag.vala"
- _result_ = _tmp11_ + 1;
-#line 6302 "Tag.c"
- }
-#line 786 "/home/jens/Source/shotwell/src/Tag.vala"
- _g_object_unref0 (child);
-#line 6306 "Tag.c"
- }
-#line 786 "/home/jens/Source/shotwell/src/Tag.vala"
- _g_object_unref0 (_child_list);
-#line 6310 "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 6316 "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_;
- GeeArrayList* result_reversed = NULL;
- GeeArrayList* _tmp1_;
- gchar* _tmp2_;
- gchar* _tmp3_;
- gboolean _tmp4_;
- GeeTreeSet* forward_sorted_paths = NULL;
- GeeTreeSet* _tmp5_;
- gchar* target_path = NULL;
- gchar* _tmp6_;
- gchar* _tmp7_;
- gchar* _tmp8_;
- gchar* _tmp9_;
-#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, (GDestroyNotify) 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, (GDestroyNotify) 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"
- _g_free0 (_tmp3_);
-#line 802 "/home/jens/Source/shotwell/src/Tag.vala"
- if (_tmp4_) {
-#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 6368 "Tag.c"
- }
-#line 807 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp5_ = gee_tree_set_new (G_TYPE_STRING, (GBoxedCopyFunc) g_strdup, (GDestroyNotify) g_free, NULL, NULL, NULL);
-#line 807 "/home/jens/Source/shotwell/src/Tag.vala"
- forward_sorted_paths = _tmp5_;
-#line 809 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp6_ = tag_get_path (self);
-#line 809 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp7_ = _tmp6_;
-#line 809 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp8_ = g_strconcat (_tmp7_, TAG_PATH_SEPARATOR_STRING, NULL);
-#line 809 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp9_ = _tmp8_;
-#line 809 "/home/jens/Source/shotwell/src/Tag.vala"
- _g_free0 (_tmp7_);
-#line 809 "/home/jens/Source/shotwell/src/Tag.vala"
- target_path = _tmp9_;
-#line 6386 "Tag.c"
- {
- GeeIterator* _path_it = NULL;
- TagSourceCollection* _tmp10_;
- GeeCollection* _tmp11_;
- GeeCollection* _tmp12_;
- GeeIterator* _tmp13_;
- GeeIterator* _tmp14_;
-#line 810 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp10_ = tag_global;
-#line 810 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp11_ = tag_source_collection_get_all_names (_tmp10_);
-#line 810 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp12_ = _tmp11_;
-#line 810 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp13_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp12_, GEE_TYPE_ITERABLE, GeeIterable));
-#line 810 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp14_ = _tmp13_;
-#line 810 "/home/jens/Source/shotwell/src/Tag.vala"
- _g_object_unref0 (_tmp12_);
-#line 810 "/home/jens/Source/shotwell/src/Tag.vala"
- _path_it = _tmp14_;
-#line 810 "/home/jens/Source/shotwell/src/Tag.vala"
- while (TRUE) {
-#line 6410 "Tag.c"
- GeeIterator* _tmp15_;
- gchar* path = NULL;
- GeeIterator* _tmp16_;
- gpointer _tmp17_;
- const gchar* _tmp18_;
- const gchar* _tmp19_;
-#line 810 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp15_ = _path_it;
-#line 810 "/home/jens/Source/shotwell/src/Tag.vala"
- if (!gee_iterator_next (_tmp15_)) {
-#line 810 "/home/jens/Source/shotwell/src/Tag.vala"
- break;
-#line 6423 "Tag.c"
- }
-#line 810 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp16_ = _path_it;
-#line 810 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp17_ = gee_iterator_get (_tmp16_);
-#line 810 "/home/jens/Source/shotwell/src/Tag.vala"
- path = (gchar*) _tmp17_;
-#line 811 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp18_ = path;
-#line 811 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp19_ = target_path;
-#line 811 "/home/jens/Source/shotwell/src/Tag.vala"
- if (g_str_has_prefix (_tmp18_, _tmp19_)) {
-#line 6437 "Tag.c"
- GeeTreeSet* _tmp20_;
- const gchar* _tmp21_;
-#line 812 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp20_ = forward_sorted_paths;
-#line 812 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp21_ = path;
-#line 812 "/home/jens/Source/shotwell/src/Tag.vala"
- gee_abstract_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp20_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp21_);
-#line 6446 "Tag.c"
- }
-#line 810 "/home/jens/Source/shotwell/src/Tag.vala"
- _g_free0 (path);
-#line 6450 "Tag.c"
- }
-#line 810 "/home/jens/Source/shotwell/src/Tag.vala"
- _g_object_unref0 (_path_it);
-#line 6454 "Tag.c"
- }
- {
- GeeIterator* _tmp_it = NULL;
- GeeTreeSet* _tmp22_;
- GeeIterator* _tmp23_;
-#line 815 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp22_ = forward_sorted_paths;
-#line 815 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp23_ = gee_abstract_collection_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp22_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection));
-#line 815 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp_it = _tmp23_;
-#line 815 "/home/jens/Source/shotwell/src/Tag.vala"
- while (TRUE) {
-#line 6468 "Tag.c"
- GeeIterator* _tmp24_;
- gchar* tmp = NULL;
- GeeIterator* _tmp25_;
- gpointer _tmp26_;
- GeeArrayList* _tmp27_;
- const gchar* _tmp28_;
- Tag* _tmp29_;
- Tag* _tmp30_;
-#line 815 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp24_ = _tmp_it;
-#line 815 "/home/jens/Source/shotwell/src/Tag.vala"
- if (!gee_iterator_next (_tmp24_)) {
-#line 815 "/home/jens/Source/shotwell/src/Tag.vala"
- break;
-#line 6483 "Tag.c"
- }
-#line 815 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp25_ = _tmp_it;
-#line 815 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp26_ = gee_iterator_get (_tmp25_);
-#line 815 "/home/jens/Source/shotwell/src/Tag.vala"
- tmp = (gchar*) _tmp26_;
-#line 816 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp27_ = result_reversed;
-#line 816 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp28_ = tmp;
-#line 816 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp29_ = tag_for_path (_tmp28_);
-#line 816 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp30_ = _tmp29_;
-#line 816 "/home/jens/Source/shotwell/src/Tag.vala"
- gee_abstract_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp27_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp30_);
-#line 816 "/home/jens/Source/shotwell/src/Tag.vala"
- _g_object_unref0 (_tmp30_);
-#line 815 "/home/jens/Source/shotwell/src/Tag.vala"
- _g_free0 (tmp);
-#line 6505 "Tag.c"
- }
-#line 815 "/home/jens/Source/shotwell/src/Tag.vala"
- _g_object_unref0 (_tmp_it);
-#line 6509 "Tag.c"
- }
- {
- gint index = 0;
- GeeArrayList* _tmp31_;
- gint _tmp32_;
- gint _tmp33_;
-#line 819 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp31_ = result_reversed;
-#line 819 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp32_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp31_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection));
-#line 819 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp33_ = _tmp32_;
-#line 819 "/home/jens/Source/shotwell/src/Tag.vala"
- index = _tmp33_ - 1;
-#line 6524 "Tag.c"
- {
- gboolean _tmp34_ = FALSE;
-#line 819 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp34_ = TRUE;
-#line 819 "/home/jens/Source/shotwell/src/Tag.vala"
- while (TRUE) {
-#line 6531 "Tag.c"
- gint _tmp36_;
- GeeArrayList* _tmp37_;
- GeeArrayList* _tmp38_;
- gint _tmp39_;
- gpointer _tmp40_;
- Tag* _tmp41_;
-#line 819 "/home/jens/Source/shotwell/src/Tag.vala"
- if (!_tmp34_) {
-#line 6540 "Tag.c"
- gint _tmp35_;
-#line 819 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp35_ = index;
-#line 819 "/home/jens/Source/shotwell/src/Tag.vala"
- index = _tmp35_ - 1;
-#line 6546 "Tag.c"
- }
-#line 819 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp34_ = FALSE;
-#line 819 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp36_ = index;
-#line 819 "/home/jens/Source/shotwell/src/Tag.vala"
- if (!(_tmp36_ >= 0)) {
-#line 819 "/home/jens/Source/shotwell/src/Tag.vala"
- break;
-#line 6556 "Tag.c"
- }
-#line 820 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp37_ = _result_;
-#line 820 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp38_ = result_reversed;
-#line 820 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp39_ = index;
-#line 820 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp40_ = gee_abstract_list_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp38_, GEE_TYPE_ABSTRACT_LIST, GeeAbstractList), _tmp39_);
-#line 820 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp41_ = (Tag*) _tmp40_;
-#line 820 "/home/jens/Source/shotwell/src/Tag.vala"
- gee_abstract_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp37_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp41_);
-#line 820 "/home/jens/Source/shotwell/src/Tag.vala"
- _g_object_unref0 (_tmp41_);
-#line 6572 "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 6586 "Tag.c"
-}
-
-
-static gchar*
-tag_get_next_untitled_tag_name (const gchar* _prefix)
-{
- gchar* result = NULL;
- const gchar* _tmp0_ = NULL;
- gchar* prefix = NULL;
- gchar* _tmp1_;
- gchar* candidate_name = NULL;
- gchar* _tmp2_;
- guint64 counter = 0ULL;
-#line 829 "/home/jens/Source/shotwell/src/Tag.vala"
- if (_prefix != NULL) {
-#line 829 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp0_ = _prefix;
-#line 6604 "Tag.c"
- } else {
-#line 829 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp0_ = "";
-#line 6608 "Tag.c"
- }
-#line 829 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp1_ = g_strdup (_tmp0_);
-#line 829 "/home/jens/Source/shotwell/src/Tag.vala"
- prefix = _tmp1_;
-#line 830 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp2_ = g_strdup (_ ("untitled"));
-#line 830 "/home/jens/Source/shotwell/src/Tag.vala"
- candidate_name = _tmp2_;
-#line 831 "/home/jens/Source/shotwell/src/Tag.vala"
- counter = (guint64) 0;
-#line 6620 "Tag.c"
- {
- gboolean _tmp3_ = FALSE;
-#line 832 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp3_ = TRUE;
-#line 832 "/home/jens/Source/shotwell/src/Tag.vala"
- while (TRUE) {
-#line 6627 "Tag.c"
- gchar* _tmp5_ = NULL;
- guint64 _tmp6_;
- gchar* path_candidate = NULL;
- const gchar* _tmp12_;
- const gchar* _tmp13_;
- gchar* _tmp14_;
- gchar* _tmp15_;
- gchar* _tmp16_;
- gchar* _tmp17_;
- TagSourceCollection* _tmp18_;
- const gchar* _tmp19_;
- guint64 _tmp20_;
-#line 832 "/home/jens/Source/shotwell/src/Tag.vala"
- if (!_tmp3_) {
-#line 6642 "Tag.c"
- guint64 _tmp4_;
-#line 840 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp4_ = counter;
-#line 840 "/home/jens/Source/shotwell/src/Tag.vala"
- if (!(_tmp4_ < G_MAXUINT64)) {
-#line 840 "/home/jens/Source/shotwell/src/Tag.vala"
- break;
-#line 6650 "Tag.c"
- }
- }
-#line 832 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp3_ = FALSE;
-#line 834 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp6_ = counter;
-#line 834 "/home/jens/Source/shotwell/src/Tag.vala"
- if (_tmp6_ == ((guint64) 0)) {
-#line 6659 "Tag.c"
- gchar* _tmp7_;
-#line 834 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp7_ = g_strdup ("");
-#line 834 "/home/jens/Source/shotwell/src/Tag.vala"
- _g_free0 (_tmp5_);
-#line 834 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp5_ = _tmp7_;
-#line 6667 "Tag.c"
- } else {
- guint64 _tmp8_;
- gchar* _tmp9_;
- gchar* _tmp10_;
- gchar* _tmp11_;
-#line 834 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp8_ = counter;
-#line 834 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp9_ = g_strdup_printf ("%" G_GUINT64_FORMAT, _tmp8_);
-#line 834 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp10_ = _tmp9_;
-#line 834 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp11_ = g_strconcat (" ", _tmp10_, NULL);
-#line 834 "/home/jens/Source/shotwell/src/Tag.vala"
- _g_free0 (_tmp5_);
-#line 834 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp5_ = _tmp11_;
-#line 834 "/home/jens/Source/shotwell/src/Tag.vala"
- _g_free0 (_tmp10_);
-#line 6687 "Tag.c"
- }
-#line 833 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp12_ = prefix;
-#line 833 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp13_ = candidate_name;
-#line 833 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp14_ = g_strconcat (_tmp12_, _tmp13_, NULL);
-#line 833 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp15_ = _tmp14_;
-#line 833 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp16_ = g_strconcat (_tmp15_, _tmp5_, NULL);
-#line 833 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp17_ = _tmp16_;
-#line 833 "/home/jens/Source/shotwell/src/Tag.vala"
- _g_free0 (_tmp15_);
-#line 833 "/home/jens/Source/shotwell/src/Tag.vala"
- path_candidate = _tmp17_;
-#line 836 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp18_ = tag_global;
-#line 836 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp19_ = path_candidate;
-#line 836 "/home/jens/Source/shotwell/src/Tag.vala"
- if (!tag_source_collection_exists (_tmp18_, _tmp19_, FALSE)) {
-#line 837 "/home/jens/Source/shotwell/src/Tag.vala"
- result = path_candidate;
-#line 837 "/home/jens/Source/shotwell/src/Tag.vala"
- _g_free0 (_tmp5_);
-#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 6721 "Tag.c"
- }
-#line 839 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp20_ = counter;
-#line 839 "/home/jens/Source/shotwell/src/Tag.vala"
- counter = _tmp20_ + 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 (_tmp5_);
-#line 6731 "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 6740 "Tag.c"
-}
-
-
-Tag*
-tag_create_new_child (Tag* self)
-{
- Tag* result = NULL;
- gchar* path_prefix = NULL;
- gchar* _tmp0_;
- const gchar* _tmp1_;
- const gchar* _tmp7_;
- gchar* _tmp8_;
- gchar* _tmp9_;
- gchar* _tmp10_;
- gchar* _tmp11_;
- Tag* _tmp12_;
- Tag* _tmp13_;
-#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"
- if (!g_str_has_prefix (_tmp1_, TAG_PATH_SEPARATOR_STRING)) {
-#line 6768 "Tag.c"
- gchar* _tmp2_;
- gchar* _tmp3_;
- gchar* _tmp4_;
- gchar* _tmp5_;
- gchar* _tmp6_;
-#line 850 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp2_ = tag_get_path (self);
-#line 850 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp3_ = _tmp2_;
-#line 850 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp4_ = hierarchical_tag_utilities_flat_to_hierarchical (_tmp3_);
-#line 850 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp5_ = _tmp4_;
-#line 850 "/home/jens/Source/shotwell/src/Tag.vala"
- tag_set_raw_path (self, _tmp5_, FALSE);
-#line 850 "/home/jens/Source/shotwell/src/Tag.vala"
- _g_free0 (_tmp5_);
-#line 850 "/home/jens/Source/shotwell/src/Tag.vala"
- _g_free0 (_tmp3_);
-#line 852 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp6_ = 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 = _tmp6_;
-#line 6794 "Tag.c"
- }
-#line 855 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp7_ = path_prefix;
-#line 855 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp8_ = g_strconcat (_tmp7_, TAG_PATH_SEPARATOR_STRING, NULL);
-#line 855 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp9_ = _tmp8_;
-#line 855 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp10_ = tag_get_next_untitled_tag_name (_tmp9_);
-#line 855 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp11_ = _tmp10_;
-#line 855 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp12_ = tag_for_path (_tmp11_);
-#line 855 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp13_ = _tmp12_;
-#line 855 "/home/jens/Source/shotwell/src/Tag.vala"
- _g_free0 (_tmp11_);
-#line 855 "/home/jens/Source/shotwell/src/Tag.vala"
- _g_free0 (_tmp9_);
-#line 855 "/home/jens/Source/shotwell/src/Tag.vala"
- result = _tmp13_;
-#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 6820 "Tag.c"
-}
-
-
-Tag*
-tag_create_new_root (void)
-{
- Tag* result = NULL;
- gchar* _tmp0_;
- gchar* _tmp1_;
- Tag* _tmp2_;
- Tag* _tmp3_;
-#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 6846 "Tag.c"
-}
-
-
-gchar*
-tag_get_name_collation_key (Tag* self)
-{
- gchar* result = NULL;
- const gchar* _tmp0_;
- const gchar* _tmp4_;
- gchar* _tmp5_;
-#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 6863 "Tag.c"
- TagRow* _tmp1_;
- const gchar* _tmp2_;
- gchar* _tmp3_;
-#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 6877 "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 6887 "Tag.c"
-}
-
-
-static gchar*
-tag_real_to_string (DataObject* base)
-{
- Tag * self;
- gchar* result = NULL;
- TagRow* _tmp0_;
- const gchar* _tmp1_;
- ViewCollection* _tmp2_;
- gchar* _tmp3_;
-#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_ = g_strdup_printf ("Tag %s (%d sources)", _tmp1_, data_collection_get_count (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, TYPE_DATA_COLLECTION, DataCollection)));
-#line 870 "/home/jens/Source/shotwell/src/Tag.vala"
- result = _tmp3_;
-#line 870 "/home/jens/Source/shotwell/src/Tag.vala"
- return result;
-#line 6914 "Tag.c"
-}
-
-
-static gboolean
-tag_real_equals (DataSource* base,
- DataSource* source)
-{
- Tag * self;
- gboolean result = FALSE;
- Tag* tag = NULL;
- Tag* _tmp0_;
- Tag* _tmp1_;
-#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_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (source, TYPE_TAG) ? ((Tag*) source) : NULL);
-#line 875 "/home/jens/Source/shotwell/src/Tag.vala"
- tag = _tmp0_;
-#line 876 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp1_ = tag;
-#line 876 "/home/jens/Source/shotwell/src/Tag.vala"
- if (_tmp1_ != NULL) {
-#line 6939 "Tag.c"
- Tag* _tmp2_;
-#line 877 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp2_ = tag;
-#line 877 "/home/jens/Source/shotwell/src/Tag.vala"
- if (_tmp2_ != self) {
-#line 6945 "Tag.c"
- Tag* _tmp3_;
- TagRow* _tmp4_;
- TagID _tmp5_;
- gint64 _tmp6_;
- TagRow* _tmp7_;
- TagID _tmp8_;
- gint64 _tmp9_;
-#line 878 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp3_ = tag;
-#line 878 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp4_ = _tmp3_->priv->row;
-#line 878 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp5_ = _tmp4_->tag_id;
-#line 878 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp6_ = _tmp5_.id;
-#line 878 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp7_ = self->priv->row;
-#line 878 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp8_ = _tmp7_->tag_id;
-#line 878 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp9_ = _tmp8_.id;
-#line 878 "/home/jens/Source/shotwell/src/Tag.vala"
- _vala_assert (_tmp6_ != _tmp9_, "tag.row.tag_id.id != row.tag_id.id");
-#line 6969 "Tag.c"
- }
- }
-#line 882 "/home/jens/Source/shotwell/src/Tag.vala"
- result = DATA_SOURCE_CLASS (tag_parent_class)->equals (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_SOURCE, DataSource), source);
-#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 6978 "Tag.c"
-}
-
-
-void
-tag_get_tag_id (Tag* self,
- TagID* result)
-{
- TagRow* _tmp0_;
- TagID _tmp1_;
-#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 6998 "Tag.c"
-}
-
-
-static SourceSnapshot*
-tag_real_save_snapshot (DataSource* base)
-{
- Tag * self;
- SourceSnapshot* result = NULL;
- TagTagSnapshot* _tmp0_;
-#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 7016 "Tag.c"
-}
-
-
-static SourceProxy*
-tag_real_get_proxy (Proxyable* base)
-{
- Tag * self;
- SourceProxy* result = NULL;
- TagTagProxy* _tmp0_;
-#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 7034 "Tag.c"
-}
-
-
-Tag*
-tag_reconstitute (gint64 object_id,
- TagRow* row)
-{
- Tag* result = NULL;
- Tag* tag = NULL;
- Tag* _tmp6_;
- TagSourceCollection* _tmp7_;
- gchar* _tmp8_;
- gchar* _tmp9_;
- GError * _inner_error_ = NULL;
-#line 897 "/home/jens/Source/shotwell/src/Tag.vala"
- g_return_val_if_fail (IS_TAG_ROW (row), NULL);
-#line 7051 "Tag.c"
- {
- TagID _tmp0_ = {0};
- TagTable* _tmp1_;
- TagTable* _tmp2_;
- TagID _tmp3_ = {0};
- TagID _tmp4_;
-#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"
- tag_table_create_from_row (_tmp2_, row, &_tmp3_, &_inner_error_);
-#line 900 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp4_ = _tmp3_;
-#line 900 "/home/jens/Source/shotwell/src/Tag.vala"
- _database_table_unref0 (_tmp2_);
-#line 900 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp0_ = _tmp4_;
-#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 7074 "Tag.c"
- goto __catch485_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 7083 "Tag.c"
- }
-#line 900 "/home/jens/Source/shotwell/src/Tag.vala"
- row->tag_id = _tmp0_;
-#line 7087 "Tag.c"
- }
- goto __finally485;
- __catch485_database_error:
- {
- GError* err = NULL;
- GError* _tmp5_;
-#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"
- _tmp5_ = err;
-#line 902 "/home/jens/Source/shotwell/src/Tag.vala"
- app_window_database_error (_tmp5_);
-#line 899 "/home/jens/Source/shotwell/src/Tag.vala"
- _g_error_free0 (err);
-#line 7104 "Tag.c"
- }
- __finally485:
-#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"
- _tmp6_ = tag_new (row, object_id);
-#line 905 "/home/jens/Source/shotwell/src/Tag.vala"
- tag = _tmp6_;
-#line 906 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp7_ = tag_global;
-#line 906 "/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 (tag, TYPE_DATA_OBJECT, DataObject));
-#line 908 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp8_ = data_object_to_string (G_TYPE_CHECK_INSTANCE_CAST (tag, TYPE_DATA_OBJECT, DataObject));
-#line 908 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp9_ = _tmp8_;
-#line 908 "/home/jens/Source/shotwell/src/Tag.vala"
- g_debug ("Tag.vala:908: Reconstituted %s", _tmp9_);
-#line 908 "/home/jens/Source/shotwell/src/Tag.vala"
- _g_free0 (_tmp9_);
-#line 910 "/home/jens/Source/shotwell/src/Tag.vala"
- result = tag;
-#line 910 "/home/jens/Source/shotwell/src/Tag.vala"
- return result;
-#line 7137 "Tag.c"
-}
-
-
-static gboolean
-tag_real_has_links (ContainerSource* base)
-{
- Tag * self;
- gboolean result = FALSE;
- LibraryPhotoSourceCollection* _tmp0_;
- SourceBacklink* _tmp1_;
- SourceBacklink* _tmp2_;
- gboolean _tmp3_;
-#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"
- _source_backlink_unref0 (_tmp2_);
-#line 914 "/home/jens/Source/shotwell/src/Tag.vala"
- result = _tmp3_;
-#line 914 "/home/jens/Source/shotwell/src/Tag.vala"
- return result;
-#line 7166 "Tag.c"
-}
-
-
-static SourceBacklink*
-tag_real_get_backlink (ContainerSource* base)
-{
- Tag * self;
- SourceBacklink* result = NULL;
- SourceBacklink* _tmp0_;
-#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 7184 "Tag.c"
-}
-
-
-static void
-tag_real_break_link (ContainerSource* base,
- DataSource* source)
-{
- Tag * self;
- GeeList* _tmp0_;
- GeeList* _tmp1_;
-#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_ = tag_detach (self, G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (source, TYPE_LIBRARY_PHOTO, LibraryPhoto), TYPE_MEDIA_SOURCE, MediaSource));
-#line 924 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp1_ = _tmp0_;
-#line 924 "/home/jens/Source/shotwell/src/Tag.vala"
- _g_object_unref0 (_tmp1_);
-#line 926 "/home/jens/Source/shotwell/src/Tag.vala"
- self->priv->unlinking = FALSE;
-#line 7209 "Tag.c"
-}
-
-
-static void
-tag_real_break_link_many (ContainerSource* base,
- GeeCollection* sources)
-{
- Tag * self;
- GeeMultiMap* _tmp0_;
- GeeMultiMap* _tmp1_;
-#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_ = tag_detach_many (self, G_TYPE_CHECK_INSTANCE_CAST (sources, GEE_TYPE_COLLECTION, GeeCollection));
-#line 932 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp1_ = _tmp0_;
-#line 932 "/home/jens/Source/shotwell/src/Tag.vala"
- _g_object_unref0 (_tmp1_);
-#line 934 "/home/jens/Source/shotwell/src/Tag.vala"
- self->priv->unlinking = FALSE;
-#line 7234 "Tag.c"
-}
-
-
-static void
-tag_real_establish_link (ContainerSource* base,
- DataSource* source)
-{
- Tag * self;
-#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"
- tag_attach (self, G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (source, TYPE_LIBRARY_PHOTO, LibraryPhoto), TYPE_MEDIA_SOURCE, MediaSource));
-#line 942 "/home/jens/Source/shotwell/src/Tag.vala"
- self->priv->relinking = FALSE;
-#line 7253 "Tag.c"
-}
-
-
-static void
-tag_real_establish_link_many (ContainerSource* base,
- GeeCollection* sources)
-{
- Tag * self;
-#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"
- tag_attach_many (self, G_TYPE_CHECK_INSTANCE_CAST (sources, GEE_TYPE_COLLECTION, GeeCollection));
-#line 950 "/home/jens/Source/shotwell/src/Tag.vala"
- self->priv->relinking = FALSE;
-#line 7272 "Tag.c"
-}
-
-
-static void
-tag_update_indexable_keywords (Tag* self)
-{
- gchar* _tmp0_;
- gchar* _tmp1_;
- gchar* _tmp2_;
-#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 7296 "Tag.c"
-}
-
-
-static const gchar*
-tag_real_get_indexable_keywords (Indexable* base)
-{
- Tag * self;
- const gchar* result = NULL;
- const gchar* _tmp0_;
-#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 7314 "Tag.c"
-}
-
-
-void
-tag_attach (Tag* self,
- MediaSource* source)
-{
- Tag* attach_to = NULL;
- Tag* _tmp0_;
-#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 7334 "Tag.c"
- Tag* _tmp1_;
- Tag* _tmp2_;
- ViewCollection* _tmp3_;
- Tag* _tmp8_;
- Tag* _tmp9_;
-#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 7346 "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"
- if (!view_collection_has_view_for_source (_tmp3_, G_TYPE_CHECK_INSTANCE_CAST (source, TYPE_DATA_SOURCE, DataSource))) {
-#line 7354 "Tag.c"
- Tag* _tmp4_;
- ViewCollection* _tmp5_;
- ThumbnailView* _tmp6_;
- ThumbnailView* _tmp7_;
-#line 965 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp4_ = attach_to;
-#line 965 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp5_ = _tmp4_->priv->media_views;
-#line 965 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp6_ = thumbnail_view_new (G_TYPE_CHECK_INSTANCE_CAST (source, TYPE_THUMBNAIL_SOURCE, ThumbnailSource));
-#line 965 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp7_ = _tmp6_;
-#line 965 "/home/jens/Source/shotwell/src/Tag.vala"
- data_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, TYPE_DATA_COLLECTION, DataCollection), G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, TYPE_DATA_OBJECT, DataObject));
-#line 965 "/home/jens/Source/shotwell/src/Tag.vala"
- _g_object_unref0 (_tmp7_);
-#line 7371 "Tag.c"
- }
-#line 968 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp8_ = attach_to;
-#line 968 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp9_ = tag_get_hierarchical_parent (_tmp8_);
-#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 = _tmp9_;
-#line 7381 "Tag.c"
- }
-#line 961 "/home/jens/Source/shotwell/src/Tag.vala"
- _g_object_unref0 (attach_to);
-#line 7385 "Tag.c"
-}
-
-
-void
-tag_attach_many (Tag* self,
- GeeCollection* sources)
-{
- Tag* attach_to = NULL;
- Tag* _tmp0_;
-#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 7405 "Tag.c"
- Tag* _tmp1_;
- GeeArrayList* view_list = NULL;
- GeeArrayList* _tmp2_;
- GeeArrayList* _tmp14_;
- gint _tmp15_;
- gint _tmp16_;
- Tag* _tmp22_;
- Tag* _tmp23_;
-#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 7420 "Tag.c"
- }
-#line 975 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp2_ = gee_array_list_new (TYPE_THUMBNAIL_VIEW, (GBoxedCopyFunc) g_object_ref, (GDestroyNotify) g_object_unref, NULL, NULL, NULL);
-#line 975 "/home/jens/Source/shotwell/src/Tag.vala"
- view_list = _tmp2_;
-#line 7426 "Tag.c"
- {
- GeeIterator* _source_it = NULL;
- GeeIterator* _tmp3_;
-#line 976 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp3_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (sources, GEE_TYPE_ITERABLE, GeeIterable));
-#line 976 "/home/jens/Source/shotwell/src/Tag.vala"
- _source_it = _tmp3_;
-#line 976 "/home/jens/Source/shotwell/src/Tag.vala"
- while (TRUE) {
-#line 7436 "Tag.c"
- GeeIterator* _tmp4_;
- MediaSource* source = NULL;
- GeeIterator* _tmp5_;
- gpointer _tmp6_;
- Tag* _tmp7_;
- ViewCollection* _tmp8_;
- MediaSource* _tmp9_;
-#line 976 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp4_ = _source_it;
-#line 976 "/home/jens/Source/shotwell/src/Tag.vala"
- if (!gee_iterator_next (_tmp4_)) {
-#line 976 "/home/jens/Source/shotwell/src/Tag.vala"
- break;
-#line 7450 "Tag.c"
- }
-#line 976 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp5_ = _source_it;
-#line 976 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp6_ = gee_iterator_get (_tmp5_);
-#line 976 "/home/jens/Source/shotwell/src/Tag.vala"
- source = (MediaSource*) _tmp6_;
-#line 977 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp7_ = attach_to;
-#line 977 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp8_ = _tmp7_->priv->media_views;
-#line 977 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp9_ = source;
-#line 977 "/home/jens/Source/shotwell/src/Tag.vala"
- if (!view_collection_has_view_for_source (_tmp8_, G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, TYPE_DATA_SOURCE, DataSource))) {
-#line 7466 "Tag.c"
- GeeArrayList* _tmp10_;
- MediaSource* _tmp11_;
- ThumbnailView* _tmp12_;
- ThumbnailView* _tmp13_;
-#line 978 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp10_ = view_list;
-#line 978 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp11_ = source;
-#line 978 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp12_ = thumbnail_view_new (G_TYPE_CHECK_INSTANCE_CAST (_tmp11_, TYPE_THUMBNAIL_SOURCE, ThumbnailSource));
-#line 978 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp13_ = _tmp12_;
-#line 978 "/home/jens/Source/shotwell/src/Tag.vala"
- gee_abstract_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp10_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp13_);
-#line 978 "/home/jens/Source/shotwell/src/Tag.vala"
- _g_object_unref0 (_tmp13_);
-#line 7483 "Tag.c"
- }
-#line 976 "/home/jens/Source/shotwell/src/Tag.vala"
- _g_object_unref0 (source);
-#line 7487 "Tag.c"
- }
-#line 976 "/home/jens/Source/shotwell/src/Tag.vala"
- _g_object_unref0 (_source_it);
-#line 7491 "Tag.c"
- }
-#line 981 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp14_ = view_list;
-#line 981 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp15_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp14_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection));
-#line 981 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp16_ = _tmp15_;
-#line 981 "/home/jens/Source/shotwell/src/Tag.vala"
- if (_tmp16_ > 0) {
-#line 7501 "Tag.c"
- Tag* _tmp17_;
- ViewCollection* _tmp18_;
- GeeArrayList* _tmp19_;
- GeeCollection* _tmp20_;
- GeeCollection* _tmp21_;
-#line 982 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp17_ = attach_to;
-#line 982 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp18_ = _tmp17_->priv->media_views;
-#line 982 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp19_ = view_list;
-#line 982 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp20_ = data_collection_add_many (G_TYPE_CHECK_INSTANCE_CAST (_tmp18_, TYPE_DATA_COLLECTION, DataCollection), G_TYPE_CHECK_INSTANCE_CAST (_tmp19_, GEE_TYPE_COLLECTION, GeeCollection), NULL, NULL);
-#line 982 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp21_ = _tmp20_;
-#line 982 "/home/jens/Source/shotwell/src/Tag.vala"
- _g_object_unref0 (_tmp21_);
-#line 7519 "Tag.c"
- }
-#line 984 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp22_ = attach_to;
-#line 984 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp23_ = tag_get_hierarchical_parent (_tmp22_);
-#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 = _tmp23_;
-#line 974 "/home/jens/Source/shotwell/src/Tag.vala"
- _g_object_unref0 (view_list);
-#line 7531 "Tag.c"
- }
-#line 972 "/home/jens/Source/shotwell/src/Tag.vala"
- _g_object_unref0 (attach_to);
-#line 7535 "Tag.c"
-}
-
-
-GeeList*
-tag_detach (Tag* self,
- MediaSource* source)
-{
- GeeList* result = NULL;
- DataView* this_view = NULL;
- ViewCollection* _tmp0_;
- DataView* _tmp1_;
- DataView* _tmp2_;
- GeeList* detached_from = NULL;
- GeeArrayList* _tmp3_;
- ViewCollection* _tmp27_;
- ViewCollection* _tmp28_;
- DataView* _tmp29_;
- Marker* _tmp30_;
- Marker* _tmp31_;
- GeeList* _tmp32_;
-#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_ = view_collection_get_view_for_source (_tmp0_, G_TYPE_CHECK_INSTANCE_CAST (source, TYPE_DATA_SOURCE, DataSource));
-#line 992 "/home/jens/Source/shotwell/src/Tag.vala"
- this_view = _tmp1_;
-#line 993 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp2_ = this_view;
-#line 993 "/home/jens/Source/shotwell/src/Tag.vala"
- if (_tmp2_ == 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 7576 "Tag.c"
- }
-#line 996 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp3_ = gee_array_list_new (TYPE_TAG, (GBoxedCopyFunc) g_object_ref, (GDestroyNotify) g_object_unref, NULL, NULL, NULL);
-#line 996 "/home/jens/Source/shotwell/src/Tag.vala"
- detached_from = G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, GEE_TYPE_LIST, GeeList);
-#line 7582 "Tag.c"
- {
- GeeList* _child_tag_list = NULL;
- GeeList* _tmp4_;
- gint _child_tag_size = 0;
- GeeList* _tmp5_;
- gint _tmp6_;
- gint _tmp7_;
- gint _child_tag_index = 0;
-#line 998 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp4_ = tag_get_hierarchical_children (self);
-#line 998 "/home/jens/Source/shotwell/src/Tag.vala"
- _child_tag_list = _tmp4_;
-#line 998 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp5_ = _child_tag_list;
-#line 998 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp6_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, GEE_TYPE_COLLECTION, GeeCollection));
-#line 998 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp7_ = _tmp6_;
-#line 998 "/home/jens/Source/shotwell/src/Tag.vala"
- _child_tag_size = _tmp7_;
-#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 7607 "Tag.c"
- gint _tmp8_;
- gint _tmp9_;
- gint _tmp10_;
- Tag* child_tag = NULL;
- GeeList* _tmp11_;
- gint _tmp12_;
- gpointer _tmp13_;
- DataView* child_view = NULL;
- Tag* _tmp14_;
- ViewCollection* _tmp15_;
- DataView* _tmp16_;
- DataView* _tmp17_;
-#line 998 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp8_ = _child_tag_index;
-#line 998 "/home/jens/Source/shotwell/src/Tag.vala"
- _child_tag_index = _tmp8_ + 1;
-#line 998 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp9_ = _child_tag_index;
-#line 998 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp10_ = _child_tag_size;
-#line 998 "/home/jens/Source/shotwell/src/Tag.vala"
- if (!(_tmp9_ < _tmp10_)) {
-#line 998 "/home/jens/Source/shotwell/src/Tag.vala"
- break;
-#line 7632 "Tag.c"
- }
-#line 998 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp11_ = _child_tag_list;
-#line 998 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp12_ = _child_tag_index;
-#line 998 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp13_ = gee_list_get (_tmp11_, _tmp12_);
-#line 998 "/home/jens/Source/shotwell/src/Tag.vala"
- child_tag = (Tag*) _tmp13_;
-#line 999 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp14_ = child_tag;
-#line 999 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp15_ = _tmp14_->priv->media_views;
-#line 999 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp16_ = view_collection_get_view_for_source (_tmp15_, G_TYPE_CHECK_INSTANCE_CAST (source, TYPE_DATA_SOURCE, DataSource));
-#line 999 "/home/jens/Source/shotwell/src/Tag.vala"
- child_view = _tmp16_;
-#line 1000 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp17_ = child_view;
-#line 1000 "/home/jens/Source/shotwell/src/Tag.vala"
- if (_tmp17_ != NULL) {
-#line 7654 "Tag.c"
- Tag* _tmp18_;
- ViewCollection* _tmp19_;
- Tag* _tmp20_;
- ViewCollection* _tmp21_;
- DataView* _tmp22_;
- Marker* _tmp23_;
- Marker* _tmp24_;
- GeeList* _tmp25_;
- Tag* _tmp26_;
-#line 1001 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp18_ = child_tag;
-#line 1001 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp19_ = _tmp18_->priv->media_views;
-#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_view;
-#line 1001 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp23_ = data_collection_mark (G_TYPE_CHECK_INSTANCE_CAST (_tmp21_, TYPE_DATA_COLLECTION, DataCollection), G_TYPE_CHECK_INSTANCE_CAST (_tmp22_, TYPE_DATA_OBJECT, DataObject));
-#line 1001 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp24_ = _tmp23_;
-#line 1001 "/home/jens/Source/shotwell/src/Tag.vala"
- data_collection_remove_marked (G_TYPE_CHECK_INSTANCE_CAST (_tmp19_, TYPE_DATA_COLLECTION, DataCollection), _tmp24_);
-#line 1001 "/home/jens/Source/shotwell/src/Tag.vala"
- _g_object_unref0 (_tmp24_);
-#line 1002 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp25_ = detached_from;
-#line 1002 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp26_ = child_tag;
-#line 1002 "/home/jens/Source/shotwell/src/Tag.vala"
- gee_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp25_, GEE_TYPE_COLLECTION, GeeCollection), _tmp26_);
-#line 7688 "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 7694 "Tag.c"
- }
-#line 998 "/home/jens/Source/shotwell/src/Tag.vala"
- _g_object_unref0 (_child_tag_list);
-#line 7698 "Tag.c"
- }
-#line 1006 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp27_ = self->priv->media_views;
-#line 1006 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp28_ = self->priv->media_views;
-#line 1006 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp29_ = this_view;
-#line 1006 "/home/jens/Source/shotwell/src/Tag.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 1006 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp31_ = _tmp30_;
-#line 1006 "/home/jens/Source/shotwell/src/Tag.vala"
- data_collection_remove_marked (G_TYPE_CHECK_INSTANCE_CAST (_tmp27_, TYPE_DATA_COLLECTION, DataCollection), _tmp31_);
-#line 1006 "/home/jens/Source/shotwell/src/Tag.vala"
- _g_object_unref0 (_tmp31_);
-#line 1007 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp32_ = detached_from;
-#line 1007 "/home/jens/Source/shotwell/src/Tag.vala"
- gee_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp32_, 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 7724 "Tag.c"
-}
-
-
-GeeMultiMap*
-tag_detach_many (Tag* self,
- GeeCollection* sources)
-{
- GeeMultiMap* result = NULL;
- GeeMultiMap* detached_from = NULL;
- GeeHashMultiMap* _tmp0_;
- Marker* marker = NULL;
- ViewCollection* _tmp1_;
- Marker* _tmp2_;
- ViewCollection* _tmp40_;
- Marker* _tmp41_;
- GeeMultiMap* _tmp42_ = NULL;
- GeeMultiMap* _tmp43_;
- gint _tmp44_;
- gint _tmp45_;
- GeeMultiMap* _tmp47_;
-#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, (GDestroyNotify) g_object_unref, TYPE_MEDIA_SOURCE, (GBoxedCopyFunc) g_object_ref, (GDestroyNotify) 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 7759 "Tag.c"
- {
- GeeIterator* _source_it = NULL;
- GeeIterator* _tmp3_;
-#line 1019 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp3_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (sources, GEE_TYPE_ITERABLE, GeeIterable));
-#line 1019 "/home/jens/Source/shotwell/src/Tag.vala"
- _source_it = _tmp3_;
-#line 1019 "/home/jens/Source/shotwell/src/Tag.vala"
- while (TRUE) {
-#line 7769 "Tag.c"
- GeeIterator* _tmp4_;
- MediaSource* source = NULL;
- GeeIterator* _tmp5_;
- gpointer _tmp6_;
- DataView* view = NULL;
- ViewCollection* _tmp7_;
- MediaSource* _tmp8_;
- DataView* _tmp9_;
- DataView* _tmp10_;
- Marker* _tmp36_;
- DataView* _tmp37_;
- GeeMultiMap* _tmp38_;
- MediaSource* _tmp39_;
-#line 1019 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp4_ = _source_it;
-#line 1019 "/home/jens/Source/shotwell/src/Tag.vala"
- if (!gee_iterator_next (_tmp4_)) {
-#line 1019 "/home/jens/Source/shotwell/src/Tag.vala"
- break;
-#line 7789 "Tag.c"
- }
-#line 1019 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp5_ = _source_it;
-#line 1019 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp6_ = gee_iterator_get (_tmp5_);
-#line 1019 "/home/jens/Source/shotwell/src/Tag.vala"
- source = (MediaSource*) _tmp6_;
-#line 1020 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp7_ = self->priv->media_views;
-#line 1020 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp8_ = source;
-#line 1020 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp9_ = view_collection_get_view_for_source (_tmp7_, G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, TYPE_DATA_SOURCE, DataSource));
-#line 1020 "/home/jens/Source/shotwell/src/Tag.vala"
- view = _tmp9_;
-#line 1021 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp10_ = view;
-#line 1021 "/home/jens/Source/shotwell/src/Tag.vala"
- if (_tmp10_ == 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 7815 "Tag.c"
- }
- {
- GeeList* _child_tag_list = NULL;
- GeeList* _tmp11_;
- gint _child_tag_size = 0;
- GeeList* _tmp12_;
- gint _tmp13_;
- gint _tmp14_;
- gint _child_tag_index = 0;
-#line 1024 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp11_ = tag_get_hierarchical_children (self);
-#line 1024 "/home/jens/Source/shotwell/src/Tag.vala"
- _child_tag_list = _tmp11_;
-#line 1024 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp12_ = _child_tag_list;
-#line 1024 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp13_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp12_, GEE_TYPE_COLLECTION, GeeCollection));
-#line 1024 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp14_ = _tmp13_;
-#line 1024 "/home/jens/Source/shotwell/src/Tag.vala"
- _child_tag_size = _tmp14_;
-#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 7841 "Tag.c"
- gint _tmp15_;
- gint _tmp16_;
- gint _tmp17_;
- Tag* child_tag = NULL;
- GeeList* _tmp18_;
- gint _tmp19_;
- gpointer _tmp20_;
- DataView* child_view = NULL;
- Tag* _tmp21_;
- ViewCollection* _tmp22_;
- MediaSource* _tmp23_;
- DataView* _tmp24_;
- DataView* _tmp25_;
-#line 1024 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp15_ = _child_tag_index;
-#line 1024 "/home/jens/Source/shotwell/src/Tag.vala"
- _child_tag_index = _tmp15_ + 1;
-#line 1024 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp16_ = _child_tag_index;
-#line 1024 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp17_ = _child_tag_size;
-#line 1024 "/home/jens/Source/shotwell/src/Tag.vala"
- if (!(_tmp16_ < _tmp17_)) {
-#line 1024 "/home/jens/Source/shotwell/src/Tag.vala"
- break;
-#line 7867 "Tag.c"
- }
-#line 1024 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp18_ = _child_tag_list;
-#line 1024 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp19_ = _child_tag_index;
-#line 1024 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp20_ = gee_list_get (_tmp18_, _tmp19_);
-#line 1024 "/home/jens/Source/shotwell/src/Tag.vala"
- child_tag = (Tag*) _tmp20_;
-#line 1025 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp21_ = child_tag;
-#line 1025 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp22_ = _tmp21_->priv->media_views;
-#line 1025 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp23_ = source;
-#line 1025 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp24_ = view_collection_get_view_for_source (_tmp22_, G_TYPE_CHECK_INSTANCE_CAST (_tmp23_, TYPE_DATA_SOURCE, DataSource));
-#line 1025 "/home/jens/Source/shotwell/src/Tag.vala"
- child_view = _tmp24_;
-#line 1026 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp25_ = child_view;
-#line 1026 "/home/jens/Source/shotwell/src/Tag.vala"
- if (_tmp25_ != NULL) {
-#line 7891 "Tag.c"
- Tag* _tmp26_;
- ViewCollection* _tmp27_;
- Tag* _tmp28_;
- ViewCollection* _tmp29_;
- DataView* _tmp30_;
- Marker* _tmp31_;
- Marker* _tmp32_;
- GeeMultiMap* _tmp33_;
- Tag* _tmp34_;
- MediaSource* _tmp35_;
-#line 1027 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp26_ = child_tag;
-#line 1027 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp27_ = _tmp26_->priv->media_views;
-#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_view;
-#line 1027 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp31_ = data_collection_mark (G_TYPE_CHECK_INSTANCE_CAST (_tmp29_, TYPE_DATA_COLLECTION, DataCollection), G_TYPE_CHECK_INSTANCE_CAST (_tmp30_, TYPE_DATA_OBJECT, DataObject));
-#line 1027 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp32_ = _tmp31_;
-#line 1027 "/home/jens/Source/shotwell/src/Tag.vala"
- data_collection_remove_marked (G_TYPE_CHECK_INSTANCE_CAST (_tmp27_, TYPE_DATA_COLLECTION, DataCollection), _tmp32_);
-#line 1027 "/home/jens/Source/shotwell/src/Tag.vala"
- _g_object_unref0 (_tmp32_);
-#line 1028 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp33_ = detached_from;
-#line 1028 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp34_ = child_tag;
-#line 1028 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp35_ = source;
-#line 1028 "/home/jens/Source/shotwell/src/Tag.vala"
- gee_multi_map_set (_tmp33_, _tmp34_, _tmp35_);
-#line 7928 "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 7934 "Tag.c"
- }
-#line 1024 "/home/jens/Source/shotwell/src/Tag.vala"
- _g_object_unref0 (_child_tag_list);
-#line 7938 "Tag.c"
- }
-#line 1032 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp36_ = marker;
-#line 1032 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp37_ = view;
-#line 1032 "/home/jens/Source/shotwell/src/Tag.vala"
- marker_mark (_tmp36_, G_TYPE_CHECK_INSTANCE_CAST (_tmp37_, TYPE_DATA_OBJECT, DataObject));
-#line 1033 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp38_ = detached_from;
-#line 1033 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp39_ = source;
-#line 1033 "/home/jens/Source/shotwell/src/Tag.vala"
- gee_multi_map_set (_tmp38_, self, _tmp39_);
-#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 7956 "Tag.c"
- }
-#line 1019 "/home/jens/Source/shotwell/src/Tag.vala"
- _g_object_unref0 (_source_it);
-#line 7960 "Tag.c"
- }
-#line 1036 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp40_ = self->priv->media_views;
-#line 1036 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp41_ = marker;
-#line 1036 "/home/jens/Source/shotwell/src/Tag.vala"
- data_collection_remove_marked (G_TYPE_CHECK_INSTANCE_CAST (_tmp40_, TYPE_DATA_COLLECTION, DataCollection), _tmp41_);
-#line 1038 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp43_ = detached_from;
-#line 1038 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp44_ = gee_multi_map_get_size (_tmp43_);
-#line 1038 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp45_ = _tmp44_;
-#line 1038 "/home/jens/Source/shotwell/src/Tag.vala"
- if (_tmp45_ > 0) {
-#line 7976 "Tag.c"
- GeeMultiMap* _tmp46_;
-#line 1038 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp46_ = detached_from;
-#line 1038 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp42_ = _tmp46_;
-#line 7982 "Tag.c"
- } else {
-#line 1038 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp42_ = NULL;
-#line 7986 "Tag.c"
- }
-#line 1038 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp47_ = _g_object_ref0 (_tmp42_);
-#line 1038 "/home/jens/Source/shotwell/src/Tag.vala"
- result = _tmp47_;
-#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 7998 "Tag.c"
-}
-
-
-static gint
-string_index_of (const gchar* self,
- const gchar* needle,
- gint start_index)
-{
- gint result = 0;
- gchar* _result_ = NULL;
- gchar* _tmp0_;
- gchar* _tmp1_;
-#line 1025 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
- g_return_val_if_fail (self != NULL, 0);
-#line 1025 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
- g_return_val_if_fail (needle != NULL, 0);
-#line 1026 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
- _tmp0_ = strstr (((gchar*) self) + start_index, (gchar*) needle);
-#line 1026 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
- _result_ = _tmp0_;
-#line 1028 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
- _tmp1_ = _result_;
-#line 1028 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
- if (_tmp1_ != NULL) {
-#line 8023 "Tag.c"
- gchar* _tmp2_;
-#line 1029 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
- _tmp2_ = _result_;
-#line 1029 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
- result = (gint) (_tmp2_ - ((gchar*) self));
-#line 1029 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
- return result;
-#line 8031 "Tag.c"
- } else {
-#line 1031 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
- result = -1;
-#line 1031 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
- return result;
-#line 8037 "Tag.c"
- }
-}
-
-
-static glong
-string_strnlen (gchar* str,
- glong maxlen)
-{
- glong result = 0L;
- gchar* end = NULL;
- gchar* _tmp0_;
- gchar* _tmp1_;
-#line 1336 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
- _tmp0_ = memchr (str, 0, (gsize) maxlen);
-#line 1336 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
- end = _tmp0_;
-#line 1337 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
- _tmp1_ = end;
-#line 1337 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
- if (_tmp1_ == NULL) {
-#line 1338 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
- result = maxlen;
-#line 1338 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
- return result;
-#line 8062 "Tag.c"
- } else {
- gchar* _tmp2_;
-#line 1340 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
- _tmp2_ = end;
-#line 1340 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
- result = (glong) (_tmp2_ - str);
-#line 1340 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
- return result;
-#line 8071 "Tag.c"
- }
-}
-
-
-static gchar*
-string_substring (const gchar* self,
- glong offset,
- glong len)
-{
- gchar* result = NULL;
- glong string_length = 0L;
- gboolean _tmp0_ = FALSE;
- glong _tmp6_;
- gchar* _tmp7_;
-#line 1347 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
- g_return_val_if_fail (self != NULL, NULL);
-#line 1349 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
- if (offset >= ((glong) 0)) {
-#line 1349 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
- _tmp0_ = len >= ((glong) 0);
-#line 8092 "Tag.c"
- } else {
-#line 1349 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
- _tmp0_ = FALSE;
-#line 8096 "Tag.c"
- }
-#line 1349 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
- if (_tmp0_) {
-#line 1351 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
- string_length = string_strnlen ((gchar*) self, offset + len);
-#line 8102 "Tag.c"
- } else {
- gint _tmp1_;
- gint _tmp2_;
-#line 1353 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
- _tmp1_ = strlen (self);
-#line 1353 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
- _tmp2_ = _tmp1_;
-#line 1353 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
- string_length = (glong) _tmp2_;
-#line 8112 "Tag.c"
- }
-#line 1356 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
- if (offset < ((glong) 0)) {
-#line 8116 "Tag.c"
- glong _tmp3_;
-#line 1357 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
- _tmp3_ = string_length;
-#line 1357 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
- offset = _tmp3_ + offset;
-#line 1358 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
- g_return_val_if_fail (offset >= ((glong) 0), NULL);
-#line 8124 "Tag.c"
- } else {
- glong _tmp4_;
-#line 1360 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
- _tmp4_ = string_length;
-#line 1360 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
- g_return_val_if_fail (offset <= _tmp4_, NULL);
-#line 8131 "Tag.c"
- }
-#line 1362 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
- if (len < ((glong) 0)) {
-#line 8135 "Tag.c"
- glong _tmp5_;
-#line 1363 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
- _tmp5_ = string_length;
-#line 1363 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
- len = _tmp5_ - offset;
-#line 8141 "Tag.c"
- }
-#line 1365 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
- _tmp6_ = string_length;
-#line 1365 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
- g_return_val_if_fail ((offset + len) <= _tmp6_, NULL);
-#line 1366 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
- _tmp7_ = g_strndup (((gchar*) self) + offset, (gsize) len);
-#line 1366 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
- result = _tmp7_;
-#line 1366 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
- return result;
-#line 8153 "Tag.c"
-}
-
-
-gboolean
-tag_rename (Tag* self,
- const gchar* name)
-{
- gboolean result = FALSE;
- gchar* _tmp0_;
- gchar* _tmp1_;
- gboolean _tmp2_;
- gchar* new_name = NULL;
- gchar* _tmp3_;
- const gchar* _tmp4_;
- gchar* _tmp5_;
- gchar* _tmp6_;
- gboolean _tmp7_;
-#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_ = tag_get_user_visible_name (self);
-#line 1043 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp1_ = _tmp0_;
-#line 1043 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp2_ = g_strcmp0 (name, _tmp1_) == 0;
-#line 1043 "/home/jens/Source/shotwell/src/Tag.vala"
- _g_free0 (_tmp1_);
-#line 1043 "/home/jens/Source/shotwell/src/Tag.vala"
- if (_tmp2_) {
-#line 1044 "/home/jens/Source/shotwell/src/Tag.vala"
- result = TRUE;
-#line 1044 "/home/jens/Source/shotwell/src/Tag.vala"
- return result;
-#line 8189 "Tag.c"
- }
-#line 1046 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp3_ = tag_prep_tag_name (name);
-#line 1046 "/home/jens/Source/shotwell/src/Tag.vala"
- new_name = _tmp3_;
-#line 1047 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp4_ = new_name;
-#line 1047 "/home/jens/Source/shotwell/src/Tag.vala"
- if (_tmp4_ == 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 8205 "Tag.c"
- }
-#line 1051 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp5_ = tag_get_path (self);
-#line 1051 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp6_ = _tmp5_;
-#line 1051 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp7_ = g_str_has_prefix (_tmp6_, TAG_PATH_SEPARATOR_STRING);
-#line 1051 "/home/jens/Source/shotwell/src/Tag.vala"
- _g_free0 (_tmp6_);
-#line 1051 "/home/jens/Source/shotwell/src/Tag.vala"
- if (_tmp7_) {
-#line 8217 "Tag.c"
- gchar* new_path = NULL;
- const gchar* _tmp8_;
- gchar* _tmp9_;
- gchar* old_path = NULL;
- gchar* _tmp10_;
- Tag* parent = NULL;
- Tag* _tmp11_;
- Tag* _tmp12_;
- TagSourceCollection* _tmp22_;
- const gchar* _tmp23_;
- GeeCollection* children = NULL;
- GeeList* _tmp24_;
- const gchar* _tmp25_;
- Alteration* _tmp47_;
- Alteration* _tmp48_;
-#line 1052 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp8_ = new_name;
-#line 1052 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp9_ = g_strdup (_tmp8_);
-#line 1052 "/home/jens/Source/shotwell/src/Tag.vala"
- new_path = _tmp9_;
-#line 1053 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp10_ = tag_get_path (self);
-#line 1053 "/home/jens/Source/shotwell/src/Tag.vala"
- old_path = _tmp10_;
-#line 1055 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp11_ = tag_get_hierarchical_parent (self);
-#line 1055 "/home/jens/Source/shotwell/src/Tag.vala"
- parent = _tmp11_;
-#line 1056 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp12_ = parent;
-#line 1056 "/home/jens/Source/shotwell/src/Tag.vala"
- if (_tmp12_ != NULL) {
-#line 8251 "Tag.c"
- Tag* _tmp13_;
- gchar* _tmp14_;
- gchar* _tmp15_;
- gchar* _tmp16_;
- gchar* _tmp17_;
- const gchar* _tmp18_;
- gchar* _tmp19_;
-#line 1057 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp13_ = parent;
-#line 1057 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp14_ = tag_get_path (_tmp13_);
-#line 1057 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp15_ = _tmp14_;
-#line 1057 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp16_ = g_strconcat (_tmp15_, TAG_PATH_SEPARATOR_STRING, NULL);
-#line 1057 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp17_ = _tmp16_;
-#line 1057 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp18_ = new_path;
-#line 1057 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp19_ = g_strconcat (_tmp17_, _tmp18_, 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 = _tmp19_;
-#line 1057 "/home/jens/Source/shotwell/src/Tag.vala"
- _g_free0 (_tmp17_);
-#line 1057 "/home/jens/Source/shotwell/src/Tag.vala"
- _g_free0 (_tmp15_);
-#line 8281 "Tag.c"
- } else {
- const gchar* _tmp20_;
- gchar* _tmp21_;
-#line 1059 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp20_ = new_path;
-#line 1059 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp21_ = g_strconcat (TAG_PATH_SEPARATOR_STRING, _tmp20_, 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 = _tmp21_;
-#line 8293 "Tag.c"
- }
-#line 1062 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp22_ = tag_global;
-#line 1062 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp23_ = new_path;
-#line 1062 "/home/jens/Source/shotwell/src/Tag.vala"
- if (tag_source_collection_exists (_tmp22_, _tmp23_, TRUE)) {
-#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 8313 "Tag.c"
- }
-#line 1065 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp24_ = tag_get_hierarchical_children (self);
-#line 1065 "/home/jens/Source/shotwell/src/Tag.vala"
- children = G_TYPE_CHECK_INSTANCE_CAST (_tmp24_, GEE_TYPE_COLLECTION, GeeCollection);
-#line 1067 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp25_ = new_path;
-#line 1067 "/home/jens/Source/shotwell/src/Tag.vala"
- tag_set_raw_path (self, _tmp25_, TRUE);
-#line 8323 "Tag.c"
- {
- GeeIterator* _child_it = NULL;
- GeeCollection* _tmp26_;
- GeeIterator* _tmp27_;
-#line 1069 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp26_ = children;
-#line 1069 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp27_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp26_, GEE_TYPE_ITERABLE, GeeIterable));
-#line 1069 "/home/jens/Source/shotwell/src/Tag.vala"
- _child_it = _tmp27_;
-#line 1069 "/home/jens/Source/shotwell/src/Tag.vala"
- while (TRUE) {
-#line 8336 "Tag.c"
- GeeIterator* _tmp28_;
- Tag* child = NULL;
- GeeIterator* _tmp29_;
- gpointer _tmp30_;
- gchar* old_child_path = NULL;
- Tag* _tmp31_;
- gchar* _tmp32_;
- gint old_path_index = 0;
- const gchar* _tmp33_;
- const gchar* _tmp34_;
- gint _tmp35_;
- gchar* child_subpath = NULL;
- const gchar* _tmp36_;
- gint _tmp37_;
- const gchar* _tmp38_;
- gint _tmp39_;
- gint _tmp40_;
- gchar* _tmp41_;
- gchar* new_child_path = NULL;
- const gchar* _tmp42_;
- const gchar* _tmp43_;
- gchar* _tmp44_;
- Tag* _tmp45_;
- const gchar* _tmp46_;
-#line 1069 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp28_ = _child_it;
-#line 1069 "/home/jens/Source/shotwell/src/Tag.vala"
- if (!gee_iterator_next (_tmp28_)) {
-#line 1069 "/home/jens/Source/shotwell/src/Tag.vala"
- break;
-#line 8367 "Tag.c"
- }
-#line 1069 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp29_ = _child_it;
-#line 1069 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp30_ = gee_iterator_get (_tmp29_);
-#line 1069 "/home/jens/Source/shotwell/src/Tag.vala"
- child = (Tag*) _tmp30_;
-#line 1072 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp31_ = child;
-#line 1072 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp32_ = tag_get_path (_tmp31_);
-#line 1072 "/home/jens/Source/shotwell/src/Tag.vala"
- old_child_path = _tmp32_;
-#line 1076 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp33_ = old_child_path;
-#line 1076 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp34_ = old_path;
-#line 1076 "/home/jens/Source/shotwell/src/Tag.vala"
- old_path_index = string_index_of (_tmp33_, _tmp34_, 0);
-#line 1077 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp35_ = old_path_index;
-#line 1077 "/home/jens/Source/shotwell/src/Tag.vala"
- _vala_assert (_tmp35_ != -1, "old_path_index != -1");
-#line 1079 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp36_ = old_child_path;
-#line 1079 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp37_ = old_path_index;
-#line 1079 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp38_ = old_path;
-#line 1079 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp39_ = strlen (_tmp38_);
-#line 1079 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp40_ = _tmp39_;
-#line 1079 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp41_ = string_substring (_tmp36_, (glong) (_tmp37_ + _tmp40_), (glong) -1);
-#line 1079 "/home/jens/Source/shotwell/src/Tag.vala"
- child_subpath = _tmp41_;
-#line 1081 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp42_ = new_path;
-#line 1081 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp43_ = child_subpath;
-#line 1081 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp44_ = g_strconcat (_tmp42_, _tmp43_, NULL);
-#line 1081 "/home/jens/Source/shotwell/src/Tag.vala"
- new_child_path = _tmp44_;
-#line 1083 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp45_ = child;
-#line 1083 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp46_ = new_child_path;
-#line 1083 "/home/jens/Source/shotwell/src/Tag.vala"
- tag_set_raw_path (_tmp45_, _tmp46_, 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 8427 "Tag.c"
- }
-#line 1069 "/home/jens/Source/shotwell/src/Tag.vala"
- _g_object_unref0 (_child_it);
-#line 8431 "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"
- _tmp47_ = alteration_new_from_list ("metadata:name, indexable:keywords");
-#line 1087 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp48_ = _tmp47_;
-#line 1087 "/home/jens/Source/shotwell/src/Tag.vala"
- data_object_notify_altered (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_OBJECT, DataObject), _tmp48_);
-#line 1087 "/home/jens/Source/shotwell/src/Tag.vala"
- _alteration_unref0 (_tmp48_);
-#line 8443 "Tag.c"
- {
- GeeIterator* _child_it = NULL;
- GeeCollection* _tmp49_;
- GeeIterator* _tmp50_;
-#line 1088 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp49_ = children;
-#line 1088 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp50_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp49_, GEE_TYPE_ITERABLE, GeeIterable));
-#line 1088 "/home/jens/Source/shotwell/src/Tag.vala"
- _child_it = _tmp50_;
-#line 1088 "/home/jens/Source/shotwell/src/Tag.vala"
- while (TRUE) {
-#line 8456 "Tag.c"
- GeeIterator* _tmp51_;
- Tag* child = NULL;
- GeeIterator* _tmp52_;
- gpointer _tmp53_;
- Tag* _tmp54_;
- Alteration* _tmp55_;
- Alteration* _tmp56_;
-#line 1088 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp51_ = _child_it;
-#line 1088 "/home/jens/Source/shotwell/src/Tag.vala"
- if (!gee_iterator_next (_tmp51_)) {
-#line 1088 "/home/jens/Source/shotwell/src/Tag.vala"
- break;
-#line 8470 "Tag.c"
- }
-#line 1088 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp52_ = _child_it;
-#line 1088 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp53_ = gee_iterator_get (_tmp52_);
-#line 1088 "/home/jens/Source/shotwell/src/Tag.vala"
- child = (Tag*) _tmp53_;
-#line 1089 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp54_ = child;
-#line 1089 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp55_ = alteration_new_from_list ("metadata:name, indexable:keywords");
-#line 1089 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp56_ = _tmp55_;
-#line 1089 "/home/jens/Source/shotwell/src/Tag.vala"
- data_object_notify_altered (G_TYPE_CHECK_INSTANCE_CAST (_tmp54_, TYPE_DATA_OBJECT, DataObject), _tmp56_);
-#line 1089 "/home/jens/Source/shotwell/src/Tag.vala"
- _alteration_unref0 (_tmp56_);
-#line 1088 "/home/jens/Source/shotwell/src/Tag.vala"
- _g_object_unref0 (child);
-#line 8490 "Tag.c"
- }
-#line 1088 "/home/jens/Source/shotwell/src/Tag.vala"
- _g_object_unref0 (_child_it);
-#line 8494 "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 8504 "Tag.c"
- } else {
- TagSourceCollection* _tmp57_;
- const gchar* _tmp58_;
- const gchar* _tmp59_;
-#line 1093 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp57_ = tag_global;
-#line 1093 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp58_ = new_name;
-#line 1093 "/home/jens/Source/shotwell/src/Tag.vala"
- if (tag_source_collection_exists (_tmp57_, _tmp58_, TRUE)) {
-#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 8521 "Tag.c"
- }
-#line 1096 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp59_ = new_name;
-#line 1096 "/home/jens/Source/shotwell/src/Tag.vala"
- tag_set_raw_flat_name (self, _tmp59_);
-#line 8527 "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 8535 "Tag.c"
-}
-
-
-gboolean
-tag_contains (Tag* self,
- MediaSource* source)
-{
- gboolean result = FALSE;
- ViewCollection* _tmp0_;
-#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"
- result = view_collection_has_view_for_source (_tmp0_, G_TYPE_CHECK_INSTANCE_CAST (source, TYPE_DATA_SOURCE, DataSource));
-#line 1103 "/home/jens/Source/shotwell/src/Tag.vala"
- return result;
-#line 8555 "Tag.c"
-}
-
-
-gint
-tag_get_sources_count (Tag* self)
-{
- gint result = 0;
- ViewCollection* _tmp0_;
-#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"
- result = data_collection_get_count (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_DATA_COLLECTION, DataCollection));
-#line 1107 "/home/jens/Source/shotwell/src/Tag.vala"
- return result;
-#line 8572 "Tag.c"
-}
-
-
-GeeCollection*
-tag_get_sources (Tag* self)
-{
- GeeCollection* result = NULL;
- ViewCollection* _tmp0_;
- GeeCollection* _tmp1_;
-#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 8592 "Tag.c"
-}
-
-
-void
-tag_mirror_sources (Tag* self,
- ViewCollection* view,
- CreateView mirroring_ctor,
- void* mirroring_ctor_target)
-{
- ViewCollection* _tmp0_;
-#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_ = self->priv->media_views;
-#line 1115 "/home/jens/Source/shotwell/src/Tag.vala"
- view_collection_mirror (view, _tmp0_, mirroring_ctor, mirroring_ctor_target, NULL, NULL);
-#line 8611 "Tag.c"
-}
-
-
-static void
-tag_on_media_views_contents_altered (Tag* self,
- GeeIterable* added,
- GeeIterable* removed)
-{
- GeeCollection* added_sources = NULL;
- GeeCollection* removed_sources = NULL;
- GeeCollection* _tmp47_;
- GeeCollection* _tmp51_;
- gboolean _tmp55_ = FALSE;
- GeeCollection* _tmp56_;
- 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"
- if (added != NULL) {
-#line 8637 "Tag.c"
- GeeArrayList* _tmp0_;
-#line 1122 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp0_ = gee_array_list_new (TYPE_MEDIA_SOURCE, (GBoxedCopyFunc) g_object_ref, (GDestroyNotify) 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 (_tmp0_, GEE_TYPE_COLLECTION, GeeCollection);
-#line 8645 "Tag.c"
- {
- GeeIterator* _view_it = NULL;
- GeeIterator* _tmp1_;
-#line 1123 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp1_ = gee_iterable_iterator (added);
-#line 1123 "/home/jens/Source/shotwell/src/Tag.vala"
- _view_it = _tmp1_;
-#line 1123 "/home/jens/Source/shotwell/src/Tag.vala"
- while (TRUE) {
-#line 8655 "Tag.c"
- GeeIterator* _tmp2_;
- DataView* view = NULL;
- GeeIterator* _tmp3_;
- gpointer _tmp4_;
- MediaSource* source = NULL;
- DataView* _tmp5_;
- DataSource* _tmp6_;
- TagRow* _tmp7_;
- GeeSet* _tmp8_;
- MediaSource* _tmp9_;
- gchar* _tmp10_;
- gchar* _tmp11_;
- gboolean _tmp12_;
- gboolean is_added = FALSE;
- GeeCollection* _tmp20_;
- MediaSource* _tmp21_;
- gboolean _tmp22_;
-#line 1123 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp2_ = _view_it;
-#line 1123 "/home/jens/Source/shotwell/src/Tag.vala"
- if (!gee_iterator_next (_tmp2_)) {
-#line 1123 "/home/jens/Source/shotwell/src/Tag.vala"
- break;
-#line 8679 "Tag.c"
- }
-#line 1123 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp3_ = _view_it;
-#line 1123 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp4_ = gee_iterator_get (_tmp3_);
-#line 1123 "/home/jens/Source/shotwell/src/Tag.vala"
- view = (DataView*) _tmp4_;
-#line 1124 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp5_ = view;
-#line 1124 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp6_ = data_view_get_source (_tmp5_);
-#line 1124 "/home/jens/Source/shotwell/src/Tag.vala"
- source = G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, TYPE_MEDIA_SOURCE, MediaSource);
-#line 1128 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp7_ = self->priv->row;
-#line 1128 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp8_ = _tmp7_->source_id_list;
-#line 1128 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp9_ = source;
-#line 1128 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp10_ = data_source_get_source_id (G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, TYPE_DATA_SOURCE, DataSource));
-#line 1128 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp11_ = _tmp10_;
-#line 1128 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp12_ = !gee_collection_contains (G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, GEE_TYPE_COLLECTION, GeeCollection), _tmp11_);
-#line 1128 "/home/jens/Source/shotwell/src/Tag.vala"
- _g_free0 (_tmp11_);
-#line 1128 "/home/jens/Source/shotwell/src/Tag.vala"
- if (_tmp12_) {
-#line 8709 "Tag.c"
- gboolean is_added = FALSE;
- TagRow* _tmp13_;
- GeeSet* _tmp14_;
- MediaSource* _tmp15_;
- gchar* _tmp16_;
- gchar* _tmp17_;
- gboolean _tmp18_;
- gboolean _tmp19_;
-#line 1129 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp13_ = self->priv->row;
-#line 1129 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp14_ = _tmp13_->source_id_list;
-#line 1129 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp15_ = source;
-#line 1129 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp16_ = data_source_get_source_id (G_TYPE_CHECK_INSTANCE_CAST (_tmp15_, TYPE_DATA_SOURCE, DataSource));
-#line 1129 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp17_ = _tmp16_;
-#line 1129 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp18_ = gee_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp14_, GEE_TYPE_COLLECTION, GeeCollection), _tmp17_);
-#line 1129 "/home/jens/Source/shotwell/src/Tag.vala"
- _g_free0 (_tmp17_);
-#line 1129 "/home/jens/Source/shotwell/src/Tag.vala"
- is_added = _tmp18_;
-#line 1130 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp19_ = is_added;
-#line 1130 "/home/jens/Source/shotwell/src/Tag.vala"
- _vala_assert (_tmp19_, "is_added");
-#line 8738 "Tag.c"
- }
-#line 1133 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp20_ = added_sources;
-#line 1133 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp21_ = source;
-#line 1133 "/home/jens/Source/shotwell/src/Tag.vala"
- is_added = gee_collection_add (_tmp20_, _tmp21_);
-#line 1134 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp22_ = is_added;
-#line 1134 "/home/jens/Source/shotwell/src/Tag.vala"
- _vala_assert (_tmp22_, "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 8754 "Tag.c"
- }
-#line 1123 "/home/jens/Source/shotwell/src/Tag.vala"
- _g_object_unref0 (_view_it);
-#line 8758 "Tag.c"
- }
- }
-#line 1138 "/home/jens/Source/shotwell/src/Tag.vala"
- removed_sources = NULL;
-#line 1139 "/home/jens/Source/shotwell/src/Tag.vala"
- if (removed != NULL) {
-#line 8765 "Tag.c"
- GeeArrayList* _tmp23_;
-#line 1140 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp23_ = gee_array_list_new (TYPE_MEDIA_SOURCE, (GBoxedCopyFunc) g_object_ref, (GDestroyNotify) 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 (_tmp23_, GEE_TYPE_COLLECTION, GeeCollection);
-#line 8773 "Tag.c"
- {
- GeeIterator* _view_it = NULL;
- GeeIterator* _tmp24_;
-#line 1141 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp24_ = gee_iterable_iterator (removed);
-#line 1141 "/home/jens/Source/shotwell/src/Tag.vala"
- _view_it = _tmp24_;
-#line 1141 "/home/jens/Source/shotwell/src/Tag.vala"
- while (TRUE) {
-#line 8783 "Tag.c"
- GeeIterator* _tmp25_;
- DataView* view = NULL;
- GeeIterator* _tmp26_;
- gpointer _tmp27_;
- MediaSource* source = NULL;
- DataView* _tmp28_;
- DataSource* _tmp29_;
- gboolean is_removed = FALSE;
- TagRow* _tmp30_;
- GeeSet* _tmp31_;
- MediaSource* _tmp32_;
- gchar* _tmp33_;
- gchar* _tmp34_;
- gboolean _tmp35_;
- gboolean _tmp36_;
- gboolean is_added = FALSE;
- GeeCollection* _tmp37_;
- MediaSource* _tmp38_;
- gboolean _tmp39_;
-#line 1141 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp25_ = _view_it;
-#line 1141 "/home/jens/Source/shotwell/src/Tag.vala"
- if (!gee_iterator_next (_tmp25_)) {
-#line 1141 "/home/jens/Source/shotwell/src/Tag.vala"
- break;
-#line 8809 "Tag.c"
- }
-#line 1141 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp26_ = _view_it;
-#line 1141 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp27_ = gee_iterator_get (_tmp26_);
-#line 1141 "/home/jens/Source/shotwell/src/Tag.vala"
- view = (DataView*) _tmp27_;
-#line 1142 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp28_ = view;
-#line 1142 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp29_ = data_view_get_source (_tmp28_);
-#line 1142 "/home/jens/Source/shotwell/src/Tag.vala"
- source = G_TYPE_CHECK_INSTANCE_CAST (_tmp29_, TYPE_MEDIA_SOURCE, MediaSource);
-#line 1144 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp30_ = self->priv->row;
-#line 1144 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp31_ = _tmp30_->source_id_list;
-#line 1144 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp32_ = source;
-#line 1144 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp33_ = data_source_get_source_id (G_TYPE_CHECK_INSTANCE_CAST (_tmp32_, TYPE_DATA_SOURCE, DataSource));
-#line 1144 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp34_ = _tmp33_;
-#line 1144 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp35_ = gee_collection_remove (G_TYPE_CHECK_INSTANCE_CAST (_tmp31_, GEE_TYPE_COLLECTION, GeeCollection), _tmp34_);
-#line 1144 "/home/jens/Source/shotwell/src/Tag.vala"
- _g_free0 (_tmp34_);
-#line 1144 "/home/jens/Source/shotwell/src/Tag.vala"
- is_removed = _tmp35_;
-#line 1145 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp36_ = is_removed;
-#line 1145 "/home/jens/Source/shotwell/src/Tag.vala"
- _vala_assert (_tmp36_, "is_removed");
-#line 1147 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp37_ = removed_sources;
-#line 1147 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp38_ = source;
-#line 1147 "/home/jens/Source/shotwell/src/Tag.vala"
- is_added = gee_collection_add (_tmp37_, _tmp38_);
-#line 1148 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp39_ = is_added;
-#line 1148 "/home/jens/Source/shotwell/src/Tag.vala"
- _vala_assert (_tmp39_, "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 8857 "Tag.c"
- }
-#line 1141 "/home/jens/Source/shotwell/src/Tag.vala"
- _g_object_unref0 (_view_it);
-#line 8861 "Tag.c"
- }
- }
- {
- TagTable* _tmp40_;
- TagTable* _tmp41_;
- TagRow* _tmp42_;
- TagID _tmp43_;
- TagRow* _tmp44_;
- GeeSet* _tmp45_;
-#line 1153 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp40_ = tag_table_get_instance ();
-#line 1153 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp41_ = _tmp40_;
-#line 1153 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp42_ = self->priv->row;
-#line 1153 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp43_ = _tmp42_->tag_id;
-#line 1153 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp44_ = self->priv->row;
-#line 1153 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp45_ = _tmp44_->source_id_list;
-#line 1153 "/home/jens/Source/shotwell/src/Tag.vala"
- tag_table_set_tagged_sources (_tmp41_, &_tmp43_, G_TYPE_CHECK_INSTANCE_CAST (_tmp45_, GEE_TYPE_COLLECTION, GeeCollection), &_inner_error_);
-#line 1153 "/home/jens/Source/shotwell/src/Tag.vala"
- _database_table_unref0 (_tmp41_);
-#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 8891 "Tag.c"
- goto __catch486_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 8904 "Tag.c"
- }
- }
- goto __finally486;
- __catch486_database_error:
- {
- GError* err = NULL;
- GError* _tmp46_;
-#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"
- _tmp46_ = err;
-#line 1155 "/home/jens/Source/shotwell/src/Tag.vala"
- app_window_database_error (_tmp46_);
-#line 1152 "/home/jens/Source/shotwell/src/Tag.vala"
- _g_error_free0 (err);
-#line 8922 "Tag.c"
- }
- __finally486:
-#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 8937 "Tag.c"
- }
-#line 1159 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp47_ = added_sources;
-#line 1159 "/home/jens/Source/shotwell/src/Tag.vala"
- if (_tmp47_ != NULL) {
-#line 8943 "Tag.c"
- TagSourceCollection* _tmp48_;
- GeeCollection* _tmp49_;
- gboolean _tmp50_;
-#line 1160 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp48_ = tag_global;
-#line 1160 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp49_ = added_sources;
-#line 1160 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp50_ = self->priv->relinking;
-#line 1160 "/home/jens/Source/shotwell/src/Tag.vala"
- container_source_collection_notify_container_contents_added (G_TYPE_CHECK_INSTANCE_CAST (_tmp48_, TYPE_CONTAINER_SOURCE_COLLECTION, ContainerSourceCollection), G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_CONTAINER_SOURCE, ContainerSource), _tmp49_, _tmp50_);
-#line 8955 "Tag.c"
- }
-#line 1162 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp51_ = removed_sources;
-#line 1162 "/home/jens/Source/shotwell/src/Tag.vala"
- if (_tmp51_ != NULL) {
-#line 8961 "Tag.c"
- TagSourceCollection* _tmp52_;
- GeeCollection* _tmp53_;
- gboolean _tmp54_;
-#line 1163 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp52_ = tag_global;
-#line 1163 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp53_ = removed_sources;
-#line 1163 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp54_ = self->priv->unlinking;
-#line 1163 "/home/jens/Source/shotwell/src/Tag.vala"
- container_source_collection_notify_container_contents_removed (G_TYPE_CHECK_INSTANCE_CAST (_tmp52_, TYPE_CONTAINER_SOURCE_COLLECTION, ContainerSourceCollection), G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_CONTAINER_SOURCE, ContainerSource), _tmp53_, _tmp54_);
-#line 8973 "Tag.c"
- }
-#line 1165 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp56_ = added_sources;
-#line 1165 "/home/jens/Source/shotwell/src/Tag.vala"
- if (_tmp56_ != NULL) {
-#line 1165 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp55_ = TRUE;
-#line 8981 "Tag.c"
- } else {
- GeeCollection* _tmp57_;
-#line 1165 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp57_ = removed_sources;
-#line 1165 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp55_ = _tmp57_ != NULL;
-#line 8988 "Tag.c"
- }
-#line 1165 "/home/jens/Source/shotwell/src/Tag.vala"
- if (_tmp55_) {
-#line 8992 "Tag.c"
- TagSourceCollection* _tmp58_;
- GeeCollection* _tmp59_;
- gboolean _tmp60_;
- GeeCollection* _tmp61_;
- gboolean _tmp62_;
-#line 1166 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp58_ = tag_global;
-#line 1166 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp59_ = added_sources;
-#line 1166 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp60_ = self->priv->relinking;
-#line 1166 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp61_ = removed_sources;
-#line 1166 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp62_ = self->priv->unlinking;
-#line 1166 "/home/jens/Source/shotwell/src/Tag.vala"
- container_source_collection_notify_container_contents_altered (G_TYPE_CHECK_INSTANCE_CAST (_tmp58_, TYPE_CONTAINER_SOURCE_COLLECTION, ContainerSourceCollection), G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_CONTAINER_SOURCE, ContainerSource), _tmp59_, _tmp60_, _tmp61_, _tmp62_);
-#line 9010 "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 9016 "Tag.c"
-}
-
-
-static void
-tag_on_sources_destroyed (Tag* self,
- GeeCollection* sources)
-{
- GeeMultiMap* _tmp0_;
- GeeMultiMap* _tmp1_;
-#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_ = tag_detach_many (self, G_TYPE_CHECK_INSTANCE_CAST (sources, GEE_TYPE_COLLECTION, GeeCollection));
-#line 1172 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp1_ = _tmp0_;
-#line 1172 "/home/jens/Source/shotwell/src/Tag.vala"
- _g_object_unref0 (_tmp1_);
-#line 9036 "Tag.c"
-}
-
-
-static void
-tag_real_destroy (DataSource* base)
-{
- Tag * self;
- ViewCollection* _tmp0_;
- 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"
- if (data_collection_get_count (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_DATA_COLLECTION, DataCollection)) > 0) {
-#line 9052 "Tag.c"
- ViewCollection* _tmp1_;
- guint _tmp2_;
- GeeArrayList* removed = NULL;
- GeeArrayList* _tmp3_;
- GeeArrayList* _tmp4_;
- ViewCollection* _tmp5_;
- GeeCollection* _tmp6_;
- GeeCollection* _tmp7_;
- ViewCollection* _tmp8_;
- TagSourceCollection* _tmp9_;
- GeeArrayList* _tmp10_;
- TagSourceCollection* _tmp11_;
- GeeArrayList* _tmp12_;
- ViewCollection* _tmp13_;
-#line 1180 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp1_ = self->priv->media_views;
-#line 1180 "/home/jens/Source/shotwell/src/Tag.vala"
- g_signal_parse_name ("contents-altered", TYPE_DATA_COLLECTION, &_tmp2_, NULL, FALSE);
-#line 1180 "/home/jens/Source/shotwell/src/Tag.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) _tag_on_media_views_contents_altered_data_collection_contents_altered, self);
-#line 1182 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp3_ = gee_array_list_new (TYPE_MEDIA_SOURCE, (GBoxedCopyFunc) g_object_ref, (GDestroyNotify) g_object_unref, NULL, NULL, NULL);
-#line 1182 "/home/jens/Source/shotwell/src/Tag.vala"
- removed = _tmp3_;
-#line 1183 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp4_ = removed;
-#line 1183 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp5_ = self->priv->media_views;
-#line 1183 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp6_ = view_collection_get_sources (_tmp5_);
-#line 1183 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp7_ = G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, GEE_TYPE_COLLECTION, GeeCollection);
-#line 1183 "/home/jens/Source/shotwell/src/Tag.vala"
- gee_array_list_add_all (_tmp4_, _tmp7_);
-#line 1183 "/home/jens/Source/shotwell/src/Tag.vala"
- _g_object_unref0 (_tmp7_);
-#line 1185 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp8_ = self->priv->media_views;
-#line 1185 "/home/jens/Source/shotwell/src/Tag.vala"
- data_collection_clear (G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, TYPE_DATA_COLLECTION, DataCollection));
-#line 1187 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp9_ = tag_global;
-#line 1187 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp10_ = removed;
-#line 1187 "/home/jens/Source/shotwell/src/Tag.vala"
- container_source_collection_notify_container_contents_removed (G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, TYPE_CONTAINER_SOURCE_COLLECTION, ContainerSourceCollection), G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_CONTAINER_SOURCE, ContainerSource), G_TYPE_CHECK_INSTANCE_CAST (_tmp10_, GEE_TYPE_COLLECTION, GeeCollection), FALSE);
-#line 1188 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp11_ = tag_global;
-#line 1188 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp12_ = removed;
-#line 1188 "/home/jens/Source/shotwell/src/Tag.vala"
- container_source_collection_notify_container_contents_altered (G_TYPE_CHECK_INSTANCE_CAST (_tmp11_, TYPE_CONTAINER_SOURCE_COLLECTION, ContainerSourceCollection), G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_CONTAINER_SOURCE, ContainerSource), NULL, FALSE, G_TYPE_CHECK_INSTANCE_CAST (_tmp12_, GEE_TYPE_COLLECTION, GeeCollection), FALSE);
-#line 1190 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp13_ = self->priv->media_views;
-#line 1190 "/home/jens/Source/shotwell/src/Tag.vala"
- g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (_tmp13_, 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 9111 "Tag.c"
- }
- {
- TagTable* _tmp14_;
- TagTable* _tmp15_;
- TagRow* _tmp16_;
- TagID _tmp17_;
-#line 1194 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp14_ = tag_table_get_instance ();
-#line 1194 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp15_ = _tmp14_;
-#line 1194 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp16_ = self->priv->row;
-#line 1194 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp17_ = _tmp16_->tag_id;
-#line 1194 "/home/jens/Source/shotwell/src/Tag.vala"
- tag_table_remove (_tmp15_, &_tmp17_, &_inner_error_);
-#line 1194 "/home/jens/Source/shotwell/src/Tag.vala"
- _database_table_unref0 (_tmp15_);
-#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 9134 "Tag.c"
- goto __catch487_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 9143 "Tag.c"
- }
- }
- goto __finally487;
- __catch487_database_error:
- {
- GError* err = NULL;
- GError* _tmp18_;
-#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"
- _tmp18_ = err;
-#line 1196 "/home/jens/Source/shotwell/src/Tag.vala"
- app_window_database_error (_tmp18_);
-#line 1193 "/home/jens/Source/shotwell/src/Tag.vala"
- _g_error_free0 (err);
-#line 9161 "Tag.c"
- }
- __finally487:
-#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 9172 "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 9176 "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 9187 "Tag.c"
-}
-
-
-static TagTagSnapshot*
-tag_tag_snapshot_construct (GType object_type,
- Tag* tag)
-{
- TagTagSnapshot* self = NULL;
- TagRow* _tmp0_;
- TagRow* _tmp1_;
- LibraryPhotoSourceCollection* _tmp11_;
- VideoSourceCollection* _tmp12_;
-#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->priv->row;
-#line 280 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp1_ = _tag_row_ref0 (_tmp0_);
-#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 = _tmp1_;
-#line 9212 "Tag.c"
- {
- GeeIterator* _source_it = NULL;
- GeeCollection* _tmp2_;
- GeeCollection* _tmp3_;
- GeeIterator* _tmp4_;
- GeeIterator* _tmp5_;
-#line 284 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp2_ = tag_get_sources (tag);
-#line 284 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp3_ = _tmp2_;
-#line 284 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp4_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, GEE_TYPE_ITERABLE, GeeIterable));
-#line 284 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp5_ = _tmp4_;
-#line 284 "/home/jens/Source/shotwell/src/Tag.vala"
- _g_object_unref0 (_tmp3_);
-#line 284 "/home/jens/Source/shotwell/src/Tag.vala"
- _source_it = _tmp5_;
-#line 284 "/home/jens/Source/shotwell/src/Tag.vala"
- while (TRUE) {
-#line 9233 "Tag.c"
- GeeIterator* _tmp6_;
- MediaSource* source = NULL;
- GeeIterator* _tmp7_;
- gpointer _tmp8_;
- GeeHashSet* _tmp9_;
- MediaSource* _tmp10_;
-#line 284 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp6_ = _source_it;
-#line 284 "/home/jens/Source/shotwell/src/Tag.vala"
- if (!gee_iterator_next (_tmp6_)) {
-#line 284 "/home/jens/Source/shotwell/src/Tag.vala"
- break;
-#line 9246 "Tag.c"
- }
-#line 284 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp7_ = _source_it;
-#line 284 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp8_ = gee_iterator_get (_tmp7_);
-#line 284 "/home/jens/Source/shotwell/src/Tag.vala"
- source = (MediaSource*) _tmp8_;
-#line 285 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp9_ = self->priv->sources;
-#line 285 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp10_ = source;
-#line 285 "/home/jens/Source/shotwell/src/Tag.vala"
- gee_abstract_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp10_);
-#line 284 "/home/jens/Source/shotwell/src/Tag.vala"
- _g_object_unref0 (source);
-#line 9262 "Tag.c"
- }
-#line 284 "/home/jens/Source/shotwell/src/Tag.vala"
- _g_object_unref0 (_source_it);
-#line 9266 "Tag.c"
- }
-#line 287 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp11_ = library_photo_global;
-#line 287 "/home/jens/Source/shotwell/src/Tag.vala"
- g_signal_connect (G_TYPE_CHECK_INSTANCE_CAST (_tmp11_, 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"
- _tmp12_ = video_global;
-#line 288 "/home/jens/Source/shotwell/src/Tag.vala"
- g_signal_connect (G_TYPE_CHECK_INSTANCE_CAST (_tmp12_, 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 9278 "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 9287 "Tag.c"
-}
-
-
-static TagRow*
-tag_tag_snapshot_get_row (TagTagSnapshot* self)
-{
- TagRow* result = NULL;
- TagRow* _tmp0_;
- TagRow* _tmp1_;
-#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 9307 "Tag.c"
-}
-
-
-static void
-tag_tag_snapshot_real_notify_broken (SourceSnapshot* base)
-{
- TagTagSnapshot * self;
- TagRow* _tmp0_;
- GeeHashSet* _tmp1_;
-#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 9331 "Tag.c"
-}
-
-
-static void
-tag_tag_snapshot_on_source_destroyed (TagTagSnapshot* self,
- DataSource* source)
-{
- GeeHashSet* _tmp0_;
-#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"
- if (gee_abstract_collection_contains (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), G_TYPE_CHECK_INSTANCE_CAST (source, TYPE_MEDIA_SOURCE, MediaSource))) {
-#line 309 "/home/jens/Source/shotwell/src/Tag.vala"
- source_snapshot_notify_broken (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SOURCE_SNAPSHOT, SourceSnapshot));
-#line 9350 "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 = (void (*) (SourceSnapshot *)) tag_tag_snapshot_real_notify_broken;
-#line 9366 "Tag.c"
-}
-
-
-static void
-tag_tag_snapshot_instance_init (TagTagSnapshot * self)
-{
- GeeHashSet* _tmp0_;
-#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, (GDestroyNotify) g_object_unref, NULL, NULL, NULL, NULL, NULL, NULL);
-#line 276 "/home/jens/Source/shotwell/src/Tag.vala"
- self->priv->sources = _tmp0_;
-#line 9380 "Tag.c"
-}
-
-
-static void
-tag_tag_snapshot_finalize (SourceSnapshot * obj)
-{
- TagTagSnapshot * self;
- LibraryPhotoSourceCollection* _tmp0_;
- guint _tmp1_;
- VideoSourceCollection* _tmp2_;
- guint _tmp3_;
-#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 9412 "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;
-#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"
- self = (TagTagProxy*) source_proxy_construct (object_type, G_TYPE_CHECK_INSTANCE_CAST (tag, TYPE_DATA_SOURCE, DataSource));
-#line 314 "/home/jens/Source/shotwell/src/Tag.vala"
- return self;
-#line 9441 "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 9450 "Tag.c"
-}
-
-
-static DataSource*
-tag_tag_proxy_real_reconstitute (SourceProxy* base,
- gint64 object_id,
- SourceSnapshot* snapshot)
-{
- TagTagProxy * self;
- DataSource* result = NULL;
- TagRow* _tmp0_;
- TagRow* _tmp1_;
- Tag* _tmp2_;
- DataSource* _tmp3_;
-#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_ = tag_tag_snapshot_get_row (G_TYPE_CHECK_INSTANCE_CAST (snapshot, TAG_TYPE_TAG_SNAPSHOT, TagTagSnapshot));
-#line 319 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp1_ = _tmp0_;
-#line 319 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp2_ = tag_reconstitute (object_id, _tmp1_);
-#line 319 "/home/jens/Source/shotwell/src/Tag.vala"
- _tmp3_ = G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, TYPE_DATA_SOURCE, DataSource);
-#line 319 "/home/jens/Source/shotwell/src/Tag.vala"
- _tag_row_unref0 (_tmp1_);
-#line 319 "/home/jens/Source/shotwell/src/Tag.vala"
- result = _tmp3_;
-#line 319 "/home/jens/Source/shotwell/src/Tag.vala"
- return result;
-#line 9483 "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 = (DataSource* (*) (SourceProxy *, gint64, SourceSnapshot*)) tag_tag_proxy_real_reconstitute;
-#line 9494 "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 = (gchar* (*) (DataSource *)) tag_real_get_typename;
-#line 269 "/home/jens/Source/shotwell/src/Tag.vala"
- ((DataSourceClass *) klass)->get_instance_id = (gint64 (*) (DataSource *)) tag_real_get_instance_id;
-#line 269 "/home/jens/Source/shotwell/src/Tag.vala"
- ((DataObjectClass *) klass)->get_name = (gchar* (*) (DataObject *)) tag_real_get_name;
-#line 269 "/home/jens/Source/shotwell/src/Tag.vala"
- ((DataObjectClass *) klass)->to_string = (gchar* (*) (DataObject *)) tag_real_to_string;
-#line 269 "/home/jens/Source/shotwell/src/Tag.vala"
- ((DataSourceClass *) klass)->equals = (gboolean (*) (DataSource *, DataSource*)) tag_real_equals;
-#line 269 "/home/jens/Source/shotwell/src/Tag.vala"
- ((DataSourceClass *) klass)->save_snapshot = (SourceSnapshot* (*) (DataSource *)) tag_real_save_snapshot;
-#line 269 "/home/jens/Source/shotwell/src/Tag.vala"
- ((DataSourceClass *) klass)->destroy = (void (*) (DataSource *)) tag_real_destroy;
-#line 269 "/home/jens/Source/shotwell/src/Tag.vala"
- G_OBJECT_CLASS (klass)->finalize = tag_finalize;
-#line 9541 "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 9562 "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 9573 "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 9584 "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 9601 "Tag.c"
-}
-
-
-static void
-tag_finalize (GObject * obj)
-{
- Tag * self;
- ViewCollection* _tmp0_;
- guint _tmp1_;
- LibraryPhotoSourceCollection* _tmp2_;
- guint _tmp3_;
- VideoSourceCollection* _tmp4_;
- guint _tmp5_;
-#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 9645 "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);
-}
-
-
-