/* SearchFilter.c generated by valac 0.40.4, the Vala compiler
 * generated from SearchFilter.vala, do not modify */

/* Copyright 2016 Software Freedom Conservancy Inc.
 *
 * This software is licensed under the GNU LGPL (version 2.1 or later).
 * See the COPYING file in this distribution.
 */
/* Bitfield values used to specify which search bar features we want.*/


#include <glib.h>
#include <glib-object.h>
#include <stdlib.h>
#include <string.h>
#include <gee.h>
#include <gio/gio.h>
#include <gtk/gtk.h>
#include <float.h>
#include <math.h>
#include <glib/gi18n-lib.h>
#include <gdk/gdk.h>
#include <gdk-pixbuf/gdk-pixbuf.h>
#include <gobject/gvaluecollector.h>


#define TYPE_SEARCH_FILTER_CRITERIA (search_filter_criteria_get_type ())

#define TYPE_RATING_FILTER (rating_filter_get_type ())

#define TYPE_VIEW_FILTER (view_filter_get_type ())
#define VIEW_FILTER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_VIEW_FILTER, ViewFilter))
#define VIEW_FILTER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_VIEW_FILTER, ViewFilterClass))
#define IS_VIEW_FILTER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_VIEW_FILTER))
#define IS_VIEW_FILTER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_VIEW_FILTER))
#define VIEW_FILTER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_VIEW_FILTER, ViewFilterClass))

typedef struct _ViewFilter ViewFilter;
typedef struct _ViewFilterClass ViewFilterClass;
typedef struct _ViewFilterPrivate ViewFilterPrivate;

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

typedef struct _DataObject DataObject;
typedef struct _DataObjectClass DataObjectClass;

#define TYPE_DATA_VIEW (data_view_get_type ())
#define DATA_VIEW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATA_VIEW, DataView))
#define DATA_VIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATA_VIEW, DataViewClass))
#define IS_DATA_VIEW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATA_VIEW))
#define IS_DATA_VIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATA_VIEW))
#define DATA_VIEW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATA_VIEW, DataViewClass))

typedef struct _DataView DataView;
typedef struct _DataViewClass DataViewClass;

#define TYPE_SEARCH_VIEW_FILTER (search_view_filter_get_type ())
#define SEARCH_VIEW_FILTER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SEARCH_VIEW_FILTER, SearchViewFilter))
#define SEARCH_VIEW_FILTER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SEARCH_VIEW_FILTER, SearchViewFilterClass))
#define IS_SEARCH_VIEW_FILTER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SEARCH_VIEW_FILTER))
#define IS_SEARCH_VIEW_FILTER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SEARCH_VIEW_FILTER))
#define SEARCH_VIEW_FILTER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SEARCH_VIEW_FILTER, SearchViewFilterClass))

typedef struct _SearchViewFilter SearchViewFilter;
typedef struct _SearchViewFilterClass SearchViewFilterClass;
typedef struct _SearchViewFilterPrivate SearchViewFilterPrivate;

#define TYPE_RATING (rating_get_type ())

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

typedef struct _DataSource DataSource;
typedef struct _DataSourceClass DataSourceClass;

#define TYPE_SAVED_SEARCH (saved_search_get_type ())
#define SAVED_SEARCH(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SAVED_SEARCH, SavedSearch))
#define SAVED_SEARCH_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SAVED_SEARCH, SavedSearchClass))
#define IS_SAVED_SEARCH(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SAVED_SEARCH))
#define IS_SAVED_SEARCH_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SAVED_SEARCH))
#define SAVED_SEARCH_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SAVED_SEARCH, SavedSearchClass))

typedef struct _SavedSearch SavedSearch;
typedef struct _SavedSearchClass SavedSearchClass;
#define _g_free0(var) (var = (g_free (var), NULL))
#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL)))

#define TYPE_DEFAULT_SEARCH_VIEW_FILTER (default_search_view_filter_get_type ())
#define DEFAULT_SEARCH_VIEW_FILTER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DEFAULT_SEARCH_VIEW_FILTER, DefaultSearchViewFilter))
#define DEFAULT_SEARCH_VIEW_FILTER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DEFAULT_SEARCH_VIEW_FILTER, DefaultSearchViewFilterClass))
#define IS_DEFAULT_SEARCH_VIEW_FILTER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DEFAULT_SEARCH_VIEW_FILTER))
#define IS_DEFAULT_SEARCH_VIEW_FILTER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DEFAULT_SEARCH_VIEW_FILTER))
#define DEFAULT_SEARCH_VIEW_FILTER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DEFAULT_SEARCH_VIEW_FILTER, DefaultSearchViewFilterClass))

typedef struct _DefaultSearchViewFilter DefaultSearchViewFilter;
typedef struct _DefaultSearchViewFilterClass DefaultSearchViewFilterClass;
typedef struct _DefaultSearchViewFilterPrivate DefaultSearchViewFilterPrivate;

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

typedef struct _ThumbnailSource ThumbnailSource;
typedef struct _ThumbnailSourceClass ThumbnailSourceClass;

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

typedef struct _MediaSource MediaSource;
typedef struct _MediaSourceClass MediaSourceClass;

#define TYPE_THUMBNAIL_VIEW (thumbnail_view_get_type ())
#define THUMBNAIL_VIEW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_THUMBNAIL_VIEW, ThumbnailView))
#define THUMBNAIL_VIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_THUMBNAIL_VIEW, ThumbnailViewClass))
#define IS_THUMBNAIL_VIEW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_THUMBNAIL_VIEW))
#define IS_THUMBNAIL_VIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_THUMBNAIL_VIEW))
#define THUMBNAIL_VIEW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_THUMBNAIL_VIEW, ThumbnailViewClass))

typedef struct _ThumbnailView ThumbnailView;
typedef struct _ThumbnailViewClass ThumbnailViewClass;

#define TYPE_CHECKERBOARD_ITEM (checkerboard_item_get_type ())
#define CHECKERBOARD_ITEM(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_CHECKERBOARD_ITEM, CheckerboardItem))
#define CHECKERBOARD_ITEM_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_CHECKERBOARD_ITEM, CheckerboardItemClass))
#define IS_CHECKERBOARD_ITEM(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_CHECKERBOARD_ITEM))
#define IS_CHECKERBOARD_ITEM_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_CHECKERBOARD_ITEM))
#define CHECKERBOARD_ITEM_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_CHECKERBOARD_ITEM, CheckerboardItemClass))

typedef struct _CheckerboardItem CheckerboardItem;
typedef struct _CheckerboardItemClass CheckerboardItemClass;

#define TYPE_MEDIA_SOURCE_ITEM (media_source_item_get_type ())
#define MEDIA_SOURCE_ITEM(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MEDIA_SOURCE_ITEM, MediaSourceItem))
#define MEDIA_SOURCE_ITEM_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MEDIA_SOURCE_ITEM, MediaSourceItemClass))
#define IS_MEDIA_SOURCE_ITEM(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MEDIA_SOURCE_ITEM))
#define IS_MEDIA_SOURCE_ITEM_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MEDIA_SOURCE_ITEM))
#define MEDIA_SOURCE_ITEM_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MEDIA_SOURCE_ITEM, MediaSourceItemClass))

typedef struct _MediaSourceItem MediaSourceItem;
typedef struct _MediaSourceItemClass MediaSourceItemClass;

#define TYPE_THUMBNAIL (thumbnail_get_type ())
#define THUMBNAIL(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_THUMBNAIL, Thumbnail))
#define THUMBNAIL_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_THUMBNAIL, ThumbnailClass))
#define IS_THUMBNAIL(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_THUMBNAIL))
#define IS_THUMBNAIL_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_THUMBNAIL))
#define THUMBNAIL_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_THUMBNAIL, ThumbnailClass))

typedef struct _Thumbnail Thumbnail;
typedef struct _ThumbnailClass ThumbnailClass;

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

typedef struct _Flaggable Flaggable;
typedef struct _FlaggableIface FlaggableIface;

#define TYPE_VIDEO_SOURCE (video_source_get_type ())
#define VIDEO_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_VIDEO_SOURCE, VideoSource))
#define VIDEO_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_VIDEO_SOURCE, VideoSourceClass))
#define IS_VIDEO_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_VIDEO_SOURCE))
#define IS_VIDEO_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_VIDEO_SOURCE))
#define VIDEO_SOURCE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_VIDEO_SOURCE, VideoSourceClass))

typedef struct _VideoSource VideoSource;
typedef struct _VideoSourceClass VideoSourceClass;

#define TYPE_PHOTO_SOURCE (photo_source_get_type ())
#define PHOTO_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PHOTO_SOURCE, PhotoSource))
#define PHOTO_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PHOTO_SOURCE, PhotoSourceClass))
#define IS_PHOTO_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PHOTO_SOURCE))
#define IS_PHOTO_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PHOTO_SOURCE))
#define PHOTO_SOURCE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PHOTO_SOURCE, PhotoSourceClass))

typedef struct _PhotoSource PhotoSource;
typedef struct _PhotoSourceClass PhotoSourceClass;

#define TYPE_PHOTO (photo_get_type ())
#define PHOTO(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PHOTO, Photo))
#define PHOTO_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PHOTO, PhotoClass))
#define IS_PHOTO(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PHOTO))
#define IS_PHOTO_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PHOTO))
#define PHOTO_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PHOTO, PhotoClass))

typedef struct _Photo Photo;
typedef struct _PhotoClass PhotoClass;

#define TYPE_PHOTO_FILE_FORMAT (photo_file_format_get_type ())

#define TYPE_INDEXABLE (indexable_get_type ())
#define INDEXABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_INDEXABLE, Indexable))
#define IS_INDEXABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_INDEXABLE))
#define INDEXABLE_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), TYPE_INDEXABLE, IndexableIface))

typedef struct _Indexable Indexable;
typedef struct _IndexableIface IndexableIface;

#define TYPE_EVENT_SOURCE (event_source_get_type ())
#define EVENT_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_EVENT_SOURCE, EventSource))
#define EVENT_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_EVENT_SOURCE, EventSourceClass))
#define IS_EVENT_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_EVENT_SOURCE))
#define IS_EVENT_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_EVENT_SOURCE))
#define EVENT_SOURCE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_EVENT_SOURCE, EventSourceClass))

typedef struct _EventSource EventSource;
typedef struct _EventSourceClass EventSourceClass;

#define TYPE_EVENT (event_get_type ())
#define EVENT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_EVENT, Event))
#define EVENT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_EVENT, EventClass))
#define IS_EVENT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_EVENT))
#define IS_EVENT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_EVENT))
#define EVENT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_EVENT, EventClass))

typedef struct _Event Event;
typedef struct _EventClass EventClass;

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

typedef struct _Tag Tag;
typedef struct _TagClass TagClass;

#define TYPE_DATA_COLLECTION (data_collection_get_type ())
#define DATA_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATA_COLLECTION, DataCollection))
#define DATA_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATA_COLLECTION, DataCollectionClass))
#define IS_DATA_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATA_COLLECTION))
#define IS_DATA_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATA_COLLECTION))
#define DATA_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATA_COLLECTION, DataCollectionClass))

typedef struct _DataCollection DataCollection;
typedef struct _DataCollectionClass DataCollectionClass;

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

typedef struct _SourceCollection SourceCollection;
typedef struct _SourceCollectionClass SourceCollectionClass;

#define TYPE_DATABASE_SOURCE_COLLECTION (database_source_collection_get_type ())
#define DATABASE_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATABASE_SOURCE_COLLECTION, DatabaseSourceCollection))
#define DATABASE_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATABASE_SOURCE_COLLECTION, DatabaseSourceCollectionClass))
#define IS_DATABASE_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATABASE_SOURCE_COLLECTION))
#define IS_DATABASE_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATABASE_SOURCE_COLLECTION))
#define DATABASE_SOURCE_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATABASE_SOURCE_COLLECTION, DatabaseSourceCollectionClass))

typedef struct _DatabaseSourceCollection DatabaseSourceCollection;
typedef struct _DatabaseSourceCollectionClass DatabaseSourceCollectionClass;

#define TYPE_CONTAINER_SOURCE_COLLECTION (container_source_collection_get_type ())
#define CONTAINER_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_CONTAINER_SOURCE_COLLECTION, ContainerSourceCollection))
#define CONTAINER_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_CONTAINER_SOURCE_COLLECTION, ContainerSourceCollectionClass))
#define IS_CONTAINER_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_CONTAINER_SOURCE_COLLECTION))
#define IS_CONTAINER_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_CONTAINER_SOURCE_COLLECTION))
#define CONTAINER_SOURCE_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_CONTAINER_SOURCE_COLLECTION, ContainerSourceCollectionClass))

typedef struct _ContainerSourceCollection ContainerSourceCollection;
typedef struct _ContainerSourceCollectionClass ContainerSourceCollectionClass;

#define TYPE_TAG_SOURCE_COLLECTION (tag_source_collection_get_type ())
#define TAG_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_TAG_SOURCE_COLLECTION, TagSourceCollection))
#define TAG_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_TAG_SOURCE_COLLECTION, TagSourceCollectionClass))
#define IS_TAG_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_TAG_SOURCE_COLLECTION))
#define IS_TAG_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_TAG_SOURCE_COLLECTION))
#define TAG_SOURCE_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_TAG_SOURCE_COLLECTION, TagSourceCollectionClass))

typedef struct _TagSourceCollection TagSourceCollection;
typedef struct _TagSourceCollectionClass TagSourceCollectionClass;

#define TYPE_DISABLED_VIEW_FILTER (disabled_view_filter_get_type ())
#define DISABLED_VIEW_FILTER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DISABLED_VIEW_FILTER, DisabledViewFilter))
#define DISABLED_VIEW_FILTER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DISABLED_VIEW_FILTER, DisabledViewFilterClass))
#define IS_DISABLED_VIEW_FILTER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DISABLED_VIEW_FILTER))
#define IS_DISABLED_VIEW_FILTER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DISABLED_VIEW_FILTER))
#define DISABLED_VIEW_FILTER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DISABLED_VIEW_FILTER, DisabledViewFilterClass))

typedef struct _DisabledViewFilter DisabledViewFilter;
typedef struct _DisabledViewFilterClass DisabledViewFilterClass;
typedef struct _DisabledViewFilterPrivate DisabledViewFilterPrivate;

#define TYPE_TEXT_ACTION (text_action_get_type ())
#define TEXT_ACTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_TEXT_ACTION, TextAction))
#define TEXT_ACTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_TEXT_ACTION, TextActionClass))
#define IS_TEXT_ACTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_TEXT_ACTION))
#define IS_TEXT_ACTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_TEXT_ACTION))
#define TEXT_ACTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_TEXT_ACTION, TextActionClass))

typedef struct _TextAction TextAction;
typedef struct _TextActionClass TextActionClass;
typedef struct _TextActionPrivate TextActionPrivate;
typedef struct _ParamSpecTextAction ParamSpecTextAction;
enum  {
	TEXT_ACTION_TEXT_CHANGED_SIGNAL,
	TEXT_ACTION_SENSITIVITY_CHANGED_SIGNAL,
	TEXT_ACTION_VISIBILITY_CHANGED_SIGNAL,
	TEXT_ACTION_NUM_SIGNALS
};
static guint text_action_signals[TEXT_ACTION_NUM_SIGNALS] = {0};

#define TYPE_SEARCH_FILTER_ACTIONS (search_filter_actions_get_type ())
#define SEARCH_FILTER_ACTIONS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SEARCH_FILTER_ACTIONS, SearchFilterActions))
#define SEARCH_FILTER_ACTIONS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SEARCH_FILTER_ACTIONS, SearchFilterActionsClass))
#define IS_SEARCH_FILTER_ACTIONS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SEARCH_FILTER_ACTIONS))
#define IS_SEARCH_FILTER_ACTIONS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SEARCH_FILTER_ACTIONS))
#define SEARCH_FILTER_ACTIONS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SEARCH_FILTER_ACTIONS, SearchFilterActionsClass))

typedef struct _SearchFilterActions SearchFilterActions;
typedef struct _SearchFilterActionsClass SearchFilterActionsClass;
typedef struct _SearchFilterActionsPrivate SearchFilterActionsPrivate;
#define _text_action_unref0(var) ((var == NULL) ? NULL : (var = (text_action_unref (var), NULL)))

#define TYPE_PAGE_WINDOW (page_window_get_type ())
#define PAGE_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PAGE_WINDOW, PageWindow))
#define PAGE_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PAGE_WINDOW, PageWindowClass))
#define IS_PAGE_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PAGE_WINDOW))
#define IS_PAGE_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PAGE_WINDOW))
#define PAGE_WINDOW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PAGE_WINDOW, PageWindowClass))

typedef struct _PageWindow PageWindow;
typedef struct _PageWindowClass PageWindowClass;

#define TYPE_APP_WINDOW (app_window_get_type ())
#define APP_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_APP_WINDOW, AppWindow))
#define APP_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_APP_WINDOW, AppWindowClass))
#define IS_APP_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_APP_WINDOW))
#define IS_APP_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_APP_WINDOW))
#define APP_WINDOW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_APP_WINDOW, AppWindowClass))

typedef struct _AppWindow AppWindow;
typedef struct _AppWindowClass AppWindowClass;

#define TYPE_LIBRARY_WINDOW (library_window_get_type ())
#define LIBRARY_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_LIBRARY_WINDOW, LibraryWindow))
#define LIBRARY_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_LIBRARY_WINDOW, LibraryWindowClass))
#define IS_LIBRARY_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_LIBRARY_WINDOW))
#define IS_LIBRARY_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_LIBRARY_WINDOW))
#define LIBRARY_WINDOW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_LIBRARY_WINDOW, LibraryWindowClass))

typedef struct _LibraryWindow LibraryWindow;
typedef struct _LibraryWindowClass LibraryWindowClass;
#define _g_variant_unref0(var) ((var == NULL) ? NULL : (var = (g_variant_unref (var), NULL)))

#define TYPE_PAGE (page_get_type ())
#define PAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PAGE, Page))
#define PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PAGE, PageClass))
#define IS_PAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PAGE))
#define IS_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PAGE))
#define PAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PAGE, PageClass))

typedef struct _Page Page;
typedef struct _PageClass PageClass;

#define TYPE_CHECKERBOARD_PAGE (checkerboard_page_get_type ())
#define CHECKERBOARD_PAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_CHECKERBOARD_PAGE, CheckerboardPage))
#define CHECKERBOARD_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_CHECKERBOARD_PAGE, CheckerboardPageClass))
#define IS_CHECKERBOARD_PAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_CHECKERBOARD_PAGE))
#define IS_CHECKERBOARD_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_CHECKERBOARD_PAGE))
#define CHECKERBOARD_PAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_CHECKERBOARD_PAGE, CheckerboardPageClass))

typedef struct _CheckerboardPage CheckerboardPage;
typedef struct _CheckerboardPageClass CheckerboardPageClass;

#define CORE_TYPE_TRACKER (core_tracker_get_type ())
#define CORE_TRACKER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), CORE_TYPE_TRACKER, CoreTracker))
#define CORE_TRACKER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), CORE_TYPE_TRACKER, CoreTrackerClass))
#define CORE_IS_TRACKER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), CORE_TYPE_TRACKER))
#define CORE_IS_TRACKER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), CORE_TYPE_TRACKER))
#define CORE_TRACKER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), CORE_TYPE_TRACKER, CoreTrackerClass))

typedef struct _CoreTracker CoreTracker;
typedef struct _CoreTrackerClass CoreTrackerClass;

#define CORE_TYPE_VIEW_TRACKER (core_view_tracker_get_type ())
#define CORE_VIEW_TRACKER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), CORE_TYPE_VIEW_TRACKER, CoreViewTracker))
#define CORE_VIEW_TRACKER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), CORE_TYPE_VIEW_TRACKER, CoreViewTrackerClass))
#define CORE_IS_VIEW_TRACKER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), CORE_TYPE_VIEW_TRACKER))
#define CORE_IS_VIEW_TRACKER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), CORE_TYPE_VIEW_TRACKER))
#define CORE_VIEW_TRACKER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), CORE_TYPE_VIEW_TRACKER, CoreViewTrackerClass))

typedef struct _CoreViewTracker CoreViewTracker;
typedef struct _CoreViewTrackerClass CoreViewTrackerClass;

#define TYPE_MEDIA_VIEW_TRACKER (media_view_tracker_get_type ())
#define MEDIA_VIEW_TRACKER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MEDIA_VIEW_TRACKER, MediaViewTracker))
#define MEDIA_VIEW_TRACKER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MEDIA_VIEW_TRACKER, MediaViewTrackerClass))
#define IS_MEDIA_VIEW_TRACKER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MEDIA_VIEW_TRACKER))
#define IS_MEDIA_VIEW_TRACKER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MEDIA_VIEW_TRACKER))
#define MEDIA_VIEW_TRACKER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MEDIA_VIEW_TRACKER, MediaViewTrackerClass))

typedef struct _MediaViewTracker MediaViewTracker;
typedef struct _MediaViewTrackerClass MediaViewTrackerClass;

#define TYPE_CAMERA_VIEW_TRACKER (camera_view_tracker_get_type ())
#define CAMERA_VIEW_TRACKER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_CAMERA_VIEW_TRACKER, CameraViewTracker))
#define CAMERA_VIEW_TRACKER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_CAMERA_VIEW_TRACKER, CameraViewTrackerClass))
#define IS_CAMERA_VIEW_TRACKER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_CAMERA_VIEW_TRACKER))
#define IS_CAMERA_VIEW_TRACKER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_CAMERA_VIEW_TRACKER))
#define CAMERA_VIEW_TRACKER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_CAMERA_VIEW_TRACKER, CameraViewTrackerClass))

typedef struct _CameraViewTracker CameraViewTracker;
typedef struct _CameraViewTrackerClass CameraViewTrackerClass;
#define _core_tracker_unref0(var) ((var == NULL) ? NULL : (var = (core_tracker_unref (var), NULL)))
typedef struct _CoreTrackerPrivate CoreTrackerPrivate;
typedef struct _CoreViewTrackerPrivate CoreViewTrackerPrivate;
typedef struct _MediaViewTrackerPrivate MediaViewTrackerPrivate;

#define TYPE_MEDIA_ACCUMULATOR (media_accumulator_get_type ())
#define MEDIA_ACCUMULATOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MEDIA_ACCUMULATOR, MediaAccumulator))
#define MEDIA_ACCUMULATOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MEDIA_ACCUMULATOR, MediaAccumulatorClass))
#define IS_MEDIA_ACCUMULATOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MEDIA_ACCUMULATOR))
#define IS_MEDIA_ACCUMULATOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MEDIA_ACCUMULATOR))
#define MEDIA_ACCUMULATOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MEDIA_ACCUMULATOR, MediaAccumulatorClass))

typedef struct _MediaAccumulator MediaAccumulator;
typedef struct _MediaAccumulatorClass MediaAccumulatorClass;

#define CORE_TYPE_TRACKER_ACCUMULATOR (core_tracker_accumulator_get_type ())
#define CORE_TRACKER_ACCUMULATOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), CORE_TYPE_TRACKER_ACCUMULATOR, CoreTrackerAccumulator))
#define CORE_IS_TRACKER_ACCUMULATOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), CORE_TYPE_TRACKER_ACCUMULATOR))
#define CORE_TRACKER_ACCUMULATOR_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), CORE_TYPE_TRACKER_ACCUMULATOR, CoreTrackerAccumulatorIface))

typedef struct _CoreTrackerAccumulator CoreTrackerAccumulator;
typedef struct _CoreTrackerAccumulatorIface CoreTrackerAccumulatorIface;

#define TYPE_ALTERATION (alteration_get_type ())
#define ALTERATION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_ALTERATION, Alteration))
#define ALTERATION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_ALTERATION, AlterationClass))
#define IS_ALTERATION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_ALTERATION))
#define IS_ALTERATION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_ALTERATION))
#define ALTERATION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_ALTERATION, AlterationClass))

typedef struct _Alteration Alteration;
typedef struct _AlterationClass AlterationClass;
typedef struct _MediaAccumulatorPrivate MediaAccumulatorPrivate;
typedef struct _CameraViewTrackerPrivate CameraViewTrackerPrivate;

#define TYPE_CAMERA_ACCUMULATOR (camera_accumulator_get_type ())
#define CAMERA_ACCUMULATOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_CAMERA_ACCUMULATOR, CameraAccumulator))
#define CAMERA_ACCUMULATOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_CAMERA_ACCUMULATOR, CameraAccumulatorClass))
#define IS_CAMERA_ACCUMULATOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_CAMERA_ACCUMULATOR))
#define IS_CAMERA_ACCUMULATOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_CAMERA_ACCUMULATOR))
#define CAMERA_ACCUMULATOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_CAMERA_ACCUMULATOR, CameraAccumulatorClass))

typedef struct _CameraAccumulator CameraAccumulator;
typedef struct _CameraAccumulatorClass CameraAccumulatorClass;
typedef struct _ParamSpecSearchFilterActions ParamSpecSearchFilterActions;
enum  {
	SEARCH_FILTER_ACTIONS_FLAGGED_TOGGLED_SIGNAL,
	SEARCH_FILTER_ACTIONS_PHOTOS_TOGGLED_SIGNAL,
	SEARCH_FILTER_ACTIONS_VIDEOS_TOGGLED_SIGNAL,
	SEARCH_FILTER_ACTIONS_RAW_TOGGLED_SIGNAL,
	SEARCH_FILTER_ACTIONS_RATING_CHANGED_SIGNAL,
	SEARCH_FILTER_ACTIONS_TEXT_CHANGED_SIGNAL,
	SEARCH_FILTER_ACTIONS_MEDIA_CONTEXT_CHANGED_SIGNAL,
	SEARCH_FILTER_ACTIONS_CRITERIA_CHANGED_SIGNAL,
	SEARCH_FILTER_ACTIONS_NUM_SIGNALS
};
static guint search_filter_actions_signals[SEARCH_FILTER_ACTIONS_NUM_SIGNALS] = {0};

#define TYPE_SEARCH_FILTER_TOOLBAR (search_filter_toolbar_get_type ())
#define SEARCH_FILTER_TOOLBAR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SEARCH_FILTER_TOOLBAR, SearchFilterToolbar))
#define SEARCH_FILTER_TOOLBAR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SEARCH_FILTER_TOOLBAR, SearchFilterToolbarClass))
#define IS_SEARCH_FILTER_TOOLBAR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SEARCH_FILTER_TOOLBAR))
#define IS_SEARCH_FILTER_TOOLBAR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SEARCH_FILTER_TOOLBAR))
#define SEARCH_FILTER_TOOLBAR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SEARCH_FILTER_TOOLBAR, SearchFilterToolbarClass))

typedef struct _SearchFilterToolbar SearchFilterToolbar;
typedef struct _SearchFilterToolbarClass SearchFilterToolbarClass;
typedef struct _SearchFilterToolbarPrivate SearchFilterToolbarPrivate;

#define SEARCH_FILTER_TOOLBAR_TYPE_SEARCH_BOX (search_filter_toolbar_search_box_get_type ())
#define SEARCH_FILTER_TOOLBAR_SEARCH_BOX(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SEARCH_FILTER_TOOLBAR_TYPE_SEARCH_BOX, SearchFilterToolbarSearchBox))
#define SEARCH_FILTER_TOOLBAR_SEARCH_BOX_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SEARCH_FILTER_TOOLBAR_TYPE_SEARCH_BOX, SearchFilterToolbarSearchBoxClass))
#define SEARCH_FILTER_TOOLBAR_IS_SEARCH_BOX(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SEARCH_FILTER_TOOLBAR_TYPE_SEARCH_BOX))
#define SEARCH_FILTER_TOOLBAR_IS_SEARCH_BOX_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SEARCH_FILTER_TOOLBAR_TYPE_SEARCH_BOX))
#define SEARCH_FILTER_TOOLBAR_SEARCH_BOX_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SEARCH_FILTER_TOOLBAR_TYPE_SEARCH_BOX, SearchFilterToolbarSearchBoxClass))

typedef struct _SearchFilterToolbarSearchBox SearchFilterToolbarSearchBox;
typedef struct _SearchFilterToolbarSearchBoxClass SearchFilterToolbarSearchBoxClass;

#define SEARCH_FILTER_TOOLBAR_TYPE_RATING_FILTER_BUTTON (search_filter_toolbar_rating_filter_button_get_type ())
#define SEARCH_FILTER_TOOLBAR_RATING_FILTER_BUTTON(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SEARCH_FILTER_TOOLBAR_TYPE_RATING_FILTER_BUTTON, SearchFilterToolbarRatingFilterButton))
#define SEARCH_FILTER_TOOLBAR_RATING_FILTER_BUTTON_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SEARCH_FILTER_TOOLBAR_TYPE_RATING_FILTER_BUTTON, SearchFilterToolbarRatingFilterButtonClass))
#define SEARCH_FILTER_TOOLBAR_IS_RATING_FILTER_BUTTON(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SEARCH_FILTER_TOOLBAR_TYPE_RATING_FILTER_BUTTON))
#define SEARCH_FILTER_TOOLBAR_IS_RATING_FILTER_BUTTON_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SEARCH_FILTER_TOOLBAR_TYPE_RATING_FILTER_BUTTON))
#define SEARCH_FILTER_TOOLBAR_RATING_FILTER_BUTTON_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SEARCH_FILTER_TOOLBAR_TYPE_RATING_FILTER_BUTTON, SearchFilterToolbarRatingFilterButtonClass))

typedef struct _SearchFilterToolbarRatingFilterButton SearchFilterToolbarRatingFilterButton;
typedef struct _SearchFilterToolbarRatingFilterButtonClass SearchFilterToolbarRatingFilterButtonClass;

#define SEARCH_FILTER_TOOLBAR_TYPE_SAVED_SEARCH_FILTER_BUTTON (search_filter_toolbar_saved_search_filter_button_get_type ())
#define SEARCH_FILTER_TOOLBAR_SAVED_SEARCH_FILTER_BUTTON(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SEARCH_FILTER_TOOLBAR_TYPE_SAVED_SEARCH_FILTER_BUTTON, SearchFilterToolbarSavedSearchFilterButton))
#define SEARCH_FILTER_TOOLBAR_SAVED_SEARCH_FILTER_BUTTON_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SEARCH_FILTER_TOOLBAR_TYPE_SAVED_SEARCH_FILTER_BUTTON, SearchFilterToolbarSavedSearchFilterButtonClass))
#define SEARCH_FILTER_TOOLBAR_IS_SAVED_SEARCH_FILTER_BUTTON(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SEARCH_FILTER_TOOLBAR_TYPE_SAVED_SEARCH_FILTER_BUTTON))
#define SEARCH_FILTER_TOOLBAR_IS_SAVED_SEARCH_FILTER_BUTTON_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SEARCH_FILTER_TOOLBAR_TYPE_SAVED_SEARCH_FILTER_BUTTON))
#define SEARCH_FILTER_TOOLBAR_SAVED_SEARCH_FILTER_BUTTON_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SEARCH_FILTER_TOOLBAR_TYPE_SAVED_SEARCH_FILTER_BUTTON, SearchFilterToolbarSavedSearchFilterButtonClass))

typedef struct _SearchFilterToolbarSavedSearchFilterButton SearchFilterToolbarSavedSearchFilterButton;
typedef struct _SearchFilterToolbarSavedSearchFilterButtonClass SearchFilterToolbarSavedSearchFilterButtonClass;

#define SEARCH_FILTER_TOOLBAR_TYPE_LABEL_TOOL_ITEM (search_filter_toolbar_label_tool_item_get_type ())
#define SEARCH_FILTER_TOOLBAR_LABEL_TOOL_ITEM(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SEARCH_FILTER_TOOLBAR_TYPE_LABEL_TOOL_ITEM, SearchFilterToolbarLabelToolItem))
#define SEARCH_FILTER_TOOLBAR_LABEL_TOOL_ITEM_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SEARCH_FILTER_TOOLBAR_TYPE_LABEL_TOOL_ITEM, SearchFilterToolbarLabelToolItemClass))
#define SEARCH_FILTER_TOOLBAR_IS_LABEL_TOOL_ITEM(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SEARCH_FILTER_TOOLBAR_TYPE_LABEL_TOOL_ITEM))
#define SEARCH_FILTER_TOOLBAR_IS_LABEL_TOOL_ITEM_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SEARCH_FILTER_TOOLBAR_TYPE_LABEL_TOOL_ITEM))
#define SEARCH_FILTER_TOOLBAR_LABEL_TOOL_ITEM_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SEARCH_FILTER_TOOLBAR_TYPE_LABEL_TOOL_ITEM, SearchFilterToolbarLabelToolItemClass))

typedef struct _SearchFilterToolbarLabelToolItem SearchFilterToolbarLabelToolItem;
typedef struct _SearchFilterToolbarLabelToolItemClass SearchFilterToolbarLabelToolItemClass;

#define SEARCH_FILTER_TOOLBAR_TYPE_TOGGLE_ACTION_TOOL_BUTTON (search_filter_toolbar_toggle_action_tool_button_get_type ())
#define SEARCH_FILTER_TOOLBAR_TOGGLE_ACTION_TOOL_BUTTON(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SEARCH_FILTER_TOOLBAR_TYPE_TOGGLE_ACTION_TOOL_BUTTON, SearchFilterToolbarToggleActionToolButton))
#define SEARCH_FILTER_TOOLBAR_TOGGLE_ACTION_TOOL_BUTTON_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SEARCH_FILTER_TOOLBAR_TYPE_TOGGLE_ACTION_TOOL_BUTTON, SearchFilterToolbarToggleActionToolButtonClass))
#define SEARCH_FILTER_TOOLBAR_IS_TOGGLE_ACTION_TOOL_BUTTON(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SEARCH_FILTER_TOOLBAR_TYPE_TOGGLE_ACTION_TOOL_BUTTON))
#define SEARCH_FILTER_TOOLBAR_IS_TOGGLE_ACTION_TOOL_BUTTON_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SEARCH_FILTER_TOOLBAR_TYPE_TOGGLE_ACTION_TOOL_BUTTON))
#define SEARCH_FILTER_TOOLBAR_TOGGLE_ACTION_TOOL_BUTTON_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SEARCH_FILTER_TOOLBAR_TYPE_TOGGLE_ACTION_TOOL_BUTTON, SearchFilterToolbarToggleActionToolButtonClass))

typedef struct _SearchFilterToolbarToggleActionToolButton SearchFilterToolbarToggleActionToolButton;
typedef struct _SearchFilterToolbarToggleActionToolButtonClass SearchFilterToolbarToggleActionToolButtonClass;
enum  {
	SEARCH_FILTER_TOOLBAR_0_PROPERTY,
	SEARCH_FILTER_TOOLBAR_NUM_PROPERTIES
};
static GParamSpec* search_filter_toolbar_properties[SEARCH_FILTER_TOOLBAR_NUM_PROPERTIES];
#define _search_filter_actions_unref0(var) ((var == NULL) ? NULL : (var = (search_filter_actions_unref (var), NULL)))
#define _view_filter_unref0(var) ((var == NULL) ? NULL : (var = (view_filter_unref (var), NULL)))
#define _g_error_free0(var) ((var == NULL) ? NULL : (var = (g_error_free (var), NULL)))
typedef struct _SearchFilterToolbarSavedSearchFilterButtonPrivate SearchFilterToolbarSavedSearchFilterButtonPrivate;

#define SEARCH_FILTER_TOOLBAR_TYPE_SAVED_SEARCH_POPOVER (search_filter_toolbar_saved_search_popover_get_type ())
#define SEARCH_FILTER_TOOLBAR_SAVED_SEARCH_POPOVER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SEARCH_FILTER_TOOLBAR_TYPE_SAVED_SEARCH_POPOVER, SearchFilterToolbarSavedSearchPopover))
#define SEARCH_FILTER_TOOLBAR_SAVED_SEARCH_POPOVER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SEARCH_FILTER_TOOLBAR_TYPE_SAVED_SEARCH_POPOVER, SearchFilterToolbarSavedSearchPopoverClass))
#define SEARCH_FILTER_TOOLBAR_IS_SAVED_SEARCH_POPOVER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SEARCH_FILTER_TOOLBAR_TYPE_SAVED_SEARCH_POPOVER))
#define SEARCH_FILTER_TOOLBAR_IS_SAVED_SEARCH_POPOVER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SEARCH_FILTER_TOOLBAR_TYPE_SAVED_SEARCH_POPOVER))
#define SEARCH_FILTER_TOOLBAR_SAVED_SEARCH_POPOVER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SEARCH_FILTER_TOOLBAR_TYPE_SAVED_SEARCH_POPOVER, SearchFilterToolbarSavedSearchPopoverClass))

typedef struct _SearchFilterToolbarSavedSearchPopover SearchFilterToolbarSavedSearchPopover;
typedef struct _SearchFilterToolbarSavedSearchPopoverClass SearchFilterToolbarSavedSearchPopoverClass;

#define TYPE_SAVED_SEARCH_DIALOG (saved_search_dialog_get_type ())
#define SAVED_SEARCH_DIALOG(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SAVED_SEARCH_DIALOG, SavedSearchDialog))
#define SAVED_SEARCH_DIALOG_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SAVED_SEARCH_DIALOG, SavedSearchDialogClass))
#define IS_SAVED_SEARCH_DIALOG(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SAVED_SEARCH_DIALOG))
#define IS_SAVED_SEARCH_DIALOG_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SAVED_SEARCH_DIALOG))
#define SAVED_SEARCH_DIALOG_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SAVED_SEARCH_DIALOG, SavedSearchDialogClass))

typedef struct _SavedSearchDialog SavedSearchDialog;
typedef struct _SavedSearchDialogClass SavedSearchDialogClass;

#define TYPE_COMMAND_MANAGER (command_manager_get_type ())
#define COMMAND_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_COMMAND_MANAGER, CommandManager))
#define COMMAND_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_COMMAND_MANAGER, CommandManagerClass))
#define IS_COMMAND_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_COMMAND_MANAGER))
#define IS_COMMAND_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_COMMAND_MANAGER))
#define COMMAND_MANAGER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_COMMAND_MANAGER, CommandManagerClass))

typedef struct _CommandManager CommandManager;
typedef struct _CommandManagerClass CommandManagerClass;

#define TYPE_COMMAND (command_get_type ())
#define COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_COMMAND, Command))
#define COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_COMMAND, CommandClass))
#define IS_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_COMMAND))
#define IS_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_COMMAND))
#define COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_COMMAND, CommandClass))

typedef struct _Command Command;
typedef struct _CommandClass CommandClass;

#define TYPE_PAGE_COMMAND (page_command_get_type ())
#define PAGE_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PAGE_COMMAND, PageCommand))
#define PAGE_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PAGE_COMMAND, PageCommandClass))
#define IS_PAGE_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PAGE_COMMAND))
#define IS_PAGE_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PAGE_COMMAND))
#define PAGE_COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PAGE_COMMAND, PageCommandClass))

typedef struct _PageCommand PageCommand;
typedef struct _PageCommandClass PageCommandClass;

#define TYPE_SINGLE_DATA_SOURCE_COMMAND (single_data_source_command_get_type ())
#define SINGLE_DATA_SOURCE_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SINGLE_DATA_SOURCE_COMMAND, SingleDataSourceCommand))
#define SINGLE_DATA_SOURCE_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SINGLE_DATA_SOURCE_COMMAND, SingleDataSourceCommandClass))
#define IS_SINGLE_DATA_SOURCE_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SINGLE_DATA_SOURCE_COMMAND))
#define IS_SINGLE_DATA_SOURCE_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SINGLE_DATA_SOURCE_COMMAND))
#define SINGLE_DATA_SOURCE_COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SINGLE_DATA_SOURCE_COMMAND, SingleDataSourceCommandClass))

typedef struct _SingleDataSourceCommand SingleDataSourceCommand;
typedef struct _SingleDataSourceCommandClass SingleDataSourceCommandClass;

#define TYPE_DELETE_SAVED_SEARCH_COMMAND (delete_saved_search_command_get_type ())
#define DELETE_SAVED_SEARCH_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DELETE_SAVED_SEARCH_COMMAND, DeleteSavedSearchCommand))
#define DELETE_SAVED_SEARCH_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DELETE_SAVED_SEARCH_COMMAND, DeleteSavedSearchCommandClass))
#define IS_DELETE_SAVED_SEARCH_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DELETE_SAVED_SEARCH_COMMAND))
#define IS_DELETE_SAVED_SEARCH_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DELETE_SAVED_SEARCH_COMMAND))
#define DELETE_SAVED_SEARCH_COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DELETE_SAVED_SEARCH_COMMAND, DeleteSavedSearchCommandClass))

typedef struct _DeleteSavedSearchCommand DeleteSavedSearchCommand;
typedef struct _DeleteSavedSearchCommandClass DeleteSavedSearchCommandClass;
#define _command_manager_unref0(var) ((var == NULL) ? NULL : (var = (command_manager_unref (var), NULL)))
#define _search_filter_toolbar_saved_search_popover_unref0(var) ((var == NULL) ? NULL : (var = (search_filter_toolbar_saved_search_popover_unref (var), NULL)))
typedef struct _SearchFilterToolbarLabelToolItemPrivate SearchFilterToolbarLabelToolItemPrivate;
enum  {
	SEARCH_FILTER_TOOLBAR_LABEL_TOOL_ITEM_0_PROPERTY,
	SEARCH_FILTER_TOOLBAR_LABEL_TOOL_ITEM_NUM_PROPERTIES
};
static GParamSpec* search_filter_toolbar_label_tool_item_properties[SEARCH_FILTER_TOOLBAR_LABEL_TOOL_ITEM_NUM_PROPERTIES];
typedef struct _SearchFilterToolbarToggleActionToolButtonPrivate SearchFilterToolbarToggleActionToolButtonPrivate;
enum  {
	SEARCH_FILTER_TOOLBAR_TOGGLE_ACTION_TOOL_BUTTON_0_PROPERTY,
	SEARCH_FILTER_TOOLBAR_TOGGLE_ACTION_TOOL_BUTTON_NUM_PROPERTIES
};
static GParamSpec* search_filter_toolbar_toggle_action_tool_button_properties[SEARCH_FILTER_TOOLBAR_TOGGLE_ACTION_TOOL_BUTTON_NUM_PROPERTIES];
typedef struct _SearchFilterToolbarSearchBoxPrivate SearchFilterToolbarSearchBoxPrivate;
enum  {
	SEARCH_FILTER_TOOLBAR_SEARCH_BOX_0_PROPERTY,
	SEARCH_FILTER_TOOLBAR_SEARCH_BOX_NUM_PROPERTIES
};
static GParamSpec* search_filter_toolbar_search_box_properties[SEARCH_FILTER_TOOLBAR_SEARCH_BOX_NUM_PROPERTIES];
typedef struct _SearchFilterToolbarRatingFilterButtonPrivate SearchFilterToolbarRatingFilterButtonPrivate;
enum  {
	SEARCH_FILTER_TOOLBAR_RATING_FILTER_BUTTON_0_PROPERTY,
	SEARCH_FILTER_TOOLBAR_RATING_FILTER_BUTTON_NUM_PROPERTIES
};
static GParamSpec* search_filter_toolbar_rating_filter_button_properties[SEARCH_FILTER_TOOLBAR_RATING_FILTER_BUTTON_NUM_PROPERTIES];
enum  {
	SEARCH_FILTER_TOOLBAR_SAVED_SEARCH_FILTER_BUTTON_0_PROPERTY,
	SEARCH_FILTER_TOOLBAR_SAVED_SEARCH_FILTER_BUTTON_NUM_PROPERTIES
};
static GParamSpec* search_filter_toolbar_saved_search_filter_button_properties[SEARCH_FILTER_TOOLBAR_SAVED_SEARCH_FILTER_BUTTON_NUM_PROPERTIES];
enum  {
	SEARCH_FILTER_TOOLBAR_SAVED_SEARCH_FILTER_BUTTON_CLICKED_SIGNAL,
	SEARCH_FILTER_TOOLBAR_SAVED_SEARCH_FILTER_BUTTON_NUM_SIGNALS
};
static guint search_filter_toolbar_saved_search_filter_button_signals[SEARCH_FILTER_TOOLBAR_SAVED_SEARCH_FILTER_BUTTON_NUM_SIGNALS] = {0};
typedef struct _SearchFilterToolbarSavedSearchPopoverPrivate SearchFilterToolbarSavedSearchPopoverPrivate;

#define SEARCH_FILTER_TOOLBAR_SAVED_SEARCH_POPOVER_TYPE_DATA_BUTTON (search_filter_toolbar_saved_search_popover_data_button_get_type ())
#define SEARCH_FILTER_TOOLBAR_SAVED_SEARCH_POPOVER_DATA_BUTTON(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SEARCH_FILTER_TOOLBAR_SAVED_SEARCH_POPOVER_TYPE_DATA_BUTTON, SearchFilterToolbarSavedSearchPopoverDataButton))
#define SEARCH_FILTER_TOOLBAR_SAVED_SEARCH_POPOVER_DATA_BUTTON_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SEARCH_FILTER_TOOLBAR_SAVED_SEARCH_POPOVER_TYPE_DATA_BUTTON, SearchFilterToolbarSavedSearchPopoverDataButtonClass))
#define SEARCH_FILTER_TOOLBAR_SAVED_SEARCH_POPOVER_IS_DATA_BUTTON(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SEARCH_FILTER_TOOLBAR_SAVED_SEARCH_POPOVER_TYPE_DATA_BUTTON))
#define SEARCH_FILTER_TOOLBAR_SAVED_SEARCH_POPOVER_IS_DATA_BUTTON_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SEARCH_FILTER_TOOLBAR_SAVED_SEARCH_POPOVER_TYPE_DATA_BUTTON))
#define SEARCH_FILTER_TOOLBAR_SAVED_SEARCH_POPOVER_DATA_BUTTON_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SEARCH_FILTER_TOOLBAR_SAVED_SEARCH_POPOVER_TYPE_DATA_BUTTON, SearchFilterToolbarSavedSearchPopoverDataButtonClass))

typedef struct _SearchFilterToolbarSavedSearchPopoverDataButton SearchFilterToolbarSavedSearchPopoverDataButton;
typedef struct _SearchFilterToolbarSavedSearchPopoverDataButtonClass SearchFilterToolbarSavedSearchPopoverDataButtonClass;

#define TYPE_SAVED_SEARCH_TABLE (saved_search_table_get_type ())
#define SAVED_SEARCH_TABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SAVED_SEARCH_TABLE, SavedSearchTable))
#define SAVED_SEARCH_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SAVED_SEARCH_TABLE, SavedSearchTableClass))
#define IS_SAVED_SEARCH_TABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SAVED_SEARCH_TABLE))
#define IS_SAVED_SEARCH_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SAVED_SEARCH_TABLE))
#define SAVED_SEARCH_TABLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SAVED_SEARCH_TABLE, SavedSearchTableClass))

typedef struct _SavedSearchTable SavedSearchTable;
typedef struct _SavedSearchTableClass SavedSearchTableClass;
#define _saved_search_table_unref0(var) ((var == NULL) ? NULL : (var = (saved_search_table_unref (var), NULL)))
#define _g_list_free0(var) ((var == NULL) ? NULL : (var = (g_list_free (var), NULL)))
typedef struct _SearchFilterToolbarSavedSearchPopoverDataButtonPrivate SearchFilterToolbarSavedSearchPopoverDataButtonPrivate;
enum  {
	SEARCH_FILTER_TOOLBAR_SAVED_SEARCH_POPOVER_DATA_BUTTON_0_PROPERTY,
	SEARCH_FILTER_TOOLBAR_SAVED_SEARCH_POPOVER_DATA_BUTTON_SEARCH_PROPERTY,
	SEARCH_FILTER_TOOLBAR_SAVED_SEARCH_POPOVER_DATA_BUTTON_NUM_PROPERTIES
};
static GParamSpec* search_filter_toolbar_saved_search_popover_data_button_properties[SEARCH_FILTER_TOOLBAR_SAVED_SEARCH_POPOVER_DATA_BUTTON_NUM_PROPERTIES];
enum  {
	SEARCH_FILTER_TOOLBAR_SAVED_SEARCH_POPOVER_DATA_BUTTON_CLICKED_SIGNAL,
	SEARCH_FILTER_TOOLBAR_SAVED_SEARCH_POPOVER_DATA_BUTTON_NUM_SIGNALS
};
static guint search_filter_toolbar_saved_search_popover_data_button_signals[SEARCH_FILTER_TOOLBAR_SAVED_SEARCH_POPOVER_DATA_BUTTON_NUM_SIGNALS] = {0};
typedef struct _SearchFilterToolbarParamSpecSavedSearchPopover SearchFilterToolbarParamSpecSavedSearchPopover;
enum  {
	SEARCH_FILTER_TOOLBAR_SAVED_SEARCH_POPOVER_SEARCH_ACTIVATED_SIGNAL,
	SEARCH_FILTER_TOOLBAR_SAVED_SEARCH_POPOVER_EDIT_CLICKED_SIGNAL,
	SEARCH_FILTER_TOOLBAR_SAVED_SEARCH_POPOVER_DELETE_CLICKED_SIGNAL,
	SEARCH_FILTER_TOOLBAR_SAVED_SEARCH_POPOVER_ADD_CLICKED_SIGNAL,
	SEARCH_FILTER_TOOLBAR_SAVED_SEARCH_POPOVER_CLOSED_SIGNAL,
	SEARCH_FILTER_TOOLBAR_SAVED_SEARCH_POPOVER_NUM_SIGNALS
};
static guint search_filter_toolbar_saved_search_popover_signals[SEARCH_FILTER_TOOLBAR_SAVED_SEARCH_POPOVER_NUM_SIGNALS] = {0};
#define _vala_assert(expr, msg) if G_LIKELY (expr) ; else g_assertion_message_expr (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, msg);
#define _vala_return_if_fail(expr, msg) if G_LIKELY (expr) ; else { g_return_if_fail_warning (G_LOG_DOMAIN, G_STRFUNC, msg); return; }
#define _vala_return_val_if_fail(expr, msg, val) if G_LIKELY (expr) ; else { g_return_if_fail_warning (G_LOG_DOMAIN, G_STRFUNC, msg); return val; }
#define _vala_warn_if_fail(expr, msg) if G_LIKELY (expr) ; else g_warn_message (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, msg);

typedef enum  {
	SEARCH_FILTER_CRITERIA_NONE = 0,
	SEARCH_FILTER_CRITERIA_RECURSIVE = 1 << 0,
	SEARCH_FILTER_CRITERIA_TEXT = 1 << 1,
	SEARCH_FILTER_CRITERIA_FLAG = 1 << 2,
	SEARCH_FILTER_CRITERIA_MEDIA = 1 << 3,
	SEARCH_FILTER_CRITERIA_RATING = 1 << 4,
	SEARCH_FILTER_CRITERIA_SAVEDSEARCH = 1 << 5,
	SEARCH_FILTER_CRITERIA_ALL = 0xFFFFFFFFLL
} SearchFilterCriteria;

typedef enum  {
	RATING_FILTER_NO_FILTER = 0,
	RATING_FILTER_REJECTED_OR_HIGHER = 1,
	RATING_FILTER_UNRATED_OR_HIGHER = 2,
	RATING_FILTER_ONE_OR_HIGHER = 3,
	RATING_FILTER_TWO_OR_HIGHER = 4,
	RATING_FILTER_THREE_OR_HIGHER = 5,
	RATING_FILTER_FOUR_OR_HIGHER = 6,
	RATING_FILTER_FIVE_OR_HIGHER = 7,
	RATING_FILTER_REJECTED_ONLY = 8,
	RATING_FILTER_UNRATED_ONLY = 9,
	RATING_FILTER_ONE_ONLY = 10,
	RATING_FILTER_TWO_ONLY = 11,
	RATING_FILTER_THREE_ONLY = 12,
	RATING_FILTER_FOUR_ONLY = 13,
	RATING_FILTER_FIVE_ONLY = 14
} RatingFilter;

struct _ViewFilter {
	GTypeInstance parent_instance;
	volatile int ref_count;
	ViewFilterPrivate * priv;
};

struct _ViewFilterClass {
	GTypeClass parent_class;
	void (*finalize) (ViewFilter *self);
	gboolean (*predicate) (ViewFilter* self, DataView* view);
	void (*refresh) (ViewFilter* self);
};

struct _SearchViewFilter {
	ViewFilter parent_instance;
	SearchViewFilterPrivate * priv;
};

struct _SearchViewFilterClass {
	ViewFilterClass parent_class;
	guint (*get_criteria) (SearchViewFilter* self);
};

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

struct _SearchViewFilterPrivate {
	gboolean rating_allow_higher;
	Rating rating;
	RatingFilter rating_filter;
	gboolean _flagged;
	gboolean _show_media_video;
	gboolean _show_media_photos;
	gboolean _show_media_raw;
	gchar* search_filter;
	gchar** search_filter_words;
	gint search_filter_words_length1;
	gint _search_filter_words_size_;
	SavedSearch* _saved_search;
};

struct _DefaultSearchViewFilter {
	SearchViewFilter parent_instance;
	DefaultSearchViewFilterPrivate * priv;
};

struct _DefaultSearchViewFilterClass {
	SearchViewFilterClass parent_class;
};

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

typedef enum  {
	PHOTO_FILE_FORMAT_JFIF,
	PHOTO_FILE_FORMAT_RAW,
	PHOTO_FILE_FORMAT_PNG,
	PHOTO_FILE_FORMAT_TIFF,
	PHOTO_FILE_FORMAT_BMP,
	PHOTO_FILE_FORMAT_UNKNOWN
} PhotoFileFormat;

struct _IndexableIface {
	GTypeInterface parent_iface;
	const gchar* (*get_indexable_keywords) (Indexable* self);
};

struct _DisabledViewFilter {
	SearchViewFilter parent_instance;
	DisabledViewFilterPrivate * priv;
};

struct _DisabledViewFilterClass {
	SearchViewFilterClass parent_class;
};

struct _TextAction {
	GTypeInstance parent_instance;
	volatile int ref_count;
	TextActionPrivate * priv;
};

struct _TextActionClass {
	GTypeClass parent_class;
	void (*finalize) (TextAction *self);
};

struct _TextActionPrivate {
	gchar* text;
	gboolean sensitive;
	gboolean visible;
};

struct _ParamSpecTextAction {
	GParamSpec parent_instance;
};

struct _SearchFilterActions {
	GTypeInstance parent_instance;
	volatile int ref_count;
	SearchFilterActionsPrivate * priv;
};

struct _SearchFilterActionsClass {
	GTypeClass parent_class;
	void (*finalize) (SearchFilterActions *self);
};

struct _SearchFilterActionsPrivate {
	SearchFilterCriteria criteria;
	TextAction* _text;
	gboolean has_flagged;
	gboolean has_photos;
	gboolean has_videos;
	gboolean has_raw;
	gboolean can_filter_by_stars;
};

struct _CoreTracker {
	GTypeInstance parent_instance;
	volatile int ref_count;
	CoreTrackerPrivate * priv;
};

struct _CoreTrackerClass {
	GTypeClass parent_class;
	void (*finalize) (CoreTracker *self);
	void (*updated) (CoreTracker* self);
};

struct _CoreViewTracker {
	CoreTracker parent_instance;
	CoreViewTrackerPrivate * priv;
};

struct _CoreViewTrackerClass {
	CoreTrackerClass parent_class;
};

struct _MediaViewTracker {
	CoreViewTracker parent_instance;
	MediaViewTrackerPrivate * priv;
	MediaAccumulator* all;
	MediaAccumulator* visible;
	MediaAccumulator* selected;
};

struct _MediaViewTrackerClass {
	CoreViewTrackerClass parent_class;
};

struct _CoreTrackerAccumulatorIface {
	GTypeInterface parent_iface;
	gboolean (*include) (CoreTrackerAccumulator* self, DataObject* object);
	gboolean (*uninclude) (CoreTrackerAccumulator* self, DataObject* object);
	gboolean (*altered) (CoreTrackerAccumulator* self, DataObject* object, Alteration* alteration);
};

struct _MediaAccumulator {
	GObject parent_instance;
	MediaAccumulatorPrivate * priv;
	gint total;
	gint photos;
	gint videos;
	gint raw;
	gint flagged;
};

struct _MediaAccumulatorClass {
	GObjectClass parent_class;
};

struct _CameraViewTracker {
	CoreViewTracker parent_instance;
	CameraViewTrackerPrivate * priv;
	CameraAccumulator* all;
	CameraAccumulator* visible;
	CameraAccumulator* selected;
};

struct _CameraViewTrackerClass {
	CoreViewTrackerClass parent_class;
};

struct _ParamSpecSearchFilterActions {
	GParamSpec parent_instance;
};

struct _SearchFilterToolbar {
	GtkRevealer parent_instance;
	SearchFilterToolbarPrivate * priv;
	GtkBuilder* builder;
};

struct _SearchFilterToolbarClass {
	GtkRevealerClass parent_class;
};

struct _SearchFilterToolbarPrivate {
	GtkToolbar* toolbar;
	GtkMenu* close_menu;
	GtkMenuItem* close_item;
	SearchFilterActions* actions;
	SavedSearch* saved_search;
	SearchFilterToolbarSearchBox* search_box;
	SearchFilterToolbarRatingFilterButton* rating_button;
	SearchFilterToolbarSavedSearchFilterButton* saved_search_button;
	gboolean elide_showing_again;
	SearchViewFilter* search_filter;
	SearchFilterToolbarLabelToolItem* label_type;
	SearchFilterToolbarToggleActionToolButton* toolbtn_photos;
	SearchFilterToolbarToggleActionToolButton* toolbtn_videos;
	SearchFilterToolbarToggleActionToolButton* toolbtn_raw;
	SearchFilterToolbarToggleActionToolButton* toolbtn_flag;
	GtkSeparatorToolItem* sepr_mediatype_flagged;
	GtkSeparatorToolItem* sepr_flagged_rating;
	GtkSeparatorToolItem* sepr_rating_saved;
};

struct _SearchFilterToolbarSavedSearchFilterButton {
	GtkToolItem parent_instance;
	SearchFilterToolbarSavedSearchFilterButtonPrivate * priv;
	SearchFilterToolbarSavedSearchPopover* filter_popup;
	GtkToggleButton* button;
};

struct _SearchFilterToolbarSavedSearchFilterButtonClass {
	GtkToolItemClass parent_class;
};

struct _SearchFilterToolbarLabelToolItem {
	GtkToolItem parent_instance;
	SearchFilterToolbarLabelToolItemPrivate * priv;
};

struct _SearchFilterToolbarLabelToolItemClass {
	GtkToolItemClass parent_class;
};

struct _SearchFilterToolbarLabelToolItemPrivate {
	GtkLabel* label;
};

struct _SearchFilterToolbarToggleActionToolButton {
	GtkToolItem parent_instance;
	SearchFilterToolbarToggleActionToolButtonPrivate * priv;
};

struct _SearchFilterToolbarToggleActionToolButtonClass {
	GtkToolItemClass parent_class;
};

struct _SearchFilterToolbarToggleActionToolButtonPrivate {
	GtkToggleButton* button;
};

struct _SearchFilterToolbarSearchBox {
	GtkToolItem parent_instance;
	SearchFilterToolbarSearchBoxPrivate * priv;
};

struct _SearchFilterToolbarSearchBoxClass {
	GtkToolItemClass parent_class;
};

struct _SearchFilterToolbarSearchBoxPrivate {
	GtkSearchEntry* search_entry;
	TextAction* action;
};

struct _SearchFilterToolbarRatingFilterButton {
	GtkToolItem parent_instance;
	SearchFilterToolbarRatingFilterButtonPrivate * priv;
	GtkMenuButton* button;
};

struct _SearchFilterToolbarRatingFilterButtonClass {
	GtkToolItemClass parent_class;
};

struct _SearchFilterToolbarSavedSearchPopover {
	GTypeInstance parent_instance;
	volatile int ref_count;
	SearchFilterToolbarSavedSearchPopoverPrivate * priv;
};

struct _SearchFilterToolbarSavedSearchPopoverClass {
	GTypeClass parent_class;
	void (*finalize) (SearchFilterToolbarSavedSearchPopover *self);
};

struct _SearchFilterToolbarSavedSearchPopoverPrivate {
	GtkPopover* popover;
	GtkListBox* list_box;
	SearchFilterToolbarSavedSearchPopoverDataButton** edit_buttons;
	gint edit_buttons_length1;
	gint _edit_buttons_size_;
	SearchFilterToolbarSavedSearchPopoverDataButton** delete_buttons;
	gint delete_buttons_length1;
	gint _delete_buttons_size_;
	GtkButton* add;
};

struct _SearchFilterToolbarSavedSearchPopoverDataButton {
	GtkBin parent_instance;
	SearchFilterToolbarSavedSearchPopoverDataButtonPrivate * priv;
};

struct _SearchFilterToolbarSavedSearchPopoverDataButtonClass {
	GtkBinClass parent_class;
};

struct _SearchFilterToolbarSavedSearchPopoverDataButtonPrivate {
	GtkButton* button;
	SavedSearch* _search;
};

struct _SearchFilterToolbarParamSpecSavedSearchPopover {
	GParamSpec parent_instance;
};


static gpointer search_view_filter_parent_class = NULL;
static gpointer default_search_view_filter_parent_class = NULL;
extern TagSourceCollection* tag_global;
static gpointer disabled_view_filter_parent_class = NULL;
static gpointer text_action_parent_class = NULL;
static gpointer search_filter_actions_parent_class = NULL;
static gpointer search_filter_toolbar_parent_class = NULL;
static gpointer search_filter_toolbar_label_tool_item_parent_class = NULL;
static gpointer search_filter_toolbar_toggle_action_tool_button_parent_class = NULL;
static gpointer search_filter_toolbar_search_box_parent_class = NULL;
static gpointer search_filter_toolbar_rating_filter_button_parent_class = NULL;
static gpointer search_filter_toolbar_saved_search_filter_button_parent_class = NULL;
static gpointer search_filter_toolbar_saved_search_popover_parent_class = NULL;
static gpointer search_filter_toolbar_saved_search_popover_data_button_parent_class = NULL;

GType search_filter_criteria_get_type (void) G_GNUC_CONST;
GType rating_filter_get_type (void) G_GNUC_CONST;
gpointer view_filter_ref (gpointer instance);
void view_filter_unref (gpointer instance);
GParamSpec* param_spec_view_filter (const gchar* name,
                                    const gchar* nick,
                                    const gchar* blurb,
                                    GType object_type,
                                    GParamFlags flags);
void value_set_view_filter (GValue* value,
                            gpointer v_object);
void value_take_view_filter (GValue* value,
                             gpointer v_object);
gpointer value_get_view_filter (const GValue* value);
GType view_filter_get_type (void) G_GNUC_CONST;
GType data_object_get_type (void) G_GNUC_CONST;
GType data_view_get_type (void) G_GNUC_CONST;
GType search_view_filter_get_type (void) G_GNUC_CONST;
GType rating_get_type (void) G_GNUC_CONST;
GType data_source_get_type (void) G_GNUC_CONST;
GType saved_search_get_type (void) G_GNUC_CONST;
#define SEARCH_VIEW_FILTER_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_SEARCH_VIEW_FILTER, SearchViewFilterPrivate))
guint search_view_filter_get_criteria (SearchViewFilter* self);
static guint search_view_filter_real_get_criteria (SearchViewFilter* self);
void search_view_filter_set_rating_filter (SearchViewFilter* self,
                                           RatingFilter rf);
gboolean search_view_filter_has_search_filter (SearchViewFilter* self);
gboolean is_string_empty (const gchar* s);
const gchar* search_view_filter_get_search_filter (SearchViewFilter* self);
gchar** search_view_filter_get_search_filter_words (SearchViewFilter* self,
                                                    int* result_length1);
void search_view_filter_set_search_filter (SearchViewFilter* self,
                                           const gchar* text);
static gchar** _vala_array_dup27 (gchar** self,
                           int length);
void search_view_filter_clear_search_filter (SearchViewFilter* self);
gboolean search_view_filter_has_saved_search (SearchViewFilter* self);
SavedSearch* search_view_filter_get_saved_search (SearchViewFilter* self);
gboolean search_view_filter_get_rating_allow_higher (SearchViewFilter* self);
Rating search_view_filter_get_rating (SearchViewFilter* self);
gboolean search_view_filter_filter_by_media_type (SearchViewFilter* self);
gboolean search_view_filter_get_show_media_video (SearchViewFilter* self);
gboolean search_view_filter_get_show_media_photos (SearchViewFilter* self);
gboolean search_view_filter_get_show_media_raw (SearchViewFilter* self);
SearchViewFilter* search_view_filter_construct (GType object_type);
ViewFilter* view_filter_construct (GType object_type);
gboolean search_view_filter_get_flagged (SearchViewFilter* self);
void search_view_filter_set_flagged (SearchViewFilter* self,
                                     gboolean value);
void search_view_filter_set_show_media_video (SearchViewFilter* self,
                                              gboolean value);
void search_view_filter_set_show_media_photos (SearchViewFilter* self,
                                               gboolean value);
void search_view_filter_set_show_media_raw (SearchViewFilter* self,
                                            gboolean value);
void search_view_filter_set_saved_search (SearchViewFilter* self,
                                          SavedSearch* value);
static void search_view_filter_finalize (ViewFilter * obj);
GType default_search_view_filter_get_type (void) G_GNUC_CONST;
static gboolean default_search_view_filter_real_predicate (ViewFilter* base,
                                                    DataView* view);
GType thumbnail_source_get_type (void) G_GNUC_CONST;
GType media_source_get_type (void) G_GNUC_CONST;
GType thumbnail_view_get_type (void) G_GNUC_CONST;
GType checkerboard_item_get_type (void) G_GNUC_CONST;
GType media_source_item_get_type (void) G_GNUC_CONST;
GType thumbnail_get_type (void) G_GNUC_CONST;
MediaSource* thumbnail_get_media_source (Thumbnail* self);
Rating media_source_get_rating (MediaSource* self);
GType flaggable_get_type (void) G_GNUC_CONST;
gboolean flaggable_is_flagged (Flaggable* self);
GType video_source_get_type (void) G_GNUC_CONST;
GType photo_source_get_type (void) G_GNUC_CONST;
GType photo_get_type (void) G_GNUC_CONST;
GType photo_file_format_get_type (void) G_GNUC_CONST;
PhotoFileFormat photo_get_master_file_format (Photo* self);
GType indexable_get_type (void) G_GNUC_CONST;
const gchar* indexable_get_indexable_keywords (Indexable* self);
GType event_source_get_type (void) G_GNUC_CONST;
GType event_get_type (void) G_GNUC_CONST;
Event* media_source_get_event (MediaSource* self);
GType tag_get_type (void) G_GNUC_CONST;
gpointer data_collection_ref (gpointer instance);
void data_collection_unref (gpointer instance);
GParamSpec* param_spec_data_collection (const gchar* name,
                                        const gchar* nick,
                                        const gchar* blurb,
                                        GType object_type,
                                        GParamFlags flags);
void value_set_data_collection (GValue* value,
                                gpointer v_object);
void value_take_data_collection (GValue* value,
                                 gpointer v_object);
gpointer value_get_data_collection (const GValue* value);
GType data_collection_get_type (void) G_GNUC_CONST;
GType source_collection_get_type (void) G_GNUC_CONST;
GType database_source_collection_get_type (void) G_GNUC_CONST;
GType container_source_collection_get_type (void) G_GNUC_CONST;
GType tag_source_collection_get_type (void) G_GNUC_CONST;
GeeList* tag_source_collection_fetch_for_source (TagSourceCollection* self,
                                                 MediaSource* source);
gboolean saved_search_predicate (SavedSearch* self,
                                 MediaSource* source);
DefaultSearchViewFilter* default_search_view_filter_construct (GType object_type);
GType disabled_view_filter_get_type (void) G_GNUC_CONST;
static gboolean disabled_view_filter_real_predicate (ViewFilter* base,
                                              DataView* view);
static guint disabled_view_filter_real_get_criteria (SearchViewFilter* base);
DisabledViewFilter* disabled_view_filter_new (void);
DisabledViewFilter* disabled_view_filter_construct (GType object_type);
gpointer text_action_ref (gpointer instance);
void text_action_unref (gpointer instance);
GParamSpec* param_spec_text_action (const gchar* name,
                                    const gchar* nick,
                                    const gchar* blurb,
                                    GType object_type,
                                    GParamFlags flags);
void value_set_text_action (GValue* value,
                            gpointer v_object);
void value_take_text_action (GValue* value,
                             gpointer v_object);
gpointer value_get_text_action (const GValue* value);
GType text_action_get_type (void) G_GNUC_CONST;
#define TEXT_ACTION_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_TEXT_ACTION, TextActionPrivate))
TextAction* text_action_new (const gchar* init);
TextAction* text_action_construct (GType object_type,
                                   const gchar* init);
void text_action_set_text (TextAction* self,
                           const gchar* text);
void text_action_clear (TextAction* self);
gboolean text_action_is_sensitive (TextAction* self);
void text_action_set_sensitive (TextAction* self,
                                gboolean sensitive);
gboolean text_action_is_visible (TextAction* self);
void text_action_set_visible (TextAction* self,
                              gboolean visible);
const gchar* text_action_get_value (TextAction* self);
static void text_action_finalize (TextAction * obj);
gpointer search_filter_actions_ref (gpointer instance);
void search_filter_actions_unref (gpointer instance);
GParamSpec* param_spec_search_filter_actions (const gchar* name,
                                              const gchar* nick,
                                              const gchar* blurb,
                                              GType object_type,
                                              GParamFlags flags);
void value_set_search_filter_actions (GValue* value,
                                      gpointer v_object);
void value_take_search_filter_actions (GValue* value,
                                       gpointer v_object);
gpointer value_get_search_filter_actions (const GValue* value);
GType search_filter_actions_get_type (void) G_GNUC_CONST;
#define SEARCH_FILTER_ACTIONS_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_SEARCH_FILTER_ACTIONS, SearchFilterActionsPrivate))
static void search_filter_actions_on_action_radio (SearchFilterActions* self,
                                            GSimpleAction* action,
                                            GVariant* parameter);
static void _search_filter_actions_on_action_radio_gsimple_action_activate_callback (GSimpleAction* action,
                                                                              GVariant* parameter,
                                                                              gpointer self);
static void search_filter_actions_on_rating_changed (SearchFilterActions* self,
                                              GSimpleAction* action,
                                              GVariant* value);
static void _search_filter_actions_on_rating_changed_gsimple_action_change_state_callback (GSimpleAction* action,
                                                                                    GVariant* value,
                                                                                    gpointer self);
static void search_filter_actions_on_action_toggle (SearchFilterActions* self,
                                             GSimpleAction* action,
                                             GVariant* parameter);
static void _search_filter_actions_on_action_toggle_gsimple_action_activate_callback (GSimpleAction* action,
                                                                               GVariant* parameter,
                                                                               gpointer self);
static void search_filter_actions_on_flagged_toggled (SearchFilterActions* self,
                                               GSimpleAction* action,
                                               GVariant* value);
static void _search_filter_actions_on_flagged_toggled_gsimple_action_change_state_callback (GSimpleAction* action,
                                                                                     GVariant* value,
                                                                                     gpointer self);
static void search_filter_actions_on_photos_toggled (SearchFilterActions* self,
                                              GSimpleAction* action,
                                              GVariant* value);
static void _search_filter_actions_on_photos_toggled_gsimple_action_change_state_callback (GSimpleAction* action,
                                                                                    GVariant* value,
                                                                                    gpointer self);
static void search_filter_actions_on_videos_toggled (SearchFilterActions* self,
                                              GSimpleAction* action,
                                              GVariant* value);
static void _search_filter_actions_on_videos_toggled_gsimple_action_change_state_callback (GSimpleAction* action,
                                                                                    GVariant* value,
                                                                                    gpointer self);
static void search_filter_actions_on_raw_toggled (SearchFilterActions* self,
                                           GSimpleAction* action,
                                           GVariant* value);
static void _search_filter_actions_on_raw_toggled_gsimple_action_change_state_callback (GSimpleAction* action,
                                                                                 GVariant* value,
                                                                                 gpointer self);
SearchFilterActions* search_filter_actions_new (void);
SearchFilterActions* search_filter_actions_construct (GType object_type);
static void search_filter_actions_register (SearchFilterActions* self);
TextAction* search_filter_actions_get_text (SearchFilterActions* self);
static void search_filter_actions_on_text_changed (SearchFilterActions* self,
                                            TextAction* action,
                                            const gchar* text);
static void _search_filter_actions_on_text_changed_text_action_text_changed (TextAction* _sender,
                                                                      const gchar* text,
                                                                      gpointer self);
SearchFilterCriteria search_filter_actions_get_criteria (SearchFilterActions* self);
GActionEntry* search_filter_actions_get_actions (SearchFilterActions* self,
                                                 int* result_length1);
GSimpleAction* search_filter_actions_get_action (SearchFilterActions* self,
                                                 const gchar* name);
GType page_window_get_type (void) G_GNUC_CONST;
GType app_window_get_type (void) G_GNUC_CONST;
GType library_window_get_type (void) G_GNUC_CONST;
AppWindow* app_window_get_instance (void);
void search_filter_actions_set_action_sensitive (SearchFilterActions* self,
                                                 const gchar* name,
                                                 gboolean sensitive);
void search_filter_actions_reset (SearchFilterActions* self);
GSimpleAction* search_filter_actions_get_flagged (SearchFilterActions* self);
static GVariant* _variant_new32 (gboolean value);
GSimpleAction* search_filter_actions_get_photos (SearchFilterActions* self);
static GVariant* _variant_new33 (gboolean value);
GSimpleAction* search_filter_actions_get_raw (SearchFilterActions* self);
static GVariant* _variant_new34 (gboolean value);
GSimpleAction* search_filter_actions_get_videos (SearchFilterActions* self);
static GVariant* _variant_new35 (gboolean value);
static GVariant* _variant_new36 (gchar* value);
GSimpleAction* search_filter_actions_get_rating (SearchFilterActions* self);
void search_filter_actions_set_sensitive_for_search_criteria (SearchFilterActions* self,
                                                              SearchFilterCriteria criteria);
static void search_filter_actions_update_sensitivities (SearchFilterActions* self);
GType page_get_type (void) G_GNUC_CONST;
void search_filter_actions_monitor_page_contents (SearchFilterActions* self,
                                                  Page* old_page,
                                                  Page* new_page);
GType checkerboard_page_get_type (void) G_GNUC_CONST;
gpointer core_tracker_ref (gpointer instance);
void core_tracker_unref (gpointer instance);
GParamSpec* core_param_spec_tracker (const gchar* name,
                                     const gchar* nick,
                                     const gchar* blurb,
                                     GType object_type,
                                     GParamFlags flags);
void core_value_set_tracker (GValue* value,
                             gpointer v_object);
void core_value_take_tracker (GValue* value,
                              gpointer v_object);
gpointer core_value_get_tracker (const GValue* value);
GType core_tracker_get_type (void) G_GNUC_CONST;
GType core_view_tracker_get_type (void) G_GNUC_CONST;
CoreViewTracker* checkerboard_page_get_view_tracker (CheckerboardPage* self);
GType media_view_tracker_get_type (void) G_GNUC_CONST;
static void search_filter_actions_on_media_tracker_updated (SearchFilterActions* self,
                                                     CoreTracker* t);
static void _search_filter_actions_on_media_tracker_updated_core_tracker_updated (CoreTracker* _sender,
                                                                           gpointer self);
GType camera_view_tracker_get_type (void) G_GNUC_CONST;
static void search_filter_actions_on_camera_tracker_updated (SearchFilterActions* self,
                                                      CoreTracker* t);
static void _search_filter_actions_on_camera_tracker_updated_core_tracker_updated (CoreTracker* _sender,
                                                                            gpointer self);
GType media_accumulator_get_type (void) G_GNUC_CONST;
gpointer alteration_ref (gpointer instance);
void alteration_unref (gpointer instance);
GParamSpec* param_spec_alteration (const gchar* name,
                                   const gchar* nick,
                                   const gchar* blurb,
                                   GType object_type,
                                   GParamFlags flags);
void value_set_alteration (GValue* value,
                           gpointer v_object);
void value_take_alteration (GValue* value,
                            gpointer v_object);
gpointer value_get_alteration (const GValue* value);
GType alteration_get_type (void) G_GNUC_CONST;
GType core_tracker_accumulator_get_type (void) G_GNUC_CONST;
GType camera_accumulator_get_type (void) G_GNUC_CONST;
gint camera_accumulator_get_photos (CameraAccumulator* self);
gint camera_accumulator_get_videos (CameraAccumulator* self);
gint camera_accumulator_get_raw (CameraAccumulator* self);
static gboolean _variant_get37 (GVariant* value);
static GVariant* _variant_new38 (gboolean value);
gboolean search_filter_actions_get_has_photos (SearchFilterActions* self);
gboolean search_filter_actions_get_has_videos (SearchFilterActions* self);
gboolean search_filter_actions_get_has_raw (SearchFilterActions* self);
gboolean search_filter_actions_get_has_flagged (SearchFilterActions* self);
static void g_cclosure_user_marshal_VOID__BOOLEAN_BOOLEAN_BOOLEAN_BOOLEAN (GClosure * closure,
                                                                    GValue * return_value,
                                                                    guint n_param_values,
                                                                    const GValue * param_values,
                                                                    gpointer invocation_hint,
                                                                    gpointer marshal_data);
static void search_filter_actions_finalize (SearchFilterActions * obj);
GType search_filter_toolbar_get_type (void) G_GNUC_CONST;
GType search_filter_toolbar_search_box_get_type (void) G_GNUC_CONST;
GType search_filter_toolbar_rating_filter_button_get_type (void) G_GNUC_CONST;
GType search_filter_toolbar_saved_search_filter_button_get_type (void) G_GNUC_CONST;
static GType search_filter_toolbar_label_tool_item_get_type (void) G_GNUC_CONST G_GNUC_UNUSED;
static GType search_filter_toolbar_toggle_action_tool_button_get_type (void) G_GNUC_CONST G_GNUC_UNUSED;
#define SEARCH_FILTER_TOOLBAR_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_SEARCH_FILTER_TOOLBAR, SearchFilterToolbarPrivate))
static void search_filter_toolbar_on_media_context_changed (SearchFilterToolbar* self,
                                                     gboolean has_photos,
                                                     gboolean has_videos,
                                                     gboolean has_raw,
                                                     gboolean has_flagged);
static void _search_filter_toolbar_on_media_context_changed_search_filter_actions_media_context_changed (SearchFilterActions* _sender,
                                                                                                  gboolean has_photos,
                                                                                                  gboolean has_videos,
                                                                                                  gboolean has_raw,
                                                                                                  gboolean has_flagged,
                                                                                                  gpointer self);
static void search_filter_toolbar_on_flagged_toggled (SearchFilterToolbar* self);
static void _search_filter_toolbar_on_flagged_toggled_search_filter_actions_flagged_toggled (SearchFilterActions* _sender,
                                                                                      gboolean on,
                                                                                      gpointer self);
static void search_filter_toolbar_on_photos_toggled (SearchFilterToolbar* self);
static void _search_filter_toolbar_on_photos_toggled_search_filter_actions_photos_toggled (SearchFilterActions* _sender,
                                                                                    gboolean on,
                                                                                    gpointer self);
static void search_filter_toolbar_on_videos_toggled (SearchFilterToolbar* self);
static void _search_filter_toolbar_on_videos_toggled_search_filter_actions_videos_toggled (SearchFilterActions* _sender,
                                                                                    gboolean on,
                                                                                    gpointer self);
static void search_filter_toolbar_on_raw_toggled (SearchFilterToolbar* self);
static void _search_filter_toolbar_on_raw_toggled_search_filter_actions_raw_toggled (SearchFilterActions* _sender,
                                                                              gboolean on,
                                                                              gpointer self);
static void search_filter_toolbar_on_rating_changed (SearchFilterToolbar* self);
static void _search_filter_toolbar_on_rating_changed_search_filter_actions_rating_changed (SearchFilterActions* _sender,
                                                                                    RatingFilter filter,
                                                                                    gpointer self);
static void search_filter_toolbar_on_search_text_changed (SearchFilterToolbar* self);
static void _search_filter_toolbar_on_search_text_changed_search_filter_actions_text_changed (SearchFilterActions* _sender,
                                                                                       const gchar* text,
                                                                                       gpointer self);
static void search_filter_toolbar_on_criteria_changed (SearchFilterToolbar* self);
static void _search_filter_toolbar_on_criteria_changed_search_filter_actions_criteria_changed (SearchFilterActions* _sender,
                                                                                        gpointer self);
static gboolean search_filter_toolbar_on_context_menu_requested (SearchFilterToolbar* self,
                                                          gint x,
                                                          gint y,
                                                          gint button);
static gboolean _search_filter_toolbar_on_context_menu_requested_gtk_toolbar_popup_context_menu (GtkToolbar* _sender,
                                                                                          gint x,
                                                                                          gint y,
                                                                                          gint button_number,
                                                                                          gpointer self);
SearchFilterToolbarSavedSearchFilterButton* search_filter_toolbar_saved_search_filter_button_new (void);
SearchFilterToolbarSavedSearchFilterButton* search_filter_toolbar_saved_search_filter_button_construct (GType object_type);
#define SEARCH_FILTER_TOOLBAR_FILTER_BUTTON_MARGIN 12
#define SEARCH_FILTER_TOOLBAR_FILTER_ICON_STAR_SCALE 0.65f
#define SEARCH_FILTER_TOOLBAR_FILTER_ICON_SCALE 0.75f
#define SEARCH_FILTER_TOOLBAR_FILTER_ICON_BASE_WIDTH 30
#define SEARCH_FILTER_TOOLBAR_FILTER_ICON_PLUS_WIDTH 20
SearchFilterToolbar* search_filter_toolbar_new (SearchFilterActions* actions);
SearchFilterToolbar* search_filter_toolbar_construct (GType object_type,
                                                      SearchFilterActions* actions);
SearchFilterToolbarSearchBox* search_filter_toolbar_search_box_new (TextAction* action);
SearchFilterToolbarSearchBox* search_filter_toolbar_search_box_construct (GType object_type,
                                                                          TextAction* action);
gchar* resources_get_ui (const gchar* filename);
void app_window_panic (const gchar* msg);
static void search_filter_toolbar_on_context_menu_close_chosen (SearchFilterToolbar* self);
static void _search_filter_toolbar_on_context_menu_close_chosen_gtk_menu_item_activate (GtkMenuItem* _sender,
                                                                                 gpointer self);
static SearchFilterToolbarLabelToolItem* search_filter_toolbar_label_tool_item_new (const gchar* s,
                                                                             gint left_padding,
                                                                             gint right_padding);
static SearchFilterToolbarLabelToolItem* search_filter_toolbar_label_tool_item_construct (GType object_type,
                                                                                   const gchar* s,
                                                                                   gint left_padding,
                                                                                   gint right_padding);
static SearchFilterToolbarToggleActionToolButton* search_filter_toolbar_toggle_action_tool_button_new (const gchar* action);
static SearchFilterToolbarToggleActionToolButton* search_filter_toolbar_toggle_action_tool_button_construct (GType object_type,
                                                                                                      const gchar* action);
static void search_filter_toolbar_toggle_action_tool_button_set_label (SearchFilterToolbarToggleActionToolButton* self,
                                                                const gchar* label);
SearchFilterToolbarRatingFilterButton* search_filter_toolbar_rating_filter_button_new (GMenuModel* model);
SearchFilterToolbarRatingFilterButton* search_filter_toolbar_rating_filter_button_construct (GType object_type,
                                                                                             GMenuModel* model);
void search_filter_toolbar_rating_filter_button_set_label (SearchFilterToolbarRatingFilterButton* self,
                                                           const gchar* label);
void search_filter_toolbar_saved_search_filter_button_set_label (SearchFilterToolbarSavedSearchFilterButton* self,
                                                                 const gchar* label);
static void search_filter_toolbar_on_saved_search_button_clicked (SearchFilterToolbar* self);
static void _search_filter_toolbar_on_saved_search_button_clicked_search_filter_toolbar_saved_search_filter_button_clicked (SearchFilterToolbarSavedSearchFilterButton* _sender,
                                                                                                                     gpointer self);
static void search_filter_toolbar_toggle_action_tool_button_set_icon_name (SearchFilterToolbarToggleActionToolButton* self,
                                                                    const gchar* icon_name);
#define RESOURCES_ICON_FILTER_PHOTOS "filter-photos"
#define RESOURCES_ICON_FILTER_PHOTOS_DISABLED "filter-photos-disabled"
#define RESOURCES_ICON_FILTER_VIDEOS "filter-videos"
#define RESOURCES_ICON_FILTER_VIDEOS_DISABLED "filter-videos-disabled"
#define RESOURCES_ICON_FILTER_RAW "filter-raw"
#define RESOURCES_ICON_FILTER_RAW_DISABLED "filter-raw-disabled"
#define RESOURCES_ICON_FILTER_FLAGGED "filter-flagged"
#define RESOURCES_ICON_FILTER_FLAGGED_DISABLED "filter-flagged-disabled"
LibraryWindow* library_window_get_app (void);
static GVariant* _variant_new39 (gboolean value);
void search_filter_toolbar_update (SearchFilterToolbar* self);
static GVariant* _variant_new40 (gboolean value);
void search_filter_toolbar_set_view_filter (SearchFilterToolbar* self,
                                            SearchViewFilter* search_filter);
void search_filter_toolbar_unset_view_filter (SearchFilterToolbar* self);
void library_window_show_search_bar (LibraryWindow* self,
                                     gboolean display);
void search_filter_toolbar_rating_filter_button_set_filter_icon (SearchFilterToolbarRatingFilterButton* self,
                                                                 RatingFilter filter);
static void search_filter_toolbar_on_savedsearch_selected (SearchFilterToolbar* self,
                                                    SavedSearch* saved_search);
static void search_filter_toolbar_disable_savedsearch (SearchFilterToolbar* self);
static void search_filter_toolbar_edit_dialog (SearchFilterToolbar* self,
                                        SavedSearch* search);
gpointer search_filter_toolbar_saved_search_popover_ref (gpointer instance);
void search_filter_toolbar_saved_search_popover_unref (gpointer instance);
GParamSpec* search_filter_toolbar_param_spec_saved_search_popover (const gchar* name,
                                                                   const gchar* nick,
                                                                   const gchar* blurb,
                                                                   GType object_type,
                                                                   GParamFlags flags);
void search_filter_toolbar_value_set_saved_search_popover (GValue* value,
                                                           gpointer v_object);
void search_filter_toolbar_value_take_saved_search_popover (GValue* value,
                                                            gpointer v_object);
gpointer search_filter_toolbar_value_get_saved_search_popover (const GValue* value);
GType search_filter_toolbar_saved_search_popover_get_type (void) G_GNUC_CONST;
void search_filter_toolbar_saved_search_popover_hide (SearchFilterToolbarSavedSearchPopover* self);
GType saved_search_dialog_get_type (void) G_GNUC_CONST;
SavedSearchDialog* saved_search_dialog_new_edit_existing (SavedSearch* saved_search);
SavedSearchDialog* saved_search_dialog_construct_edit_existing (GType object_type,
                                                                SavedSearch* saved_search);
void saved_search_dialog_show (SavedSearchDialog* self);
static void search_filter_toolbar_delete_dialog (SearchFilterToolbar* self,
                                          SavedSearch* search);
gboolean dialogs_confirm_delete_saved_search (SavedSearch* search);
gpointer command_manager_ref (gpointer instance);
void command_manager_unref (gpointer instance);
GParamSpec* param_spec_command_manager (const gchar* name,
                                        const gchar* nick,
                                        const gchar* blurb,
                                        GType object_type,
                                        GParamFlags flags);
void value_set_command_manager (GValue* value,
                                gpointer v_object);
void value_take_command_manager (GValue* value,
                                 gpointer v_object);
gpointer value_get_command_manager (const GValue* value);
GType command_manager_get_type (void) G_GNUC_CONST;
CommandManager* app_window_get_command_manager (void);
GType command_get_type (void) G_GNUC_CONST;
void command_manager_execute (CommandManager* self,
                              Command* command);
DeleteSavedSearchCommand* delete_saved_search_command_new (SavedSearch* search);
DeleteSavedSearchCommand* delete_saved_search_command_construct (GType object_type,
                                                                 SavedSearch* search);
GType page_command_get_type (void) G_GNUC_CONST;
GType single_data_source_command_get_type (void) G_GNUC_CONST;
GType delete_saved_search_command_get_type (void) G_GNUC_CONST;
static void search_filter_toolbar_add_dialog (SearchFilterToolbar* self);
SavedSearchDialog* saved_search_dialog_new (void);
SavedSearchDialog* saved_search_dialog_construct (GType object_type);
static void search_filter_toolbar_on_popover_closed (SearchFilterToolbar* self);
void search_filter_toolbar_saved_search_filter_button_set_active (SearchFilterToolbarSavedSearchFilterButton* self,
                                                                  gboolean active);
static void _search_filter_toolbar_edit_dialog_search_filter_toolbar_saved_search_popover_edit_clicked (SearchFilterToolbarSavedSearchPopover* _sender,
                                                                                                 SavedSearch* search,
                                                                                                 gpointer self);
static void _search_filter_toolbar_on_savedsearch_selected_search_filter_toolbar_saved_search_popover_search_activated (SearchFilterToolbarSavedSearchPopover* _sender,
                                                                                                                 SavedSearch* search,
                                                                                                                 gpointer self);
static void _search_filter_toolbar_delete_dialog_search_filter_toolbar_saved_search_popover_delete_clicked (SearchFilterToolbarSavedSearchPopover* _sender,
                                                                                                     SavedSearch* search,
                                                                                                     gpointer self);
static void _search_filter_toolbar_add_dialog_search_filter_toolbar_saved_search_popover_add_clicked (SearchFilterToolbarSavedSearchPopover* _sender,
                                                                                               gpointer self);
static void _search_filter_toolbar_on_popover_closed_search_filter_toolbar_saved_search_popover_closed (SearchFilterToolbarSavedSearchPopover* _sender,
                                                                                                 gpointer self);
SearchFilterToolbarSavedSearchPopover* search_filter_toolbar_saved_search_popover_new (GtkWidget* relative_to);
SearchFilterToolbarSavedSearchPopover* search_filter_toolbar_saved_search_popover_construct (GType object_type,
                                                                                             GtkWidget* relative_to);
void search_filter_toolbar_saved_search_popover_show_all (SearchFilterToolbarSavedSearchPopover* self);
void search_filter_toolbar_take_focus (SearchFilterToolbar* self);
void search_filter_toolbar_search_box_get_focus (SearchFilterToolbarSearchBox* self);
#define SEARCH_FILTER_TOOLBAR_LABEL_TOOL_ITEM_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), SEARCH_FILTER_TOOLBAR_TYPE_LABEL_TOOL_ITEM, SearchFilterToolbarLabelToolItemPrivate))
static void search_filter_toolbar_label_tool_item_finalize (GObject * obj);
#define SEARCH_FILTER_TOOLBAR_TOGGLE_ACTION_TOOL_BUTTON_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), SEARCH_FILTER_TOOLBAR_TYPE_TOGGLE_ACTION_TOOL_BUTTON, SearchFilterToolbarToggleActionToolButtonPrivate))
static void search_filter_toolbar_toggle_action_tool_button_finalize (GObject * obj);
#define SEARCH_FILTER_TOOLBAR_SEARCH_BOX_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), SEARCH_FILTER_TOOLBAR_TYPE_SEARCH_BOX, SearchFilterToolbarSearchBoxPrivate))
static void search_filter_toolbar_search_box_on_action_text_changed (SearchFilterToolbarSearchBox* self,
                                                              const gchar* text);
static void _search_filter_toolbar_search_box_on_action_text_changed_text_action_text_changed (TextAction* _sender,
                                                                                        const gchar* text,
                                                                                        gpointer self);
static void search_filter_toolbar_search_box_on_sensitivity_changed (SearchFilterToolbarSearchBox* self,
                                                              gboolean sensitive);
static void _search_filter_toolbar_search_box_on_sensitivity_changed_text_action_sensitivity_changed (TextAction* _sender,
                                                                                               gboolean sensitive,
                                                                                               gpointer self);
static void search_filter_toolbar_search_box_on_visibility_changed (SearchFilterToolbarSearchBox* self,
                                                             gboolean visible);
static void _search_filter_toolbar_search_box_on_visibility_changed_text_action_visibility_changed (TextAction* _sender,
                                                                                             gboolean visible,
                                                                                             gpointer self);
static void search_filter_toolbar_search_box_on_entry_changed (SearchFilterToolbarSearchBox* self);
static void _search_filter_toolbar_search_box_on_entry_changed_gtk_entry_buffer_deleted_text (GtkEntryBuffer* _sender,
                                                                                       guint position,
                                                                                       guint n_chars,
                                                                                       gpointer self);
static void _search_filter_toolbar_search_box_on_entry_changed_gtk_entry_buffer_inserted_text (GtkEntryBuffer* _sender,
                                                                                        guint position,
                                                                                        const gchar* chars,
                                                                                        guint n_chars,
                                                                                        gpointer self);
static gboolean search_filter_toolbar_search_box_on_escape_key (SearchFilterToolbarSearchBox* self,
                                                         GdkEventKey* e);
static gboolean _search_filter_toolbar_search_box_on_escape_key_gtk_widget_key_press_event (GtkWidget* _sender,
                                                                                     GdkEventKey* event,
                                                                                     gpointer self);
static void search_filter_toolbar_search_box_set_nullable_text (SearchFilterToolbarSearchBox* self,
                                                         const gchar* text);
static void search_filter_toolbar_search_box_finalize (GObject * obj);
static GtkWidget* search_filter_toolbar_rating_filter_button_get_filter_icon (SearchFilterToolbarRatingFilterButton* self,
                                                                       RatingFilter filter);
#define RESOURCES_ICON_FILTER_REJECTED_OR_BETTER "all-rejected.png"
#define RESOURCES_ICON_RATING_REJECTED "rejected.svg"
#define RESOURCES_ICON_FILTER_UNRATED_OR_BETTER "shotwell-16.png"
GdkPixbuf* resources_load_icon (const gchar* name,
                                gint scale);
static gint search_filter_toolbar_rating_filter_button_get_filter_icon_size (SearchFilterToolbarRatingFilterButton* self,
                                                                      RatingFilter filter);
#define RESOURCES_ICON_FILTER_REJECTED_OR_BETTER_FIXED_SIZE 32
#define RESOURCES_ICON_FILTER_UNRATED_OR_BETTER_FIXED_SIZE 16
static gint search_filter_toolbar_rating_filter_button_get_filter_button_size (SearchFilterToolbarRatingFilterButton* self,
                                                                        RatingFilter filter);
gchar* resources_get_rating_filter_tooltip (RatingFilter filter);
static void search_filter_toolbar_rating_filter_button_finalize (GObject * obj);
static void search_filter_toolbar_saved_search_filter_button_on_clicked (SearchFilterToolbarSavedSearchFilterButton* self);
static void _search_filter_toolbar_saved_search_filter_button_on_clicked_gtk_button_clicked (GtkButton* _sender,
                                                                                      gpointer self);
void search_filter_toolbar_saved_search_filter_button_restyle (SearchFilterToolbarSavedSearchFilterButton* self);
static void search_filter_toolbar_saved_search_filter_button_finalize (GObject * obj);
static GType search_filter_toolbar_saved_search_popover_data_button_get_type (void) G_GNUC_CONST G_GNUC_UNUSED;
#define SEARCH_FILTER_TOOLBAR_SAVED_SEARCH_POPOVER_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), SEARCH_FILTER_TOOLBAR_TYPE_SAVED_SEARCH_POPOVER, SearchFilterToolbarSavedSearchPopoverPrivate))
static void search_filter_toolbar_saved_search_popover_on_edit_click (SearchFilterToolbarSavedSearchPopover* self,
                                                               SavedSearch* search);
static void _search_filter_toolbar_saved_search_popover_on_edit_click_search_filter_toolbar_saved_search_popover_data_button_clicked (SearchFilterToolbarSavedSearchPopoverDataButton* _sender,
                                                                                                                               SavedSearch* search,
                                                                                                                               gpointer self);
static void search_filter_toolbar_saved_search_popover_on_delete_click (SearchFilterToolbarSavedSearchPopover* self,
                                                                 SavedSearch* search);
static void _search_filter_toolbar_saved_search_popover_on_delete_click_search_filter_toolbar_saved_search_popover_data_button_clicked (SearchFilterToolbarSavedSearchPopoverDataButton* _sender,
                                                                                                                                 SavedSearch* search,
                                                                                                                                 gpointer self);
static void search_filter_toolbar_saved_search_popover_on_add_click (SearchFilterToolbarSavedSearchPopover* self);
static void _search_filter_toolbar_saved_search_popover_on_add_click_gtk_button_clicked (GtkButton* _sender,
                                                                                  gpointer self);
static void search_filter_toolbar_saved_search_popover_on_activate_row (SearchFilterToolbarSavedSearchPopover* self,
                                                                 GtkListBoxRow* row);
static void _search_filter_toolbar_saved_search_popover_on_activate_row_gtk_list_box_row_activated (GtkListBox* _sender,
                                                                                             GtkListBoxRow* row,
                                                                                             gpointer self);
static void search_filter_toolbar_saved_search_popover_on_popover_closed (SearchFilterToolbarSavedSearchPopover* self);
static void _search_filter_toolbar_saved_search_popover_on_popover_closed_gtk_popover_closed (GtkPopover* _sender,
                                                                                       gpointer self);
gpointer saved_search_table_ref (gpointer instance);
void saved_search_table_unref (gpointer instance);
GParamSpec* param_spec_saved_search_table (const gchar* name,
                                           const gchar* nick,
                                           const gchar* blurb,
                                           GType object_type,
                                           GParamFlags flags);
void value_set_saved_search_table (GValue* value,
                                   gpointer v_object);
void value_take_saved_search_table (GValue* value,
                                    gpointer v_object);
gpointer value_get_saved_search_table (const GValue* value);
GType saved_search_table_get_type (void) G_GNUC_CONST;
SavedSearchTable* saved_search_table_get_instance (void);
GeeCollection* saved_search_table_get_all (SavedSearchTable* self);
gchar* data_object_get_name (DataObject* self);
static SearchFilterToolbarSavedSearchPopoverDataButton* search_filter_toolbar_saved_search_popover_data_button_new (SavedSearch* search,
                                                                                                             const gchar* name);
static SearchFilterToolbarSavedSearchPopoverDataButton* search_filter_toolbar_saved_search_popover_data_button_construct (GType object_type,
                                                                                                                   SavedSearch* search,
                                                                                                                   const gchar* name);
static void _vala_array_add133 (SearchFilterToolbarSavedSearchPopoverDataButton** * array,
                         int* length,
                         int* size,
                         SearchFilterToolbarSavedSearchPopoverDataButton* value);
static void _vala_array_add134 (SearchFilterToolbarSavedSearchPopoverDataButton** * array,
                         int* length,
                         int* size,
                         SearchFilterToolbarSavedSearchPopoverDataButton* value);
void search_filter_toolbar_saved_search_popover_restyle (SearchFilterToolbarSavedSearchPopover* self);
static void search_filter_toolbar_saved_search_popover_data_button_restyle (SearchFilterToolbarSavedSearchPopoverDataButton* self);
static gboolean search_filter_toolbar_saved_search_popover_is_search_row (SearchFilterToolbarSavedSearchPopover* self,
                                                                   GtkListBoxRow* row);
static SavedSearch* search_filter_toolbar_saved_search_popover_get_search (SearchFilterToolbarSavedSearchPopover* self,
                                                                    GtkListBoxRow* row);
static SavedSearch* search_filter_toolbar_saved_search_popover_data_button_get_search (SearchFilterToolbarSavedSearchPopoverDataButton* self);
#define SEARCH_FILTER_TOOLBAR_SAVED_SEARCH_POPOVER_DATA_BUTTON_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), SEARCH_FILTER_TOOLBAR_SAVED_SEARCH_POPOVER_TYPE_DATA_BUTTON, SearchFilterToolbarSavedSearchPopoverDataButtonPrivate))
static void search_filter_toolbar_saved_search_popover_data_button_on_click (SearchFilterToolbarSavedSearchPopoverDataButton* self);
static void _search_filter_toolbar_saved_search_popover_data_button_on_click_gtk_button_clicked (GtkButton* _sender,
                                                                                          gpointer self);
static void search_filter_toolbar_saved_search_popover_data_button_set_search (SearchFilterToolbarSavedSearchPopoverDataButton* self,
                                                                        SavedSearch* value);
static void search_filter_toolbar_saved_search_popover_data_button_finalize (GObject * obj);
static void _vala_search_filter_toolbar_saved_search_popover_data_button_get_property (GObject * object,
                                                                                guint property_id,
                                                                                GValue * value,
                                                                                GParamSpec * pspec);
static void _vala_search_filter_toolbar_saved_search_popover_data_button_set_property (GObject * object,
                                                                                guint property_id,
                                                                                const GValue * value,
                                                                                GParamSpec * pspec);
static void search_filter_toolbar_saved_search_popover_finalize (SearchFilterToolbarSavedSearchPopover * obj);
static void search_filter_toolbar_finalize (GObject * obj);
static void _vala_array_destroy (gpointer array,
                          gint array_length,
                          GDestroyNotify destroy_func);
static void _vala_array_free (gpointer array,
                       gint array_length,
                       GDestroyNotify destroy_func);
static gint _vala_array_length (gpointer array);

static const GActionEntry SEARCH_FILTER_ACTIONS_entries[5] = {{"display.rating", _search_filter_actions_on_action_radio_gsimple_action_activate_callback, "s", "'2'", _search_filter_actions_on_rating_changed_gsimple_action_change_state_callback}, {"display.flagged", _search_filter_actions_on_action_toggle_gsimple_action_activate_callback, NULL, "false", _search_filter_actions_on_flagged_toggled_gsimple_action_change_state_callback}, {"display.photos", _search_filter_actions_on_action_toggle_gsimple_action_activate_callback, NULL, "false", _search_filter_actions_on_photos_toggled_gsimple_action_change_state_callback}, {"display.videos", _search_filter_actions_on_action_toggle_gsimple_action_activate_callback, NULL, "false", _search_filter_actions_on_videos_toggled_gsimple_action_change_state_callback}, {"display.raw", _search_filter_actions_on_action_toggle_gsimple_action_activate_callback, NULL, "false", _search_filter_actions_on_raw_toggled_gsimple_action_change_state_callback}};

GType
search_filter_criteria_get_type (void)
{
	static volatile gsize search_filter_criteria_type_id__volatile = 0;
	if (g_once_init_enter (&search_filter_criteria_type_id__volatile)) {
		static const GFlagsValue values[] = {{SEARCH_FILTER_CRITERIA_NONE, "SEARCH_FILTER_CRITERIA_NONE", "none"}, {SEARCH_FILTER_CRITERIA_RECURSIVE, "SEARCH_FILTER_CRITERIA_RECURSIVE", "recursive"}, {SEARCH_FILTER_CRITERIA_TEXT, "SEARCH_FILTER_CRITERIA_TEXT", "text"}, {SEARCH_FILTER_CRITERIA_FLAG, "SEARCH_FILTER_CRITERIA_FLAG", "flag"}, {SEARCH_FILTER_CRITERIA_MEDIA, "SEARCH_FILTER_CRITERIA_MEDIA", "media"}, {SEARCH_FILTER_CRITERIA_RATING, "SEARCH_FILTER_CRITERIA_RATING", "rating"}, {SEARCH_FILTER_CRITERIA_SAVEDSEARCH, "SEARCH_FILTER_CRITERIA_SAVEDSEARCH", "savedsearch"}, {SEARCH_FILTER_CRITERIA_ALL, "SEARCH_FILTER_CRITERIA_ALL", "all"}, {0, NULL, NULL}};
		GType search_filter_criteria_type_id;
		search_filter_criteria_type_id = g_flags_register_static ("SearchFilterCriteria", values);
		g_once_init_leave (&search_filter_criteria_type_id__volatile, search_filter_criteria_type_id);
	}
	return search_filter_criteria_type_id__volatile;
}


GType
rating_filter_get_type (void)
{
	static volatile gsize rating_filter_type_id__volatile = 0;
	if (g_once_init_enter (&rating_filter_type_id__volatile)) {
		static const GEnumValue values[] = {{RATING_FILTER_NO_FILTER, "RATING_FILTER_NO_FILTER", "no-filter"}, {RATING_FILTER_REJECTED_OR_HIGHER, "RATING_FILTER_REJECTED_OR_HIGHER", "rejected-or-higher"}, {RATING_FILTER_UNRATED_OR_HIGHER, "RATING_FILTER_UNRATED_OR_HIGHER", "unrated-or-higher"}, {RATING_FILTER_ONE_OR_HIGHER, "RATING_FILTER_ONE_OR_HIGHER", "one-or-higher"}, {RATING_FILTER_TWO_OR_HIGHER, "RATING_FILTER_TWO_OR_HIGHER", "two-or-higher"}, {RATING_FILTER_THREE_OR_HIGHER, "RATING_FILTER_THREE_OR_HIGHER", "three-or-higher"}, {RATING_FILTER_FOUR_OR_HIGHER, "RATING_FILTER_FOUR_OR_HIGHER", "four-or-higher"}, {RATING_FILTER_FIVE_OR_HIGHER, "RATING_FILTER_FIVE_OR_HIGHER", "five-or-higher"}, {RATING_FILTER_REJECTED_ONLY, "RATING_FILTER_REJECTED_ONLY", "rejected-only"}, {RATING_FILTER_UNRATED_ONLY, "RATING_FILTER_UNRATED_ONLY", "unrated-only"}, {RATING_FILTER_ONE_ONLY, "RATING_FILTER_ONE_ONLY", "one-only"}, {RATING_FILTER_TWO_ONLY, "RATING_FILTER_TWO_ONLY", "two-only"}, {RATING_FILTER_THREE_ONLY, "RATING_FILTER_THREE_ONLY", "three-only"}, {RATING_FILTER_FOUR_ONLY, "RATING_FILTER_FOUR_ONLY", "four-only"}, {RATING_FILTER_FIVE_ONLY, "RATING_FILTER_FIVE_ONLY", "five-only"}, {0, NULL, NULL}};
		GType rating_filter_type_id;
		rating_filter_type_id = g_enum_register_static ("RatingFilter", values);
		g_once_init_leave (&rating_filter_type_id__volatile, rating_filter_type_id);
	}
	return rating_filter_type_id__volatile;
}


static guint
search_view_filter_real_get_criteria (SearchViewFilter* self)
{
	guint _tmp0_ = 0U;
#line 65 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_critical ("Type `%s' does not implement abstract method `search_view_filter_get_criteria'", g_type_name (G_TYPE_FROM_INSTANCE (self)));
#line 65 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	return _tmp0_;
#line 1751 "SearchFilter.c"
}


guint
search_view_filter_get_criteria (SearchViewFilter* self)
{
#line 65 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_return_val_if_fail (IS_SEARCH_VIEW_FILTER (self), 0U);
#line 65 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	return SEARCH_VIEW_FILTER_GET_CLASS (self)->get_criteria (self);
#line 1762 "SearchFilter.c"
}


void
search_view_filter_set_rating_filter (SearchViewFilter* self,
                                      RatingFilter rf)
{
	RatingFilter _tmp0_;
#line 67 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_return_if_fail (IS_SEARCH_VIEW_FILTER (self));
#line 68 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	self->priv->rating_filter = rf;
#line 69 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp0_ = self->priv->rating_filter;
#line 69 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	switch (_tmp0_) {
#line 69 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		case RATING_FILTER_REJECTED_ONLY:
#line 1781 "SearchFilter.c"
		{
#line 71 "/home/jens/Source/shotwell/src/SearchFilter.vala"
			self->priv->rating = RATING_REJECTED;
#line 72 "/home/jens/Source/shotwell/src/SearchFilter.vala"
			self->priv->rating_allow_higher = FALSE;
#line 73 "/home/jens/Source/shotwell/src/SearchFilter.vala"
			break;
#line 1789 "SearchFilter.c"
		}
#line 69 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		case RATING_FILTER_REJECTED_OR_HIGHER:
#line 1793 "SearchFilter.c"
		{
#line 76 "/home/jens/Source/shotwell/src/SearchFilter.vala"
			self->priv->rating = RATING_REJECTED;
#line 77 "/home/jens/Source/shotwell/src/SearchFilter.vala"
			self->priv->rating_allow_higher = TRUE;
#line 78 "/home/jens/Source/shotwell/src/SearchFilter.vala"
			break;
#line 1801 "SearchFilter.c"
		}
#line 69 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		case RATING_FILTER_ONE_OR_HIGHER:
#line 1805 "SearchFilter.c"
		{
#line 81 "/home/jens/Source/shotwell/src/SearchFilter.vala"
			self->priv->rating = RATING_ONE;
#line 82 "/home/jens/Source/shotwell/src/SearchFilter.vala"
			self->priv->rating_allow_higher = TRUE;
#line 83 "/home/jens/Source/shotwell/src/SearchFilter.vala"
			break;
#line 1813 "SearchFilter.c"
		}
#line 69 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		case RATING_FILTER_ONE_ONLY:
#line 1817 "SearchFilter.c"
		{
#line 86 "/home/jens/Source/shotwell/src/SearchFilter.vala"
			self->priv->rating = RATING_ONE;
#line 87 "/home/jens/Source/shotwell/src/SearchFilter.vala"
			self->priv->rating_allow_higher = FALSE;
#line 88 "/home/jens/Source/shotwell/src/SearchFilter.vala"
			break;
#line 1825 "SearchFilter.c"
		}
#line 69 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		case RATING_FILTER_TWO_OR_HIGHER:
#line 1829 "SearchFilter.c"
		{
#line 91 "/home/jens/Source/shotwell/src/SearchFilter.vala"
			self->priv->rating = RATING_TWO;
#line 92 "/home/jens/Source/shotwell/src/SearchFilter.vala"
			self->priv->rating_allow_higher = TRUE;
#line 93 "/home/jens/Source/shotwell/src/SearchFilter.vala"
			break;
#line 1837 "SearchFilter.c"
		}
#line 69 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		case RATING_FILTER_TWO_ONLY:
#line 1841 "SearchFilter.c"
		{
#line 96 "/home/jens/Source/shotwell/src/SearchFilter.vala"
			self->priv->rating = RATING_TWO;
#line 97 "/home/jens/Source/shotwell/src/SearchFilter.vala"
			self->priv->rating_allow_higher = FALSE;
#line 98 "/home/jens/Source/shotwell/src/SearchFilter.vala"
			break;
#line 1849 "SearchFilter.c"
		}
#line 69 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		case RATING_FILTER_THREE_OR_HIGHER:
#line 1853 "SearchFilter.c"
		{
#line 101 "/home/jens/Source/shotwell/src/SearchFilter.vala"
			self->priv->rating = RATING_THREE;
#line 102 "/home/jens/Source/shotwell/src/SearchFilter.vala"
			self->priv->rating_allow_higher = TRUE;
#line 103 "/home/jens/Source/shotwell/src/SearchFilter.vala"
			break;
#line 1861 "SearchFilter.c"
		}
#line 69 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		case RATING_FILTER_THREE_ONLY:
#line 1865 "SearchFilter.c"
		{
#line 106 "/home/jens/Source/shotwell/src/SearchFilter.vala"
			self->priv->rating = RATING_THREE;
#line 107 "/home/jens/Source/shotwell/src/SearchFilter.vala"
			self->priv->rating_allow_higher = FALSE;
#line 108 "/home/jens/Source/shotwell/src/SearchFilter.vala"
			break;
#line 1873 "SearchFilter.c"
		}
#line 69 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		case RATING_FILTER_FOUR_OR_HIGHER:
#line 1877 "SearchFilter.c"
		{
#line 111 "/home/jens/Source/shotwell/src/SearchFilter.vala"
			self->priv->rating = RATING_FOUR;
#line 112 "/home/jens/Source/shotwell/src/SearchFilter.vala"
			self->priv->rating_allow_higher = TRUE;
#line 113 "/home/jens/Source/shotwell/src/SearchFilter.vala"
			break;
#line 1885 "SearchFilter.c"
		}
#line 69 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		case RATING_FILTER_FOUR_ONLY:
#line 1889 "SearchFilter.c"
		{
#line 116 "/home/jens/Source/shotwell/src/SearchFilter.vala"
			self->priv->rating = RATING_FOUR;
#line 117 "/home/jens/Source/shotwell/src/SearchFilter.vala"
			self->priv->rating_allow_higher = FALSE;
#line 118 "/home/jens/Source/shotwell/src/SearchFilter.vala"
			break;
#line 1897 "SearchFilter.c"
		}
#line 69 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		case RATING_FILTER_FIVE_OR_HIGHER:
#line 1901 "SearchFilter.c"
		{
#line 121 "/home/jens/Source/shotwell/src/SearchFilter.vala"
			self->priv->rating = RATING_FIVE;
#line 122 "/home/jens/Source/shotwell/src/SearchFilter.vala"
			self->priv->rating_allow_higher = TRUE;
#line 123 "/home/jens/Source/shotwell/src/SearchFilter.vala"
			break;
#line 1909 "SearchFilter.c"
		}
#line 69 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		case RATING_FILTER_FIVE_ONLY:
#line 1913 "SearchFilter.c"
		{
#line 126 "/home/jens/Source/shotwell/src/SearchFilter.vala"
			self->priv->rating = RATING_FIVE;
#line 127 "/home/jens/Source/shotwell/src/SearchFilter.vala"
			self->priv->rating_allow_higher = FALSE;
#line 128 "/home/jens/Source/shotwell/src/SearchFilter.vala"
			break;
#line 1921 "SearchFilter.c"
		}
		default:
#line 69 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		case RATING_FILTER_UNRATED_OR_HIGHER:
#line 1926 "SearchFilter.c"
		{
#line 132 "/home/jens/Source/shotwell/src/SearchFilter.vala"
			self->priv->rating = RATING_UNRATED;
#line 133 "/home/jens/Source/shotwell/src/SearchFilter.vala"
			self->priv->rating_allow_higher = TRUE;
#line 134 "/home/jens/Source/shotwell/src/SearchFilter.vala"
			break;
#line 1934 "SearchFilter.c"
		}
	}
}


gboolean
search_view_filter_has_search_filter (SearchViewFilter* self)
{
	gboolean result = FALSE;
	const gchar* _tmp0_;
#line 138 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_return_val_if_fail (IS_SEARCH_VIEW_FILTER (self), FALSE);
#line 139 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp0_ = self->priv->search_filter;
#line 139 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	result = !is_string_empty (_tmp0_);
#line 139 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	return result;
#line 1953 "SearchFilter.c"
}


const gchar*
search_view_filter_get_search_filter (SearchViewFilter* self)
{
	const gchar* result = NULL;
	const gchar* _tmp0_;
#line 142 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_return_val_if_fail (IS_SEARCH_VIEW_FILTER (self), NULL);
#line 143 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp0_ = self->priv->search_filter;
#line 143 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	result = _tmp0_;
#line 143 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	return result;
#line 1970 "SearchFilter.c"
}


gchar**
search_view_filter_get_search_filter_words (SearchViewFilter* self,
                                            int* result_length1)
{
	gchar** result = NULL;
	gchar** _tmp0_;
	gint _tmp0__length1;
	gchar** _tmp1_;
	gint _tmp1__length1;
#line 146 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_return_val_if_fail (IS_SEARCH_VIEW_FILTER (self), NULL);
#line 147 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp0_ = self->priv->search_filter_words;
#line 147 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp0__length1 = self->priv->search_filter_words_length1;
#line 147 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp1_ = _tmp0_;
#line 147 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp1__length1 = _tmp0__length1;
#line 147 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	if (result_length1) {
#line 147 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		*result_length1 = _tmp1__length1;
#line 1997 "SearchFilter.c"
	}
#line 147 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	result = _tmp1_;
#line 147 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	return result;
#line 2003 "SearchFilter.c"
}


static gchar**
_vala_array_dup27 (gchar** self,
                   int length)
{
	gchar** result;
	int i;
#line 152 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	result = g_new0 (gchar*, length + 1);
#line 152 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	for (i = 0; i < length; i++) {
#line 2017 "SearchFilter.c"
		gchar* _tmp0_;
#line 152 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		_tmp0_ = g_strdup (self[i]);
#line 152 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		result[i] = _tmp0_;
#line 2023 "SearchFilter.c"
	}
#line 152 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	return result;
#line 2027 "SearchFilter.c"
}


void
search_view_filter_set_search_filter (SearchViewFilter* self,
                                      const gchar* text)
{
	gchar* _tmp0_ = NULL;
	gchar* _tmp2_;
	gchar** _tmp3_ = NULL;
	gint _tmp3__length1 = 0;
	gint __tmp3__size_ = 0;
	const gchar* _tmp4_;
	gchar** _tmp8_;
	gint _tmp8__length1;
#line 150 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_return_if_fail (IS_SEARCH_VIEW_FILTER (self));
#line 151 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	if (!is_string_empty (text)) {
#line 2047 "SearchFilter.c"
		gchar* _tmp1_;
#line 151 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		_tmp1_ = g_utf8_strdown (text, (gssize) -1);
#line 151 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		_g_free0 (_tmp0_);
#line 151 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		_tmp0_ = _tmp1_;
#line 2055 "SearchFilter.c"
	} else {
#line 151 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		_g_free0 (_tmp0_);
#line 151 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		_tmp0_ = NULL;
#line 2061 "SearchFilter.c"
	}
#line 151 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp2_ = g_strdup (_tmp0_);
#line 151 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_g_free0 (self->priv->search_filter);
#line 151 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	self->priv->search_filter = _tmp2_;
#line 152 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp4_ = self->priv->search_filter;
#line 152 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	if (_tmp4_ != NULL) {
#line 2073 "SearchFilter.c"
		const gchar* _tmp5_;
		gchar** _tmp6_;
		gchar** _tmp7_;
#line 152 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		_tmp5_ = self->priv->search_filter;
#line 152 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		_tmp7_ = _tmp6_ = g_strsplit (_tmp5_, " ", 0);
#line 152 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		_tmp3_ = (_vala_array_free (_tmp3_, _tmp3__length1, (GDestroyNotify) g_free), NULL);
#line 152 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		_tmp3_ = _tmp7_;
#line 152 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		_tmp3__length1 = _vala_array_length (_tmp6_);
#line 152 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		__tmp3__size_ = _tmp3__length1;
#line 2089 "SearchFilter.c"
	} else {
#line 152 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		_tmp3_ = (_vala_array_free (_tmp3_, _tmp3__length1, (GDestroyNotify) g_free), NULL);
#line 152 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		_tmp3_ = NULL;
#line 152 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		_tmp3__length1 = 0;
#line 152 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		__tmp3__size_ = _tmp3__length1;
#line 2099 "SearchFilter.c"
	}
#line 152 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp8_ = (_tmp3_ != NULL) ? _vala_array_dup27 (_tmp3_, _tmp3__length1) : ((gpointer) _tmp3_);
#line 152 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp8__length1 = _tmp3__length1;
#line 152 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	self->priv->search_filter_words = (_vala_array_free (self->priv->search_filter_words, self->priv->search_filter_words_length1, (GDestroyNotify) g_free), NULL);
#line 152 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	self->priv->search_filter_words = _tmp8_;
#line 152 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	self->priv->search_filter_words_length1 = _tmp8__length1;
#line 152 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	self->priv->_search_filter_words_size_ = self->priv->search_filter_words_length1;
#line 150 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp3_ = (_vala_array_free (_tmp3_, _tmp3__length1, (GDestroyNotify) g_free), NULL);
#line 150 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_g_free0 (_tmp0_);
#line 2117 "SearchFilter.c"
}


void
search_view_filter_clear_search_filter (SearchViewFilter* self)
{
#line 155 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_return_if_fail (IS_SEARCH_VIEW_FILTER (self));
#line 156 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_g_free0 (self->priv->search_filter);
#line 156 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	self->priv->search_filter = NULL;
#line 157 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	self->priv->search_filter_words = (_vala_array_free (self->priv->search_filter_words, self->priv->search_filter_words_length1, (GDestroyNotify) g_free), NULL);
#line 157 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	self->priv->search_filter_words = NULL;
#line 157 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	self->priv->search_filter_words_length1 = 0;
#line 157 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	self->priv->_search_filter_words_size_ = self->priv->search_filter_words_length1;
#line 2138 "SearchFilter.c"
}


gboolean
search_view_filter_has_saved_search (SearchViewFilter* self)
{
	gboolean result = FALSE;
	SavedSearch* _tmp0_;
#line 160 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_return_val_if_fail (IS_SEARCH_VIEW_FILTER (self), FALSE);
#line 161 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp0_ = self->priv->_saved_search;
#line 161 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	result = _tmp0_ != NULL;
#line 161 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	return result;
#line 2155 "SearchFilter.c"
}


gboolean
search_view_filter_get_rating_allow_higher (SearchViewFilter* self)
{
	gboolean result = FALSE;
	gboolean _tmp0_;
#line 164 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_return_val_if_fail (IS_SEARCH_VIEW_FILTER (self), FALSE);
#line 165 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp0_ = self->priv->rating_allow_higher;
#line 165 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	result = _tmp0_;
#line 165 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	return result;
#line 2172 "SearchFilter.c"
}


Rating
search_view_filter_get_rating (SearchViewFilter* self)
{
	Rating result = 0;
	Rating _tmp0_;
#line 168 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_return_val_if_fail (IS_SEARCH_VIEW_FILTER (self), 0);
#line 169 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp0_ = self->priv->rating;
#line 169 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	result = _tmp0_;
#line 169 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	return result;
#line 2189 "SearchFilter.c"
}


gboolean
search_view_filter_filter_by_media_type (SearchViewFilter* self)
{
	gboolean result = FALSE;
	gboolean _tmp0_ = FALSE;
	gboolean _tmp1_ = FALSE;
	gboolean _tmp2_ = FALSE;
	gboolean _tmp3_;
#line 172 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_return_val_if_fail (IS_SEARCH_VIEW_FILTER (self), FALSE);
#line 173 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp3_ = self->priv->_show_media_video;
#line 173 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	if (_tmp3_) {
#line 173 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		_tmp2_ = TRUE;
#line 2209 "SearchFilter.c"
	} else {
		gboolean _tmp4_;
#line 173 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		_tmp4_ = self->priv->_show_media_photos;
#line 173 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		_tmp2_ = _tmp4_;
#line 2216 "SearchFilter.c"
	}
#line 173 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	if (_tmp2_) {
#line 173 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		_tmp1_ = TRUE;
#line 2222 "SearchFilter.c"
	} else {
		gboolean _tmp5_;
#line 173 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		_tmp5_ = self->priv->_show_media_raw;
#line 173 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		_tmp1_ = _tmp5_;
#line 2229 "SearchFilter.c"
	}
#line 173 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	if (_tmp1_) {
#line 2233 "SearchFilter.c"
		gboolean _tmp6_ = FALSE;
		gboolean _tmp7_ = FALSE;
		gboolean _tmp8_;
#line 174 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		_tmp8_ = self->priv->_show_media_video;
#line 174 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		if (_tmp8_) {
#line 2241 "SearchFilter.c"
			gboolean _tmp9_;
#line 174 "/home/jens/Source/shotwell/src/SearchFilter.vala"
			_tmp9_ = self->priv->_show_media_photos;
#line 174 "/home/jens/Source/shotwell/src/SearchFilter.vala"
			_tmp7_ = _tmp9_;
#line 2247 "SearchFilter.c"
		} else {
#line 174 "/home/jens/Source/shotwell/src/SearchFilter.vala"
			_tmp7_ = FALSE;
#line 2251 "SearchFilter.c"
		}
#line 174 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		if (_tmp7_) {
#line 2255 "SearchFilter.c"
			gboolean _tmp10_;
#line 174 "/home/jens/Source/shotwell/src/SearchFilter.vala"
			_tmp10_ = self->priv->_show_media_raw;
#line 174 "/home/jens/Source/shotwell/src/SearchFilter.vala"
			_tmp6_ = _tmp10_;
#line 2261 "SearchFilter.c"
		} else {
#line 174 "/home/jens/Source/shotwell/src/SearchFilter.vala"
			_tmp6_ = FALSE;
#line 2265 "SearchFilter.c"
		}
#line 174 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		_tmp0_ = !_tmp6_;
#line 2269 "SearchFilter.c"
	} else {
#line 173 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		_tmp0_ = FALSE;
#line 2273 "SearchFilter.c"
	}
#line 173 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	result = _tmp0_;
#line 173 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	return result;
#line 2279 "SearchFilter.c"
}


SearchViewFilter*
search_view_filter_construct (GType object_type)
{
	SearchViewFilter* self = NULL;
#line 39 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	self = (SearchViewFilter*) view_filter_construct (object_type);
#line 39 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	return self;
#line 2291 "SearchFilter.c"
}


gboolean
search_view_filter_get_flagged (SearchViewFilter* self)
{
	gboolean result;
	gboolean _tmp0_;
#line 48 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_return_val_if_fail (IS_SEARCH_VIEW_FILTER (self), FALSE);
#line 48 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp0_ = self->priv->_flagged;
#line 48 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	result = _tmp0_;
#line 48 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	return result;
#line 2308 "SearchFilter.c"
}


void
search_view_filter_set_flagged (SearchViewFilter* self,
                                gboolean value)
{
#line 48 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_return_if_fail (IS_SEARCH_VIEW_FILTER (self));
#line 48 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	self->priv->_flagged = value;
#line 2320 "SearchFilter.c"
}


gboolean
search_view_filter_get_show_media_video (SearchViewFilter* self)
{
	gboolean result;
	gboolean _tmp0_;
#line 51 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_return_val_if_fail (IS_SEARCH_VIEW_FILTER (self), FALSE);
#line 51 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp0_ = self->priv->_show_media_video;
#line 51 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	result = _tmp0_;
#line 51 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	return result;
#line 2337 "SearchFilter.c"
}


void
search_view_filter_set_show_media_video (SearchViewFilter* self,
                                         gboolean value)
{
#line 51 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_return_if_fail (IS_SEARCH_VIEW_FILTER (self));
#line 51 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	self->priv->_show_media_video = value;
#line 2349 "SearchFilter.c"
}


gboolean
search_view_filter_get_show_media_photos (SearchViewFilter* self)
{
	gboolean result;
	gboolean _tmp0_;
#line 52 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_return_val_if_fail (IS_SEARCH_VIEW_FILTER (self), FALSE);
#line 52 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp0_ = self->priv->_show_media_photos;
#line 52 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	result = _tmp0_;
#line 52 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	return result;
#line 2366 "SearchFilter.c"
}


void
search_view_filter_set_show_media_photos (SearchViewFilter* self,
                                          gboolean value)
{
#line 52 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_return_if_fail (IS_SEARCH_VIEW_FILTER (self));
#line 52 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	self->priv->_show_media_photos = value;
#line 2378 "SearchFilter.c"
}


gboolean
search_view_filter_get_show_media_raw (SearchViewFilter* self)
{
	gboolean result;
	gboolean _tmp0_;
#line 53 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_return_val_if_fail (IS_SEARCH_VIEW_FILTER (self), FALSE);
#line 53 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp0_ = self->priv->_show_media_raw;
#line 53 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	result = _tmp0_;
#line 53 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	return result;
#line 2395 "SearchFilter.c"
}


void
search_view_filter_set_show_media_raw (SearchViewFilter* self,
                                       gboolean value)
{
#line 53 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_return_if_fail (IS_SEARCH_VIEW_FILTER (self));
#line 53 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	self->priv->_show_media_raw = value;
#line 2407 "SearchFilter.c"
}


SavedSearch*
search_view_filter_get_saved_search (SearchViewFilter* self)
{
	SavedSearch* result;
	SavedSearch* _tmp0_;
#line 60 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_return_val_if_fail (IS_SEARCH_VIEW_FILTER (self), NULL);
#line 60 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp0_ = self->priv->_saved_search;
#line 60 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	result = _tmp0_;
#line 60 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	return result;
#line 2424 "SearchFilter.c"
}


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


void
search_view_filter_set_saved_search (SearchViewFilter* self,
                                     SavedSearch* value)
{
	SavedSearch* _tmp0_;
#line 60 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_return_if_fail (IS_SEARCH_VIEW_FILTER (self));
#line 60 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp0_ = _g_object_ref0 (value);
#line 60 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_g_object_unref0 (self->priv->_saved_search);
#line 60 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	self->priv->_saved_search = _tmp0_;
#line 2450 "SearchFilter.c"
}


static void
search_view_filter_class_init (SearchViewFilterClass * klass)
{
#line 39 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	search_view_filter_parent_class = g_type_class_peek_parent (klass);
#line 39 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	((ViewFilterClass *) klass)->finalize = search_view_filter_finalize;
#line 39 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_type_class_add_private (klass, sizeof (SearchViewFilterPrivate));
#line 39 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	((SearchViewFilterClass *) klass)->get_criteria = (guint (*) (SearchViewFilter *)) search_view_filter_real_get_criteria;
#line 2465 "SearchFilter.c"
}


static void
search_view_filter_instance_init (SearchViewFilter * self)
{
#line 39 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	self->priv = SEARCH_VIEW_FILTER_GET_PRIVATE (self);
#line 41 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	self->priv->rating_allow_higher = TRUE;
#line 44 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	self->priv->rating = RATING_UNRATED;
#line 45 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	self->priv->rating_filter = RATING_FILTER_UNRATED_OR_HIGHER;
#line 48 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	self->priv->_flagged = FALSE;
#line 51 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	self->priv->_show_media_video = TRUE;
#line 52 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	self->priv->_show_media_photos = TRUE;
#line 53 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	self->priv->_show_media_raw = TRUE;
#line 56 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	self->priv->search_filter = NULL;
#line 57 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	self->priv->search_filter_words = NULL;
#line 57 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	self->priv->search_filter_words_length1 = 0;
#line 57 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	self->priv->_search_filter_words_size_ = self->priv->search_filter_words_length1;
#line 60 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	self->priv->_saved_search = NULL;
#line 2498 "SearchFilter.c"
}


static void
search_view_filter_finalize (ViewFilter * obj)
{
	SearchViewFilter * self;
#line 39 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_SEARCH_VIEW_FILTER, SearchViewFilter);
#line 56 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_g_free0 (self->priv->search_filter);
#line 57 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	self->priv->search_filter_words = (_vala_array_free (self->priv->search_filter_words, self->priv->search_filter_words_length1, (GDestroyNotify) g_free), NULL);
#line 60 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_g_object_unref0 (self->priv->_saved_search);
#line 39 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	VIEW_FILTER_CLASS (search_view_filter_parent_class)->finalize (obj);
#line 2516 "SearchFilter.c"
}


GType
search_view_filter_get_type (void)
{
	static volatile gsize search_view_filter_type_id__volatile = 0;
	if (g_once_init_enter (&search_view_filter_type_id__volatile)) {
		static const GTypeInfo g_define_type_info = { sizeof (SearchViewFilterClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) search_view_filter_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (SearchViewFilter), 0, (GInstanceInitFunc) search_view_filter_instance_init, NULL };
		GType search_view_filter_type_id;
		search_view_filter_type_id = g_type_register_static (TYPE_VIEW_FILTER, "SearchViewFilter", &g_define_type_info, G_TYPE_FLAG_ABSTRACT);
		g_once_init_leave (&search_view_filter_type_id__volatile, search_view_filter_type_id);
	}
	return search_view_filter_type_id__volatile;
}


static gboolean
string_contains (const gchar* self,
                 const gchar* needle)
{
	gboolean result = FALSE;
	gchar* _tmp0_;
#line 1417 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
	g_return_val_if_fail (self != NULL, FALSE);
#line 1417 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
	g_return_val_if_fail (needle != NULL, FALSE);
#line 1418 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
	_tmp0_ = strstr ((gchar*) self, (gchar*) needle);
#line 1418 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
	result = _tmp0_ != NULL;
#line 1418 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
	return result;
#line 2550 "SearchFilter.c"
}


static gboolean
default_search_view_filter_real_predicate (ViewFilter* base,
                                           DataView* view)
{
	DefaultSearchViewFilter * self;
	gboolean result = FALSE;
	MediaSource* source = NULL;
	MediaSource* _tmp0_;
	guint criteria = 0U;
	guint _tmp1_;
	guint _tmp6_;
	gboolean _tmp13_ = FALSE;
	guint _tmp14_;
	gboolean _tmp29_ = FALSE;
	guint _tmp30_;
	gboolean _tmp72_ = FALSE;
	guint _tmp73_;
#line 181 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_DEFAULT_SEARCH_VIEW_FILTER, DefaultSearchViewFilter);
#line 181 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_return_val_if_fail (IS_DATA_VIEW (view), FALSE);
#line 182 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp0_ = thumbnail_get_media_source (G_TYPE_CHECK_INSTANCE_CAST (view, TYPE_THUMBNAIL, Thumbnail));
#line 182 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	source = _tmp0_;
#line 183 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	criteria = search_view_filter_get_criteria (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SEARCH_VIEW_FILTER, SearchViewFilter));
#line 186 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp1_ = criteria;
#line 186 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	if ((SEARCH_FILTER_CRITERIA_RATING & _tmp1_) != 0) {
#line 2585 "SearchFilter.c"
		gboolean _tmp2_ = FALSE;
#line 187 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		if (search_view_filter_get_rating_allow_higher (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SEARCH_VIEW_FILTER, SearchViewFilter))) {
#line 2589 "SearchFilter.c"
			MediaSource* _tmp3_;
#line 187 "/home/jens/Source/shotwell/src/SearchFilter.vala"
			_tmp3_ = source;
#line 187 "/home/jens/Source/shotwell/src/SearchFilter.vala"
			_tmp2_ = media_source_get_rating (_tmp3_) < search_view_filter_get_rating (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SEARCH_VIEW_FILTER, SearchViewFilter));
#line 2595 "SearchFilter.c"
		} else {
#line 187 "/home/jens/Source/shotwell/src/SearchFilter.vala"
			_tmp2_ = FALSE;
#line 2599 "SearchFilter.c"
		}
#line 187 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		if (_tmp2_) {
#line 188 "/home/jens/Source/shotwell/src/SearchFilter.vala"
			result = FALSE;
#line 188 "/home/jens/Source/shotwell/src/SearchFilter.vala"
			_g_object_unref0 (source);
#line 188 "/home/jens/Source/shotwell/src/SearchFilter.vala"
			return result;
#line 2609 "SearchFilter.c"
		} else {
			gboolean _tmp4_ = FALSE;
#line 189 "/home/jens/Source/shotwell/src/SearchFilter.vala"
			if (!search_view_filter_get_rating_allow_higher (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SEARCH_VIEW_FILTER, SearchViewFilter))) {
#line 2614 "SearchFilter.c"
				MediaSource* _tmp5_;
#line 189 "/home/jens/Source/shotwell/src/SearchFilter.vala"
				_tmp5_ = source;
#line 189 "/home/jens/Source/shotwell/src/SearchFilter.vala"
				_tmp4_ = media_source_get_rating (_tmp5_) != search_view_filter_get_rating (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SEARCH_VIEW_FILTER, SearchViewFilter));
#line 2620 "SearchFilter.c"
			} else {
#line 189 "/home/jens/Source/shotwell/src/SearchFilter.vala"
				_tmp4_ = FALSE;
#line 2624 "SearchFilter.c"
			}
#line 189 "/home/jens/Source/shotwell/src/SearchFilter.vala"
			if (_tmp4_) {
#line 190 "/home/jens/Source/shotwell/src/SearchFilter.vala"
				result = FALSE;
#line 190 "/home/jens/Source/shotwell/src/SearchFilter.vala"
				_g_object_unref0 (source);
#line 190 "/home/jens/Source/shotwell/src/SearchFilter.vala"
				return result;
#line 2634 "SearchFilter.c"
			}
		}
	}
#line 194 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp6_ = criteria;
#line 194 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	if ((SEARCH_FILTER_CRITERIA_FLAG & _tmp6_) != 0) {
#line 2642 "SearchFilter.c"
		gboolean _tmp7_ = FALSE;
		gboolean _tmp8_ = FALSE;
		gboolean _tmp9_;
		gboolean _tmp10_;
#line 195 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		_tmp9_ = search_view_filter_get_flagged (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SEARCH_VIEW_FILTER, SearchViewFilter));
#line 195 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		_tmp10_ = _tmp9_;
#line 195 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		if (_tmp10_) {
#line 2653 "SearchFilter.c"
			MediaSource* _tmp11_;
#line 195 "/home/jens/Source/shotwell/src/SearchFilter.vala"
			_tmp11_ = source;
#line 195 "/home/jens/Source/shotwell/src/SearchFilter.vala"
			_tmp8_ = G_TYPE_CHECK_INSTANCE_TYPE (_tmp11_, TYPE_FLAGGABLE);
#line 2659 "SearchFilter.c"
		} else {
#line 195 "/home/jens/Source/shotwell/src/SearchFilter.vala"
			_tmp8_ = FALSE;
#line 2663 "SearchFilter.c"
		}
#line 195 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		if (_tmp8_) {
#line 2667 "SearchFilter.c"
			MediaSource* _tmp12_;
#line 195 "/home/jens/Source/shotwell/src/SearchFilter.vala"
			_tmp12_ = source;
#line 195 "/home/jens/Source/shotwell/src/SearchFilter.vala"
			_tmp7_ = !flaggable_is_flagged (G_TYPE_CHECK_INSTANCE_CAST (_tmp12_, TYPE_FLAGGABLE, Flaggable));
#line 2673 "SearchFilter.c"
		} else {
#line 195 "/home/jens/Source/shotwell/src/SearchFilter.vala"
			_tmp7_ = FALSE;
#line 2677 "SearchFilter.c"
		}
#line 195 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		if (_tmp7_) {
#line 196 "/home/jens/Source/shotwell/src/SearchFilter.vala"
			result = FALSE;
#line 196 "/home/jens/Source/shotwell/src/SearchFilter.vala"
			_g_object_unref0 (source);
#line 196 "/home/jens/Source/shotwell/src/SearchFilter.vala"
			return result;
#line 2687 "SearchFilter.c"
		}
	}
#line 200 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp14_ = criteria;
#line 200 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	if ((SEARCH_FILTER_CRITERIA_MEDIA & _tmp14_) != 0) {
#line 200 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		_tmp13_ = search_view_filter_filter_by_media_type (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SEARCH_VIEW_FILTER, SearchViewFilter));
#line 2696 "SearchFilter.c"
	} else {
#line 200 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		_tmp13_ = FALSE;
#line 2700 "SearchFilter.c"
	}
#line 200 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	if (_tmp13_) {
#line 2704 "SearchFilter.c"
		MediaSource* _tmp15_;
#line 201 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		_tmp15_ = source;
#line 201 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		if (G_TYPE_CHECK_INSTANCE_TYPE (_tmp15_, TYPE_VIDEO_SOURCE)) {
#line 2710 "SearchFilter.c"
			gboolean _tmp16_;
			gboolean _tmp17_;
#line 202 "/home/jens/Source/shotwell/src/SearchFilter.vala"
			_tmp16_ = search_view_filter_get_show_media_video (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SEARCH_VIEW_FILTER, SearchViewFilter));
#line 202 "/home/jens/Source/shotwell/src/SearchFilter.vala"
			_tmp17_ = _tmp16_;
#line 202 "/home/jens/Source/shotwell/src/SearchFilter.vala"
			if (!_tmp17_) {
#line 203 "/home/jens/Source/shotwell/src/SearchFilter.vala"
				result = FALSE;
#line 203 "/home/jens/Source/shotwell/src/SearchFilter.vala"
				_g_object_unref0 (source);
#line 203 "/home/jens/Source/shotwell/src/SearchFilter.vala"
				return result;
#line 2725 "SearchFilter.c"
			}
		} else {
			MediaSource* _tmp18_;
#line 204 "/home/jens/Source/shotwell/src/SearchFilter.vala"
			_tmp18_ = source;
#line 204 "/home/jens/Source/shotwell/src/SearchFilter.vala"
			if (G_TYPE_CHECK_INSTANCE_TYPE (_tmp18_, TYPE_PHOTO)) {
#line 2733 "SearchFilter.c"
				Photo* photo = NULL;
				MediaSource* _tmp19_;
				Photo* _tmp20_;
				Photo* _tmp21_;
#line 205 "/home/jens/Source/shotwell/src/SearchFilter.vala"
				_tmp19_ = source;
#line 205 "/home/jens/Source/shotwell/src/SearchFilter.vala"
				_tmp20_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp19_, TYPE_PHOTO) ? ((Photo*) _tmp19_) : NULL);
#line 205 "/home/jens/Source/shotwell/src/SearchFilter.vala"
				photo = _tmp20_;
#line 206 "/home/jens/Source/shotwell/src/SearchFilter.vala"
				_tmp21_ = photo;
#line 206 "/home/jens/Source/shotwell/src/SearchFilter.vala"
				if (photo_get_master_file_format (_tmp21_) == PHOTO_FILE_FORMAT_RAW) {
#line 2748 "SearchFilter.c"
					gboolean _tmp22_ = FALSE;
					gboolean _tmp23_;
					gboolean _tmp24_;
#line 207 "/home/jens/Source/shotwell/src/SearchFilter.vala"
					_tmp23_ = search_view_filter_get_show_media_photos (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SEARCH_VIEW_FILTER, SearchViewFilter));
#line 207 "/home/jens/Source/shotwell/src/SearchFilter.vala"
					_tmp24_ = _tmp23_;
#line 207 "/home/jens/Source/shotwell/src/SearchFilter.vala"
					if (!_tmp24_) {
#line 2758 "SearchFilter.c"
						gboolean _tmp25_;
						gboolean _tmp26_;
#line 207 "/home/jens/Source/shotwell/src/SearchFilter.vala"
						_tmp25_ = search_view_filter_get_show_media_raw (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SEARCH_VIEW_FILTER, SearchViewFilter));
#line 207 "/home/jens/Source/shotwell/src/SearchFilter.vala"
						_tmp26_ = _tmp25_;
#line 207 "/home/jens/Source/shotwell/src/SearchFilter.vala"
						_tmp22_ = !_tmp26_;
#line 2767 "SearchFilter.c"
					} else {
#line 207 "/home/jens/Source/shotwell/src/SearchFilter.vala"
						_tmp22_ = FALSE;
#line 2771 "SearchFilter.c"
					}
#line 207 "/home/jens/Source/shotwell/src/SearchFilter.vala"
					if (_tmp22_) {
#line 208 "/home/jens/Source/shotwell/src/SearchFilter.vala"
						result = FALSE;
#line 208 "/home/jens/Source/shotwell/src/SearchFilter.vala"
						_g_object_unref0 (photo);
#line 208 "/home/jens/Source/shotwell/src/SearchFilter.vala"
						_g_object_unref0 (source);
#line 208 "/home/jens/Source/shotwell/src/SearchFilter.vala"
						return result;
#line 2783 "SearchFilter.c"
					}
				} else {
					gboolean _tmp27_;
					gboolean _tmp28_;
#line 209 "/home/jens/Source/shotwell/src/SearchFilter.vala"
					_tmp27_ = search_view_filter_get_show_media_photos (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SEARCH_VIEW_FILTER, SearchViewFilter));
#line 209 "/home/jens/Source/shotwell/src/SearchFilter.vala"
					_tmp28_ = _tmp27_;
#line 209 "/home/jens/Source/shotwell/src/SearchFilter.vala"
					if (!_tmp28_) {
#line 210 "/home/jens/Source/shotwell/src/SearchFilter.vala"
						result = FALSE;
#line 210 "/home/jens/Source/shotwell/src/SearchFilter.vala"
						_g_object_unref0 (photo);
#line 210 "/home/jens/Source/shotwell/src/SearchFilter.vala"
						_g_object_unref0 (source);
#line 210 "/home/jens/Source/shotwell/src/SearchFilter.vala"
						return result;
#line 2802 "SearchFilter.c"
					}
				}
#line 204 "/home/jens/Source/shotwell/src/SearchFilter.vala"
				_g_object_unref0 (photo);
#line 2807 "SearchFilter.c"
			}
		}
	}
#line 215 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp30_ = criteria;
#line 215 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	if ((SEARCH_FILTER_CRITERIA_TEXT & _tmp30_) != 0) {
#line 215 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		_tmp29_ = search_view_filter_has_search_filter (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SEARCH_VIEW_FILTER, SearchViewFilter));
#line 2817 "SearchFilter.c"
	} else {
#line 215 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		_tmp29_ = FALSE;
#line 2821 "SearchFilter.c"
	}
#line 215 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	if (_tmp29_) {
#line 2825 "SearchFilter.c"
		const gchar* media_keywords = NULL;
		MediaSource* _tmp31_;
		const gchar* _tmp32_;
		const gchar* event_keywords = NULL;
		Event* event = NULL;
		MediaSource* _tmp33_;
		Event* _tmp34_;
		Event* _tmp35_;
		GeeList* tags = NULL;
		TagSourceCollection* _tmp38_;
		MediaSource* _tmp39_;
		GeeList* _tmp40_;
		gint _tmp41_ = 0;
		GeeList* _tmp42_;
		gint tags_size = 0;
		gint _tmp46_;
		gchar** _tmp47_;
#line 216 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		_tmp31_ = source;
#line 216 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		_tmp32_ = indexable_get_indexable_keywords (G_TYPE_CHECK_INSTANCE_CAST (_tmp31_, TYPE_INDEXABLE, Indexable));
#line 216 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		media_keywords = _tmp32_;
#line 218 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		event_keywords = NULL;
#line 219 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		_tmp33_ = source;
#line 219 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		_tmp34_ = media_source_get_event (_tmp33_);
#line 219 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		event = _tmp34_;
#line 220 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		_tmp35_ = event;
#line 220 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		if (_tmp35_ != NULL) {
#line 2861 "SearchFilter.c"
			Event* _tmp36_;
			const gchar* _tmp37_;
#line 221 "/home/jens/Source/shotwell/src/SearchFilter.vala"
			_tmp36_ = event;
#line 221 "/home/jens/Source/shotwell/src/SearchFilter.vala"
			_tmp37_ = indexable_get_indexable_keywords (G_TYPE_CHECK_INSTANCE_CAST (_tmp36_, TYPE_INDEXABLE, Indexable));
#line 221 "/home/jens/Source/shotwell/src/SearchFilter.vala"
			event_keywords = _tmp37_;
#line 2870 "SearchFilter.c"
		}
#line 223 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		_tmp38_ = tag_global;
#line 223 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		_tmp39_ = source;
#line 223 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		_tmp40_ = tag_source_collection_fetch_for_source (_tmp38_, _tmp39_);
#line 223 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		tags = _tmp40_;
#line 224 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		_tmp42_ = tags;
#line 224 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		if (_tmp42_ != NULL) {
#line 2884 "SearchFilter.c"
			GeeList* _tmp43_;
			gint _tmp44_;
			gint _tmp45_;
#line 224 "/home/jens/Source/shotwell/src/SearchFilter.vala"
			_tmp43_ = tags;
#line 224 "/home/jens/Source/shotwell/src/SearchFilter.vala"
			_tmp44_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp43_, GEE_TYPE_COLLECTION, GeeCollection));
#line 224 "/home/jens/Source/shotwell/src/SearchFilter.vala"
			_tmp45_ = _tmp44_;
#line 224 "/home/jens/Source/shotwell/src/SearchFilter.vala"
			_tmp41_ = _tmp45_;
#line 2896 "SearchFilter.c"
		} else {
#line 224 "/home/jens/Source/shotwell/src/SearchFilter.vala"
			_tmp41_ = 0;
#line 2900 "SearchFilter.c"
		}
#line 224 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		tags_size = _tmp41_;
#line 226 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		_tmp47_ = search_view_filter_get_search_filter_words (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SEARCH_VIEW_FILTER, SearchViewFilter), &_tmp46_);
#line 2906 "SearchFilter.c"
		{
			gchar** word_collection = NULL;
			gint word_collection_length1 = 0;
			gint _word_collection_size_ = 0;
			gint word_it = 0;
#line 226 "/home/jens/Source/shotwell/src/SearchFilter.vala"
			word_collection = _tmp47_;
#line 226 "/home/jens/Source/shotwell/src/SearchFilter.vala"
			word_collection_length1 = _tmp46_;
#line 226 "/home/jens/Source/shotwell/src/SearchFilter.vala"
			for (word_it = 0; word_it < _tmp46_; word_it = word_it + 1) {
#line 2918 "SearchFilter.c"
				const gchar* word = NULL;
#line 226 "/home/jens/Source/shotwell/src/SearchFilter.vala"
				word = word_collection[word_it];
#line 2922 "SearchFilter.c"
				{
					gboolean _tmp48_ = FALSE;
					const gchar* _tmp49_;
					gboolean _tmp52_ = FALSE;
					const gchar* _tmp53_;
					gint _tmp56_;
#line 227 "/home/jens/Source/shotwell/src/SearchFilter.vala"
					_tmp49_ = media_keywords;
#line 227 "/home/jens/Source/shotwell/src/SearchFilter.vala"
					if (_tmp49_ != NULL) {
#line 2933 "SearchFilter.c"
						const gchar* _tmp50_;
						const gchar* _tmp51_;
#line 227 "/home/jens/Source/shotwell/src/SearchFilter.vala"
						_tmp50_ = media_keywords;
#line 227 "/home/jens/Source/shotwell/src/SearchFilter.vala"
						_tmp51_ = word;
#line 227 "/home/jens/Source/shotwell/src/SearchFilter.vala"
						_tmp48_ = string_contains (_tmp50_, _tmp51_);
#line 2942 "SearchFilter.c"
					} else {
#line 227 "/home/jens/Source/shotwell/src/SearchFilter.vala"
						_tmp48_ = FALSE;
#line 2946 "SearchFilter.c"
					}
#line 227 "/home/jens/Source/shotwell/src/SearchFilter.vala"
					if (_tmp48_) {
#line 228 "/home/jens/Source/shotwell/src/SearchFilter.vala"
						continue;
#line 2952 "SearchFilter.c"
					}
#line 230 "/home/jens/Source/shotwell/src/SearchFilter.vala"
					_tmp53_ = event_keywords;
#line 230 "/home/jens/Source/shotwell/src/SearchFilter.vala"
					if (_tmp53_ != NULL) {
#line 2958 "SearchFilter.c"
						const gchar* _tmp54_;
						const gchar* _tmp55_;
#line 230 "/home/jens/Source/shotwell/src/SearchFilter.vala"
						_tmp54_ = event_keywords;
#line 230 "/home/jens/Source/shotwell/src/SearchFilter.vala"
						_tmp55_ = word;
#line 230 "/home/jens/Source/shotwell/src/SearchFilter.vala"
						_tmp52_ = string_contains (_tmp54_, _tmp55_);
#line 2967 "SearchFilter.c"
					} else {
#line 230 "/home/jens/Source/shotwell/src/SearchFilter.vala"
						_tmp52_ = FALSE;
#line 2971 "SearchFilter.c"
					}
#line 230 "/home/jens/Source/shotwell/src/SearchFilter.vala"
					if (_tmp52_) {
#line 231 "/home/jens/Source/shotwell/src/SearchFilter.vala"
						continue;
#line 2977 "SearchFilter.c"
					}
#line 233 "/home/jens/Source/shotwell/src/SearchFilter.vala"
					_tmp56_ = tags_size;
#line 233 "/home/jens/Source/shotwell/src/SearchFilter.vala"
					if (_tmp56_ > 0) {
#line 2983 "SearchFilter.c"
						gboolean found = FALSE;
						gboolean _tmp71_;
#line 234 "/home/jens/Source/shotwell/src/SearchFilter.vala"
						found = FALSE;
#line 2988 "SearchFilter.c"
						{
							gint ctr = 0;
#line 235 "/home/jens/Source/shotwell/src/SearchFilter.vala"
							ctr = 0;
#line 2993 "SearchFilter.c"
							{
								gboolean _tmp57_ = FALSE;
#line 235 "/home/jens/Source/shotwell/src/SearchFilter.vala"
								_tmp57_ = TRUE;
#line 235 "/home/jens/Source/shotwell/src/SearchFilter.vala"
								while (TRUE) {
#line 3000 "SearchFilter.c"
									gint _tmp59_;
									gint _tmp60_;
									const gchar* tag_keywords = NULL;
									GeeList* _tmp61_;
									gint _tmp62_;
									gpointer _tmp63_;
									Tag* _tmp64_;
									const gchar* _tmp65_;
									const gchar* _tmp66_;
									gboolean _tmp67_ = FALSE;
									const gchar* _tmp68_;
#line 235 "/home/jens/Source/shotwell/src/SearchFilter.vala"
									if (!_tmp57_) {
#line 3014 "SearchFilter.c"
										gint _tmp58_;
#line 235 "/home/jens/Source/shotwell/src/SearchFilter.vala"
										_tmp58_ = ctr;
#line 235 "/home/jens/Source/shotwell/src/SearchFilter.vala"
										ctr = _tmp58_ + 1;
#line 3020 "SearchFilter.c"
									}
#line 235 "/home/jens/Source/shotwell/src/SearchFilter.vala"
									_tmp57_ = FALSE;
#line 235 "/home/jens/Source/shotwell/src/SearchFilter.vala"
									_tmp59_ = ctr;
#line 235 "/home/jens/Source/shotwell/src/SearchFilter.vala"
									_tmp60_ = tags_size;
#line 235 "/home/jens/Source/shotwell/src/SearchFilter.vala"
									if (!(_tmp59_ < _tmp60_)) {
#line 235 "/home/jens/Source/shotwell/src/SearchFilter.vala"
										break;
#line 3032 "SearchFilter.c"
									}
#line 236 "/home/jens/Source/shotwell/src/SearchFilter.vala"
									_tmp61_ = tags;
#line 236 "/home/jens/Source/shotwell/src/SearchFilter.vala"
									_tmp62_ = ctr;
#line 236 "/home/jens/Source/shotwell/src/SearchFilter.vala"
									_tmp63_ = gee_list_get (_tmp61_, _tmp62_);
#line 236 "/home/jens/Source/shotwell/src/SearchFilter.vala"
									_tmp64_ = (Tag*) _tmp63_;
#line 236 "/home/jens/Source/shotwell/src/SearchFilter.vala"
									_tmp65_ = indexable_get_indexable_keywords (G_TYPE_CHECK_INSTANCE_CAST (_tmp64_, TYPE_INDEXABLE, Indexable));
#line 236 "/home/jens/Source/shotwell/src/SearchFilter.vala"
									_tmp66_ = _tmp65_;
#line 236 "/home/jens/Source/shotwell/src/SearchFilter.vala"
									_g_object_unref0 (_tmp64_);
#line 236 "/home/jens/Source/shotwell/src/SearchFilter.vala"
									tag_keywords = _tmp66_;
#line 237 "/home/jens/Source/shotwell/src/SearchFilter.vala"
									_tmp68_ = tag_keywords;
#line 237 "/home/jens/Source/shotwell/src/SearchFilter.vala"
									if (_tmp68_ != NULL) {
#line 3054 "SearchFilter.c"
										const gchar* _tmp69_;
										const gchar* _tmp70_;
#line 237 "/home/jens/Source/shotwell/src/SearchFilter.vala"
										_tmp69_ = tag_keywords;
#line 237 "/home/jens/Source/shotwell/src/SearchFilter.vala"
										_tmp70_ = word;
#line 237 "/home/jens/Source/shotwell/src/SearchFilter.vala"
										_tmp67_ = string_contains (_tmp69_, _tmp70_);
#line 3063 "SearchFilter.c"
									} else {
#line 237 "/home/jens/Source/shotwell/src/SearchFilter.vala"
										_tmp67_ = FALSE;
#line 3067 "SearchFilter.c"
									}
#line 237 "/home/jens/Source/shotwell/src/SearchFilter.vala"
									if (_tmp67_) {
#line 238 "/home/jens/Source/shotwell/src/SearchFilter.vala"
										found = TRUE;
#line 240 "/home/jens/Source/shotwell/src/SearchFilter.vala"
										break;
#line 3075 "SearchFilter.c"
									}
								}
							}
						}
#line 244 "/home/jens/Source/shotwell/src/SearchFilter.vala"
						_tmp71_ = found;
#line 244 "/home/jens/Source/shotwell/src/SearchFilter.vala"
						if (_tmp71_) {
#line 245 "/home/jens/Source/shotwell/src/SearchFilter.vala"
							continue;
#line 3086 "SearchFilter.c"
						}
					}
#line 250 "/home/jens/Source/shotwell/src/SearchFilter.vala"
					result = FALSE;
#line 250 "/home/jens/Source/shotwell/src/SearchFilter.vala"
					_g_object_unref0 (tags);
#line 250 "/home/jens/Source/shotwell/src/SearchFilter.vala"
					_g_object_unref0 (event);
#line 250 "/home/jens/Source/shotwell/src/SearchFilter.vala"
					_g_object_unref0 (source);
#line 250 "/home/jens/Source/shotwell/src/SearchFilter.vala"
					return result;
#line 3099 "SearchFilter.c"
				}
			}
		}
#line 215 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		_g_object_unref0 (tags);
#line 215 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		_g_object_unref0 (event);
#line 3107 "SearchFilter.c"
	}
#line 255 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp73_ = criteria;
#line 255 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	if ((SEARCH_FILTER_CRITERIA_SAVEDSEARCH & _tmp73_) != 0) {
#line 255 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		_tmp72_ = search_view_filter_has_saved_search (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SEARCH_VIEW_FILTER, SearchViewFilter));
#line 3115 "SearchFilter.c"
	} else {
#line 255 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		_tmp72_ = FALSE;
#line 3119 "SearchFilter.c"
	}
#line 255 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	if (_tmp72_) {
#line 3123 "SearchFilter.c"
		SavedSearch* _tmp74_;
		SavedSearch* _tmp75_;
		MediaSource* _tmp76_;
#line 256 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		_tmp74_ = search_view_filter_get_saved_search (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SEARCH_VIEW_FILTER, SearchViewFilter));
#line 256 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		_tmp75_ = _tmp74_;
#line 256 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		_tmp76_ = source;
#line 256 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		result = saved_search_predicate (_tmp75_, _tmp76_);
#line 256 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		_g_object_unref0 (source);
#line 256 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		return result;
#line 3139 "SearchFilter.c"
	}
#line 259 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	result = TRUE;
#line 259 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_g_object_unref0 (source);
#line 259 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	return result;
#line 3147 "SearchFilter.c"
}


DefaultSearchViewFilter*
default_search_view_filter_construct (GType object_type)
{
	DefaultSearchViewFilter* self = NULL;
#line 180 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	self = (DefaultSearchViewFilter*) search_view_filter_construct (object_type);
#line 180 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	return self;
#line 3159 "SearchFilter.c"
}


static void
default_search_view_filter_class_init (DefaultSearchViewFilterClass * klass)
{
#line 180 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	default_search_view_filter_parent_class = g_type_class_peek_parent (klass);
#line 180 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	((ViewFilterClass *) klass)->predicate = (gboolean (*) (ViewFilter *, DataView*)) default_search_view_filter_real_predicate;
#line 3170 "SearchFilter.c"
}


static void
default_search_view_filter_instance_init (DefaultSearchViewFilter * self)
{
}


GType
default_search_view_filter_get_type (void)
{
	static volatile gsize default_search_view_filter_type_id__volatile = 0;
	if (g_once_init_enter (&default_search_view_filter_type_id__volatile)) {
		static const GTypeInfo g_define_type_info = { sizeof (DefaultSearchViewFilterClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) default_search_view_filter_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (DefaultSearchViewFilter), 0, (GInstanceInitFunc) default_search_view_filter_instance_init, NULL };
		GType default_search_view_filter_type_id;
		default_search_view_filter_type_id = g_type_register_static (TYPE_SEARCH_VIEW_FILTER, "DefaultSearchViewFilter", &g_define_type_info, G_TYPE_FLAG_ABSTRACT);
		g_once_init_leave (&default_search_view_filter_type_id__volatile, default_search_view_filter_type_id);
	}
	return default_search_view_filter_type_id__volatile;
}


static gboolean
disabled_view_filter_real_predicate (ViewFilter* base,
                                     DataView* view)
{
	DisabledViewFilter * self;
	gboolean result = FALSE;
#line 264 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_DISABLED_VIEW_FILTER, DisabledViewFilter);
#line 264 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_return_val_if_fail (IS_DATA_VIEW (view), FALSE);
#line 265 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	result = TRUE;
#line 265 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	return result;
#line 3208 "SearchFilter.c"
}


static guint
disabled_view_filter_real_get_criteria (SearchViewFilter* base)
{
	DisabledViewFilter * self;
	guint result = 0U;
#line 268 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_DISABLED_VIEW_FILTER, DisabledViewFilter);
#line 269 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	result = (guint) SEARCH_FILTER_CRITERIA_RATING;
#line 269 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	return result;
#line 3223 "SearchFilter.c"
}


DisabledViewFilter*
disabled_view_filter_construct (GType object_type)
{
	DisabledViewFilter* self = NULL;
#line 263 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	self = (DisabledViewFilter*) search_view_filter_construct (object_type);
#line 263 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	return self;
#line 3235 "SearchFilter.c"
}


DisabledViewFilter*
disabled_view_filter_new (void)
{
#line 263 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	return disabled_view_filter_construct (TYPE_DISABLED_VIEW_FILTER);
#line 3244 "SearchFilter.c"
}


static void
disabled_view_filter_class_init (DisabledViewFilterClass * klass)
{
#line 263 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	disabled_view_filter_parent_class = g_type_class_peek_parent (klass);
#line 263 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	((ViewFilterClass *) klass)->predicate = (gboolean (*) (ViewFilter *, DataView*)) disabled_view_filter_real_predicate;
#line 263 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	((SearchViewFilterClass *) klass)->get_criteria = (guint (*) (SearchViewFilter *)) disabled_view_filter_real_get_criteria;
#line 3257 "SearchFilter.c"
}


static void
disabled_view_filter_instance_init (DisabledViewFilter * self)
{
}


GType
disabled_view_filter_get_type (void)
{
	static volatile gsize disabled_view_filter_type_id__volatile = 0;
	if (g_once_init_enter (&disabled_view_filter_type_id__volatile)) {
		static const GTypeInfo g_define_type_info = { sizeof (DisabledViewFilterClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) disabled_view_filter_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (DisabledViewFilter), 0, (GInstanceInitFunc) disabled_view_filter_instance_init, NULL };
		GType disabled_view_filter_type_id;
		disabled_view_filter_type_id = g_type_register_static (TYPE_SEARCH_VIEW_FILTER, "DisabledViewFilter", &g_define_type_info, 0);
		g_once_init_leave (&disabled_view_filter_type_id__volatile, disabled_view_filter_type_id);
	}
	return disabled_view_filter_type_id__volatile;
}


TextAction*
text_action_construct (GType object_type,
                       const gchar* init)
{
	TextAction* self = NULL;
	gchar* _tmp0_;
#line 290 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	self = (TextAction*) g_type_create_instance (object_type);
#line 291 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp0_ = g_strdup (init);
#line 291 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_g_free0 (self->priv->text);
#line 291 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	self->priv->text = _tmp0_;
#line 290 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	return self;
#line 3297 "SearchFilter.c"
}


TextAction*
text_action_new (const gchar* init)
{
#line 290 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	return text_action_construct (TYPE_TEXT_ACTION, init);
#line 3306 "SearchFilter.c"
}


void
text_action_set_text (TextAction* self,
                      const gchar* text)
{
	const gchar* _tmp0_;
#line 294 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_return_if_fail (IS_TEXT_ACTION (self));
#line 295 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp0_ = self->priv->text;
#line 295 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	if (g_strcmp0 (_tmp0_, text) != 0) {
#line 3321 "SearchFilter.c"
		gchar* _tmp1_;
#line 296 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		_tmp1_ = g_strdup (text);
#line 296 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		_g_free0 (self->priv->text);
#line 296 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		self->priv->text = _tmp1_;
#line 297 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		g_signal_emit (self, text_action_signals[TEXT_ACTION_TEXT_CHANGED_SIGNAL], 0, text);
#line 3331 "SearchFilter.c"
	}
}


void
text_action_clear (TextAction* self)
{
#line 301 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_return_if_fail (IS_TEXT_ACTION (self));
#line 302 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	text_action_set_text (self, NULL);
#line 3343 "SearchFilter.c"
}


gboolean
text_action_is_sensitive (TextAction* self)
{
	gboolean result = FALSE;
	gboolean _tmp0_;
#line 305 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_return_val_if_fail (IS_TEXT_ACTION (self), FALSE);
#line 306 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp0_ = self->priv->sensitive;
#line 306 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	result = _tmp0_;
#line 306 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	return result;
#line 3360 "SearchFilter.c"
}


void
text_action_set_sensitive (TextAction* self,
                           gboolean sensitive)
{
	gboolean _tmp0_;
#line 309 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_return_if_fail (IS_TEXT_ACTION (self));
#line 310 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp0_ = self->priv->sensitive;
#line 310 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	if (_tmp0_ != sensitive) {
#line 311 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		self->priv->sensitive = sensitive;
#line 312 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		g_signal_emit (self, text_action_signals[TEXT_ACTION_SENSITIVITY_CHANGED_SIGNAL], 0, sensitive);
#line 3379 "SearchFilter.c"
	}
}


gboolean
text_action_is_visible (TextAction* self)
{
	gboolean result = FALSE;
	gboolean _tmp0_;
#line 316 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_return_val_if_fail (IS_TEXT_ACTION (self), FALSE);
#line 317 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp0_ = self->priv->visible;
#line 317 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	result = _tmp0_;
#line 317 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	return result;
#line 3397 "SearchFilter.c"
}


void
text_action_set_visible (TextAction* self,
                         gboolean visible)
{
	gboolean _tmp0_;
#line 320 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_return_if_fail (IS_TEXT_ACTION (self));
#line 321 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp0_ = self->priv->visible;
#line 321 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	if (_tmp0_ != visible) {
#line 322 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		self->priv->visible = visible;
#line 323 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		g_signal_emit (self, text_action_signals[TEXT_ACTION_VISIBILITY_CHANGED_SIGNAL], 0, visible);
#line 3416 "SearchFilter.c"
	}
}


const gchar*
text_action_get_value (TextAction* self)
{
	const gchar* result;
	const gchar* _tmp0_;
#line 275 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_return_val_if_fail (IS_TEXT_ACTION (self), NULL);
#line 276 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp0_ = self->priv->text;
#line 276 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	result = _tmp0_;
#line 276 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	return result;
#line 3434 "SearchFilter.c"
}


static void
value_text_action_init (GValue* value)
{
#line 273 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	value->data[0].v_pointer = NULL;
#line 3443 "SearchFilter.c"
}


static void
value_text_action_free_value (GValue* value)
{
#line 273 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	if (value->data[0].v_pointer) {
#line 273 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		text_action_unref (value->data[0].v_pointer);
#line 3454 "SearchFilter.c"
	}
}


static void
value_text_action_copy_value (const GValue* src_value,
                              GValue* dest_value)
{
#line 273 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	if (src_value->data[0].v_pointer) {
#line 273 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		dest_value->data[0].v_pointer = text_action_ref (src_value->data[0].v_pointer);
#line 3467 "SearchFilter.c"
	} else {
#line 273 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		dest_value->data[0].v_pointer = NULL;
#line 3471 "SearchFilter.c"
	}
}


static gpointer
value_text_action_peek_pointer (const GValue* value)
{
#line 273 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	return value->data[0].v_pointer;
#line 3481 "SearchFilter.c"
}


static gchar*
value_text_action_collect_value (GValue* value,
                                 guint n_collect_values,
                                 GTypeCValue* collect_values,
                                 guint collect_flags)
{
#line 273 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	if (collect_values[0].v_pointer) {
#line 3493 "SearchFilter.c"
		TextAction * object;
		object = collect_values[0].v_pointer;
#line 273 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		if (object->parent_instance.g_class == NULL) {
#line 273 "/home/jens/Source/shotwell/src/SearchFilter.vala"
			return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL);
#line 3500 "SearchFilter.c"
		} else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) {
#line 273 "/home/jens/Source/shotwell/src/SearchFilter.vala"
			return g_strconcat ("invalid object type `", g_type_name (G_TYPE_FROM_INSTANCE (object)), "' for value type `", G_VALUE_TYPE_NAME (value), "'", NULL);
#line 3504 "SearchFilter.c"
		}
#line 273 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		value->data[0].v_pointer = text_action_ref (object);
#line 3508 "SearchFilter.c"
	} else {
#line 273 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		value->data[0].v_pointer = NULL;
#line 3512 "SearchFilter.c"
	}
#line 273 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	return NULL;
#line 3516 "SearchFilter.c"
}


static gchar*
value_text_action_lcopy_value (const GValue* value,
                               guint n_collect_values,
                               GTypeCValue* collect_values,
                               guint collect_flags)
{
	TextAction ** object_p;
	object_p = collect_values[0].v_pointer;
#line 273 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	if (!object_p) {
#line 273 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value));
#line 3532 "SearchFilter.c"
	}
#line 273 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	if (!value->data[0].v_pointer) {
#line 273 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		*object_p = NULL;
#line 3538 "SearchFilter.c"
	} else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) {
#line 273 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		*object_p = value->data[0].v_pointer;
#line 3542 "SearchFilter.c"
	} else {
#line 273 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		*object_p = text_action_ref (value->data[0].v_pointer);
#line 3546 "SearchFilter.c"
	}
#line 273 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	return NULL;
#line 3550 "SearchFilter.c"
}


GParamSpec*
param_spec_text_action (const gchar* name,
                        const gchar* nick,
                        const gchar* blurb,
                        GType object_type,
                        GParamFlags flags)
{
	ParamSpecTextAction* spec;
#line 273 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_return_val_if_fail (g_type_is_a (object_type, TYPE_TEXT_ACTION), NULL);
#line 273 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags);
#line 273 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	G_PARAM_SPEC (spec)->value_type = object_type;
#line 273 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	return G_PARAM_SPEC (spec);
#line 3570 "SearchFilter.c"
}


gpointer
value_get_text_action (const GValue* value)
{
#line 273 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_TEXT_ACTION), NULL);
#line 273 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	return value->data[0].v_pointer;
#line 3581 "SearchFilter.c"
}


void
value_set_text_action (GValue* value,
                       gpointer v_object)
{
	TextAction * old;
#line 273 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_TEXT_ACTION));
#line 273 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	old = value->data[0].v_pointer;
#line 273 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	if (v_object) {
#line 273 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_TEXT_ACTION));
#line 273 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value)));
#line 273 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		value->data[0].v_pointer = v_object;
#line 273 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		text_action_ref (value->data[0].v_pointer);
#line 3604 "SearchFilter.c"
	} else {
#line 273 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		value->data[0].v_pointer = NULL;
#line 3608 "SearchFilter.c"
	}
#line 273 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	if (old) {
#line 273 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		text_action_unref (old);
#line 3614 "SearchFilter.c"
	}
}


void
value_take_text_action (GValue* value,
                        gpointer v_object)
{
	TextAction * old;
#line 273 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_TEXT_ACTION));
#line 273 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	old = value->data[0].v_pointer;
#line 273 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	if (v_object) {
#line 273 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_TEXT_ACTION));
#line 273 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value)));
#line 273 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		value->data[0].v_pointer = v_object;
#line 3636 "SearchFilter.c"
	} else {
#line 273 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		value->data[0].v_pointer = NULL;
#line 3640 "SearchFilter.c"
	}
#line 273 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	if (old) {
#line 273 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		text_action_unref (old);
#line 3646 "SearchFilter.c"
	}
}


static void
text_action_class_init (TextActionClass * klass)
{
#line 273 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	text_action_parent_class = g_type_class_peek_parent (klass);
#line 273 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	((TextActionClass *) klass)->finalize = text_action_finalize;
#line 273 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_type_class_add_private (klass, sizeof (TextActionPrivate));
#line 273 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	text_action_signals[TEXT_ACTION_TEXT_CHANGED_SIGNAL] = g_signal_new ("text-changed", TYPE_TEXT_ACTION, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_marshal_VOID__STRING, G_TYPE_NONE, 1, G_TYPE_STRING);
#line 273 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	text_action_signals[TEXT_ACTION_SENSITIVITY_CHANGED_SIGNAL] = g_signal_new ("sensitivity-changed", TYPE_TEXT_ACTION, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_marshal_VOID__BOOLEAN, G_TYPE_NONE, 1, G_TYPE_BOOLEAN);
#line 273 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	text_action_signals[TEXT_ACTION_VISIBILITY_CHANGED_SIGNAL] = g_signal_new ("visibility-changed", TYPE_TEXT_ACTION, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_marshal_VOID__BOOLEAN, G_TYPE_NONE, 1, G_TYPE_BOOLEAN);
#line 3666 "SearchFilter.c"
}


static void
text_action_instance_init (TextAction * self)
{
#line 273 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	self->priv = TEXT_ACTION_GET_PRIVATE (self);
#line 280 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	self->priv->text = NULL;
#line 281 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	self->priv->sensitive = TRUE;
#line 282 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	self->priv->visible = TRUE;
#line 273 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	self->ref_count = 1;
#line 3683 "SearchFilter.c"
}


static void
text_action_finalize (TextAction * obj)
{
	TextAction * self;
#line 273 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_TEXT_ACTION, TextAction);
#line 273 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_signal_handlers_destroy (self);
#line 280 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_g_free0 (self->priv->text);
#line 3697 "SearchFilter.c"
}


GType
text_action_get_type (void)
{
	static volatile gsize text_action_type_id__volatile = 0;
	if (g_once_init_enter (&text_action_type_id__volatile)) {
		static const GTypeValueTable g_define_type_value_table = { value_text_action_init, value_text_action_free_value, value_text_action_copy_value, value_text_action_peek_pointer, "p", value_text_action_collect_value, "p", value_text_action_lcopy_value };
		static const GTypeInfo g_define_type_info = { sizeof (TextActionClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) text_action_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (TextAction), 0, (GInstanceInitFunc) text_action_instance_init, &g_define_type_value_table };
		static const GTypeFundamentalInfo g_define_type_fundamental_info = { (G_TYPE_FLAG_CLASSED | G_TYPE_FLAG_INSTANTIATABLE | G_TYPE_FLAG_DERIVABLE | G_TYPE_FLAG_DEEP_DERIVABLE) };
		GType text_action_type_id;
		text_action_type_id = g_type_register_fundamental (g_type_fundamental_next (), "TextAction", &g_define_type_info, &g_define_type_fundamental_info, 0);
		g_once_init_leave (&text_action_type_id__volatile, text_action_type_id);
	}
	return text_action_type_id__volatile;
}


gpointer
text_action_ref (gpointer instance)
{
	TextAction * self;
	self = instance;
#line 273 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_atomic_int_inc (&self->ref_count);
#line 273 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	return instance;
#line 3726 "SearchFilter.c"
}


void
text_action_unref (gpointer instance)
{
	TextAction * self;
	self = instance;
#line 273 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	if (g_atomic_int_dec_and_test (&self->ref_count)) {
#line 273 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		TEXT_ACTION_GET_CLASS (self)->finalize (self);
#line 273 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		g_type_free_instance ((GTypeInstance *) self);
#line 3741 "SearchFilter.c"
	}
}


static void
_search_filter_actions_on_action_radio_gsimple_action_activate_callback (GSimpleAction* action,
                                                                         GVariant* parameter,
                                                                         gpointer self)
{
#line 528 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	search_filter_actions_on_action_radio ((SearchFilterActions*) self, action, parameter);
#line 3753 "SearchFilter.c"
}


static void
_search_filter_actions_on_rating_changed_gsimple_action_change_state_callback (GSimpleAction* action,
                                                                               GVariant* value,
                                                                               gpointer self)
{
#line 528 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	search_filter_actions_on_rating_changed ((SearchFilterActions*) self, action, value);
#line 3764 "SearchFilter.c"
}


static void
_search_filter_actions_on_action_toggle_gsimple_action_activate_callback (GSimpleAction* action,
                                                                          GVariant* parameter,
                                                                          gpointer self)
{
#line 528 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	search_filter_actions_on_action_toggle ((SearchFilterActions*) self, action, parameter);
#line 3775 "SearchFilter.c"
}


static void
_search_filter_actions_on_flagged_toggled_gsimple_action_change_state_callback (GSimpleAction* action,
                                                                                GVariant* value,
                                                                                gpointer self)
{
#line 528 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	search_filter_actions_on_flagged_toggled ((SearchFilterActions*) self, action, value);
#line 3786 "SearchFilter.c"
}


static void
_search_filter_actions_on_photos_toggled_gsimple_action_change_state_callback (GSimpleAction* action,
                                                                               GVariant* value,
                                                                               gpointer self)
{
#line 528 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	search_filter_actions_on_photos_toggled ((SearchFilterActions*) self, action, value);
#line 3797 "SearchFilter.c"
}


static void
_search_filter_actions_on_videos_toggled_gsimple_action_change_state_callback (GSimpleAction* action,
                                                                               GVariant* value,
                                                                               gpointer self)
{
#line 528 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	search_filter_actions_on_videos_toggled ((SearchFilterActions*) self, action, value);
#line 3808 "SearchFilter.c"
}


static void
_search_filter_actions_on_raw_toggled_gsimple_action_change_state_callback (GSimpleAction* action,
                                                                            GVariant* value,
                                                                            gpointer self)
{
#line 528 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	search_filter_actions_on_raw_toggled ((SearchFilterActions*) self, action, value);
#line 3819 "SearchFilter.c"
}


static void
_search_filter_actions_on_text_changed_text_action_text_changed (TextAction* _sender,
                                                                 const gchar* text,
                                                                 gpointer self)
{
#line 406 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	search_filter_actions_on_text_changed ((SearchFilterActions*) self, _sender, text);
#line 3830 "SearchFilter.c"
}


SearchFilterActions*
search_filter_actions_construct (GType object_type)
{
	SearchFilterActions* self = NULL;
	TextAction* _tmp0_;
	TextAction* _tmp1_;
#line 402 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	self = (SearchFilterActions*) g_type_create_instance (object_type);
#line 404 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	search_filter_actions_register (self);
#line 406 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp0_ = search_filter_actions_get_text (self);
#line 406 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp1_ = _tmp0_;
#line 406 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_signal_connect (_tmp1_, "text-changed", (GCallback) _search_filter_actions_on_text_changed_text_action_text_changed, self);
#line 402 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	return self;
#line 3852 "SearchFilter.c"
}


SearchFilterActions*
search_filter_actions_new (void)
{
#line 402 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	return search_filter_actions_construct (TYPE_SEARCH_FILTER_ACTIONS);
#line 3861 "SearchFilter.c"
}


SearchFilterCriteria
search_filter_actions_get_criteria (SearchFilterActions* self)
{
	SearchFilterCriteria result = 0;
	SearchFilterCriteria _tmp0_;
#line 409 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_return_val_if_fail (IS_SEARCH_FILTER_ACTIONS (self), 0);
#line 410 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp0_ = self->priv->criteria;
#line 410 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	result = _tmp0_;
#line 410 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	return result;
#line 3878 "SearchFilter.c"
}


GActionEntry*
search_filter_actions_get_actions (SearchFilterActions* self,
                                   int* result_length1)
{
	GActionEntry* result = NULL;
	GActionEntry* _tmp0_;
	gint _tmp0__length1;
#line 413 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_return_val_if_fail (IS_SEARCH_FILTER_ACTIONS (self), NULL);
#line 414 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp0_ = SEARCH_FILTER_ACTIONS_entries;
#line 414 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp0__length1 = G_N_ELEMENTS (SEARCH_FILTER_ACTIONS_entries);
#line 414 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	if (result_length1) {
#line 414 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		*result_length1 = _tmp0__length1;
#line 3899 "SearchFilter.c"
	}
#line 414 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	result = _tmp0_;
#line 414 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	return result;
#line 3905 "SearchFilter.c"
}


GSimpleAction*
search_filter_actions_get_action (SearchFilterActions* self,
                                  const gchar* name)
{
	GSimpleAction* result = NULL;
	LibraryWindow* lw = NULL;
	AppWindow* _tmp0_;
	LibraryWindow* _tmp1_;
	LibraryWindow* _tmp2_;
#line 417 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_return_val_if_fail (IS_SEARCH_FILTER_ACTIONS (self), NULL);
#line 417 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_return_val_if_fail (name != NULL, NULL);
#line 418 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp0_ = app_window_get_instance ();
#line 418 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp1_ = G_TYPE_CHECK_INSTANCE_TYPE (_tmp0_, TYPE_LIBRARY_WINDOW) ? ((LibraryWindow*) _tmp0_) : NULL;
#line 418 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	if (_tmp1_ == NULL) {
#line 418 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		_g_object_unref0 (_tmp0_);
#line 3930 "SearchFilter.c"
	}
#line 418 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	lw = _tmp1_;
#line 419 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp2_ = lw;
#line 419 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	if (_tmp2_ != NULL) {
#line 3938 "SearchFilter.c"
		LibraryWindow* _tmp3_;
		GAction* _tmp4_;
#line 420 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		_tmp3_ = lw;
#line 420 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		_tmp4_ = g_action_map_lookup_action (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, g_action_map_get_type (), GActionMap), name);
#line 420 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		result = G_TYPE_CHECK_INSTANCE_TYPE (_tmp4_, g_simple_action_get_type ()) ? ((GSimpleAction*) _tmp4_) : NULL;
#line 420 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		_g_object_unref0 (lw);
#line 420 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		return result;
#line 3951 "SearchFilter.c"
	}
#line 423 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	result = NULL;
#line 423 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_g_object_unref0 (lw);
#line 423 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	return result;
#line 3959 "SearchFilter.c"
}


void
search_filter_actions_set_action_sensitive (SearchFilterActions* self,
                                            const gchar* name,
                                            gboolean sensitive)
{
	GSimpleAction* action = NULL;
	GSimpleAction* _tmp0_;
	GSimpleAction* _tmp1_;
	GSimpleAction* _tmp2_;
#line 427 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_return_if_fail (IS_SEARCH_FILTER_ACTIONS (self));
#line 427 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_return_if_fail (name != NULL);
#line 428 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp0_ = search_filter_actions_get_action (self, name);
#line 428 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp1_ = _g_object_ref0 (_tmp0_);
#line 428 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	action = _tmp1_;
#line 429 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp2_ = action;
#line 429 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	if (_tmp2_ != NULL) {
#line 3986 "SearchFilter.c"
		GSimpleAction* _tmp3_;
#line 430 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		_tmp3_ = action;
#line 430 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		g_simple_action_set_enabled (_tmp3_, sensitive);
#line 3992 "SearchFilter.c"
	}
#line 427 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_g_object_unref0 (action);
#line 3996 "SearchFilter.c"
}


static GVariant*
_variant_new32 (gboolean value)
{
#line 435 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	return g_variant_ref_sink (g_variant_new_boolean (value));
#line 4005 "SearchFilter.c"
}


static GVariant*
_variant_new33 (gboolean value)
{
#line 436 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	return g_variant_ref_sink (g_variant_new_boolean (value));
#line 4014 "SearchFilter.c"
}


static GVariant*
_variant_new34 (gboolean value)
{
#line 437 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	return g_variant_ref_sink (g_variant_new_boolean (value));
#line 4023 "SearchFilter.c"
}


static GVariant*
_variant_new35 (gboolean value)
{
#line 438 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	return g_variant_ref_sink (g_variant_new_boolean (value));
#line 4032 "SearchFilter.c"
}


static GVariant*
_variant_new36 (gchar* value)
{
#line 439 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	return g_variant_ref_sink (g_variant_new_string (value));
#line 4041 "SearchFilter.c"
}


void
search_filter_actions_reset (SearchFilterActions* self)
{
	GSimpleAction* _tmp0_;
	GSimpleAction* _tmp1_;
	GVariant* _tmp2_;
	GSimpleAction* _tmp3_;
	GSimpleAction* _tmp4_;
	GVariant* _tmp5_;
	GSimpleAction* _tmp6_;
	GSimpleAction* _tmp7_;
	GVariant* _tmp8_;
	GSimpleAction* _tmp9_;
	GSimpleAction* _tmp10_;
	GVariant* _tmp11_;
	GVariant* v = NULL;
	gchar* _tmp12_;
	gchar* _tmp13_;
	GVariant* _tmp14_;
	GVariant* _tmp15_;
	GSimpleAction* _tmp16_;
	GSimpleAction* _tmp17_;
	TextAction* _tmp18_;
	TextAction* _tmp19_;
#line 434 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_return_if_fail (IS_SEARCH_FILTER_ACTIONS (self));
#line 435 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp0_ = search_filter_actions_get_flagged (self);
#line 435 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp1_ = _tmp0_;
#line 435 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp2_ = _variant_new32 (FALSE);
#line 435 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_signal_emit_by_name (_tmp1_, "change-state", _tmp2_);
#line 435 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_g_variant_unref0 (_tmp2_);
#line 436 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp3_ = search_filter_actions_get_photos (self);
#line 436 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp4_ = _tmp3_;
#line 436 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp5_ = _variant_new33 (FALSE);
#line 436 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_signal_emit_by_name (_tmp4_, "change-state", _tmp5_);
#line 436 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_g_variant_unref0 (_tmp5_);
#line 437 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp6_ = search_filter_actions_get_raw (self);
#line 437 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp7_ = _tmp6_;
#line 437 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp8_ = _variant_new34 (FALSE);
#line 437 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_signal_emit_by_name (_tmp7_, "change-state", _tmp8_);
#line 437 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_g_variant_unref0 (_tmp8_);
#line 438 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp9_ = search_filter_actions_get_videos (self);
#line 438 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp10_ = _tmp9_;
#line 438 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp11_ = _variant_new35 (FALSE);
#line 438 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_signal_emit_by_name (_tmp10_, "change-state", _tmp11_);
#line 438 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_g_variant_unref0 (_tmp11_);
#line 439 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp12_ = g_strdup_printf ("%d", (gint) RATING_FILTER_UNRATED_OR_HIGHER);
#line 439 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp13_ = _tmp12_;
#line 439 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp14_ = _variant_new36 (_tmp13_);
#line 439 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp15_ = _tmp14_;
#line 439 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_g_free0 (_tmp13_);
#line 439 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	v = _tmp15_;
#line 440 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp16_ = search_filter_actions_get_rating (self);
#line 440 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp17_ = _tmp16_;
#line 440 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_signal_emit_by_name (_tmp17_, "change-state", v);
#line 442 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp18_ = search_filter_actions_get_text (self);
#line 442 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp19_ = _tmp18_;
#line 442 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	text_action_set_text (_tmp19_, NULL);
#line 434 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_g_variant_unref0 (v);
#line 4137 "SearchFilter.c"
}


void
search_filter_actions_set_sensitive_for_search_criteria (SearchFilterActions* self,
                                                         SearchFilterCriteria criteria)
{
#line 445 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_return_if_fail (IS_SEARCH_FILTER_ACTIONS (self));
#line 446 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	self->priv->criteria = criteria;
#line 447 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	search_filter_actions_update_sensitivities (self);
#line 450 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_signal_emit (self, search_filter_actions_signals[SEARCH_FILTER_ACTIONS_CRITERIA_CHANGED_SIGNAL], 0);
#line 4153 "SearchFilter.c"
}


static void
_search_filter_actions_on_media_tracker_updated_core_tracker_updated (CoreTracker* _sender,
                                                                      gpointer self)
{
#line 458 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	search_filter_actions_on_media_tracker_updated ((SearchFilterActions*) self, _sender);
#line 4163 "SearchFilter.c"
}


static void
_search_filter_actions_on_camera_tracker_updated_core_tracker_updated (CoreTracker* _sender,
                                                                       gpointer self)
{
#line 460 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	search_filter_actions_on_camera_tracker_updated ((SearchFilterActions*) self, _sender);
#line 4173 "SearchFilter.c"
}


void
search_filter_actions_monitor_page_contents (SearchFilterActions* self,
                                             Page* old_page,
                                             Page* new_page)
{
	CheckerboardPage* old_tracked_page = NULL;
	CheckerboardPage* _tmp0_;
	CheckerboardPage* _tmp1_;
	CheckerboardPage* new_tracked_page = NULL;
	CheckerboardPage* _tmp10_;
	CheckerboardPage* _tmp11_;
#line 453 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_return_if_fail (IS_SEARCH_FILTER_ACTIONS (self));
#line 453 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_return_if_fail ((old_page == NULL) || IS_PAGE (old_page));
#line 453 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_return_if_fail ((new_page == NULL) || IS_PAGE (new_page));
#line 454 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp0_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (old_page, TYPE_CHECKERBOARD_PAGE) ? ((CheckerboardPage*) old_page) : NULL);
#line 454 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	old_tracked_page = _tmp0_;
#line 455 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp1_ = old_tracked_page;
#line 455 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	if (_tmp1_ != NULL) {
#line 4202 "SearchFilter.c"
		CoreViewTracker* tracker = NULL;
		CheckerboardPage* _tmp2_;
		CoreViewTracker* _tmp3_;
		CoreViewTracker* _tmp4_;
#line 456 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		_tmp2_ = old_tracked_page;
#line 456 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		_tmp3_ = checkerboard_page_get_view_tracker (_tmp2_);
#line 456 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		tracker = _tmp3_;
#line 457 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		_tmp4_ = tracker;
#line 457 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		if (G_TYPE_CHECK_INSTANCE_TYPE (_tmp4_, TYPE_MEDIA_VIEW_TRACKER)) {
#line 4217 "SearchFilter.c"
			CoreViewTracker* _tmp5_;
			guint _tmp6_;
#line 458 "/home/jens/Source/shotwell/src/SearchFilter.vala"
			_tmp5_ = tracker;
#line 458 "/home/jens/Source/shotwell/src/SearchFilter.vala"
			g_signal_parse_name ("updated", CORE_TYPE_TRACKER, &_tmp6_, NULL, FALSE);
#line 458 "/home/jens/Source/shotwell/src/SearchFilter.vala"
			g_signal_handlers_disconnect_matched (G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, CORE_TYPE_TRACKER, CoreTracker), G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp6_, 0, NULL, (GCallback) _search_filter_actions_on_media_tracker_updated_core_tracker_updated, self);
#line 4226 "SearchFilter.c"
		} else {
			CoreViewTracker* _tmp7_;
#line 459 "/home/jens/Source/shotwell/src/SearchFilter.vala"
			_tmp7_ = tracker;
#line 459 "/home/jens/Source/shotwell/src/SearchFilter.vala"
			if (G_TYPE_CHECK_INSTANCE_TYPE (_tmp7_, TYPE_CAMERA_VIEW_TRACKER)) {
#line 4233 "SearchFilter.c"
				CoreViewTracker* _tmp8_;
				guint _tmp9_;
#line 460 "/home/jens/Source/shotwell/src/SearchFilter.vala"
				_tmp8_ = tracker;
#line 460 "/home/jens/Source/shotwell/src/SearchFilter.vala"
				g_signal_parse_name ("updated", CORE_TYPE_TRACKER, &_tmp9_, NULL, FALSE);
#line 460 "/home/jens/Source/shotwell/src/SearchFilter.vala"
				g_signal_handlers_disconnect_matched (G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, CORE_TYPE_TRACKER, CoreTracker), G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp9_, 0, NULL, (GCallback) _search_filter_actions_on_camera_tracker_updated_core_tracker_updated, self);
#line 4242 "SearchFilter.c"
			}
		}
#line 455 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		_core_tracker_unref0 (tracker);
#line 4247 "SearchFilter.c"
	}
#line 463 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp10_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (new_page, TYPE_CHECKERBOARD_PAGE) ? ((CheckerboardPage*) new_page) : NULL);
#line 463 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	new_tracked_page = _tmp10_;
#line 464 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp11_ = new_tracked_page;
#line 464 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	if (_tmp11_ != NULL) {
#line 4257 "SearchFilter.c"
		CoreViewTracker* tracker = NULL;
		CheckerboardPage* _tmp12_;
		CoreViewTracker* _tmp13_;
		CoreViewTracker* _tmp14_;
#line 465 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		self->priv->can_filter_by_stars = TRUE;
#line 467 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		_tmp12_ = new_tracked_page;
#line 467 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		_tmp13_ = checkerboard_page_get_view_tracker (_tmp12_);
#line 467 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		tracker = _tmp13_;
#line 468 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		_tmp14_ = tracker;
#line 468 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		if (G_TYPE_CHECK_INSTANCE_TYPE (_tmp14_, TYPE_MEDIA_VIEW_TRACKER)) {
#line 4274 "SearchFilter.c"
			CoreViewTracker* _tmp15_;
			CoreViewTracker* _tmp16_;
#line 469 "/home/jens/Source/shotwell/src/SearchFilter.vala"
			_tmp15_ = tracker;
#line 469 "/home/jens/Source/shotwell/src/SearchFilter.vala"
			g_signal_connect (G_TYPE_CHECK_INSTANCE_CAST (_tmp15_, CORE_TYPE_TRACKER, CoreTracker), "updated", (GCallback) _search_filter_actions_on_media_tracker_updated_core_tracker_updated, self);
#line 470 "/home/jens/Source/shotwell/src/SearchFilter.vala"
			_tmp16_ = tracker;
#line 470 "/home/jens/Source/shotwell/src/SearchFilter.vala"
			search_filter_actions_on_media_tracker_updated (self, G_TYPE_CHECK_INSTANCE_CAST (_tmp16_, CORE_TYPE_TRACKER, CoreTracker));
#line 472 "/home/jens/Source/shotwell/src/SearchFilter.vala"
			_core_tracker_unref0 (tracker);
#line 472 "/home/jens/Source/shotwell/src/SearchFilter.vala"
			_g_object_unref0 (new_tracked_page);
#line 472 "/home/jens/Source/shotwell/src/SearchFilter.vala"
			_g_object_unref0 (old_tracked_page);
#line 472 "/home/jens/Source/shotwell/src/SearchFilter.vala"
			return;
#line 4293 "SearchFilter.c"
		} else {
			CoreViewTracker* _tmp17_;
#line 473 "/home/jens/Source/shotwell/src/SearchFilter.vala"
			_tmp17_ = tracker;
#line 473 "/home/jens/Source/shotwell/src/SearchFilter.vala"
			if (G_TYPE_CHECK_INSTANCE_TYPE (_tmp17_, TYPE_CAMERA_VIEW_TRACKER)) {
#line 4300 "SearchFilter.c"
				CoreViewTracker* _tmp18_;
				CoreViewTracker* _tmp19_;
#line 474 "/home/jens/Source/shotwell/src/SearchFilter.vala"
				_tmp18_ = tracker;
#line 474 "/home/jens/Source/shotwell/src/SearchFilter.vala"
				g_signal_connect (G_TYPE_CHECK_INSTANCE_CAST (_tmp18_, CORE_TYPE_TRACKER, CoreTracker), "updated", (GCallback) _search_filter_actions_on_camera_tracker_updated_core_tracker_updated, self);
#line 475 "/home/jens/Source/shotwell/src/SearchFilter.vala"
				_tmp19_ = tracker;
#line 475 "/home/jens/Source/shotwell/src/SearchFilter.vala"
				search_filter_actions_on_camera_tracker_updated (self, G_TYPE_CHECK_INSTANCE_CAST (_tmp19_, CORE_TYPE_TRACKER, CoreTracker));
#line 477 "/home/jens/Source/shotwell/src/SearchFilter.vala"
				_core_tracker_unref0 (tracker);
#line 477 "/home/jens/Source/shotwell/src/SearchFilter.vala"
				_g_object_unref0 (new_tracked_page);
#line 477 "/home/jens/Source/shotwell/src/SearchFilter.vala"
				_g_object_unref0 (old_tracked_page);
#line 477 "/home/jens/Source/shotwell/src/SearchFilter.vala"
				return;
#line 4319 "SearchFilter.c"
			}
		}
#line 464 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		_core_tracker_unref0 (tracker);
#line 4324 "SearchFilter.c"
	}
#line 482 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	self->priv->has_flagged = FALSE;
#line 483 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	self->priv->has_photos = FALSE;
#line 484 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	self->priv->has_videos = FALSE;
#line 485 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	self->priv->has_raw = FALSE;
#line 486 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	self->priv->can_filter_by_stars = FALSE;
#line 488 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	search_filter_actions_update_sensitivities (self);
#line 453 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_g_object_unref0 (new_tracked_page);
#line 453 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_g_object_unref0 (old_tracked_page);
#line 4342 "SearchFilter.c"
}


static gpointer
_core_tracker_ref0 (gpointer self)
{
#line 492 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	return self ? core_tracker_ref (self) : NULL;
#line 4351 "SearchFilter.c"
}


static void
search_filter_actions_on_media_tracker_updated (SearchFilterActions* self,
                                                CoreTracker* t)
{
	MediaViewTracker* tracker = NULL;
	MediaViewTracker* _tmp0_;
	MediaAccumulator* _tmp1_;
	gint _tmp2_;
	MediaAccumulator* _tmp3_;
	gint _tmp4_;
	MediaAccumulator* _tmp5_;
	gint _tmp6_;
	MediaAccumulator* _tmp7_;
	gint _tmp8_;
#line 491 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_return_if_fail (IS_SEARCH_FILTER_ACTIONS (self));
#line 491 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_return_if_fail (CORE_IS_TRACKER (t));
#line 492 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp0_ = _core_tracker_ref0 (G_TYPE_CHECK_INSTANCE_CAST (t, TYPE_MEDIA_VIEW_TRACKER, MediaViewTracker));
#line 492 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	tracker = _tmp0_;
#line 494 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp1_ = tracker->all;
#line 494 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp2_ = _tmp1_->flagged;
#line 494 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	self->priv->has_flagged = _tmp2_ > 0;
#line 495 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp3_ = tracker->all;
#line 495 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp4_ = _tmp3_->photos;
#line 495 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	self->priv->has_photos = _tmp4_ > 0;
#line 496 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp5_ = tracker->all;
#line 496 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp6_ = _tmp5_->videos;
#line 496 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	self->priv->has_videos = _tmp6_ > 0;
#line 497 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp7_ = tracker->all;
#line 497 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp8_ = _tmp7_->raw;
#line 497 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	self->priv->has_raw = _tmp8_ > 0;
#line 499 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	search_filter_actions_update_sensitivities (self);
#line 491 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_core_tracker_unref0 (tracker);
#line 4405 "SearchFilter.c"
}


static void
search_filter_actions_on_camera_tracker_updated (SearchFilterActions* self,
                                                 CoreTracker* t)
{
	CameraViewTracker* tracker = NULL;
	CameraViewTracker* _tmp0_;
	CameraAccumulator* _tmp1_;
	gint _tmp2_;
	gint _tmp3_;
	CameraAccumulator* _tmp4_;
	gint _tmp5_;
	gint _tmp6_;
	CameraAccumulator* _tmp7_;
	gint _tmp8_;
	gint _tmp9_;
#line 502 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_return_if_fail (IS_SEARCH_FILTER_ACTIONS (self));
#line 502 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_return_if_fail (CORE_IS_TRACKER (t));
#line 503 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp0_ = _core_tracker_ref0 (G_TYPE_CHECK_INSTANCE_CAST (t, TYPE_CAMERA_VIEW_TRACKER, CameraViewTracker));
#line 503 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	tracker = _tmp0_;
#line 505 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	self->priv->has_flagged = FALSE;
#line 506 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp1_ = tracker->all;
#line 506 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp2_ = camera_accumulator_get_photos (_tmp1_);
#line 506 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp3_ = _tmp2_;
#line 506 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	self->priv->has_photos = _tmp3_ > 0;
#line 507 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp4_ = tracker->all;
#line 507 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp5_ = camera_accumulator_get_videos (_tmp4_);
#line 507 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp6_ = _tmp5_;
#line 507 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	self->priv->has_videos = _tmp6_ > 0;
#line 508 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp7_ = tracker->all;
#line 508 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp8_ = camera_accumulator_get_raw (_tmp7_);
#line 508 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp9_ = _tmp8_;
#line 508 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	self->priv->has_raw = _tmp9_ > 0;
#line 510 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	search_filter_actions_update_sensitivities (self);
#line 502 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_core_tracker_unref0 (tracker);
#line 4462 "SearchFilter.c"
}


static void
search_filter_actions_update_sensitivities (SearchFilterActions* self)
{
	gboolean allow_ratings = FALSE;
	SearchFilterCriteria _tmp0_;
	gboolean _tmp1_;
	TextAction* _tmp2_;
	TextAction* _tmp3_;
	gboolean _tmp4_;
	gboolean _tmp5_;
	gboolean _tmp6_;
	gboolean _tmp7_;
#line 513 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_return_if_fail (IS_SEARCH_FILTER_ACTIONS (self));
#line 514 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp0_ = self->priv->criteria;
#line 514 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	allow_ratings = (SEARCH_FILTER_CRITERIA_RATING & _tmp0_) != 0;
#line 515 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp1_ = self->priv->can_filter_by_stars;
#line 515 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	search_filter_actions_set_action_sensitive (self, "display.rating", allow_ratings & _tmp1_);
#line 519 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp2_ = search_filter_actions_get_text (self);
#line 519 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp3_ = _tmp2_;
#line 519 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	text_action_set_sensitive (_tmp3_, TRUE);
#line 521 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp4_ = self->priv->has_photos;
#line 521 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp5_ = self->priv->has_videos;
#line 521 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp6_ = self->priv->has_raw;
#line 521 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp7_ = self->priv->has_flagged;
#line 521 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_signal_emit (self, search_filter_actions_signals[SEARCH_FILTER_ACTIONS_MEDIA_CONTEXT_CHANGED_SIGNAL], 0, _tmp4_, _tmp5_, _tmp6_, _tmp7_);
#line 4504 "SearchFilter.c"
}


static void
search_filter_actions_on_text_changed (SearchFilterActions* self,
                                       TextAction* action,
                                       const gchar* text)
{
#line 524 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_return_if_fail (IS_SEARCH_FILTER_ACTIONS (self));
#line 524 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_return_if_fail (IS_TEXT_ACTION (action));
#line 525 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_signal_emit (self, search_filter_actions_signals[SEARCH_FILTER_ACTIONS_TEXT_CHANGED_SIGNAL], 0, text);
#line 4519 "SearchFilter.c"
}


static void
search_filter_actions_on_action_radio (SearchFilterActions* self,
                                       GSimpleAction* action,
                                       GVariant* parameter)
{
#line 536 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_return_if_fail (IS_SEARCH_FILTER_ACTIONS (self));
#line 536 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_return_if_fail (G_IS_SIMPLE_ACTION (action));
#line 538 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_signal_emit_by_name (action, "change-state", parameter);
#line 4534 "SearchFilter.c"
}


static gboolean
_variant_get37 (GVariant* value)
{
#line 543 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	return g_variant_get_boolean (value);
#line 4543 "SearchFilter.c"
}


static GVariant*
_variant_new38 (gboolean value)
{
#line 544 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	return g_variant_ref_sink (g_variant_new_boolean (value));
#line 4552 "SearchFilter.c"
}


static void
search_filter_actions_on_action_toggle (SearchFilterActions* self,
                                        GSimpleAction* action,
                                        GVariant* parameter)
{
	gboolean state = FALSE;
	GVariant* _tmp0_;
	GVariant* _tmp1_;
	gboolean _tmp2_;
	gboolean _tmp3_;
	GVariant* _tmp4_;
#line 541 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_return_if_fail (IS_SEARCH_FILTER_ACTIONS (self));
#line 541 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_return_if_fail (G_IS_SIMPLE_ACTION (action));
#line 543 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp0_ = g_action_get_state (G_TYPE_CHECK_INSTANCE_CAST (action, g_action_get_type (), GAction));
#line 543 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp1_ = _tmp0_;
#line 543 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp2_ = _variant_get37 (_tmp1_);
#line 543 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp3_ = _tmp2_;
#line 543 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_g_variant_unref0 (_tmp1_);
#line 543 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	state = _tmp3_;
#line 544 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp4_ = _variant_new38 (!state);
#line 544 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_signal_emit_by_name (action, "change-state", _tmp4_);
#line 544 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_g_variant_unref0 (_tmp4_);
#line 4589 "SearchFilter.c"
}


static void
search_filter_actions_register (SearchFilterActions* self)
{
	TextAction* _tmp0_;
#line 547 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_return_if_fail (IS_SEARCH_FILTER_ACTIONS (self));
#line 548 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp0_ = text_action_new (NULL);
#line 548 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_text_action_unref0 (self->priv->_text);
#line 548 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	self->priv->_text = _tmp0_;
#line 4605 "SearchFilter.c"
}


static void
search_filter_actions_on_rating_changed (SearchFilterActions* self,
                                         GSimpleAction* action,
                                         GVariant* value)
{
	const gchar* _tmp0_;
	GVariant* _tmp1_;
	GVariant* _tmp2_;
	const gchar* _tmp3_;
	gboolean _tmp4_;
	RatingFilter filter = 0;
	const gchar* _tmp5_;
	RatingFilter _tmp6_;
#line 551 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_return_if_fail (IS_SEARCH_FILTER_ACTIONS (self));
#line 551 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_return_if_fail (G_IS_SIMPLE_ACTION (action));
#line 551 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_return_if_fail (value != NULL);
#line 553 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp0_ = g_variant_get_string (value, NULL);
#line 553 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp1_ = g_action_get_state (G_TYPE_CHECK_INSTANCE_CAST (action, g_action_get_type (), GAction));
#line 553 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp2_ = _tmp1_;
#line 553 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp3_ = g_variant_get_string (_tmp2_, NULL);
#line 553 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp4_ = g_strcmp0 (_tmp0_, _tmp3_) == 0;
#line 553 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_g_variant_unref0 (_tmp2_);
#line 553 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	if (_tmp4_) {
#line 554 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		return;
#line 4644 "SearchFilter.c"
	}
#line 556 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp5_ = g_variant_get_string (value, NULL);
#line 556 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	filter = (RatingFilter) atoi (_tmp5_);
#line 557 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_simple_action_set_state (action, value);
#line 558 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp6_ = filter;
#line 558 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_signal_emit (self, search_filter_actions_signals[SEARCH_FILTER_ACTIONS_RATING_CHANGED_SIGNAL], 0, _tmp6_);
#line 4656 "SearchFilter.c"
}


static void
search_filter_actions_on_flagged_toggled (SearchFilterActions* self,
                                          GSimpleAction* action,
                                          GVariant* value)
{
#line 561 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_return_if_fail (IS_SEARCH_FILTER_ACTIONS (self));
#line 561 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_return_if_fail (G_IS_SIMPLE_ACTION (action));
#line 561 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_return_if_fail (value != NULL);
#line 563 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_simple_action_set_state (action, value);
#line 564 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_signal_emit (self, search_filter_actions_signals[SEARCH_FILTER_ACTIONS_FLAGGED_TOGGLED_SIGNAL], 0, g_variant_get_boolean (value));
#line 4675 "SearchFilter.c"
}


static void
search_filter_actions_on_photos_toggled (SearchFilterActions* self,
                                         GSimpleAction* action,
                                         GVariant* value)
{
#line 567 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_return_if_fail (IS_SEARCH_FILTER_ACTIONS (self));
#line 567 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_return_if_fail (G_IS_SIMPLE_ACTION (action));
#line 567 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_return_if_fail (value != NULL);
#line 569 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_simple_action_set_state (action, value);
#line 570 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_signal_emit (self, search_filter_actions_signals[SEARCH_FILTER_ACTIONS_PHOTOS_TOGGLED_SIGNAL], 0, g_variant_get_boolean (value));
#line 4694 "SearchFilter.c"
}


static void
search_filter_actions_on_videos_toggled (SearchFilterActions* self,
                                         GSimpleAction* action,
                                         GVariant* value)
{
#line 573 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_return_if_fail (IS_SEARCH_FILTER_ACTIONS (self));
#line 573 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_return_if_fail (G_IS_SIMPLE_ACTION (action));
#line 573 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_return_if_fail (value != NULL);
#line 575 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_simple_action_set_state (action, value);
#line 576 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_signal_emit (self, search_filter_actions_signals[SEARCH_FILTER_ACTIONS_VIDEOS_TOGGLED_SIGNAL], 0, g_variant_get_boolean (value));
#line 4713 "SearchFilter.c"
}


static void
search_filter_actions_on_raw_toggled (SearchFilterActions* self,
                                      GSimpleAction* action,
                                      GVariant* value)
{
#line 579 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_return_if_fail (IS_SEARCH_FILTER_ACTIONS (self));
#line 579 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_return_if_fail (G_IS_SIMPLE_ACTION (action));
#line 579 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_return_if_fail (value != NULL);
#line 581 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_simple_action_set_state (action, value);
#line 582 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_signal_emit (self, search_filter_actions_signals[SEARCH_FILTER_ACTIONS_RAW_TOGGLED_SIGNAL], 0, g_variant_get_boolean (value));
#line 4732 "SearchFilter.c"
}


gboolean
search_filter_actions_get_has_photos (SearchFilterActions* self)
{
	gboolean result = FALSE;
	gboolean _tmp0_;
#line 585 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_return_val_if_fail (IS_SEARCH_FILTER_ACTIONS (self), FALSE);
#line 586 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp0_ = self->priv->has_photos;
#line 586 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	result = _tmp0_;
#line 586 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	return result;
#line 4749 "SearchFilter.c"
}


gboolean
search_filter_actions_get_has_videos (SearchFilterActions* self)
{
	gboolean result = FALSE;
	gboolean _tmp0_;
#line 589 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_return_val_if_fail (IS_SEARCH_FILTER_ACTIONS (self), FALSE);
#line 590 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp0_ = self->priv->has_videos;
#line 590 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	result = _tmp0_;
#line 590 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	return result;
#line 4766 "SearchFilter.c"
}


gboolean
search_filter_actions_get_has_raw (SearchFilterActions* self)
{
	gboolean result = FALSE;
	gboolean _tmp0_;
#line 593 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_return_val_if_fail (IS_SEARCH_FILTER_ACTIONS (self), FALSE);
#line 594 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp0_ = self->priv->has_raw;
#line 594 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	result = _tmp0_;
#line 594 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	return result;
#line 4783 "SearchFilter.c"
}


gboolean
search_filter_actions_get_has_flagged (SearchFilterActions* self)
{
	gboolean result = FALSE;
	gboolean _tmp0_;
#line 597 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_return_val_if_fail (IS_SEARCH_FILTER_ACTIONS (self), FALSE);
#line 598 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp0_ = self->priv->has_flagged;
#line 598 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	result = _tmp0_;
#line 598 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	return result;
#line 4800 "SearchFilter.c"
}


GSimpleAction*
search_filter_actions_get_flagged (SearchFilterActions* self)
{
	GSimpleAction* result;
	GSimpleAction* _tmp0_;
#line 331 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_return_val_if_fail (IS_SEARCH_FILTER_ACTIONS (self), NULL);
#line 332 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp0_ = search_filter_actions_get_action (self, "display.flagged");
#line 332 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	result = _tmp0_;
#line 332 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	return result;
#line 4817 "SearchFilter.c"
}


GSimpleAction*
search_filter_actions_get_photos (SearchFilterActions* self)
{
	GSimpleAction* result;
	GSimpleAction* _tmp0_;
#line 337 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_return_val_if_fail (IS_SEARCH_FILTER_ACTIONS (self), NULL);
#line 338 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp0_ = search_filter_actions_get_action (self, "display.photos");
#line 338 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	result = _tmp0_;
#line 338 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	return result;
#line 4834 "SearchFilter.c"
}


GSimpleAction*
search_filter_actions_get_videos (SearchFilterActions* self)
{
	GSimpleAction* result;
	GSimpleAction* _tmp0_;
#line 343 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_return_val_if_fail (IS_SEARCH_FILTER_ACTIONS (self), NULL);
#line 344 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp0_ = search_filter_actions_get_action (self, "display.videos");
#line 344 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	result = _tmp0_;
#line 344 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	return result;
#line 4851 "SearchFilter.c"
}


GSimpleAction*
search_filter_actions_get_raw (SearchFilterActions* self)
{
	GSimpleAction* result;
	GSimpleAction* _tmp0_;
#line 349 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_return_val_if_fail (IS_SEARCH_FILTER_ACTIONS (self), NULL);
#line 350 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp0_ = search_filter_actions_get_action (self, "display.raw");
#line 350 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	result = _tmp0_;
#line 350 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	return result;
#line 4868 "SearchFilter.c"
}


GSimpleAction*
search_filter_actions_get_rating (SearchFilterActions* self)
{
	GSimpleAction* result;
	GSimpleAction* _tmp0_;
#line 355 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_return_val_if_fail (IS_SEARCH_FILTER_ACTIONS (self), NULL);
#line 356 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp0_ = search_filter_actions_get_action (self, "display.rating");
#line 356 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	result = _tmp0_;
#line 356 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	return result;
#line 4885 "SearchFilter.c"
}


TextAction*
search_filter_actions_get_text (SearchFilterActions* self)
{
	TextAction* result;
	TextAction* _tmp0_;
	TextAction* _tmp1_;
#line 361 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_return_val_if_fail (IS_SEARCH_FILTER_ACTIONS (self), NULL);
#line 362 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp0_ = self->priv->_text;
#line 362 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_vala_assert (_tmp0_ != NULL, "_text != null");
#line 363 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp1_ = self->priv->_text;
#line 363 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	result = _tmp1_;
#line 363 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	return result;
#line 4907 "SearchFilter.c"
}


static void
g_cclosure_user_marshal_VOID__BOOLEAN_BOOLEAN_BOOLEAN_BOOLEAN (GClosure * closure,
                                                               GValue * return_value,
                                                               guint n_param_values,
                                                               const GValue * param_values,
                                                               gpointer invocation_hint,
                                                               gpointer marshal_data)
{
	typedef void (*GMarshalFunc_VOID__BOOLEAN_BOOLEAN_BOOLEAN_BOOLEAN) (gpointer data1, gboolean arg_1, gboolean arg_2, gboolean arg_3, gboolean arg_4, gpointer data2);
	register GMarshalFunc_VOID__BOOLEAN_BOOLEAN_BOOLEAN_BOOLEAN callback;
	register GCClosure * cc;
	register gpointer data1;
	register gpointer data2;
	cc = (GCClosure *) closure;
#line 329 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_return_if_fail (n_param_values == 5);
#line 329 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	if (G_CCLOSURE_SWAP_DATA (closure)) {
#line 329 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		data1 = closure->data;
#line 329 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		data2 = param_values->data[0].v_pointer;
#line 4933 "SearchFilter.c"
	} else {
#line 329 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		data1 = param_values->data[0].v_pointer;
#line 329 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		data2 = closure->data;
#line 4939 "SearchFilter.c"
	}
#line 329 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	callback = (GMarshalFunc_VOID__BOOLEAN_BOOLEAN_BOOLEAN_BOOLEAN) (marshal_data ? marshal_data : cc->callback);
#line 329 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	callback (data1, g_value_get_boolean (param_values + 1), g_value_get_boolean (param_values + 2), g_value_get_boolean (param_values + 3), g_value_get_boolean (param_values + 4), data2);
#line 4945 "SearchFilter.c"
}


static void
value_search_filter_actions_init (GValue* value)
{
#line 329 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	value->data[0].v_pointer = NULL;
#line 4954 "SearchFilter.c"
}


static void
value_search_filter_actions_free_value (GValue* value)
{
#line 329 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	if (value->data[0].v_pointer) {
#line 329 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		search_filter_actions_unref (value->data[0].v_pointer);
#line 4965 "SearchFilter.c"
	}
}


static void
value_search_filter_actions_copy_value (const GValue* src_value,
                                        GValue* dest_value)
{
#line 329 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	if (src_value->data[0].v_pointer) {
#line 329 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		dest_value->data[0].v_pointer = search_filter_actions_ref (src_value->data[0].v_pointer);
#line 4978 "SearchFilter.c"
	} else {
#line 329 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		dest_value->data[0].v_pointer = NULL;
#line 4982 "SearchFilter.c"
	}
}


static gpointer
value_search_filter_actions_peek_pointer (const GValue* value)
{
#line 329 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	return value->data[0].v_pointer;
#line 4992 "SearchFilter.c"
}


static gchar*
value_search_filter_actions_collect_value (GValue* value,
                                           guint n_collect_values,
                                           GTypeCValue* collect_values,
                                           guint collect_flags)
{
#line 329 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	if (collect_values[0].v_pointer) {
#line 5004 "SearchFilter.c"
		SearchFilterActions * object;
		object = collect_values[0].v_pointer;
#line 329 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		if (object->parent_instance.g_class == NULL) {
#line 329 "/home/jens/Source/shotwell/src/SearchFilter.vala"
			return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL);
#line 5011 "SearchFilter.c"
		} else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) {
#line 329 "/home/jens/Source/shotwell/src/SearchFilter.vala"
			return g_strconcat ("invalid object type `", g_type_name (G_TYPE_FROM_INSTANCE (object)), "' for value type `", G_VALUE_TYPE_NAME (value), "'", NULL);
#line 5015 "SearchFilter.c"
		}
#line 329 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		value->data[0].v_pointer = search_filter_actions_ref (object);
#line 5019 "SearchFilter.c"
	} else {
#line 329 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		value->data[0].v_pointer = NULL;
#line 5023 "SearchFilter.c"
	}
#line 329 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	return NULL;
#line 5027 "SearchFilter.c"
}


static gchar*
value_search_filter_actions_lcopy_value (const GValue* value,
                                         guint n_collect_values,
                                         GTypeCValue* collect_values,
                                         guint collect_flags)
{
	SearchFilterActions ** object_p;
	object_p = collect_values[0].v_pointer;
#line 329 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	if (!object_p) {
#line 329 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value));
#line 5043 "SearchFilter.c"
	}
#line 329 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	if (!value->data[0].v_pointer) {
#line 329 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		*object_p = NULL;
#line 5049 "SearchFilter.c"
	} else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) {
#line 329 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		*object_p = value->data[0].v_pointer;
#line 5053 "SearchFilter.c"
	} else {
#line 329 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		*object_p = search_filter_actions_ref (value->data[0].v_pointer);
#line 5057 "SearchFilter.c"
	}
#line 329 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	return NULL;
#line 5061 "SearchFilter.c"
}


GParamSpec*
param_spec_search_filter_actions (const gchar* name,
                                  const gchar* nick,
                                  const gchar* blurb,
                                  GType object_type,
                                  GParamFlags flags)
{
	ParamSpecSearchFilterActions* spec;
#line 329 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_return_val_if_fail (g_type_is_a (object_type, TYPE_SEARCH_FILTER_ACTIONS), NULL);
#line 329 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags);
#line 329 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	G_PARAM_SPEC (spec)->value_type = object_type;
#line 329 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	return G_PARAM_SPEC (spec);
#line 5081 "SearchFilter.c"
}


gpointer
value_get_search_filter_actions (const GValue* value)
{
#line 329 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_SEARCH_FILTER_ACTIONS), NULL);
#line 329 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	return value->data[0].v_pointer;
#line 5092 "SearchFilter.c"
}


void
value_set_search_filter_actions (GValue* value,
                                 gpointer v_object)
{
	SearchFilterActions * old;
#line 329 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_SEARCH_FILTER_ACTIONS));
#line 329 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	old = value->data[0].v_pointer;
#line 329 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	if (v_object) {
#line 329 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_SEARCH_FILTER_ACTIONS));
#line 329 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value)));
#line 329 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		value->data[0].v_pointer = v_object;
#line 329 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		search_filter_actions_ref (value->data[0].v_pointer);
#line 5115 "SearchFilter.c"
	} else {
#line 329 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		value->data[0].v_pointer = NULL;
#line 5119 "SearchFilter.c"
	}
#line 329 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	if (old) {
#line 329 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		search_filter_actions_unref (old);
#line 5125 "SearchFilter.c"
	}
}


void
value_take_search_filter_actions (GValue* value,
                                  gpointer v_object)
{
	SearchFilterActions * old;
#line 329 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_SEARCH_FILTER_ACTIONS));
#line 329 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	old = value->data[0].v_pointer;
#line 329 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	if (v_object) {
#line 329 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_SEARCH_FILTER_ACTIONS));
#line 329 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value)));
#line 329 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		value->data[0].v_pointer = v_object;
#line 5147 "SearchFilter.c"
	} else {
#line 329 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		value->data[0].v_pointer = NULL;
#line 5151 "SearchFilter.c"
	}
#line 329 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	if (old) {
#line 329 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		search_filter_actions_unref (old);
#line 5157 "SearchFilter.c"
	}
}


static void
search_filter_actions_class_init (SearchFilterActionsClass * klass)
{
#line 329 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	search_filter_actions_parent_class = g_type_class_peek_parent (klass);
#line 329 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	((SearchFilterActionsClass *) klass)->finalize = search_filter_actions_finalize;
#line 329 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_type_class_add_private (klass, sizeof (SearchFilterActionsPrivate));
#line 329 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	search_filter_actions_signals[SEARCH_FILTER_ACTIONS_FLAGGED_TOGGLED_SIGNAL] = g_signal_new ("flagged-toggled", TYPE_SEARCH_FILTER_ACTIONS, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_marshal_VOID__BOOLEAN, G_TYPE_NONE, 1, G_TYPE_BOOLEAN);
#line 329 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	search_filter_actions_signals[SEARCH_FILTER_ACTIONS_PHOTOS_TOGGLED_SIGNAL] = g_signal_new ("photos-toggled", TYPE_SEARCH_FILTER_ACTIONS, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_marshal_VOID__BOOLEAN, G_TYPE_NONE, 1, G_TYPE_BOOLEAN);
#line 329 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	search_filter_actions_signals[SEARCH_FILTER_ACTIONS_VIDEOS_TOGGLED_SIGNAL] = g_signal_new ("videos-toggled", TYPE_SEARCH_FILTER_ACTIONS, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_marshal_VOID__BOOLEAN, G_TYPE_NONE, 1, G_TYPE_BOOLEAN);
#line 329 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	search_filter_actions_signals[SEARCH_FILTER_ACTIONS_RAW_TOGGLED_SIGNAL] = g_signal_new ("raw-toggled", TYPE_SEARCH_FILTER_ACTIONS, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_marshal_VOID__BOOLEAN, G_TYPE_NONE, 1, G_TYPE_BOOLEAN);
#line 329 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	search_filter_actions_signals[SEARCH_FILTER_ACTIONS_RATING_CHANGED_SIGNAL] = g_signal_new ("rating-changed", TYPE_SEARCH_FILTER_ACTIONS, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_marshal_VOID__ENUM, G_TYPE_NONE, 1, TYPE_RATING_FILTER);
#line 329 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	search_filter_actions_signals[SEARCH_FILTER_ACTIONS_TEXT_CHANGED_SIGNAL] = g_signal_new ("text-changed", TYPE_SEARCH_FILTER_ACTIONS, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_marshal_VOID__STRING, G_TYPE_NONE, 1, G_TYPE_STRING);
#line 5183 "SearchFilter.c"
	/**
	     * fired when the kinds of media present in the current view change (e.g., a video becomes
	     * available in the view through a new import operation or no raw photos are available in
	     * the view anymore because the last one was moved to the trash)
	     */
#line 329 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	search_filter_actions_signals[SEARCH_FILTER_ACTIONS_MEDIA_CONTEXT_CHANGED_SIGNAL] = g_signal_new ("media-context-changed", TYPE_SEARCH_FILTER_ACTIONS, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_user_marshal_VOID__BOOLEAN_BOOLEAN_BOOLEAN_BOOLEAN, G_TYPE_NONE, 4, G_TYPE_BOOLEAN, G_TYPE_BOOLEAN, G_TYPE_BOOLEAN, G_TYPE_BOOLEAN);
#line 329 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	search_filter_actions_signals[SEARCH_FILTER_ACTIONS_CRITERIA_CHANGED_SIGNAL] = g_signal_new ("criteria-changed", TYPE_SEARCH_FILTER_ACTIONS, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0);
#line 5193 "SearchFilter.c"
}


static void
search_filter_actions_instance_init (SearchFilterActions * self)
{
#line 329 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	self->priv = SEARCH_FILTER_ACTIONS_GET_PRIVATE (self);
#line 367 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	self->priv->criteria = SEARCH_FILTER_CRITERIA_ALL;
#line 368 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	self->priv->_text = NULL;
#line 369 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	self->priv->has_flagged = TRUE;
#line 370 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	self->priv->has_photos = TRUE;
#line 371 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	self->priv->has_videos = TRUE;
#line 372 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	self->priv->has_raw = TRUE;
#line 373 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	self->priv->can_filter_by_stars = TRUE;
#line 329 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	self->ref_count = 1;
#line 5218 "SearchFilter.c"
}


static void
search_filter_actions_finalize (SearchFilterActions * obj)
{
	SearchFilterActions * self;
#line 329 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_SEARCH_FILTER_ACTIONS, SearchFilterActions);
#line 329 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_signal_handlers_destroy (self);
#line 368 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_text_action_unref0 (self->priv->_text);
#line 5232 "SearchFilter.c"
}


GType
search_filter_actions_get_type (void)
{
	static volatile gsize search_filter_actions_type_id__volatile = 0;
	if (g_once_init_enter (&search_filter_actions_type_id__volatile)) {
		static const GTypeValueTable g_define_type_value_table = { value_search_filter_actions_init, value_search_filter_actions_free_value, value_search_filter_actions_copy_value, value_search_filter_actions_peek_pointer, "p", value_search_filter_actions_collect_value, "p", value_search_filter_actions_lcopy_value };
		static const GTypeInfo g_define_type_info = { sizeof (SearchFilterActionsClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) search_filter_actions_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (SearchFilterActions), 0, (GInstanceInitFunc) search_filter_actions_instance_init, &g_define_type_value_table };
		static const GTypeFundamentalInfo g_define_type_fundamental_info = { (G_TYPE_FLAG_CLASSED | G_TYPE_FLAG_INSTANTIATABLE | G_TYPE_FLAG_DERIVABLE | G_TYPE_FLAG_DEEP_DERIVABLE) };
		GType search_filter_actions_type_id;
		search_filter_actions_type_id = g_type_register_fundamental (g_type_fundamental_next (), "SearchFilterActions", &g_define_type_info, &g_define_type_fundamental_info, 0);
		g_once_init_leave (&search_filter_actions_type_id__volatile, search_filter_actions_type_id);
	}
	return search_filter_actions_type_id__volatile;
}


gpointer
search_filter_actions_ref (gpointer instance)
{
	SearchFilterActions * self;
	self = instance;
#line 329 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_atomic_int_inc (&self->ref_count);
#line 329 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	return instance;
#line 5261 "SearchFilter.c"
}


void
search_filter_actions_unref (gpointer instance)
{
	SearchFilterActions * self;
	self = instance;
#line 329 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	if (g_atomic_int_dec_and_test (&self->ref_count)) {
#line 329 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		SEARCH_FILTER_ACTIONS_GET_CLASS (self)->finalize (self);
#line 329 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		g_type_free_instance ((GTypeInstance *) self);
#line 5276 "SearchFilter.c"
	}
}


static void
_search_filter_toolbar_on_media_context_changed_search_filter_actions_media_context_changed (SearchFilterActions* _sender,
                                                                                             gboolean has_photos,
                                                                                             gboolean has_videos,
                                                                                             gboolean has_raw,
                                                                                             gboolean has_flagged,
                                                                                             gpointer self)
{
#line 1156 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	search_filter_toolbar_on_media_context_changed ((SearchFilterToolbar*) self, has_photos, has_videos, has_raw, has_flagged);
#line 5291 "SearchFilter.c"
}


static void
_search_filter_toolbar_on_flagged_toggled_search_filter_actions_flagged_toggled (SearchFilterActions* _sender,
                                                                                 gboolean on,
                                                                                 gpointer self)
{
#line 1158 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	search_filter_toolbar_on_flagged_toggled ((SearchFilterToolbar*) self);
#line 5302 "SearchFilter.c"
}


static void
_search_filter_toolbar_on_photos_toggled_search_filter_actions_photos_toggled (SearchFilterActions* _sender,
                                                                               gboolean on,
                                                                               gpointer self)
{
#line 1159 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	search_filter_toolbar_on_photos_toggled ((SearchFilterToolbar*) self);
#line 5313 "SearchFilter.c"
}


static void
_search_filter_toolbar_on_videos_toggled_search_filter_actions_videos_toggled (SearchFilterActions* _sender,
                                                                               gboolean on,
                                                                               gpointer self)
{
#line 1160 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	search_filter_toolbar_on_videos_toggled ((SearchFilterToolbar*) self);
#line 5324 "SearchFilter.c"
}


static void
_search_filter_toolbar_on_raw_toggled_search_filter_actions_raw_toggled (SearchFilterActions* _sender,
                                                                         gboolean on,
                                                                         gpointer self)
{
#line 1161 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	search_filter_toolbar_on_raw_toggled ((SearchFilterToolbar*) self);
#line 5335 "SearchFilter.c"
}


static void
_search_filter_toolbar_on_rating_changed_search_filter_actions_rating_changed (SearchFilterActions* _sender,
                                                                               RatingFilter filter,
                                                                               gpointer self)
{
#line 1162 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	search_filter_toolbar_on_rating_changed ((SearchFilterToolbar*) self);
#line 5346 "SearchFilter.c"
}


static void
_search_filter_toolbar_on_search_text_changed_search_filter_actions_text_changed (SearchFilterActions* _sender,
                                                                                  const gchar* text,
                                                                                  gpointer self)
{
#line 1163 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	search_filter_toolbar_on_search_text_changed ((SearchFilterToolbar*) self);
#line 5357 "SearchFilter.c"
}


static void
_search_filter_toolbar_on_criteria_changed_search_filter_actions_criteria_changed (SearchFilterActions* _sender,
                                                                                   gpointer self)
{
#line 1164 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	search_filter_toolbar_on_criteria_changed ((SearchFilterToolbar*) self);
#line 5367 "SearchFilter.c"
}


static gboolean
_search_filter_toolbar_on_context_menu_requested_gtk_toolbar_popup_context_menu (GtkToolbar* _sender,
                                                                                 gint x,
                                                                                 gint y,
                                                                                 gint button_number,
                                                                                 gpointer self)
{
	gboolean result;
	result = search_filter_toolbar_on_context_menu_requested ((SearchFilterToolbar*) self, x, y, button_number);
#line 1166 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	return result;
#line 5382 "SearchFilter.c"
}


static gpointer
_search_filter_actions_ref0 (gpointer self)
{
#line 1051 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	return self ? search_filter_actions_ref (self) : NULL;
#line 5391 "SearchFilter.c"
}


static void
_search_filter_toolbar_on_context_menu_close_chosen_gtk_menu_item_activate (GtkMenuItem* _sender,
                                                                            gpointer self)
{
#line 1073 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	search_filter_toolbar_on_context_menu_close_chosen ((SearchFilterToolbar*) self);
#line 5401 "SearchFilter.c"
}


static void
_search_filter_toolbar_on_saved_search_button_clicked_search_filter_toolbar_saved_search_filter_button_clicked (SearchFilterToolbarSavedSearchFilterButton* _sender,
                                                                                                                gpointer self)
{
#line 1124 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	search_filter_toolbar_on_saved_search_button_clicked ((SearchFilterToolbar*) self);
#line 5411 "SearchFilter.c"
}


SearchFilterToolbar*
search_filter_toolbar_construct (GType object_type,
                                 SearchFilterActions* actions)
{
	SearchFilterToolbar * self = NULL;
	SearchFilterActions* _tmp0_;
	GtkToolbar* _tmp1_;
	TextAction* _tmp2_;
	TextAction* _tmp3_;
	SearchFilterToolbarSearchBox* _tmp4_;
	GtkToolbar* _tmp5_;
	GtkToolbar* _tmp6_;
	GtkMenuItem* _tmp14_;
	GtkMenuItem* _tmp15_;
	GtkMenuItem* _tmp16_;
	GtkMenu* _tmp17_;
	GtkMenuItem* _tmp18_;
	SearchFilterToolbarLabelToolItem* _tmp19_;
	GtkToolbar* _tmp20_;
	SearchFilterToolbarLabelToolItem* _tmp21_;
	SearchFilterToolbarToggleActionToolButton* _tmp22_;
	SearchFilterToolbarToggleActionToolButton* _tmp23_;
	SearchFilterToolbarToggleActionToolButton* _tmp24_;
	SearchFilterToolbarToggleActionToolButton* _tmp25_;
	SearchFilterToolbarToggleActionToolButton* _tmp26_;
	SearchFilterToolbarToggleActionToolButton* _tmp27_;
	GtkToolbar* _tmp28_;
	SearchFilterToolbarToggleActionToolButton* _tmp29_;
	GtkToolbar* _tmp30_;
	SearchFilterToolbarToggleActionToolButton* _tmp31_;
	GtkToolbar* _tmp32_;
	SearchFilterToolbarToggleActionToolButton* _tmp33_;
	GtkSeparatorToolItem* _tmp34_;
	GtkToolbar* _tmp35_;
	GtkSeparatorToolItem* _tmp36_;
	SearchFilterToolbarToggleActionToolButton* _tmp37_;
	SearchFilterToolbarToggleActionToolButton* _tmp38_;
	SearchFilterToolbarToggleActionToolButton* _tmp39_;
	GtkToolbar* _tmp40_;
	SearchFilterToolbarToggleActionToolButton* _tmp41_;
	GtkSeparatorToolItem* _tmp42_;
	GtkToolbar* _tmp43_;
	GtkSeparatorToolItem* _tmp44_;
	GMenuModel* model = NULL;
	GtkBuilder* _tmp45_;
	GObject* _tmp46_;
	GMenuModel* _tmp47_;
	SearchFilterToolbarRatingFilterButton* _tmp48_;
	SearchFilterToolbarRatingFilterButton* _tmp49_;
	SearchFilterToolbarRatingFilterButton* _tmp50_;
	GtkToolbar* _tmp51_;
	SearchFilterToolbarRatingFilterButton* _tmp52_;
	GtkSeparatorToolItem* _tmp53_;
	GtkToolbar* _tmp54_;
	GtkSeparatorToolItem* _tmp55_;
	SearchFilterToolbarSavedSearchFilterButton* _tmp56_;
	SearchFilterToolbarSavedSearchFilterButton* _tmp57_;
	SearchFilterToolbarSavedSearchFilterButton* _tmp58_;
	SearchFilterToolbarSavedSearchFilterButton* _tmp59_;
	GtkToolbar* _tmp60_;
	SearchFilterToolbarSavedSearchFilterButton* _tmp61_;
	GtkSeparatorToolItem* separator_align = NULL;
	GtkSeparatorToolItem* _tmp62_;
	GtkToolbar* _tmp63_;
	GtkToolbar* _tmp64_;
	SearchFilterToolbarSearchBox* _tmp65_;
	GtkToolbar* _tmp66_;
	GtkToolbar* _tmp67_;
	GError * _inner_error_ = NULL;
#line 1050 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_return_val_if_fail (IS_SEARCH_FILTER_ACTIONS (actions), NULL);
#line 1050 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	self = (SearchFilterToolbar*) g_object_new (object_type, NULL);
#line 1051 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp0_ = _search_filter_actions_ref0 (actions);
#line 1051 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_search_filter_actions_unref0 (self->priv->actions);
#line 1051 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	self->priv->actions = _tmp0_;
#line 1052 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp1_ = (GtkToolbar*) gtk_toolbar_new ();
#line 1052 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_object_ref_sink (_tmp1_);
#line 1052 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_g_object_unref0 (self->priv->toolbar);
#line 1052 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	self->priv->toolbar = _tmp1_;
#line 1053 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_signal_connect_object (actions, "media-context-changed", (GCallback) _search_filter_toolbar_on_media_context_changed_search_filter_actions_media_context_changed, self, 0);
#line 1054 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp2_ = search_filter_actions_get_text (actions);
#line 1054 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp3_ = _tmp2_;
#line 1054 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp4_ = search_filter_toolbar_search_box_new (_tmp3_);
#line 1054 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_object_ref_sink (_tmp4_);
#line 1054 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_g_object_unref0 (self->priv->search_box);
#line 1054 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	self->priv->search_box = _tmp4_;
#line 1056 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp5_ = self->priv->toolbar;
#line 1056 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	gtk_buildable_set_name (G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, gtk_buildable_get_type (), GtkBuildable), "search-filter-toolbar");
#line 1057 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp6_ = self->priv->toolbar;
#line 1057 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	gtk_toolbar_set_icon_size (_tmp6_, GTK_ICON_SIZE_SMALL_TOOLBAR);
#line 5524 "SearchFilter.c"
	{
		GtkBuilder* _tmp7_;
		gchar* _tmp8_;
		gchar* _tmp9_;
#line 1060 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		_tmp7_ = self->builder;
#line 1060 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		_tmp8_ = resources_get_ui ("search_bar.ui");
#line 1060 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		_tmp9_ = _tmp8_;
#line 1060 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		gtk_builder_add_from_resource (_tmp7_, _tmp9_, &_inner_error_);
#line 1060 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		_g_free0 (_tmp9_);
#line 1060 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 5541 "SearchFilter.c"
			goto __catch603_g_error;
		}
	}
	goto __finally603;
	__catch603_g_error:
	{
		GError* err = NULL;
		GError* _tmp10_;
		const gchar* _tmp11_;
		gchar* _tmp12_;
		gchar* _tmp13_;
#line 1059 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		err = _inner_error_;
#line 1059 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		_inner_error_ = NULL;
#line 1062 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		_tmp10_ = err;
#line 1062 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		_tmp11_ = _tmp10_->message;
#line 1062 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		_tmp12_ = g_strdup_printf (_ ("Error loading search bar UI: %s"), _tmp11_);
#line 1062 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		_tmp13_ = _tmp12_;
#line 1062 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		app_window_panic (_tmp13_);
#line 1062 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		_g_free0 (_tmp13_);
#line 1059 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		_g_error_free0 (err);
#line 5571 "SearchFilter.c"
	}
	__finally603:
#line 1059 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1059 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1059 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		g_clear_error (&_inner_error_);
#line 1059 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		return NULL;
#line 5582 "SearchFilter.c"
	}
#line 1071 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp14_ = self->priv->close_item;
#line 1071 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	gtk_menu_item_set_label (_tmp14_, _ ("Close"));
#line 1072 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp15_ = self->priv->close_item;
#line 1072 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	gtk_widget_show (G_TYPE_CHECK_INSTANCE_CAST (_tmp15_, gtk_widget_get_type (), GtkWidget));
#line 1073 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp16_ = self->priv->close_item;
#line 1073 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_signal_connect_object (_tmp16_, "activate", (GCallback) _search_filter_toolbar_on_context_menu_close_chosen_gtk_menu_item_activate, self, 0);
#line 1074 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp17_ = self->priv->close_menu;
#line 1074 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp18_ = self->priv->close_item;
#line 1074 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	gtk_menu_shell_append (G_TYPE_CHECK_INSTANCE_CAST (_tmp17_, gtk_menu_shell_get_type (), GtkMenuShell), _tmp18_);
#line 1077 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp19_ = search_filter_toolbar_label_tool_item_new (_ ("Type"), 10, 5);
#line 1077 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_object_ref_sink (_tmp19_);
#line 1077 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_g_object_unref0 (self->priv->label_type);
#line 1077 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	self->priv->label_type = _tmp19_;
#line 1078 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp20_ = self->priv->toolbar;
#line 1078 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp21_ = self->priv->label_type;
#line 1078 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	gtk_toolbar_insert (_tmp20_, G_TYPE_CHECK_INSTANCE_CAST (_tmp21_, gtk_tool_item_get_type (), GtkToolItem), -1);
#line 1080 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp22_ = search_filter_toolbar_toggle_action_tool_button_new ("win.display.photos");
#line 1080 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_object_ref_sink (_tmp22_);
#line 1080 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_g_object_unref0 (self->priv->toolbtn_photos);
#line 1080 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	self->priv->toolbtn_photos = _tmp22_;
#line 1081 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp23_ = self->priv->toolbtn_photos;
#line 1081 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	gtk_tool_item_set_tooltip_text (G_TYPE_CHECK_INSTANCE_CAST (_tmp23_, gtk_tool_item_get_type (), GtkToolItem), _ ("Photos"));
#line 1083 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp24_ = search_filter_toolbar_toggle_action_tool_button_new ("win.display.videos");
#line 1083 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_object_ref_sink (_tmp24_);
#line 1083 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_g_object_unref0 (self->priv->toolbtn_videos);
#line 1083 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	self->priv->toolbtn_videos = _tmp24_;
#line 1084 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp25_ = self->priv->toolbtn_videos;
#line 1084 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	gtk_tool_item_set_tooltip_text (G_TYPE_CHECK_INSTANCE_CAST (_tmp25_, gtk_tool_item_get_type (), GtkToolItem), _ ("Videos"));
#line 1086 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp26_ = search_filter_toolbar_toggle_action_tool_button_new ("win.display.raw");
#line 1086 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_object_ref_sink (_tmp26_);
#line 1086 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_g_object_unref0 (self->priv->toolbtn_raw);
#line 1086 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	self->priv->toolbtn_raw = _tmp26_;
#line 1087 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp27_ = self->priv->toolbtn_raw;
#line 1087 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	gtk_tool_item_set_tooltip_text (G_TYPE_CHECK_INSTANCE_CAST (_tmp27_, gtk_tool_item_get_type (), GtkToolItem), _ ("RAW Photos"));
#line 1089 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp28_ = self->priv->toolbar;
#line 1089 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp29_ = self->priv->toolbtn_photos;
#line 1089 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	gtk_toolbar_insert (_tmp28_, G_TYPE_CHECK_INSTANCE_CAST (_tmp29_, gtk_tool_item_get_type (), GtkToolItem), -1);
#line 1090 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp30_ = self->priv->toolbar;
#line 1090 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp31_ = self->priv->toolbtn_videos;
#line 1090 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	gtk_toolbar_insert (_tmp30_, G_TYPE_CHECK_INSTANCE_CAST (_tmp31_, gtk_tool_item_get_type (), GtkToolItem), -1);
#line 1091 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp32_ = self->priv->toolbar;
#line 1091 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp33_ = self->priv->toolbtn_raw;
#line 1091 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	gtk_toolbar_insert (_tmp32_, G_TYPE_CHECK_INSTANCE_CAST (_tmp33_, gtk_tool_item_get_type (), GtkToolItem), -1);
#line 1094 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp34_ = (GtkSeparatorToolItem*) gtk_separator_tool_item_new ();
#line 1094 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_object_ref_sink (_tmp34_);
#line 1094 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_g_object_unref0 (self->priv->sepr_mediatype_flagged);
#line 1094 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	self->priv->sepr_mediatype_flagged = _tmp34_;
#line 1095 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp35_ = self->priv->toolbar;
#line 1095 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp36_ = self->priv->sepr_mediatype_flagged;
#line 1095 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	gtk_toolbar_insert (_tmp35_, G_TYPE_CHECK_INSTANCE_CAST (_tmp36_, gtk_tool_item_get_type (), GtkToolItem), -1);
#line 1099 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp37_ = search_filter_toolbar_toggle_action_tool_button_new ("win.display.flagged");
#line 1099 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_object_ref_sink (_tmp37_);
#line 1099 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_g_object_unref0 (self->priv->toolbtn_flag);
#line 1099 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	self->priv->toolbtn_flag = _tmp37_;
#line 1100 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp38_ = self->priv->toolbtn_flag;
#line 1100 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	search_filter_toolbar_toggle_action_tool_button_set_label (_tmp38_, _ ("Flagged"));
#line 1101 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp39_ = self->priv->toolbtn_flag;
#line 1101 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	gtk_tool_item_set_tooltip_text (G_TYPE_CHECK_INSTANCE_CAST (_tmp39_, gtk_tool_item_get_type (), GtkToolItem), _ ("Flagged"));
#line 1103 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp40_ = self->priv->toolbar;
#line 1103 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp41_ = self->priv->toolbtn_flag;
#line 1103 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	gtk_toolbar_insert (_tmp40_, G_TYPE_CHECK_INSTANCE_CAST (_tmp41_, gtk_tool_item_get_type (), GtkToolItem), -1);
#line 1106 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp42_ = (GtkSeparatorToolItem*) gtk_separator_tool_item_new ();
#line 1106 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_object_ref_sink (_tmp42_);
#line 1106 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_g_object_unref0 (self->priv->sepr_flagged_rating);
#line 1106 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	self->priv->sepr_flagged_rating = _tmp42_;
#line 1107 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp43_ = self->priv->toolbar;
#line 1107 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp44_ = self->priv->sepr_flagged_rating;
#line 1107 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	gtk_toolbar_insert (_tmp43_, G_TYPE_CHECK_INSTANCE_CAST (_tmp44_, gtk_tool_item_get_type (), GtkToolItem), -1);
#line 1110 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp45_ = self->builder;
#line 1110 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp46_ = gtk_builder_get_object (_tmp45_, "popup-menu");
#line 1110 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp47_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp46_, g_menu_model_get_type ()) ? ((GMenuModel*) _tmp46_) : NULL);
#line 1110 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	model = _tmp47_;
#line 1111 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp48_ = search_filter_toolbar_rating_filter_button_new (model);
#line 1111 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_object_ref_sink (_tmp48_);
#line 1111 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_g_object_unref0 (self->priv->rating_button);
#line 1111 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	self->priv->rating_button = _tmp48_;
#line 1112 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp49_ = self->priv->rating_button;
#line 1112 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	search_filter_toolbar_rating_filter_button_set_label (_tmp49_, _ ("Rating"));
#line 1113 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp50_ = self->priv->rating_button;
#line 1113 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	gtk_tool_item_set_expand (G_TYPE_CHECK_INSTANCE_CAST (_tmp50_, gtk_tool_item_get_type (), GtkToolItem), FALSE);
#line 1114 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp51_ = self->priv->toolbar;
#line 1114 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp52_ = self->priv->rating_button;
#line 1114 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	gtk_toolbar_insert (_tmp51_, G_TYPE_CHECK_INSTANCE_CAST (_tmp52_, gtk_tool_item_get_type (), GtkToolItem), -1);
#line 1117 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp53_ = (GtkSeparatorToolItem*) gtk_separator_tool_item_new ();
#line 1117 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_object_ref_sink (_tmp53_);
#line 1117 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_g_object_unref0 (self->priv->sepr_rating_saved);
#line 1117 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	self->priv->sepr_rating_saved = _tmp53_;
#line 1118 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp54_ = self->priv->toolbar;
#line 1118 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp55_ = self->priv->sepr_rating_saved;
#line 1118 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	gtk_toolbar_insert (_tmp54_, G_TYPE_CHECK_INSTANCE_CAST (_tmp55_, gtk_tool_item_get_type (), GtkToolItem), -1);
#line 1121 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp56_ = self->priv->saved_search_button;
#line 1121 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	gtk_tool_item_set_expand (G_TYPE_CHECK_INSTANCE_CAST (_tmp56_, gtk_tool_item_get_type (), GtkToolItem), FALSE);
#line 1122 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp57_ = self->priv->saved_search_button;
#line 1122 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	search_filter_toolbar_saved_search_filter_button_set_label (_tmp57_, _ ("Saved Search"));
#line 1123 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp58_ = self->priv->saved_search_button;
#line 1123 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	gtk_tool_item_set_tooltip_text (G_TYPE_CHECK_INSTANCE_CAST (_tmp58_, gtk_tool_item_get_type (), GtkToolItem), _ ("Use a saved search to filter items in the current view"));
#line 1124 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp59_ = self->priv->saved_search_button;
#line 1124 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_signal_connect_object (_tmp59_, "clicked", (GCallback) _search_filter_toolbar_on_saved_search_button_clicked_search_filter_toolbar_saved_search_filter_button_clicked, self, 0);
#line 1125 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp60_ = self->priv->toolbar;
#line 1125 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp61_ = self->priv->saved_search_button;
#line 1125 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	gtk_toolbar_insert (_tmp60_, G_TYPE_CHECK_INSTANCE_CAST (_tmp61_, gtk_tool_item_get_type (), GtkToolItem), -1);
#line 1128 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp62_ = (GtkSeparatorToolItem*) gtk_separator_tool_item_new ();
#line 1128 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_object_ref_sink (_tmp62_);
#line 1128 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	separator_align = _tmp62_;
#line 1129 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	gtk_tool_item_set_expand (G_TYPE_CHECK_INSTANCE_CAST (separator_align, gtk_tool_item_get_type (), GtkToolItem), TRUE);
#line 1130 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	gtk_separator_tool_item_set_draw (separator_align, FALSE);
#line 1131 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp63_ = self->priv->toolbar;
#line 1131 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	gtk_toolbar_insert (_tmp63_, G_TYPE_CHECK_INSTANCE_CAST (separator_align, gtk_tool_item_get_type (), GtkToolItem), -1);
#line 1134 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp64_ = self->priv->toolbar;
#line 1134 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp65_ = self->priv->search_box;
#line 1134 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	gtk_toolbar_insert (_tmp64_, G_TYPE_CHECK_INSTANCE_CAST (_tmp65_, gtk_tool_item_get_type (), GtkToolItem), -1);
#line 1136 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp66_ = self->priv->toolbar;
#line 1136 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	gtk_container_add (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_container_get_type (), GtkContainer), G_TYPE_CHECK_INSTANCE_CAST (_tmp66_, gtk_widget_get_type (), GtkWidget));
#line 1139 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_signal_connect_object (actions, "flagged-toggled", (GCallback) _search_filter_toolbar_on_flagged_toggled_search_filter_actions_flagged_toggled, self, 0);
#line 1140 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_signal_connect_object (actions, "photos-toggled", (GCallback) _search_filter_toolbar_on_photos_toggled_search_filter_actions_photos_toggled, self, 0);
#line 1141 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_signal_connect_object (actions, "videos-toggled", (GCallback) _search_filter_toolbar_on_videos_toggled_search_filter_actions_videos_toggled, self, 0);
#line 1142 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_signal_connect_object (actions, "raw-toggled", (GCallback) _search_filter_toolbar_on_raw_toggled_search_filter_actions_raw_toggled, self, 0);
#line 1143 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_signal_connect_object (actions, "rating-changed", (GCallback) _search_filter_toolbar_on_rating_changed_search_filter_actions_rating_changed, self, 0);
#line 1144 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_signal_connect_object (actions, "text-changed", (GCallback) _search_filter_toolbar_on_search_text_changed_search_filter_actions_text_changed, self, 0);
#line 1145 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_signal_connect_object (actions, "criteria-changed", (GCallback) _search_filter_toolbar_on_criteria_changed_search_filter_actions_criteria_changed, self, 0);
#line 1148 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp67_ = self->priv->toolbar;
#line 1148 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_signal_connect_object (_tmp67_, "popup-context-menu", (GCallback) _search_filter_toolbar_on_context_menu_requested_gtk_toolbar_popup_context_menu, self, 0);
#line 1150 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	search_filter_toolbar_on_media_context_changed (self, search_filter_actions_get_has_photos (actions), search_filter_actions_get_has_videos (actions), search_filter_actions_get_has_raw (actions), search_filter_actions_get_has_flagged (actions));
#line 1050 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_g_object_unref0 (separator_align);
#line 1050 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_g_object_unref0 (model);
#line 1050 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	return self;
#line 5836 "SearchFilter.c"
}


SearchFilterToolbar*
search_filter_toolbar_new (SearchFilterActions* actions)
{
#line 1050 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	return search_filter_toolbar_construct (TYPE_SEARCH_FILTER_TOOLBAR, actions);
#line 5845 "SearchFilter.c"
}


static void
search_filter_toolbar_on_media_context_changed (SearchFilterToolbar* self,
                                                gboolean has_photos,
                                                gboolean has_videos,
                                                gboolean has_raw,
                                                gboolean has_flagged)
{
	gboolean _tmp0_ = FALSE;
#line 1169 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_return_if_fail (IS_SEARCH_FILTER_TOOLBAR (self));
#line 1171 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	if (has_photos) {
#line 1171 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		_tmp0_ = TRUE;
#line 5863 "SearchFilter.c"
	} else {
#line 1171 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		_tmp0_ = has_raw;
#line 5867 "SearchFilter.c"
	}
#line 1171 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	if (_tmp0_) {
#line 5871 "SearchFilter.c"
		SearchFilterToolbarToggleActionToolButton* _tmp1_;
#line 1174 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		_tmp1_ = self->priv->toolbtn_photos;
#line 1174 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		search_filter_toolbar_toggle_action_tool_button_set_icon_name (_tmp1_, RESOURCES_ICON_FILTER_PHOTOS);
#line 5877 "SearchFilter.c"
	} else {
		SearchFilterToolbarToggleActionToolButton* _tmp2_;
#line 1176 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		_tmp2_ = self->priv->toolbtn_photos;
#line 1176 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		search_filter_toolbar_toggle_action_tool_button_set_icon_name (_tmp2_, RESOURCES_ICON_FILTER_PHOTOS_DISABLED);
#line 5884 "SearchFilter.c"
	}
#line 1178 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	if (has_videos) {
#line 5888 "SearchFilter.c"
		SearchFilterToolbarToggleActionToolButton* _tmp3_;
#line 1179 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		_tmp3_ = self->priv->toolbtn_videos;
#line 1179 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		search_filter_toolbar_toggle_action_tool_button_set_icon_name (_tmp3_, RESOURCES_ICON_FILTER_VIDEOS);
#line 5894 "SearchFilter.c"
	} else {
		SearchFilterToolbarToggleActionToolButton* _tmp4_;
#line 1181 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		_tmp4_ = self->priv->toolbtn_videos;
#line 1181 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		search_filter_toolbar_toggle_action_tool_button_set_icon_name (_tmp4_, RESOURCES_ICON_FILTER_VIDEOS_DISABLED);
#line 5901 "SearchFilter.c"
	}
#line 1183 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	if (has_raw) {
#line 5905 "SearchFilter.c"
		SearchFilterToolbarToggleActionToolButton* _tmp5_;
#line 1184 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		_tmp5_ = self->priv->toolbtn_raw;
#line 1184 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		search_filter_toolbar_toggle_action_tool_button_set_icon_name (_tmp5_, RESOURCES_ICON_FILTER_RAW);
#line 5911 "SearchFilter.c"
	} else {
		SearchFilterToolbarToggleActionToolButton* _tmp6_;
#line 1186 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		_tmp6_ = self->priv->toolbtn_raw;
#line 1186 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		search_filter_toolbar_toggle_action_tool_button_set_icon_name (_tmp6_, RESOURCES_ICON_FILTER_RAW_DISABLED);
#line 5918 "SearchFilter.c"
	}
#line 1188 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	if (has_flagged) {
#line 5922 "SearchFilter.c"
		SearchFilterToolbarToggleActionToolButton* _tmp7_;
#line 1189 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		_tmp7_ = self->priv->toolbtn_flag;
#line 1189 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		search_filter_toolbar_toggle_action_tool_button_set_icon_name (_tmp7_, RESOURCES_ICON_FILTER_FLAGGED);
#line 5928 "SearchFilter.c"
	} else {
		SearchFilterToolbarToggleActionToolButton* _tmp8_;
#line 1191 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		_tmp8_ = self->priv->toolbtn_flag;
#line 1191 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		search_filter_toolbar_toggle_action_tool_button_set_icon_name (_tmp8_, RESOURCES_ICON_FILTER_FLAGGED_DISABLED);
#line 5935 "SearchFilter.c"
	}
}


static gboolean
search_filter_toolbar_on_context_menu_requested (SearchFilterToolbar* self,
                                                 gint x,
                                                 gint y,
                                                 gint button)
{
	gboolean result = FALSE;
	GtkMenu* _tmp0_;
#line 1195 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_return_val_if_fail (IS_SEARCH_FILTER_TOOLBAR (self), FALSE);
#line 1196 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp0_ = self->priv->close_menu;
#line 1196 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	gtk_menu_popup (_tmp0_, NULL, NULL, NULL, NULL, (guint) button, gtk_get_current_event_time ());
#line 1197 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	result = FALSE;
#line 1197 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	return result;
#line 5958 "SearchFilter.c"
}


static GVariant*
_variant_new39 (gboolean value)
{
#line 1214 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	return g_variant_ref_sink (g_variant_new_boolean (value));
#line 5967 "SearchFilter.c"
}


static void
search_filter_toolbar_on_context_menu_close_chosen (SearchFilterToolbar* self)
{
	AppWindow* aw = NULL;
	LibraryWindow* _tmp0_;
	GSimpleAction* action = NULL;
	AppWindow* _tmp1_;
	GAction* _tmp2_;
	GSimpleAction* _tmp3_;
	GSimpleAction* _tmp4_;
#line 1202 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_return_if_fail (IS_SEARCH_FILTER_TOOLBAR (self));
#line 1203 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp0_ = library_window_get_app ();
#line 1203 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	aw = G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_APP_WINDOW, AppWindow);
#line 1208 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp1_ = aw;
#line 1208 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp2_ = g_action_map_lookup_action (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, g_action_map_get_type (), GActionMap), "CommonDisplaySearchbar");
#line 1208 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp3_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp2_, g_simple_action_get_type ()) ? ((GSimpleAction*) _tmp2_) : NULL);
#line 1208 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	action = _tmp3_;
#line 1212 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp4_ = action;
#line 1212 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	if (_tmp4_ != NULL) {
#line 5999 "SearchFilter.c"
		GSimpleAction* _tmp5_;
		GVariant* _tmp6_;
#line 1214 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		_tmp5_ = action;
#line 1214 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		_tmp6_ = _variant_new39 (FALSE);
#line 1214 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		g_signal_emit_by_name (_tmp5_, "change-state", _tmp6_);
#line 1214 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		_g_variant_unref0 (_tmp6_);
#line 6010 "SearchFilter.c"
	}
#line 1202 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_g_object_unref0 (action);
#line 1202 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_g_object_unref0 (aw);
#line 6016 "SearchFilter.c"
}


static void
search_filter_toolbar_on_flagged_toggled (SearchFilterToolbar* self)
{
#line 1218 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_return_if_fail (IS_SEARCH_FILTER_TOOLBAR (self));
#line 1219 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	search_filter_toolbar_update (self);
#line 6027 "SearchFilter.c"
}


static void
search_filter_toolbar_on_videos_toggled (SearchFilterToolbar* self)
{
#line 1222 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_return_if_fail (IS_SEARCH_FILTER_TOOLBAR (self));
#line 1223 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	search_filter_toolbar_update (self);
#line 6038 "SearchFilter.c"
}


static void
search_filter_toolbar_on_photos_toggled (SearchFilterToolbar* self)
{
#line 1226 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_return_if_fail (IS_SEARCH_FILTER_TOOLBAR (self));
#line 1227 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	search_filter_toolbar_update (self);
#line 6049 "SearchFilter.c"
}


static void
search_filter_toolbar_on_raw_toggled (SearchFilterToolbar* self)
{
#line 1230 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_return_if_fail (IS_SEARCH_FILTER_TOOLBAR (self));
#line 1231 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	search_filter_toolbar_update (self);
#line 6060 "SearchFilter.c"
}


static void
search_filter_toolbar_on_search_text_changed (SearchFilterToolbar* self)
{
#line 1234 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_return_if_fail (IS_SEARCH_FILTER_TOOLBAR (self));
#line 1235 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	search_filter_toolbar_update (self);
#line 6071 "SearchFilter.c"
}


static GVariant*
_variant_new40 (gboolean value)
{
#line 1249 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	return g_variant_ref_sink (g_variant_new_boolean (value));
#line 6080 "SearchFilter.c"
}


static void
search_filter_toolbar_on_rating_changed (SearchFilterToolbar* self)
{
	AppWindow* aw = NULL;
	LibraryWindow* _tmp0_;
	AppWindow* _tmp1_;
	GSimpleAction* action = NULL;
	AppWindow* _tmp2_;
	GAction* _tmp3_;
	GSimpleAction* _tmp4_;
	GSimpleAction* _tmp5_;
#line 1238 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_return_if_fail (IS_SEARCH_FILTER_TOOLBAR (self));
#line 1239 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp0_ = library_window_get_app ();
#line 1239 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	aw = G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_APP_WINDOW, AppWindow);
#line 1241 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp1_ = aw;
#line 1241 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	if (_tmp1_ == NULL) {
#line 1242 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		_g_object_unref0 (aw);
#line 1242 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		return;
#line 6109 "SearchFilter.c"
	}
#line 1244 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp2_ = aw;
#line 1244 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp3_ = g_action_map_lookup_action (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, g_action_map_get_type (), GActionMap), "CommonDisplaySearchbar");
#line 1244 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp4_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp3_, g_simple_action_get_type ()) ? ((GSimpleAction*) _tmp3_) : NULL);
#line 1244 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	action = _tmp4_;
#line 1248 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp5_ = action;
#line 1248 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	if (_tmp5_ != NULL) {
#line 6123 "SearchFilter.c"
		GSimpleAction* _tmp6_;
		GVariant* _tmp7_;
#line 1249 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		_tmp6_ = action;
#line 1249 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		_tmp7_ = _variant_new40 (TRUE);
#line 1249 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		g_signal_emit_by_name (_tmp6_, "change-state", _tmp7_);
#line 1249 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		_g_variant_unref0 (_tmp7_);
#line 6134 "SearchFilter.c"
	}
#line 1252 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	search_filter_toolbar_update (self);
#line 1238 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_g_object_unref0 (action);
#line 1238 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_g_object_unref0 (aw);
#line 6142 "SearchFilter.c"
}


static void
search_filter_toolbar_on_criteria_changed (SearchFilterToolbar* self)
{
#line 1258 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_return_if_fail (IS_SEARCH_FILTER_TOOLBAR (self));
#line 1259 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	search_filter_toolbar_update (self);
#line 6153 "SearchFilter.c"
}


static gpointer
_view_filter_ref0 (gpointer self)
{
#line 1266 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	return self ? view_filter_ref (self) : NULL;
#line 6162 "SearchFilter.c"
}


void
search_filter_toolbar_set_view_filter (SearchFilterToolbar* self,
                                       SearchViewFilter* search_filter)
{
	SearchViewFilter* _tmp0_;
	SearchViewFilter* _tmp1_;
	SearchFilterActions* _tmp2_;
	SearchFilterToolbarRatingFilterButton* _tmp3_;
#line 1262 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_return_if_fail (IS_SEARCH_FILTER_TOOLBAR (self));
#line 1262 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_return_if_fail (IS_SEARCH_VIEW_FILTER (search_filter));
#line 1263 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp0_ = self->priv->search_filter;
#line 1263 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	if (search_filter == _tmp0_) {
#line 1264 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		return;
#line 6184 "SearchFilter.c"
	}
#line 1266 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp1_ = _view_filter_ref0 (search_filter);
#line 1266 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_view_filter_unref0 (self->priv->search_filter);
#line 1266 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	self->priv->search_filter = _tmp1_;
#line 1269 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp2_ = self->priv->actions;
#line 1269 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	search_filter_actions_set_sensitive_for_search_criteria (_tmp2_, (SearchFilterCriteria) search_view_filter_get_criteria (search_filter));
#line 1270 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp3_ = self->priv->rating_button;
#line 1270 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	gtk_widget_set_sensitive (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, gtk_widget_get_type (), GtkWidget), (SEARCH_FILTER_CRITERIA_RATING & search_view_filter_get_criteria (search_filter)) != 0);
#line 1272 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	search_filter_toolbar_update (self);
#line 6202 "SearchFilter.c"
}


void
search_filter_toolbar_unset_view_filter (SearchFilterToolbar* self)
{
	DisabledViewFilter* _tmp0_;
	DisabledViewFilter* _tmp1_;
#line 1275 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_return_if_fail (IS_SEARCH_FILTER_TOOLBAR (self));
#line 1276 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp0_ = disabled_view_filter_new ();
#line 1276 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp1_ = _tmp0_;
#line 1276 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	search_filter_toolbar_set_view_filter (self, G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_SEARCH_VIEW_FILTER, SearchViewFilter));
#line 1276 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_view_filter_unref0 (_tmp1_);
#line 6221 "SearchFilter.c"
}


void
search_filter_toolbar_update (SearchFilterToolbar* self)
{
	SearchViewFilter* _tmp0_;
	SearchViewFilter* _tmp3_;
	SearchViewFilter* _tmp4_;
	SearchFilterActions* _tmp5_;
	TextAction* _tmp6_;
	TextAction* _tmp7_;
	const gchar* _tmp8_;
	const gchar* _tmp9_;
	SearchViewFilter* _tmp10_;
	SearchFilterActions* _tmp11_;
	GSimpleAction* _tmp12_;
	GSimpleAction* _tmp13_;
	GVariant* _tmp14_;
	GVariant* _tmp15_;
	SearchViewFilter* _tmp16_;
	SearchFilterActions* _tmp17_;
	GSimpleAction* _tmp18_;
	GSimpleAction* _tmp19_;
	GVariant* _tmp20_;
	GVariant* _tmp21_;
	SearchViewFilter* _tmp22_;
	SearchFilterActions* _tmp23_;
	GSimpleAction* _tmp24_;
	GSimpleAction* _tmp25_;
	GVariant* _tmp26_;
	GVariant* _tmp27_;
	SearchViewFilter* _tmp28_;
	SearchFilterActions* _tmp29_;
	GSimpleAction* _tmp30_;
	GSimpleAction* _tmp31_;
	GVariant* _tmp32_;
	GVariant* _tmp33_;
	RatingFilter filter = 0;
	SearchFilterActions* _tmp34_;
	GSimpleAction* _tmp35_;
	GSimpleAction* _tmp36_;
	GVariant* _tmp37_;
	GVariant* _tmp38_;
	const gchar* _tmp39_;
	RatingFilter _tmp40_;
	SearchViewFilter* _tmp41_;
	RatingFilter _tmp42_;
	SearchFilterToolbarRatingFilterButton* _tmp43_;
	RatingFilter _tmp44_;
	SearchViewFilter* _tmp45_;
	SavedSearch* _tmp46_;
	SearchFilterCriteria criteria = 0;
	SearchFilterActions* _tmp47_;
	SearchFilterToolbarSearchBox* _tmp48_;
	SearchFilterCriteria _tmp49_;
	SearchFilterToolbarRatingFilterButton* _tmp50_;
	SearchFilterCriteria _tmp51_;
	SearchFilterToolbarToggleActionToolButton* _tmp52_;
	SearchFilterCriteria _tmp53_;
	SearchFilterToolbarLabelToolItem* _tmp54_;
	SearchFilterCriteria _tmp55_;
	SearchFilterToolbarToggleActionToolButton* _tmp56_;
	SearchFilterCriteria _tmp57_;
	SearchFilterToolbarToggleActionToolButton* _tmp58_;
	SearchFilterCriteria _tmp59_;
	SearchFilterToolbarToggleActionToolButton* _tmp60_;
	SearchFilterCriteria _tmp61_;
	SearchFilterToolbarSavedSearchFilterButton* _tmp62_;
	SearchFilterCriteria _tmp63_;
	gboolean _tmp64_ = FALSE;
	SearchFilterToolbarLabelToolItem* _tmp65_;
	gboolean _tmp66_;
	gboolean _tmp67_;
	GtkSeparatorToolItem* _tmp71_;
	gboolean _tmp72_ = FALSE;
	gboolean _tmp73_ = FALSE;
	SearchFilterToolbarLabelToolItem* _tmp74_;
	gboolean _tmp75_;
	gboolean _tmp76_;
	GtkSeparatorToolItem* _tmp87_;
	SearchViewFilter* _tmp88_;
#line 1280 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_return_if_fail (IS_SEARCH_FILTER_TOOLBAR (self));
#line 1281 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp0_ = self->priv->search_filter;
#line 1281 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	if (NULL == _tmp0_) {
#line 6310 "SearchFilter.c"
		LibraryWindow* _tmp1_;
		LibraryWindow* _tmp2_;
#line 1283 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		_tmp1_ = library_window_get_app ();
#line 1283 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		_tmp2_ = _tmp1_;
#line 1283 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		library_window_show_search_bar (_tmp2_, TRUE);
#line 1283 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		_g_object_unref0 (_tmp2_);
#line 6321 "SearchFilter.c"
	}
#line 1286 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp3_ = self->priv->search_filter;
#line 1286 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_vala_assert (NULL != _tmp3_, "null != search_filter");
#line 1288 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp4_ = self->priv->search_filter;
#line 1288 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp5_ = self->priv->actions;
#line 1288 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp6_ = search_filter_actions_get_text (_tmp5_);
#line 1288 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp7_ = _tmp6_;
#line 1288 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp8_ = text_action_get_value (_tmp7_);
#line 1288 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp9_ = _tmp8_;
#line 1288 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	search_view_filter_set_search_filter (_tmp4_, _tmp9_);
#line 1289 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp10_ = self->priv->search_filter;
#line 1289 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp11_ = self->priv->actions;
#line 1289 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp12_ = search_filter_actions_get_flagged (_tmp11_);
#line 1289 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp13_ = _tmp12_;
#line 1289 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp14_ = g_action_get_state (G_TYPE_CHECK_INSTANCE_CAST (_tmp13_, g_action_get_type (), GAction));
#line 1289 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp15_ = _tmp14_;
#line 1289 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	search_view_filter_set_flagged (_tmp10_, g_variant_get_boolean (_tmp15_));
#line 1289 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_g_variant_unref0 (_tmp15_);
#line 1290 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp16_ = self->priv->search_filter;
#line 1290 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp17_ = self->priv->actions;
#line 1290 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp18_ = search_filter_actions_get_videos (_tmp17_);
#line 1290 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp19_ = _tmp18_;
#line 1290 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp20_ = g_action_get_state (G_TYPE_CHECK_INSTANCE_CAST (_tmp19_, g_action_get_type (), GAction));
#line 1290 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp21_ = _tmp20_;
#line 1290 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	search_view_filter_set_show_media_video (_tmp16_, g_variant_get_boolean (_tmp21_));
#line 1290 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_g_variant_unref0 (_tmp21_);
#line 1292 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp22_ = self->priv->search_filter;
#line 1292 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp23_ = self->priv->actions;
#line 1292 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp24_ = search_filter_actions_get_photos (_tmp23_);
#line 1292 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp25_ = _tmp24_;
#line 1292 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp26_ = g_action_get_state (G_TYPE_CHECK_INSTANCE_CAST (_tmp25_, g_action_get_type (), GAction));
#line 1292 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp27_ = _tmp26_;
#line 1292 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	search_view_filter_set_show_media_photos (_tmp22_, g_variant_get_boolean (_tmp27_));
#line 1292 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_g_variant_unref0 (_tmp27_);
#line 1294 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp28_ = self->priv->search_filter;
#line 1294 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp29_ = self->priv->actions;
#line 1294 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp30_ = search_filter_actions_get_raw (_tmp29_);
#line 1294 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp31_ = _tmp30_;
#line 1294 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp32_ = g_action_get_state (G_TYPE_CHECK_INSTANCE_CAST (_tmp31_, g_action_get_type (), GAction));
#line 1294 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp33_ = _tmp32_;
#line 1294 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	search_view_filter_set_show_media_raw (_tmp28_, g_variant_get_boolean (_tmp33_));
#line 1294 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_g_variant_unref0 (_tmp33_);
#line 1296 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp34_ = self->priv->actions;
#line 1296 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp35_ = search_filter_actions_get_rating (_tmp34_);
#line 1296 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp36_ = _tmp35_;
#line 1296 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp37_ = g_action_get_state (G_TYPE_CHECK_INSTANCE_CAST (_tmp36_, g_action_get_type (), GAction));
#line 1296 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp38_ = _tmp37_;
#line 1296 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp39_ = g_variant_get_string (_tmp38_, NULL);
#line 1296 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp40_ = (RatingFilter) atoi (_tmp39_);
#line 1296 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_g_variant_unref0 (_tmp38_);
#line 1296 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	filter = _tmp40_;
#line 1297 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp41_ = self->priv->search_filter;
#line 1297 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp42_ = filter;
#line 1297 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	search_view_filter_set_rating_filter (_tmp41_, _tmp42_);
#line 1298 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp43_ = self->priv->rating_button;
#line 1298 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp44_ = filter;
#line 1298 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	search_filter_toolbar_rating_filter_button_set_filter_icon (_tmp43_, _tmp44_);
#line 1300 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp45_ = self->priv->search_filter;
#line 1300 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp46_ = self->priv->saved_search;
#line 1300 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	search_view_filter_set_saved_search (_tmp45_, _tmp46_);
#line 1304 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp47_ = self->priv->actions;
#line 1304 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	criteria = search_filter_actions_get_criteria (_tmp47_);
#line 1306 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp48_ = self->priv->search_box;
#line 1306 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp49_ = criteria;
#line 1306 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	gtk_widget_set_visible (G_TYPE_CHECK_INSTANCE_CAST (_tmp48_, gtk_widget_get_type (), GtkWidget), (_tmp49_ & SEARCH_FILTER_CRITERIA_TEXT) != 0);
#line 1308 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp50_ = self->priv->rating_button;
#line 1308 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp51_ = criteria;
#line 1308 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	gtk_widget_set_visible (G_TYPE_CHECK_INSTANCE_CAST (_tmp50_, gtk_widget_get_type (), GtkWidget), (_tmp51_ & SEARCH_FILTER_CRITERIA_RATING) != 0);
#line 1310 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp52_ = self->priv->toolbtn_flag;
#line 1310 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp53_ = criteria;
#line 1310 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	gtk_widget_set_visible (G_TYPE_CHECK_INSTANCE_CAST (_tmp52_, gtk_widget_get_type (), GtkWidget), (_tmp53_ & SEARCH_FILTER_CRITERIA_FLAG) != 0);
#line 1312 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp54_ = self->priv->label_type;
#line 1312 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp55_ = criteria;
#line 1312 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	gtk_widget_set_visible (G_TYPE_CHECK_INSTANCE_CAST (_tmp54_, gtk_widget_get_type (), GtkWidget), (_tmp55_ & SEARCH_FILTER_CRITERIA_MEDIA) != 0);
#line 1313 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp56_ = self->priv->toolbtn_photos;
#line 1313 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp57_ = criteria;
#line 1313 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	gtk_widget_set_visible (G_TYPE_CHECK_INSTANCE_CAST (_tmp56_, gtk_widget_get_type (), GtkWidget), (_tmp57_ & SEARCH_FILTER_CRITERIA_MEDIA) != 0);
#line 1314 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp58_ = self->priv->toolbtn_videos;
#line 1314 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp59_ = criteria;
#line 1314 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	gtk_widget_set_visible (G_TYPE_CHECK_INSTANCE_CAST (_tmp58_, gtk_widget_get_type (), GtkWidget), (_tmp59_ & SEARCH_FILTER_CRITERIA_MEDIA) != 0);
#line 1315 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp60_ = self->priv->toolbtn_raw;
#line 1315 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp61_ = criteria;
#line 1315 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	gtk_widget_set_visible (G_TYPE_CHECK_INSTANCE_CAST (_tmp60_, gtk_widget_get_type (), GtkWidget), (_tmp61_ & SEARCH_FILTER_CRITERIA_MEDIA) != 0);
#line 1317 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp62_ = self->priv->saved_search_button;
#line 1317 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp63_ = criteria;
#line 1317 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	gtk_widget_set_visible (G_TYPE_CHECK_INSTANCE_CAST (_tmp62_, gtk_widget_get_type (), GtkWidget), (_tmp63_ & SEARCH_FILTER_CRITERIA_SAVEDSEARCH) != 0);
#line 1321 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp65_ = self->priv->label_type;
#line 1321 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp66_ = gtk_widget_get_visible (G_TYPE_CHECK_INSTANCE_CAST (_tmp65_, gtk_widget_get_type (), GtkWidget));
#line 1321 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp67_ = _tmp66_;
#line 1321 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	if (_tmp67_) {
#line 6501 "SearchFilter.c"
		SearchFilterToolbarToggleActionToolButton* _tmp68_;
		gboolean _tmp69_;
		gboolean _tmp70_;
#line 1321 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		_tmp68_ = self->priv->toolbtn_flag;
#line 1321 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		_tmp69_ = gtk_widget_get_visible (G_TYPE_CHECK_INSTANCE_CAST (_tmp68_, gtk_widget_get_type (), GtkWidget));
#line 1321 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		_tmp70_ = _tmp69_;
#line 1321 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		_tmp64_ = _tmp70_;
#line 6513 "SearchFilter.c"
	} else {
#line 1321 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		_tmp64_ = FALSE;
#line 6517 "SearchFilter.c"
	}
#line 1321 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp71_ = self->priv->sepr_mediatype_flagged;
#line 1321 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	gtk_widget_set_visible (G_TYPE_CHECK_INSTANCE_CAST (_tmp71_, gtk_widget_get_type (), GtkWidget), _tmp64_);
#line 1323 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp74_ = self->priv->label_type;
#line 1323 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp75_ = gtk_widget_get_visible (G_TYPE_CHECK_INSTANCE_CAST (_tmp74_, gtk_widget_get_type (), GtkWidget));
#line 1323 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp76_ = _tmp75_;
#line 1323 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	if (_tmp76_) {
#line 6531 "SearchFilter.c"
		SearchFilterToolbarRatingFilterButton* _tmp77_;
		gboolean _tmp78_;
		gboolean _tmp79_;
#line 1323 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		_tmp77_ = self->priv->rating_button;
#line 1323 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		_tmp78_ = gtk_widget_get_visible (G_TYPE_CHECK_INSTANCE_CAST (_tmp77_, gtk_widget_get_type (), GtkWidget));
#line 1323 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		_tmp79_ = _tmp78_;
#line 1323 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		_tmp73_ = _tmp79_;
#line 6543 "SearchFilter.c"
	} else {
#line 1323 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		_tmp73_ = FALSE;
#line 6547 "SearchFilter.c"
	}
#line 1323 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	if (_tmp73_) {
#line 1323 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		_tmp72_ = TRUE;
#line 6553 "SearchFilter.c"
	} else {
		gboolean _tmp80_ = FALSE;
		SearchFilterToolbarToggleActionToolButton* _tmp81_;
		gboolean _tmp82_;
		gboolean _tmp83_;
#line 1324 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		_tmp81_ = self->priv->toolbtn_flag;
#line 1324 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		_tmp82_ = gtk_widget_get_visible (G_TYPE_CHECK_INSTANCE_CAST (_tmp81_, gtk_widget_get_type (), GtkWidget));
#line 1324 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		_tmp83_ = _tmp82_;
#line 1324 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		if (_tmp83_) {
#line 6567 "SearchFilter.c"
			SearchFilterToolbarRatingFilterButton* _tmp84_;
			gboolean _tmp85_;
			gboolean _tmp86_;
#line 1324 "/home/jens/Source/shotwell/src/SearchFilter.vala"
			_tmp84_ = self->priv->rating_button;
#line 1324 "/home/jens/Source/shotwell/src/SearchFilter.vala"
			_tmp85_ = gtk_widget_get_visible (G_TYPE_CHECK_INSTANCE_CAST (_tmp84_, gtk_widget_get_type (), GtkWidget));
#line 1324 "/home/jens/Source/shotwell/src/SearchFilter.vala"
			_tmp86_ = _tmp85_;
#line 1324 "/home/jens/Source/shotwell/src/SearchFilter.vala"
			_tmp80_ = _tmp86_;
#line 6579 "SearchFilter.c"
		} else {
#line 1324 "/home/jens/Source/shotwell/src/SearchFilter.vala"
			_tmp80_ = FALSE;
#line 6583 "SearchFilter.c"
		}
#line 1324 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		_tmp72_ = _tmp80_;
#line 6587 "SearchFilter.c"
	}
#line 1323 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp87_ = self->priv->sepr_flagged_rating;
#line 1323 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	gtk_widget_set_visible (G_TYPE_CHECK_INSTANCE_CAST (_tmp87_, gtk_widget_get_type (), GtkWidget), _tmp72_);
#line 1327 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp88_ = self->priv->search_filter;
#line 1327 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_signal_emit_by_name (G_TYPE_CHECK_INSTANCE_CAST (_tmp88_, TYPE_VIEW_FILTER, ViewFilter), "refresh");
#line 6597 "SearchFilter.c"
}


static void
search_filter_toolbar_on_savedsearch_selected (SearchFilterToolbar* self,
                                               SavedSearch* saved_search)
{
	SavedSearch* _tmp0_;
#line 1330 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_return_if_fail (IS_SEARCH_FILTER_TOOLBAR (self));
#line 1330 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_return_if_fail (IS_SAVED_SEARCH (saved_search));
#line 1331 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp0_ = _g_object_ref0 (saved_search);
#line 1331 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_g_object_unref0 (self->priv->saved_search);
#line 1331 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	self->priv->saved_search = _tmp0_;
#line 1332 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	search_filter_toolbar_update (self);
#line 6618 "SearchFilter.c"
}


static void
search_filter_toolbar_disable_savedsearch (SearchFilterToolbar* self)
{
#line 1335 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_return_if_fail (IS_SEARCH_FILTER_TOOLBAR (self));
#line 1336 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_g_object_unref0 (self->priv->saved_search);
#line 1336 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	self->priv->saved_search = NULL;
#line 1337 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	search_filter_toolbar_update (self);
#line 6633 "SearchFilter.c"
}


static void
search_filter_toolbar_edit_dialog (SearchFilterToolbar* self,
                                   SavedSearch* search)
{
	SearchFilterToolbarSavedSearchFilterButton* _tmp0_;
	SearchFilterToolbarSavedSearchPopover* _tmp1_;
	SavedSearchDialog* ssd = NULL;
	SavedSearchDialog* _tmp2_;
#line 1340 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_return_if_fail (IS_SEARCH_FILTER_TOOLBAR (self));
#line 1340 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_return_if_fail (IS_SAVED_SEARCH (search));
#line 1341 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp0_ = self->priv->saved_search_button;
#line 1341 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp1_ = _tmp0_->filter_popup;
#line 1341 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	search_filter_toolbar_saved_search_popover_hide (_tmp1_);
#line 1342 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp2_ = saved_search_dialog_new_edit_existing (search);
#line 1342 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_object_ref_sink (_tmp2_);
#line 1342 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	ssd = _tmp2_;
#line 1343 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	saved_search_dialog_show (ssd);
#line 1340 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_g_object_unref0 (ssd);
#line 6665 "SearchFilter.c"
}


static void
search_filter_toolbar_delete_dialog (SearchFilterToolbar* self,
                                     SavedSearch* search)
{
	SearchFilterToolbarSavedSearchFilterButton* _tmp0_;
	SearchFilterToolbarSavedSearchPopover* _tmp1_;
#line 1346 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_return_if_fail (IS_SEARCH_FILTER_TOOLBAR (self));
#line 1346 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_return_if_fail (IS_SAVED_SEARCH (search));
#line 1347 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp0_ = self->priv->saved_search_button;
#line 1347 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp1_ = _tmp0_->filter_popup;
#line 1347 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	search_filter_toolbar_saved_search_popover_hide (_tmp1_);
#line 1348 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	if (dialogs_confirm_delete_saved_search (search)) {
#line 6687 "SearchFilter.c"
		CommandManager* _tmp2_;
		CommandManager* _tmp3_;
		DeleteSavedSearchCommand* _tmp4_;
		DeleteSavedSearchCommand* _tmp5_;
#line 1349 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		_tmp2_ = app_window_get_command_manager ();
#line 1349 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		_tmp3_ = _tmp2_;
#line 1349 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		_tmp4_ = delete_saved_search_command_new (search);
#line 1349 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		_tmp5_ = _tmp4_;
#line 1349 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		command_manager_execute (_tmp3_, G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, TYPE_COMMAND, Command));
#line 1349 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		_g_object_unref0 (_tmp5_);
#line 1349 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		_command_manager_unref0 (_tmp3_);
#line 6706 "SearchFilter.c"
	}
}


static void
search_filter_toolbar_add_dialog (SearchFilterToolbar* self)
{
	SearchFilterToolbarSavedSearchFilterButton* _tmp0_;
	SearchFilterToolbarSavedSearchPopover* _tmp1_;
	SavedSearchDialog* _tmp2_;
	SavedSearchDialog* _tmp3_;
#line 1352 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_return_if_fail (IS_SEARCH_FILTER_TOOLBAR (self));
#line 1353 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp0_ = self->priv->saved_search_button;
#line 1353 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp1_ = _tmp0_->filter_popup;
#line 1353 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	search_filter_toolbar_saved_search_popover_hide (_tmp1_);
#line 1354 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp2_ = saved_search_dialog_new ();
#line 1354 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_object_ref_sink (_tmp2_);
#line 1354 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp3_ = _tmp2_;
#line 1354 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	saved_search_dialog_show (_tmp3_);
#line 1354 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_g_object_unref0 (_tmp3_);
#line 6736 "SearchFilter.c"
}


static void
search_filter_toolbar_on_popover_closed (SearchFilterToolbar* self)
{
	SearchFilterToolbarSavedSearchFilterButton* _tmp0_;
	SavedSearch* _tmp1_;
	SearchFilterToolbarSavedSearchFilterButton* _tmp2_;
	SearchFilterToolbarSavedSearchPopover* _tmp3_;
#line 1357 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_return_if_fail (IS_SEARCH_FILTER_TOOLBAR (self));
#line 1359 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	self->priv->elide_showing_again = TRUE;
#line 1360 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp0_ = self->priv->saved_search_button;
#line 1360 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp1_ = self->priv->saved_search;
#line 1360 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	search_filter_toolbar_saved_search_filter_button_set_active (_tmp0_, _tmp1_ != NULL);
#line 1361 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp2_ = self->priv->saved_search_button;
#line 1361 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp3_ = _tmp2_->filter_popup;
#line 1361 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	search_filter_toolbar_saved_search_popover_hide (_tmp3_);
#line 6763 "SearchFilter.c"
}


static void
_search_filter_toolbar_edit_dialog_search_filter_toolbar_saved_search_popover_edit_clicked (SearchFilterToolbarSavedSearchPopover* _sender,
                                                                                            SavedSearch* search,
                                                                                            gpointer self)
{
#line 1372 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	search_filter_toolbar_edit_dialog ((SearchFilterToolbar*) self, search);
#line 6774 "SearchFilter.c"
}


static void
_search_filter_toolbar_on_savedsearch_selected_search_filter_toolbar_saved_search_popover_search_activated (SearchFilterToolbarSavedSearchPopover* _sender,
                                                                                                            SavedSearch* search,
                                                                                                            gpointer self)
{
#line 1373 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	search_filter_toolbar_on_savedsearch_selected ((SearchFilterToolbar*) self, search);
#line 6785 "SearchFilter.c"
}


static void
_search_filter_toolbar_delete_dialog_search_filter_toolbar_saved_search_popover_delete_clicked (SearchFilterToolbarSavedSearchPopover* _sender,
                                                                                                SavedSearch* search,
                                                                                                gpointer self)
{
#line 1374 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	search_filter_toolbar_delete_dialog ((SearchFilterToolbar*) self, search);
#line 6796 "SearchFilter.c"
}


static void
_search_filter_toolbar_add_dialog_search_filter_toolbar_saved_search_popover_add_clicked (SearchFilterToolbarSavedSearchPopover* _sender,
                                                                                          gpointer self)
{
#line 1375 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	search_filter_toolbar_add_dialog ((SearchFilterToolbar*) self);
#line 6806 "SearchFilter.c"
}


static void
_search_filter_toolbar_on_popover_closed_search_filter_toolbar_saved_search_popover_closed (SearchFilterToolbarSavedSearchPopover* _sender,
                                                                                            gpointer self)
{
#line 1376 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	search_filter_toolbar_on_popover_closed ((SearchFilterToolbar*) self);
#line 6816 "SearchFilter.c"
}


static void
search_filter_toolbar_on_saved_search_button_clicked (SearchFilterToolbar* self)
{
	gboolean _tmp0_ = FALSE;
	gboolean _tmp1_;
#line 1364 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_return_if_fail (IS_SEARCH_FILTER_TOOLBAR (self));
#line 1365 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp1_ = self->priv->elide_showing_again;
#line 1365 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	if (_tmp1_) {
#line 6831 "SearchFilter.c"
		SavedSearch* _tmp2_;
#line 1365 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		_tmp2_ = self->priv->saved_search;
#line 1365 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		_tmp0_ = _tmp2_ == NULL;
#line 6837 "SearchFilter.c"
	} else {
#line 1365 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		_tmp0_ = FALSE;
#line 6841 "SearchFilter.c"
	}
#line 1365 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	if (_tmp0_) {
#line 6845 "SearchFilter.c"
	} else {
		SavedSearch* _tmp3_;
#line 1366 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		_tmp3_ = self->priv->saved_search;
#line 1366 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		if (_tmp3_ != NULL) {
#line 6852 "SearchFilter.c"
			SearchFilterToolbarSavedSearchFilterButton* _tmp4_;
#line 1367 "/home/jens/Source/shotwell/src/SearchFilter.vala"
			_g_object_unref0 (self->priv->saved_search);
#line 1367 "/home/jens/Source/shotwell/src/SearchFilter.vala"
			self->priv->saved_search = NULL;
#line 1368 "/home/jens/Source/shotwell/src/SearchFilter.vala"
			_tmp4_ = self->priv->saved_search_button;
#line 1368 "/home/jens/Source/shotwell/src/SearchFilter.vala"
			search_filter_toolbar_saved_search_filter_button_set_active (_tmp4_, FALSE);
#line 1369 "/home/jens/Source/shotwell/src/SearchFilter.vala"
			search_filter_toolbar_disable_savedsearch (self);
#line 6864 "SearchFilter.c"
		} else {
			SearchFilterToolbarSavedSearchFilterButton* _tmp5_;
			SearchFilterToolbarSavedSearchPopover* _tmp6_;
			SearchFilterToolbarSavedSearchFilterButton* _tmp22_;
			SearchFilterToolbarSavedSearchFilterButton* _tmp23_;
			SearchFilterToolbarSavedSearchPopover* _tmp24_;
			SearchFilterToolbarSavedSearchFilterButton* _tmp25_;
			SearchFilterToolbarSavedSearchPopover* _tmp26_;
			SearchFilterToolbarSavedSearchFilterButton* _tmp27_;
			SearchFilterToolbarSavedSearchPopover* _tmp28_;
			SearchFilterToolbarSavedSearchFilterButton* _tmp29_;
			SearchFilterToolbarSavedSearchPopover* _tmp30_;
			SearchFilterToolbarSavedSearchFilterButton* _tmp31_;
			SearchFilterToolbarSavedSearchPopover* _tmp32_;
			SearchFilterToolbarSavedSearchFilterButton* _tmp33_;
			SearchFilterToolbarSavedSearchPopover* _tmp34_;
			SearchFilterToolbarSavedSearchFilterButton* _tmp35_;
			SearchFilterToolbarSavedSearchPopover* _tmp36_;
#line 1371 "/home/jens/Source/shotwell/src/SearchFilter.vala"
			_tmp5_ = self->priv->saved_search_button;
#line 1371 "/home/jens/Source/shotwell/src/SearchFilter.vala"
			_tmp6_ = _tmp5_->filter_popup;
#line 1371 "/home/jens/Source/shotwell/src/SearchFilter.vala"
			if (_tmp6_ != NULL) {
#line 6889 "SearchFilter.c"
				SearchFilterToolbarSavedSearchFilterButton* _tmp7_;
				SearchFilterToolbarSavedSearchPopover* _tmp8_;
				guint _tmp9_;
				SearchFilterToolbarSavedSearchFilterButton* _tmp10_;
				SearchFilterToolbarSavedSearchPopover* _tmp11_;
				guint _tmp12_;
				SearchFilterToolbarSavedSearchFilterButton* _tmp13_;
				SearchFilterToolbarSavedSearchPopover* _tmp14_;
				guint _tmp15_;
				SearchFilterToolbarSavedSearchFilterButton* _tmp16_;
				SearchFilterToolbarSavedSearchPopover* _tmp17_;
				guint _tmp18_;
				SearchFilterToolbarSavedSearchFilterButton* _tmp19_;
				SearchFilterToolbarSavedSearchPopover* _tmp20_;
				guint _tmp21_;
#line 1372 "/home/jens/Source/shotwell/src/SearchFilter.vala"
				_tmp7_ = self->priv->saved_search_button;
#line 1372 "/home/jens/Source/shotwell/src/SearchFilter.vala"
				_tmp8_ = _tmp7_->filter_popup;
#line 1372 "/home/jens/Source/shotwell/src/SearchFilter.vala"
				g_signal_parse_name ("edit-clicked", SEARCH_FILTER_TOOLBAR_TYPE_SAVED_SEARCH_POPOVER, &_tmp9_, NULL, FALSE);
#line 1372 "/home/jens/Source/shotwell/src/SearchFilter.vala"
				g_signal_handlers_disconnect_matched (_tmp8_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp9_, 0, NULL, (GCallback) _search_filter_toolbar_edit_dialog_search_filter_toolbar_saved_search_popover_edit_clicked, self);
#line 1373 "/home/jens/Source/shotwell/src/SearchFilter.vala"
				_tmp10_ = self->priv->saved_search_button;
#line 1373 "/home/jens/Source/shotwell/src/SearchFilter.vala"
				_tmp11_ = _tmp10_->filter_popup;
#line 1373 "/home/jens/Source/shotwell/src/SearchFilter.vala"
				g_signal_parse_name ("search-activated", SEARCH_FILTER_TOOLBAR_TYPE_SAVED_SEARCH_POPOVER, &_tmp12_, NULL, FALSE);
#line 1373 "/home/jens/Source/shotwell/src/SearchFilter.vala"
				g_signal_handlers_disconnect_matched (_tmp11_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp12_, 0, NULL, (GCallback) _search_filter_toolbar_on_savedsearch_selected_search_filter_toolbar_saved_search_popover_search_activated, self);
#line 1374 "/home/jens/Source/shotwell/src/SearchFilter.vala"
				_tmp13_ = self->priv->saved_search_button;
#line 1374 "/home/jens/Source/shotwell/src/SearchFilter.vala"
				_tmp14_ = _tmp13_->filter_popup;
#line 1374 "/home/jens/Source/shotwell/src/SearchFilter.vala"
				g_signal_parse_name ("delete-clicked", SEARCH_FILTER_TOOLBAR_TYPE_SAVED_SEARCH_POPOVER, &_tmp15_, NULL, FALSE);
#line 1374 "/home/jens/Source/shotwell/src/SearchFilter.vala"
				g_signal_handlers_disconnect_matched (_tmp14_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp15_, 0, NULL, (GCallback) _search_filter_toolbar_delete_dialog_search_filter_toolbar_saved_search_popover_delete_clicked, self);
#line 1375 "/home/jens/Source/shotwell/src/SearchFilter.vala"
				_tmp16_ = self->priv->saved_search_button;
#line 1375 "/home/jens/Source/shotwell/src/SearchFilter.vala"
				_tmp17_ = _tmp16_->filter_popup;
#line 1375 "/home/jens/Source/shotwell/src/SearchFilter.vala"
				g_signal_parse_name ("add-clicked", SEARCH_FILTER_TOOLBAR_TYPE_SAVED_SEARCH_POPOVER, &_tmp18_, NULL, FALSE);
#line 1375 "/home/jens/Source/shotwell/src/SearchFilter.vala"
				g_signal_handlers_disconnect_matched (_tmp17_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp18_, 0, NULL, (GCallback) _search_filter_toolbar_add_dialog_search_filter_toolbar_saved_search_popover_add_clicked, self);
#line 1376 "/home/jens/Source/shotwell/src/SearchFilter.vala"
				_tmp19_ = self->priv->saved_search_button;
#line 1376 "/home/jens/Source/shotwell/src/SearchFilter.vala"
				_tmp20_ = _tmp19_->filter_popup;
#line 1376 "/home/jens/Source/shotwell/src/SearchFilter.vala"
				g_signal_parse_name ("closed", SEARCH_FILTER_TOOLBAR_TYPE_SAVED_SEARCH_POPOVER, &_tmp21_, NULL, FALSE);
#line 1376 "/home/jens/Source/shotwell/src/SearchFilter.vala"
				g_signal_handlers_disconnect_matched (_tmp20_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp21_, 0, NULL, (GCallback) _search_filter_toolbar_on_popover_closed_search_filter_toolbar_saved_search_popover_closed, self);
#line 6945 "SearchFilter.c"
			}
#line 1378 "/home/jens/Source/shotwell/src/SearchFilter.vala"
			_tmp22_ = self->priv->saved_search_button;
#line 1378 "/home/jens/Source/shotwell/src/SearchFilter.vala"
			_tmp23_ = self->priv->saved_search_button;
#line 1378 "/home/jens/Source/shotwell/src/SearchFilter.vala"
			_tmp24_ = search_filter_toolbar_saved_search_popover_new (G_TYPE_CHECK_INSTANCE_CAST (_tmp23_, gtk_widget_get_type (), GtkWidget));
#line 1378 "/home/jens/Source/shotwell/src/SearchFilter.vala"
			_search_filter_toolbar_saved_search_popover_unref0 (_tmp22_->filter_popup);
#line 1378 "/home/jens/Source/shotwell/src/SearchFilter.vala"
			_tmp22_->filter_popup = _tmp24_;
#line 1379 "/home/jens/Source/shotwell/src/SearchFilter.vala"
			_tmp25_ = self->priv->saved_search_button;
#line 1379 "/home/jens/Source/shotwell/src/SearchFilter.vala"
			_tmp26_ = _tmp25_->filter_popup;
#line 1379 "/home/jens/Source/shotwell/src/SearchFilter.vala"
			g_signal_connect_object (_tmp26_, "edit-clicked", (GCallback) _search_filter_toolbar_edit_dialog_search_filter_toolbar_saved_search_popover_edit_clicked, self, 0);
#line 1380 "/home/jens/Source/shotwell/src/SearchFilter.vala"
			_tmp27_ = self->priv->saved_search_button;
#line 1380 "/home/jens/Source/shotwell/src/SearchFilter.vala"
			_tmp28_ = _tmp27_->filter_popup;
#line 1380 "/home/jens/Source/shotwell/src/SearchFilter.vala"
			g_signal_connect_object (_tmp28_, "search-activated", (GCallback) _search_filter_toolbar_on_savedsearch_selected_search_filter_toolbar_saved_search_popover_search_activated, self, 0);
#line 1381 "/home/jens/Source/shotwell/src/SearchFilter.vala"
			_tmp29_ = self->priv->saved_search_button;
#line 1381 "/home/jens/Source/shotwell/src/SearchFilter.vala"
			_tmp30_ = _tmp29_->filter_popup;
#line 1381 "/home/jens/Source/shotwell/src/SearchFilter.vala"
			g_signal_connect_object (_tmp30_, "delete-clicked", (GCallback) _search_filter_toolbar_delete_dialog_search_filter_toolbar_saved_search_popover_delete_clicked, self, 0);
#line 1382 "/home/jens/Source/shotwell/src/SearchFilter.vala"
			_tmp31_ = self->priv->saved_search_button;
#line 1382 "/home/jens/Source/shotwell/src/SearchFilter.vala"
			_tmp32_ = _tmp31_->filter_popup;
#line 1382 "/home/jens/Source/shotwell/src/SearchFilter.vala"
			g_signal_connect_object (_tmp32_, "add-clicked", (GCallback) _search_filter_toolbar_add_dialog_search_filter_toolbar_saved_search_popover_add_clicked, self, 0);
#line 1383 "/home/jens/Source/shotwell/src/SearchFilter.vala"
			_tmp33_ = self->priv->saved_search_button;
#line 1383 "/home/jens/Source/shotwell/src/SearchFilter.vala"
			_tmp34_ = _tmp33_->filter_popup;
#line 1383 "/home/jens/Source/shotwell/src/SearchFilter.vala"
			g_signal_connect_object (_tmp34_, "closed", (GCallback) _search_filter_toolbar_on_popover_closed_search_filter_toolbar_saved_search_popover_closed, self, 0);
#line 1385 "/home/jens/Source/shotwell/src/SearchFilter.vala"
			_tmp35_ = self->priv->saved_search_button;
#line 1385 "/home/jens/Source/shotwell/src/SearchFilter.vala"
			_tmp36_ = _tmp35_->filter_popup;
#line 1385 "/home/jens/Source/shotwell/src/SearchFilter.vala"
			search_filter_toolbar_saved_search_popover_show_all (_tmp36_);
#line 6993 "SearchFilter.c"
		}
	}
#line 1387 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	self->priv->elide_showing_again = FALSE;
#line 6998 "SearchFilter.c"
}


void
search_filter_toolbar_take_focus (SearchFilterToolbar* self)
{
	SearchFilterToolbarSearchBox* _tmp0_;
#line 1390 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_return_if_fail (IS_SEARCH_FILTER_TOOLBAR (self));
#line 1391 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp0_ = self->priv->search_box;
#line 1391 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	search_filter_toolbar_search_box_get_focus (_tmp0_);
#line 7012 "SearchFilter.c"
}


static SearchFilterToolbarLabelToolItem*
search_filter_toolbar_label_tool_item_construct (GType object_type,
                                                 const gchar* s,
                                                 gint left_padding,
                                                 gint right_padding)
{
	SearchFilterToolbarLabelToolItem * self = NULL;
	GtkLabel* _tmp0_;
	gboolean _tmp1_ = FALSE;
	GtkLabel* _tmp6_;
#line 616 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_return_val_if_fail (s != NULL, NULL);
#line 616 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	self = (SearchFilterToolbarLabelToolItem*) g_object_new (object_type, NULL);
#line 617 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp0_ = (GtkLabel*) gtk_label_new (s);
#line 617 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_object_ref_sink (_tmp0_);
#line 617 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_g_object_unref0 (self->priv->label);
#line 617 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	self->priv->label = _tmp0_;
#line 618 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	if (left_padding != 0) {
#line 618 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		_tmp1_ = TRUE;
#line 7042 "SearchFilter.c"
	} else {
#line 618 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		_tmp1_ = right_padding != 0;
#line 7046 "SearchFilter.c"
	}
#line 618 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	if (_tmp1_) {
#line 7050 "SearchFilter.c"
		GtkLabel* _tmp2_;
		GtkLabel* _tmp3_;
		GtkLabel* _tmp4_;
		GtkLabel* _tmp5_;
#line 619 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		_tmp2_ = self->priv->label;
#line 619 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		gtk_widget_set_halign (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, gtk_widget_get_type (), GtkWidget), GTK_ALIGN_START);
#line 620 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		_tmp3_ = self->priv->label;
#line 620 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		gtk_widget_set_valign (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, gtk_widget_get_type (), GtkWidget), GTK_ALIGN_CENTER);
#line 621 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		_tmp4_ = self->priv->label;
#line 621 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		gtk_widget_set_margin_start (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, gtk_widget_get_type (), GtkWidget), left_padding);
#line 622 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		_tmp5_ = self->priv->label;
#line 622 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		gtk_widget_set_margin_end (G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, gtk_widget_get_type (), GtkWidget), right_padding);
#line 7071 "SearchFilter.c"
	}
#line 624 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp6_ = self->priv->label;
#line 624 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	gtk_container_add (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_container_get_type (), GtkContainer), G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, gtk_widget_get_type (), GtkWidget));
#line 616 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	return self;
#line 7079 "SearchFilter.c"
}


static SearchFilterToolbarLabelToolItem*
search_filter_toolbar_label_tool_item_new (const gchar* s,
                                           gint left_padding,
                                           gint right_padding)
{
#line 616 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	return search_filter_toolbar_label_tool_item_construct (SEARCH_FILTER_TOOLBAR_TYPE_LABEL_TOOL_ITEM, s, left_padding, right_padding);
#line 7090 "SearchFilter.c"
}


static void
search_filter_toolbar_label_tool_item_class_init (SearchFilterToolbarLabelToolItemClass * klass)
{
#line 613 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	search_filter_toolbar_label_tool_item_parent_class = g_type_class_peek_parent (klass);
#line 613 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_type_class_add_private (klass, sizeof (SearchFilterToolbarLabelToolItemPrivate));
#line 613 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	G_OBJECT_CLASS (klass)->finalize = search_filter_toolbar_label_tool_item_finalize;
#line 7103 "SearchFilter.c"
}


static void
search_filter_toolbar_label_tool_item_instance_init (SearchFilterToolbarLabelToolItem * self)
{
#line 613 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	self->priv = SEARCH_FILTER_TOOLBAR_LABEL_TOOL_ITEM_GET_PRIVATE (self);
#line 7112 "SearchFilter.c"
}


static void
search_filter_toolbar_label_tool_item_finalize (GObject * obj)
{
	SearchFilterToolbarLabelToolItem * self;
#line 613 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, SEARCH_FILTER_TOOLBAR_TYPE_LABEL_TOOL_ITEM, SearchFilterToolbarLabelToolItem);
#line 614 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_g_object_unref0 (self->priv->label);
#line 613 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	G_OBJECT_CLASS (search_filter_toolbar_label_tool_item_parent_class)->finalize (obj);
#line 7126 "SearchFilter.c"
}


static GType
search_filter_toolbar_label_tool_item_get_type (void)
{
	static volatile gsize search_filter_toolbar_label_tool_item_type_id__volatile = 0;
	if (g_once_init_enter (&search_filter_toolbar_label_tool_item_type_id__volatile)) {
		static const GTypeInfo g_define_type_info = { sizeof (SearchFilterToolbarLabelToolItemClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) search_filter_toolbar_label_tool_item_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (SearchFilterToolbarLabelToolItem), 0, (GInstanceInitFunc) search_filter_toolbar_label_tool_item_instance_init, NULL };
		GType search_filter_toolbar_label_tool_item_type_id;
		search_filter_toolbar_label_tool_item_type_id = g_type_register_static (gtk_tool_item_get_type (), "SearchFilterToolbarLabelToolItem", &g_define_type_info, 0);
		g_once_init_leave (&search_filter_toolbar_label_tool_item_type_id__volatile, search_filter_toolbar_label_tool_item_type_id);
	}
	return search_filter_toolbar_label_tool_item_type_id__volatile;
}


static SearchFilterToolbarToggleActionToolButton*
search_filter_toolbar_toggle_action_tool_button_construct (GType object_type,
                                                           const gchar* action)
{
	SearchFilterToolbarToggleActionToolButton * self = NULL;
	GtkToggleButton* _tmp0_;
	GtkToggleButton* _tmp1_;
	GtkToggleButton* _tmp2_;
	GtkToggleButton* _tmp3_;
	GtkToggleButton* _tmp4_;
	GtkToggleButton* _tmp5_;
	GtkToggleButton* _tmp6_;
#line 631 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_return_val_if_fail (action != NULL, NULL);
#line 631 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	self = (SearchFilterToolbarToggleActionToolButton*) g_object_new (object_type, NULL);
#line 632 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp0_ = (GtkToggleButton*) gtk_toggle_button_new ();
#line 632 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_object_ref_sink (_tmp0_);
#line 632 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_g_object_unref0 (self->priv->button);
#line 632 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	self->priv->button = _tmp0_;
#line 633 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp1_ = self->priv->button;
#line 633 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	gtk_widget_set_can_focus (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, gtk_widget_get_type (), GtkWidget), FALSE);
#line 634 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp2_ = self->priv->button;
#line 634 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	gtk_actionable_set_action_name (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, gtk_actionable_get_type (), GtkActionable), action);
#line 635 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp3_ = self->priv->button;
#line 635 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	gtk_widget_set_has_tooltip (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, gtk_widget_get_type (), GtkWidget), TRUE);
#line 636 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp4_ = self->priv->button;
#line 636 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	gtk_button_set_relief (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, gtk_button_get_type (), GtkButton), GTK_RELIEF_NONE);
#line 637 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp5_ = self->priv->button;
#line 637 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	gtk_widget_set_margin_start (G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, gtk_widget_get_type (), GtkWidget), 2);
#line 639 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp6_ = self->priv->button;
#line 639 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	gtk_container_add (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_container_get_type (), GtkContainer), G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, gtk_widget_get_type (), GtkWidget));
#line 631 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	return self;
#line 7194 "SearchFilter.c"
}


static SearchFilterToolbarToggleActionToolButton*
search_filter_toolbar_toggle_action_tool_button_new (const gchar* action)
{
#line 631 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	return search_filter_toolbar_toggle_action_tool_button_construct (SEARCH_FILTER_TOOLBAR_TYPE_TOGGLE_ACTION_TOOL_BUTTON, action);
#line 7203 "SearchFilter.c"
}


static void
search_filter_toolbar_toggle_action_tool_button_set_icon_name (SearchFilterToolbarToggleActionToolButton* self,
                                                               const gchar* icon_name)
{
	GtkImage* image = NULL;
	GtkToggleButton* _tmp0_;
	GtkImage* _tmp1_;
	GtkToggleButton* _tmp2_;
	GtkImage* _tmp3_;
	gboolean _tmp4_ = FALSE;
	GtkToggleButton* _tmp5_;
	const gchar* _tmp6_;
#line 642 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_return_if_fail (SEARCH_FILTER_TOOLBAR_IS_TOGGLE_ACTION_TOOL_BUTTON (self));
#line 642 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_return_if_fail (icon_name != NULL);
#line 643 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	image = NULL;
#line 644 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp0_ = self->priv->button;
#line 644 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	gtk_button_set_always_show_image (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, gtk_button_get_type (), GtkButton), TRUE);
#line 645 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp1_ = (GtkImage*) gtk_image_new_from_icon_name (icon_name, (GtkIconSize) GTK_ICON_SIZE_SMALL_TOOLBAR);
#line 645 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_object_ref_sink (_tmp1_);
#line 645 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_g_object_unref0 (image);
#line 645 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	image = _tmp1_;
#line 646 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp2_ = self->priv->button;
#line 646 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp3_ = image;
#line 646 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	gtk_button_set_image (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, gtk_button_get_type (), GtkButton), G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, gtk_widget_get_type (), GtkWidget));
#line 647 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp5_ = self->priv->button;
#line 647 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp6_ = gtk_button_get_label (G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, gtk_button_get_type (), GtkButton));
#line 647 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	if (g_strcmp0 (_tmp6_, "") != 0) {
#line 7249 "SearchFilter.c"
		GtkToggleButton* _tmp7_;
		const gchar* _tmp8_;
#line 647 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		_tmp7_ = self->priv->button;
#line 647 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		_tmp8_ = gtk_button_get_label (G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, gtk_button_get_type (), GtkButton));
#line 647 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		_tmp4_ = _tmp8_ != NULL;
#line 7258 "SearchFilter.c"
	} else {
#line 647 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		_tmp4_ = FALSE;
#line 7262 "SearchFilter.c"
	}
#line 647 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	if (_tmp4_) {
#line 7266 "SearchFilter.c"
		GtkImage* _tmp9_;
#line 648 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		_tmp9_ = image;
#line 648 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		gtk_widget_set_margin_end (G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, gtk_widget_get_type (), GtkWidget), 6);
#line 7272 "SearchFilter.c"
	}
#line 642 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_g_object_unref0 (image);
#line 7276 "SearchFilter.c"
}


static void
search_filter_toolbar_toggle_action_tool_button_set_label (SearchFilterToolbarToggleActionToolButton* self,
                                                           const gchar* label)
{
	GtkToggleButton* _tmp0_;
#line 652 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_return_if_fail (SEARCH_FILTER_TOOLBAR_IS_TOGGLE_ACTION_TOOL_BUTTON (self));
#line 652 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_return_if_fail (label != NULL);
#line 653 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp0_ = self->priv->button;
#line 653 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	gtk_button_set_label (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, gtk_button_get_type (), GtkButton), label);
#line 7293 "SearchFilter.c"
}


static void
search_filter_toolbar_toggle_action_tool_button_class_init (SearchFilterToolbarToggleActionToolButtonClass * klass)
{
#line 628 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	search_filter_toolbar_toggle_action_tool_button_parent_class = g_type_class_peek_parent (klass);
#line 628 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_type_class_add_private (klass, sizeof (SearchFilterToolbarToggleActionToolButtonPrivate));
#line 628 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	G_OBJECT_CLASS (klass)->finalize = search_filter_toolbar_toggle_action_tool_button_finalize;
#line 7306 "SearchFilter.c"
}


static void
search_filter_toolbar_toggle_action_tool_button_instance_init (SearchFilterToolbarToggleActionToolButton * self)
{
#line 628 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	self->priv = SEARCH_FILTER_TOOLBAR_TOGGLE_ACTION_TOOL_BUTTON_GET_PRIVATE (self);
#line 7315 "SearchFilter.c"
}


static void
search_filter_toolbar_toggle_action_tool_button_finalize (GObject * obj)
{
	SearchFilterToolbarToggleActionToolButton * self;
#line 628 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, SEARCH_FILTER_TOOLBAR_TYPE_TOGGLE_ACTION_TOOL_BUTTON, SearchFilterToolbarToggleActionToolButton);
#line 629 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_g_object_unref0 (self->priv->button);
#line 628 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	G_OBJECT_CLASS (search_filter_toolbar_toggle_action_tool_button_parent_class)->finalize (obj);
#line 7329 "SearchFilter.c"
}


static GType
search_filter_toolbar_toggle_action_tool_button_get_type (void)
{
	static volatile gsize search_filter_toolbar_toggle_action_tool_button_type_id__volatile = 0;
	if (g_once_init_enter (&search_filter_toolbar_toggle_action_tool_button_type_id__volatile)) {
		static const GTypeInfo g_define_type_info = { sizeof (SearchFilterToolbarToggleActionToolButtonClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) search_filter_toolbar_toggle_action_tool_button_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (SearchFilterToolbarToggleActionToolButton), 0, (GInstanceInitFunc) search_filter_toolbar_toggle_action_tool_button_instance_init, NULL };
		GType search_filter_toolbar_toggle_action_tool_button_type_id;
		search_filter_toolbar_toggle_action_tool_button_type_id = g_type_register_static (gtk_tool_item_get_type (), "SearchFilterToolbarToggleActionToolButton", &g_define_type_info, 0);
		g_once_init_leave (&search_filter_toolbar_toggle_action_tool_button_type_id__volatile, search_filter_toolbar_toggle_action_tool_button_type_id);
	}
	return search_filter_toolbar_toggle_action_tool_button_type_id__volatile;
}


static void
_search_filter_toolbar_search_box_on_action_text_changed_text_action_text_changed (TextAction* _sender,
                                                                                   const gchar* text,
                                                                                   gpointer self)
{
#line 688 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	search_filter_toolbar_search_box_on_action_text_changed ((SearchFilterToolbarSearchBox*) self, text);
#line 7354 "SearchFilter.c"
}


static void
_search_filter_toolbar_search_box_on_sensitivity_changed_text_action_sensitivity_changed (TextAction* _sender,
                                                                                          gboolean sensitive,
                                                                                          gpointer self)
{
#line 689 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	search_filter_toolbar_search_box_on_sensitivity_changed ((SearchFilterToolbarSearchBox*) self, sensitive);
#line 7365 "SearchFilter.c"
}


static void
_search_filter_toolbar_search_box_on_visibility_changed_text_action_visibility_changed (TextAction* _sender,
                                                                                        gboolean visible,
                                                                                        gpointer self)
{
#line 690 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	search_filter_toolbar_search_box_on_visibility_changed ((SearchFilterToolbarSearchBox*) self, visible);
#line 7376 "SearchFilter.c"
}


static void
_search_filter_toolbar_search_box_on_entry_changed_gtk_entry_buffer_deleted_text (GtkEntryBuffer* _sender,
                                                                                  guint position,
                                                                                  guint n_chars,
                                                                                  gpointer self)
{
#line 692 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	search_filter_toolbar_search_box_on_entry_changed ((SearchFilterToolbarSearchBox*) self);
#line 7388 "SearchFilter.c"
}


static void
_search_filter_toolbar_search_box_on_entry_changed_gtk_entry_buffer_inserted_text (GtkEntryBuffer* _sender,
                                                                                   guint position,
                                                                                   const gchar* chars,
                                                                                   guint n_chars,
                                                                                   gpointer self)
{
#line 693 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	search_filter_toolbar_search_box_on_entry_changed ((SearchFilterToolbarSearchBox*) self);
#line 7401 "SearchFilter.c"
}


static gpointer
_text_action_ref0 (gpointer self)
{
#line 670 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	return self ? text_action_ref (self) : NULL;
#line 7410 "SearchFilter.c"
}


static gboolean
_search_filter_toolbar_search_box_on_escape_key_gtk_widget_key_press_event (GtkWidget* _sender,
                                                                            GdkEventKey* event,
                                                                            gpointer self)
{
	gboolean result;
	result = search_filter_toolbar_search_box_on_escape_key ((SearchFilterToolbarSearchBox*) self, event);
#line 674 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	return result;
#line 7423 "SearchFilter.c"
}


SearchFilterToolbarSearchBox*
search_filter_toolbar_search_box_construct (GType object_type,
                                            TextAction* action)
{
	SearchFilterToolbarSearchBox * self = NULL;
	TextAction* _tmp0_;
	GtkSearchEntry* _tmp1_;
	GtkSearchEntry* _tmp2_;
	GtkSearchEntry* _tmp3_;
	GtkSearchEntry* _tmp4_;
	const gchar* _tmp5_;
	const gchar* _tmp6_;
	GtkSearchEntry* _tmp7_;
	GtkEntryBuffer* _tmp8_;
	GtkEntryBuffer* _tmp9_;
	GtkSearchEntry* _tmp10_;
	GtkEntryBuffer* _tmp11_;
	GtkEntryBuffer* _tmp12_;
#line 669 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_return_val_if_fail (IS_TEXT_ACTION (action), NULL);
#line 669 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	self = (SearchFilterToolbarSearchBox*) g_object_new (object_type, NULL);
#line 670 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp0_ = _text_action_ref0 (action);
#line 670 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_text_action_unref0 (self->priv->action);
#line 670 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	self->priv->action = _tmp0_;
#line 671 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp1_ = (GtkSearchEntry*) gtk_search_entry_new ();
#line 671 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_object_ref_sink (_tmp1_);
#line 671 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_g_object_unref0 (self->priv->search_entry);
#line 671 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	self->priv->search_entry = _tmp1_;
#line 673 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp2_ = self->priv->search_entry;
#line 673 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	gtk_entry_set_width_chars (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, gtk_entry_get_type (), GtkEntry), 23);
#line 674 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp3_ = self->priv->search_entry;
#line 674 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, gtk_widget_get_type (), GtkWidget), "key-press-event", (GCallback) _search_filter_toolbar_search_box_on_escape_key_gtk_widget_key_press_event, self, 0);
#line 675 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp4_ = self->priv->search_entry;
#line 675 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	gtk_container_add (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_container_get_type (), GtkContainer), G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, gtk_widget_get_type (), GtkWidget));
#line 677 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp5_ = text_action_get_value (action);
#line 677 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp6_ = _tmp5_;
#line 677 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	search_filter_toolbar_search_box_set_nullable_text (self, _tmp6_);
#line 679 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_signal_connect_object (action, "text-changed", (GCallback) _search_filter_toolbar_search_box_on_action_text_changed_text_action_text_changed, self, 0);
#line 680 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_signal_connect_object (action, "sensitivity-changed", (GCallback) _search_filter_toolbar_search_box_on_sensitivity_changed_text_action_sensitivity_changed, self, 0);
#line 681 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_signal_connect_object (action, "visibility-changed", (GCallback) _search_filter_toolbar_search_box_on_visibility_changed_text_action_visibility_changed, self, 0);
#line 683 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp7_ = self->priv->search_entry;
#line 683 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp8_ = gtk_entry_get_buffer (G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, gtk_entry_get_type (), GtkEntry));
#line 683 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp9_ = _tmp8_;
#line 683 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_signal_connect_object (_tmp9_, "deleted-text", (GCallback) _search_filter_toolbar_search_box_on_entry_changed_gtk_entry_buffer_deleted_text, self, 0);
#line 684 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp10_ = self->priv->search_entry;
#line 684 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp11_ = gtk_entry_get_buffer (G_TYPE_CHECK_INSTANCE_CAST (_tmp10_, gtk_entry_get_type (), GtkEntry));
#line 684 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp12_ = _tmp11_;
#line 684 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_signal_connect_object (_tmp12_, "inserted-text", (GCallback) _search_filter_toolbar_search_box_on_entry_changed_gtk_entry_buffer_inserted_text, self, 0);
#line 669 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	return self;
#line 7505 "SearchFilter.c"
}


SearchFilterToolbarSearchBox*
search_filter_toolbar_search_box_new (TextAction* action)
{
#line 669 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	return search_filter_toolbar_search_box_construct (SEARCH_FILTER_TOOLBAR_TYPE_SEARCH_BOX, action);
#line 7514 "SearchFilter.c"
}


void
search_filter_toolbar_search_box_get_focus (SearchFilterToolbarSearchBox* self)
{
	GtkSearchEntry* _tmp0_;
#line 696 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_return_if_fail (SEARCH_FILTER_TOOLBAR_IS_SEARCH_BOX (self));
#line 697 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp0_ = self->priv->search_entry;
#line 697 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_object_set (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, gtk_widget_get_type (), GtkWidget), "has-focus", TRUE, NULL);
#line 7528 "SearchFilter.c"
}


static gboolean
search_filter_toolbar_search_box_on_escape_key (SearchFilterToolbarSearchBox* self,
                                                GdkEventKey* e)
{
	gboolean result = FALSE;
	guint _tmp0_;
	const gchar* _tmp1_;
#line 702 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_return_val_if_fail (SEARCH_FILTER_TOOLBAR_IS_SEARCH_BOX (self), FALSE);
#line 702 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_return_val_if_fail (e != NULL, FALSE);
#line 703 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp0_ = e->keyval;
#line 703 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp1_ = gdk_keyval_name (_tmp0_);
#line 703 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	if (g_strcmp0 (_tmp1_, "Escape") == 0) {
#line 7549 "SearchFilter.c"
		TextAction* _tmp2_;
#line 704 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		_tmp2_ = self->priv->action;
#line 704 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		text_action_clear (_tmp2_);
#line 7555 "SearchFilter.c"
	}
#line 708 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	result = FALSE;
#line 708 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	return result;
#line 7561 "SearchFilter.c"
}


static void
search_filter_toolbar_search_box_on_action_text_changed (SearchFilterToolbarSearchBox* self,
                                                         const gchar* text)
{
	GtkSearchEntry* _tmp0_;
	GtkEntryBuffer* _tmp1_;
	GtkEntryBuffer* _tmp2_;
	guint _tmp3_;
	GtkSearchEntry* _tmp4_;
	GtkEntryBuffer* _tmp5_;
	GtkEntryBuffer* _tmp6_;
	guint _tmp7_;
	GtkSearchEntry* _tmp8_;
	GtkEntryBuffer* _tmp9_;
	GtkEntryBuffer* _tmp10_;
	GtkSearchEntry* _tmp11_;
	GtkEntryBuffer* _tmp12_;
	GtkEntryBuffer* _tmp13_;
#line 711 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_return_if_fail (SEARCH_FILTER_TOOLBAR_IS_SEARCH_BOX (self));
#line 712 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp0_ = self->priv->search_entry;
#line 712 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp1_ = gtk_entry_get_buffer (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, gtk_entry_get_type (), GtkEntry));
#line 712 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp2_ = _tmp1_;
#line 712 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_signal_parse_name ("deleted-text", gtk_entry_buffer_get_type (), &_tmp3_, NULL, FALSE);
#line 712 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_signal_handlers_disconnect_matched (_tmp2_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp3_, 0, NULL, (GCallback) _search_filter_toolbar_search_box_on_entry_changed_gtk_entry_buffer_deleted_text, self);
#line 713 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp4_ = self->priv->search_entry;
#line 713 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp5_ = gtk_entry_get_buffer (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, gtk_entry_get_type (), GtkEntry));
#line 713 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp6_ = _tmp5_;
#line 713 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_signal_parse_name ("inserted-text", gtk_entry_buffer_get_type (), &_tmp7_, NULL, FALSE);
#line 713 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_signal_handlers_disconnect_matched (_tmp6_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp7_, 0, NULL, (GCallback) _search_filter_toolbar_search_box_on_entry_changed_gtk_entry_buffer_inserted_text, self);
#line 714 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	search_filter_toolbar_search_box_set_nullable_text (self, text);
#line 715 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp8_ = self->priv->search_entry;
#line 715 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp9_ = gtk_entry_get_buffer (G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, gtk_entry_get_type (), GtkEntry));
#line 715 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp10_ = _tmp9_;
#line 715 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_signal_connect_object (_tmp10_, "deleted-text", (GCallback) _search_filter_toolbar_search_box_on_entry_changed_gtk_entry_buffer_deleted_text, self, 0);
#line 716 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp11_ = self->priv->search_entry;
#line 716 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp12_ = gtk_entry_get_buffer (G_TYPE_CHECK_INSTANCE_CAST (_tmp11_, gtk_entry_get_type (), GtkEntry));
#line 716 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp13_ = _tmp12_;
#line 716 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_signal_connect_object (_tmp13_, "inserted-text", (GCallback) _search_filter_toolbar_search_box_on_entry_changed_gtk_entry_buffer_inserted_text, self, 0);
#line 7623 "SearchFilter.c"
}


static void
search_filter_toolbar_search_box_on_entry_changed (SearchFilterToolbarSearchBox* self)
{
	TextAction* _tmp0_;
	guint _tmp1_;
	TextAction* _tmp2_;
	GtkSearchEntry* _tmp3_;
	const gchar* _tmp4_;
	TextAction* _tmp5_;
#line 719 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_return_if_fail (SEARCH_FILTER_TOOLBAR_IS_SEARCH_BOX (self));
#line 720 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp0_ = self->priv->action;
#line 720 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_signal_parse_name ("text-changed", TYPE_TEXT_ACTION, &_tmp1_, NULL, FALSE);
#line 720 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_signal_handlers_disconnect_matched (_tmp0_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp1_, 0, NULL, (GCallback) _search_filter_toolbar_search_box_on_action_text_changed_text_action_text_changed, self);
#line 721 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp2_ = self->priv->action;
#line 721 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp3_ = self->priv->search_entry;
#line 721 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp4_ = gtk_entry_get_text (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, gtk_entry_get_type (), GtkEntry));
#line 721 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	text_action_set_text (_tmp2_, _tmp4_);
#line 722 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp5_ = self->priv->action;
#line 722 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_signal_connect_object (_tmp5_, "text-changed", (GCallback) _search_filter_toolbar_search_box_on_action_text_changed_text_action_text_changed, self, 0);
#line 7656 "SearchFilter.c"
}


static void
search_filter_toolbar_search_box_on_sensitivity_changed (SearchFilterToolbarSearchBox* self,
                                                         gboolean sensitive)
{
#line 725 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_return_if_fail (SEARCH_FILTER_TOOLBAR_IS_SEARCH_BOX (self));
#line 726 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	gtk_widget_set_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_widget_get_type (), GtkWidget), sensitive);
#line 7668 "SearchFilter.c"
}


static void
search_filter_toolbar_search_box_on_visibility_changed (SearchFilterToolbarSearchBox* self,
                                                        gboolean visible)
{
#line 729 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_return_if_fail (SEARCH_FILTER_TOOLBAR_IS_SEARCH_BOX (self));
#line 730 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	gtk_widget_set_visible (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_widget_get_type (), GtkWidget), visible);
#line 7680 "SearchFilter.c"
}


static void
search_filter_toolbar_search_box_set_nullable_text (SearchFilterToolbarSearchBox* self,
                                                    const gchar* text)
{
	const gchar* _tmp0_ = NULL;
	GtkSearchEntry* _tmp1_;
#line 733 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_return_if_fail (SEARCH_FILTER_TOOLBAR_IS_SEARCH_BOX (self));
#line 734 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	if (text != NULL) {
#line 734 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		_tmp0_ = text;
#line 7696 "SearchFilter.c"
	} else {
#line 734 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		_tmp0_ = "";
#line 7700 "SearchFilter.c"
	}
#line 734 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp1_ = self->priv->search_entry;
#line 734 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	gtk_entry_set_text (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, gtk_entry_get_type (), GtkEntry), _tmp0_);
#line 7706 "SearchFilter.c"
}


static void
search_filter_toolbar_search_box_class_init (SearchFilterToolbarSearchBoxClass * klass)
{
#line 665 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	search_filter_toolbar_search_box_parent_class = g_type_class_peek_parent (klass);
#line 665 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_type_class_add_private (klass, sizeof (SearchFilterToolbarSearchBoxPrivate));
#line 665 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	G_OBJECT_CLASS (klass)->finalize = search_filter_toolbar_search_box_finalize;
#line 7719 "SearchFilter.c"
}


static void
search_filter_toolbar_search_box_instance_init (SearchFilterToolbarSearchBox * self)
{
#line 665 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	self->priv = SEARCH_FILTER_TOOLBAR_SEARCH_BOX_GET_PRIVATE (self);
#line 7728 "SearchFilter.c"
}


static void
search_filter_toolbar_search_box_finalize (GObject * obj)
{
	SearchFilterToolbarSearchBox * self;
	TextAction* _tmp0_;
	guint _tmp1_;
	TextAction* _tmp2_;
	guint _tmp3_;
	TextAction* _tmp4_;
	guint _tmp5_;
	GtkSearchEntry* _tmp6_;
	GtkEntryBuffer* _tmp7_;
	GtkEntryBuffer* _tmp8_;
	guint _tmp9_;
	GtkSearchEntry* _tmp10_;
	GtkEntryBuffer* _tmp11_;
	GtkEntryBuffer* _tmp12_;
	guint _tmp13_;
#line 665 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, SEARCH_FILTER_TOOLBAR_TYPE_SEARCH_BOX, SearchFilterToolbarSearchBox);
#line 688 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp0_ = self->priv->action;
#line 688 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_signal_parse_name ("text-changed", TYPE_TEXT_ACTION, &_tmp1_, NULL, FALSE);
#line 688 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_signal_handlers_disconnect_matched (_tmp0_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp1_, 0, NULL, (GCallback) _search_filter_toolbar_search_box_on_action_text_changed_text_action_text_changed, self);
#line 689 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp2_ = self->priv->action;
#line 689 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_signal_parse_name ("sensitivity-changed", TYPE_TEXT_ACTION, &_tmp3_, NULL, FALSE);
#line 689 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_signal_handlers_disconnect_matched (_tmp2_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp3_, 0, NULL, (GCallback) _search_filter_toolbar_search_box_on_sensitivity_changed_text_action_sensitivity_changed, self);
#line 690 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp4_ = self->priv->action;
#line 690 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_signal_parse_name ("visibility-changed", TYPE_TEXT_ACTION, &_tmp5_, NULL, FALSE);
#line 690 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_signal_handlers_disconnect_matched (_tmp4_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp5_, 0, NULL, (GCallback) _search_filter_toolbar_search_box_on_visibility_changed_text_action_visibility_changed, self);
#line 692 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp6_ = self->priv->search_entry;
#line 692 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp7_ = gtk_entry_get_buffer (G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, gtk_entry_get_type (), GtkEntry));
#line 692 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp8_ = _tmp7_;
#line 692 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_signal_parse_name ("deleted-text", gtk_entry_buffer_get_type (), &_tmp9_, NULL, FALSE);
#line 692 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_signal_handlers_disconnect_matched (_tmp8_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp9_, 0, NULL, (GCallback) _search_filter_toolbar_search_box_on_entry_changed_gtk_entry_buffer_deleted_text, self);
#line 693 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp10_ = self->priv->search_entry;
#line 693 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp11_ = gtk_entry_get_buffer (G_TYPE_CHECK_INSTANCE_CAST (_tmp10_, gtk_entry_get_type (), GtkEntry));
#line 693 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp12_ = _tmp11_;
#line 693 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_signal_parse_name ("inserted-text", gtk_entry_buffer_get_type (), &_tmp13_, NULL, FALSE);
#line 693 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_signal_handlers_disconnect_matched (_tmp12_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp13_, 0, NULL, (GCallback) _search_filter_toolbar_search_box_on_entry_changed_gtk_entry_buffer_inserted_text, self);
#line 666 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_g_object_unref0 (self->priv->search_entry);
#line 667 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_text_action_unref0 (self->priv->action);
#line 665 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	G_OBJECT_CLASS (search_filter_toolbar_search_box_parent_class)->finalize (obj);
#line 7796 "SearchFilter.c"
}


GType
search_filter_toolbar_search_box_get_type (void)
{
	static volatile gsize search_filter_toolbar_search_box_type_id__volatile = 0;
	if (g_once_init_enter (&search_filter_toolbar_search_box_type_id__volatile)) {
		static const GTypeInfo g_define_type_info = { sizeof (SearchFilterToolbarSearchBoxClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) search_filter_toolbar_search_box_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (SearchFilterToolbarSearchBox), 0, (GInstanceInitFunc) search_filter_toolbar_search_box_instance_init, NULL };
		GType search_filter_toolbar_search_box_type_id;
		search_filter_toolbar_search_box_type_id = g_type_register_static (gtk_tool_item_get_type (), "SearchFilterToolbarSearchBox", &g_define_type_info, 0);
		g_once_init_leave (&search_filter_toolbar_search_box_type_id__volatile, search_filter_toolbar_search_box_type_id);
	}
	return search_filter_toolbar_search_box_type_id__volatile;
}


SearchFilterToolbarRatingFilterButton*
search_filter_toolbar_rating_filter_button_construct (GType object_type,
                                                      GMenuModel* model)
{
	SearchFilterToolbarRatingFilterButton * self = NULL;
	GtkMenuButton* _tmp0_;
	GtkMenuButton* _tmp1_;
	GtkWidget* _tmp2_;
	GtkWidget* _tmp3_;
	GtkMenuButton* _tmp4_;
	GtkMenuButton* _tmp5_;
	GtkMenuButton* _tmp6_;
	GtkMenuButton* _tmp7_;
	GtkMenuButton* _tmp8_;
#line 742 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_return_val_if_fail (G_IS_MENU_MODEL (model), NULL);
#line 742 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	self = (SearchFilterToolbarRatingFilterButton*) g_object_new (object_type, NULL);
#line 743 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp0_ = (GtkMenuButton*) gtk_menu_button_new ();
#line 743 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_object_ref_sink (_tmp0_);
#line 743 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_g_object_unref0 (self->button);
#line 743 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	self->button = _tmp0_;
#line 745 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp1_ = self->button;
#line 745 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp2_ = search_filter_toolbar_rating_filter_button_get_filter_icon (self, RATING_FILTER_UNRATED_OR_HIGHER);
#line 745 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp3_ = _tmp2_;
#line 745 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	gtk_button_set_image (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, gtk_button_get_type (), GtkButton), _tmp3_);
#line 745 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_g_object_unref0 (_tmp3_);
#line 746 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp4_ = self->button;
#line 746 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	gtk_widget_set_can_focus (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, gtk_widget_get_type (), GtkWidget), FALSE);
#line 747 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp5_ = self->button;
#line 747 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	gtk_button_set_relief (G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, gtk_button_get_type (), GtkButton), GTK_RELIEF_NONE);
#line 748 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp6_ = self->button;
#line 748 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	gtk_widget_set_margin_start (G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, gtk_widget_get_type (), GtkWidget), 2);
#line 749 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp7_ = self->button;
#line 749 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	gtk_menu_button_set_menu_model (_tmp7_, model);
#line 751 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	gtk_tool_item_set_homogeneous (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_tool_item_get_type (), GtkToolItem), FALSE);
#line 753 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp8_ = self->button;
#line 753 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	gtk_container_add (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_container_get_type (), GtkContainer), G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, gtk_widget_get_type (), GtkWidget));
#line 742 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	return self;
#line 7874 "SearchFilter.c"
}


SearchFilterToolbarRatingFilterButton*
search_filter_toolbar_rating_filter_button_new (GMenuModel* model)
{
#line 742 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	return search_filter_toolbar_rating_filter_button_construct (SEARCH_FILTER_TOOLBAR_TYPE_RATING_FILTER_BUTTON, model);
#line 7883 "SearchFilter.c"
}


static GtkWidget*
search_filter_toolbar_rating_filter_button_get_filter_icon (SearchFilterToolbarRatingFilterButton* self,
                                                            RatingFilter filter)
{
	GtkWidget* result = NULL;
	gchar* filename = NULL;
	GtkImage* image = NULL;
	const gchar* _tmp3_;
	GdkPixbuf* _tmp4_;
	GdkPixbuf* _tmp5_;
	GtkImage* _tmp6_;
	GtkImage* _tmp7_;
#line 756 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_return_val_if_fail (SEARCH_FILTER_TOOLBAR_IS_RATING_FILTER_BUTTON (self), NULL);
#line 757 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	filename = NULL;
#line 759 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	switch (filter) {
#line 759 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		case RATING_FILTER_REJECTED_OR_HIGHER:
#line 7907 "SearchFilter.c"
		{
			gchar* _tmp0_;
#line 761 "/home/jens/Source/shotwell/src/SearchFilter.vala"
			_tmp0_ = g_strdup (RESOURCES_ICON_FILTER_REJECTED_OR_BETTER);
#line 761 "/home/jens/Source/shotwell/src/SearchFilter.vala"
			_g_free0 (filename);
#line 761 "/home/jens/Source/shotwell/src/SearchFilter.vala"
			filename = _tmp0_;
#line 762 "/home/jens/Source/shotwell/src/SearchFilter.vala"
			break;
#line 7918 "SearchFilter.c"
		}
#line 759 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		case RATING_FILTER_REJECTED_ONLY:
#line 7922 "SearchFilter.c"
		{
			gchar* _tmp1_;
#line 765 "/home/jens/Source/shotwell/src/SearchFilter.vala"
			_tmp1_ = g_strdup (RESOURCES_ICON_RATING_REJECTED);
#line 765 "/home/jens/Source/shotwell/src/SearchFilter.vala"
			_g_free0 (filename);
#line 765 "/home/jens/Source/shotwell/src/SearchFilter.vala"
			filename = _tmp1_;
#line 766 "/home/jens/Source/shotwell/src/SearchFilter.vala"
			break;
#line 7933 "SearchFilter.c"
		}
		default:
#line 759 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		case RATING_FILTER_UNRATED_OR_HIGHER:
#line 7938 "SearchFilter.c"
		{
			gchar* _tmp2_;
#line 770 "/home/jens/Source/shotwell/src/SearchFilter.vala"
			_tmp2_ = g_strdup (RESOURCES_ICON_FILTER_UNRATED_OR_BETTER);
#line 770 "/home/jens/Source/shotwell/src/SearchFilter.vala"
			_g_free0 (filename);
#line 770 "/home/jens/Source/shotwell/src/SearchFilter.vala"
			filename = _tmp2_;
#line 771 "/home/jens/Source/shotwell/src/SearchFilter.vala"
			break;
#line 7949 "SearchFilter.c"
		}
	}
#line 774 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp3_ = filename;
#line 774 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp4_ = resources_load_icon (_tmp3_, search_filter_toolbar_rating_filter_button_get_filter_icon_size (self, filter));
#line 774 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp5_ = _tmp4_;
#line 774 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp6_ = (GtkImage*) gtk_image_new_from_pixbuf (_tmp5_);
#line 774 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_object_ref_sink (_tmp6_);
#line 774 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp7_ = _tmp6_;
#line 774 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_g_object_unref0 (_tmp5_);
#line 774 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	image = _tmp7_;
#line 776 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	gtk_widget_set_margin_end (G_TYPE_CHECK_INSTANCE_CAST (image, gtk_widget_get_type (), GtkWidget), 6);
#line 778 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	result = G_TYPE_CHECK_INSTANCE_CAST (image, gtk_widget_get_type (), GtkWidget);
#line 778 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_g_free0 (filename);
#line 778 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	return result;
#line 7976 "SearchFilter.c"
}


static gint
search_filter_toolbar_rating_filter_button_get_filter_icon_size (SearchFilterToolbarRatingFilterButton* self,
                                                                 RatingFilter filter)
{
	gint result = 0;
	gint icon_base = 0;
	gint icon_star_base = 0;
	gint icon_plus = 0;
#line 781 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_return_val_if_fail (SEARCH_FILTER_TOOLBAR_IS_RATING_FILTER_BUTTON (self), 0);
#line 782 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	icon_base = (gint) (SEARCH_FILTER_TOOLBAR_FILTER_ICON_BASE_WIDTH * SEARCH_FILTER_TOOLBAR_FILTER_ICON_SCALE);
#line 783 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	icon_star_base = (gint) (SEARCH_FILTER_TOOLBAR_FILTER_ICON_BASE_WIDTH * SEARCH_FILTER_TOOLBAR_FILTER_ICON_STAR_SCALE);
#line 784 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	icon_plus = (gint) (SEARCH_FILTER_TOOLBAR_FILTER_ICON_PLUS_WIDTH * SEARCH_FILTER_TOOLBAR_FILTER_ICON_STAR_SCALE);
#line 786 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	switch (filter) {
#line 786 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		case RATING_FILTER_ONE_OR_HIGHER:
#line 8000 "SearchFilter.c"
		{
			gint _tmp0_;
			gint _tmp1_;
#line 788 "/home/jens/Source/shotwell/src/SearchFilter.vala"
			_tmp0_ = icon_star_base;
#line 788 "/home/jens/Source/shotwell/src/SearchFilter.vala"
			_tmp1_ = icon_plus;
#line 788 "/home/jens/Source/shotwell/src/SearchFilter.vala"
			result = _tmp0_ + _tmp1_;
#line 788 "/home/jens/Source/shotwell/src/SearchFilter.vala"
			return result;
#line 8012 "SearchFilter.c"
		}
#line 786 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		case RATING_FILTER_TWO_OR_HIGHER:
#line 8016 "SearchFilter.c"
		{
			gint _tmp2_;
			gint _tmp3_;
#line 790 "/home/jens/Source/shotwell/src/SearchFilter.vala"
			_tmp2_ = icon_star_base;
#line 790 "/home/jens/Source/shotwell/src/SearchFilter.vala"
			_tmp3_ = icon_plus;
#line 790 "/home/jens/Source/shotwell/src/SearchFilter.vala"
			result = (_tmp2_ * 2) + _tmp3_;
#line 790 "/home/jens/Source/shotwell/src/SearchFilter.vala"
			return result;
#line 8028 "SearchFilter.c"
		}
#line 786 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		case RATING_FILTER_THREE_OR_HIGHER:
#line 8032 "SearchFilter.c"
		{
			gint _tmp4_;
			gint _tmp5_;
#line 792 "/home/jens/Source/shotwell/src/SearchFilter.vala"
			_tmp4_ = icon_star_base;
#line 792 "/home/jens/Source/shotwell/src/SearchFilter.vala"
			_tmp5_ = icon_plus;
#line 792 "/home/jens/Source/shotwell/src/SearchFilter.vala"
			result = (_tmp4_ * 3) + _tmp5_;
#line 792 "/home/jens/Source/shotwell/src/SearchFilter.vala"
			return result;
#line 8044 "SearchFilter.c"
		}
#line 786 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		case RATING_FILTER_FOUR_OR_HIGHER:
#line 8048 "SearchFilter.c"
		{
			gint _tmp6_;
			gint _tmp7_;
#line 794 "/home/jens/Source/shotwell/src/SearchFilter.vala"
			_tmp6_ = icon_star_base;
#line 794 "/home/jens/Source/shotwell/src/SearchFilter.vala"
			_tmp7_ = icon_plus;
#line 794 "/home/jens/Source/shotwell/src/SearchFilter.vala"
			result = (_tmp6_ * 4) + _tmp7_;
#line 794 "/home/jens/Source/shotwell/src/SearchFilter.vala"
			return result;
#line 8060 "SearchFilter.c"
		}
#line 786 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		case RATING_FILTER_FIVE_OR_HIGHER:
#line 786 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		case RATING_FILTER_FIVE_ONLY:
#line 8066 "SearchFilter.c"
		{
			gint _tmp8_;
#line 797 "/home/jens/Source/shotwell/src/SearchFilter.vala"
			_tmp8_ = icon_star_base;
#line 797 "/home/jens/Source/shotwell/src/SearchFilter.vala"
			result = _tmp8_ * 5;
#line 797 "/home/jens/Source/shotwell/src/SearchFilter.vala"
			return result;
#line 8075 "SearchFilter.c"
		}
#line 786 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		case RATING_FILTER_REJECTED_OR_HIGHER:
#line 8079 "SearchFilter.c"
		{
#line 799 "/home/jens/Source/shotwell/src/SearchFilter.vala"
			result = RESOURCES_ICON_FILTER_REJECTED_OR_BETTER_FIXED_SIZE;
#line 799 "/home/jens/Source/shotwell/src/SearchFilter.vala"
			return result;
#line 8085 "SearchFilter.c"
		}
#line 786 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		case RATING_FILTER_UNRATED_OR_HIGHER:
#line 8089 "SearchFilter.c"
		{
#line 801 "/home/jens/Source/shotwell/src/SearchFilter.vala"
			result = RESOURCES_ICON_FILTER_UNRATED_OR_BETTER_FIXED_SIZE;
#line 801 "/home/jens/Source/shotwell/src/SearchFilter.vala"
			return result;
#line 8095 "SearchFilter.c"
		}
#line 786 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		case RATING_FILTER_REJECTED_ONLY:
#line 8099 "SearchFilter.c"
		{
#line 803 "/home/jens/Source/shotwell/src/SearchFilter.vala"
			result = icon_plus;
#line 803 "/home/jens/Source/shotwell/src/SearchFilter.vala"
			return result;
#line 8105 "SearchFilter.c"
		}
		default:
		{
#line 805 "/home/jens/Source/shotwell/src/SearchFilter.vala"
			result = icon_base;
#line 805 "/home/jens/Source/shotwell/src/SearchFilter.vala"
			return result;
#line 8113 "SearchFilter.c"
		}
	}
}


void
search_filter_toolbar_rating_filter_button_set_filter_icon (SearchFilterToolbarRatingFilterButton* self,
                                                            RatingFilter filter)
{
	GtkMenuButton* _tmp0_;
	gchar* _tmp10_;
	gchar* _tmp11_;
#line 809 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_return_if_fail (SEARCH_FILTER_TOOLBAR_IS_RATING_FILTER_BUTTON (self));
#line 810 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp0_ = self->button;
#line 810 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	gtk_button_set_always_show_image (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, gtk_button_get_type (), GtkButton), TRUE);
#line 811 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	switch (filter) {
#line 811 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		case RATING_FILTER_ONE_OR_HIGHER:
#line 8136 "SearchFilter.c"
		{
			GtkMenuButton* _tmp1_;
#line 813 "/home/jens/Source/shotwell/src/SearchFilter.vala"
			_tmp1_ = self->button;
#line 813 "/home/jens/Source/shotwell/src/SearchFilter.vala"
			gtk_button_set_label (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, gtk_button_get_type (), GtkButton), _ ("★+ Rating"));
#line 814 "/home/jens/Source/shotwell/src/SearchFilter.vala"
			break;
#line 8145 "SearchFilter.c"
		}
#line 811 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		case RATING_FILTER_TWO_OR_HIGHER:
#line 8149 "SearchFilter.c"
		{
			GtkMenuButton* _tmp2_;
#line 816 "/home/jens/Source/shotwell/src/SearchFilter.vala"
			_tmp2_ = self->button;
#line 816 "/home/jens/Source/shotwell/src/SearchFilter.vala"
			gtk_button_set_label (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, gtk_button_get_type (), GtkButton), _ ("★★+ Rating"));
#line 817 "/home/jens/Source/shotwell/src/SearchFilter.vala"
			break;
#line 8158 "SearchFilter.c"
		}
#line 811 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		case RATING_FILTER_THREE_OR_HIGHER:
#line 8162 "SearchFilter.c"
		{
			GtkMenuButton* _tmp3_;
#line 819 "/home/jens/Source/shotwell/src/SearchFilter.vala"
			_tmp3_ = self->button;
#line 819 "/home/jens/Source/shotwell/src/SearchFilter.vala"
			gtk_button_set_label (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, gtk_button_get_type (), GtkButton), _ ("★★★+ Rating"));
#line 820 "/home/jens/Source/shotwell/src/SearchFilter.vala"
			break;
#line 8171 "SearchFilter.c"
		}
#line 811 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		case RATING_FILTER_FOUR_OR_HIGHER:
#line 8175 "SearchFilter.c"
		{
			GtkMenuButton* _tmp4_;
#line 822 "/home/jens/Source/shotwell/src/SearchFilter.vala"
			_tmp4_ = self->button;
#line 822 "/home/jens/Source/shotwell/src/SearchFilter.vala"
			gtk_button_set_label (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, gtk_button_get_type (), GtkButton), _ ("★★★★+ Rating"));
#line 823 "/home/jens/Source/shotwell/src/SearchFilter.vala"
			break;
#line 8184 "SearchFilter.c"
		}
#line 811 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		case RATING_FILTER_FIVE_ONLY:
#line 811 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		case RATING_FILTER_FIVE_OR_HIGHER:
#line 8190 "SearchFilter.c"
		{
			GtkMenuButton* _tmp5_;
#line 826 "/home/jens/Source/shotwell/src/SearchFilter.vala"
			_tmp5_ = self->button;
#line 826 "/home/jens/Source/shotwell/src/SearchFilter.vala"
			gtk_button_set_label (G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, gtk_button_get_type (), GtkButton), _ ("★★★★★+ Rating"));
#line 827 "/home/jens/Source/shotwell/src/SearchFilter.vala"
			break;
#line 8199 "SearchFilter.c"
		}
		default:
		{
			GtkMenuButton* _tmp6_;
			GtkMenuButton* _tmp7_;
			GtkWidget* _tmp8_;
			GtkWidget* _tmp9_;
#line 829 "/home/jens/Source/shotwell/src/SearchFilter.vala"
			_tmp6_ = self->button;
#line 829 "/home/jens/Source/shotwell/src/SearchFilter.vala"
			gtk_button_set_label (G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, gtk_button_get_type (), GtkButton), _ ("Rating"));
#line 830 "/home/jens/Source/shotwell/src/SearchFilter.vala"
			_tmp7_ = self->button;
#line 830 "/home/jens/Source/shotwell/src/SearchFilter.vala"
			_tmp8_ = search_filter_toolbar_rating_filter_button_get_filter_icon (self, filter);
#line 830 "/home/jens/Source/shotwell/src/SearchFilter.vala"
			_tmp9_ = _tmp8_;
#line 830 "/home/jens/Source/shotwell/src/SearchFilter.vala"
			gtk_button_set_image (G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, gtk_button_get_type (), GtkButton), _tmp9_);
#line 830 "/home/jens/Source/shotwell/src/SearchFilter.vala"
			_g_object_unref0 (_tmp9_);
#line 831 "/home/jens/Source/shotwell/src/SearchFilter.vala"
			break;
#line 8223 "SearchFilter.c"
		}
	}
#line 834 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	gtk_widget_set_size_request (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_widget_get_type (), GtkWidget), search_filter_toolbar_rating_filter_button_get_filter_button_size (self, filter), -1);
#line 835 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp10_ = resources_get_rating_filter_tooltip (filter);
#line 835 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp11_ = _tmp10_;
#line 835 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	gtk_tool_item_set_tooltip_text (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_tool_item_get_type (), GtkToolItem), _tmp11_);
#line 835 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_g_free0 (_tmp11_);
#line 836 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	gtk_widget_set_has_tooltip (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_widget_get_type (), GtkWidget), TRUE);
#line 837 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	gtk_widget_show_all (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_widget_get_type (), GtkWidget));
#line 8240 "SearchFilter.c"
}


static gint
search_filter_toolbar_rating_filter_button_get_filter_button_size (SearchFilterToolbarRatingFilterButton* self,
                                                                   RatingFilter filter)
{
	gint result = 0;
#line 840 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_return_val_if_fail (SEARCH_FILTER_TOOLBAR_IS_RATING_FILTER_BUTTON (self), 0);
#line 841 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	result = search_filter_toolbar_rating_filter_button_get_filter_icon_size (self, filter) + (2 * SEARCH_FILTER_TOOLBAR_FILTER_BUTTON_MARGIN);
#line 841 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	return result;
#line 8255 "SearchFilter.c"
}


void
search_filter_toolbar_rating_filter_button_set_label (SearchFilterToolbarRatingFilterButton* self,
                                                      const gchar* label)
{
	GtkMenuButton* _tmp0_;
#line 844 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_return_if_fail (SEARCH_FILTER_TOOLBAR_IS_RATING_FILTER_BUTTON (self));
#line 844 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_return_if_fail (label != NULL);
#line 845 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp0_ = self->button;
#line 845 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	gtk_button_set_label (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, gtk_button_get_type (), GtkButton), label);
#line 8272 "SearchFilter.c"
}


static void
search_filter_toolbar_rating_filter_button_class_init (SearchFilterToolbarRatingFilterButtonClass * klass)
{
#line 739 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	search_filter_toolbar_rating_filter_button_parent_class = g_type_class_peek_parent (klass);
#line 739 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	G_OBJECT_CLASS (klass)->finalize = search_filter_toolbar_rating_filter_button_finalize;
#line 8283 "SearchFilter.c"
}


static void
search_filter_toolbar_rating_filter_button_instance_init (SearchFilterToolbarRatingFilterButton * self)
{
}


static void
search_filter_toolbar_rating_filter_button_finalize (GObject * obj)
{
	SearchFilterToolbarRatingFilterButton * self;
#line 739 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, SEARCH_FILTER_TOOLBAR_TYPE_RATING_FILTER_BUTTON, SearchFilterToolbarRatingFilterButton);
#line 740 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_g_object_unref0 (self->button);
#line 739 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	G_OBJECT_CLASS (search_filter_toolbar_rating_filter_button_parent_class)->finalize (obj);
#line 8303 "SearchFilter.c"
}


GType
search_filter_toolbar_rating_filter_button_get_type (void)
{
	static volatile gsize search_filter_toolbar_rating_filter_button_type_id__volatile = 0;
	if (g_once_init_enter (&search_filter_toolbar_rating_filter_button_type_id__volatile)) {
		static const GTypeInfo g_define_type_info = { sizeof (SearchFilterToolbarRatingFilterButtonClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) search_filter_toolbar_rating_filter_button_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (SearchFilterToolbarRatingFilterButton), 0, (GInstanceInitFunc) search_filter_toolbar_rating_filter_button_instance_init, NULL };
		GType search_filter_toolbar_rating_filter_button_type_id;
		search_filter_toolbar_rating_filter_button_type_id = g_type_register_static (gtk_tool_item_get_type (), "SearchFilterToolbarRatingFilterButton", &g_define_type_info, 0);
		g_once_init_leave (&search_filter_toolbar_rating_filter_button_type_id__volatile, search_filter_toolbar_rating_filter_button_type_id);
	}
	return search_filter_toolbar_rating_filter_button_type_id__volatile;
}


static void
_search_filter_toolbar_saved_search_filter_button_on_clicked_gtk_button_clicked (GtkButton* _sender,
                                                                                 gpointer self)
{
#line 875 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	search_filter_toolbar_saved_search_filter_button_on_clicked ((SearchFilterToolbarSavedSearchFilterButton*) self);
#line 8327 "SearchFilter.c"
}


SearchFilterToolbarSavedSearchFilterButton*
search_filter_toolbar_saved_search_filter_button_construct (GType object_type)
{
	SearchFilterToolbarSavedSearchFilterButton * self = NULL;
	GtkToggleButton* _tmp0_;
	GtkToggleButton* _tmp1_;
	GtkImage* image = NULL;
	GtkImage* _tmp2_;
	GtkToggleButton* _tmp3_;
	GtkToggleButton* _tmp4_;
	GtkToggleButton* _tmp5_;
	GtkToggleButton* _tmp6_;
#line 856 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	self = (SearchFilterToolbarSavedSearchFilterButton*) g_object_new (object_type, NULL);
#line 857 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp0_ = (GtkToggleButton*) gtk_toggle_button_new ();
#line 857 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_object_ref_sink (_tmp0_);
#line 857 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_g_object_unref0 (self->button);
#line 857 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	self->button = _tmp0_;
#line 858 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp1_ = self->button;
#line 858 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	gtk_button_set_always_show_image (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, gtk_button_get_type (), GtkButton), TRUE);
#line 860 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp2_ = (GtkImage*) gtk_image_new_from_icon_name ("edit-find", (GtkIconSize) GTK_ICON_SIZE_SMALL_TOOLBAR);
#line 860 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_object_ref_sink (_tmp2_);
#line 860 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	image = _tmp2_;
#line 861 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	gtk_widget_set_margin_end (G_TYPE_CHECK_INSTANCE_CAST (image, gtk_widget_get_type (), GtkWidget), 6);
#line 862 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp3_ = self->button;
#line 862 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	gtk_button_set_image (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, gtk_button_get_type (), GtkButton), G_TYPE_CHECK_INSTANCE_CAST (image, gtk_widget_get_type (), GtkWidget));
#line 863 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp4_ = self->button;
#line 863 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	gtk_widget_set_can_focus (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, gtk_widget_get_type (), GtkWidget), FALSE);
#line 865 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp5_ = self->button;
#line 865 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, gtk_button_get_type (), GtkButton), "clicked", (GCallback) _search_filter_toolbar_saved_search_filter_button_on_clicked_gtk_button_clicked, self, 0);
#line 867 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	search_filter_toolbar_saved_search_filter_button_restyle (self);
#line 869 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	gtk_tool_item_set_homogeneous (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_tool_item_get_type (), GtkToolItem), FALSE);
#line 871 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp6_ = self->button;
#line 871 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	gtk_container_add (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_container_get_type (), GtkContainer), G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, gtk_widget_get_type (), GtkWidget));
#line 856 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_g_object_unref0 (image);
#line 856 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	return self;
#line 8389 "SearchFilter.c"
}


SearchFilterToolbarSavedSearchFilterButton*
search_filter_toolbar_saved_search_filter_button_new (void)
{
#line 856 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	return search_filter_toolbar_saved_search_filter_button_construct (SEARCH_FILTER_TOOLBAR_TYPE_SAVED_SEARCH_FILTER_BUTTON);
#line 8398 "SearchFilter.c"
}


static void
search_filter_toolbar_saved_search_filter_button_on_clicked (SearchFilterToolbarSavedSearchFilterButton* self)
{
#line 878 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_return_if_fail (SEARCH_FILTER_TOOLBAR_IS_SAVED_SEARCH_FILTER_BUTTON (self));
#line 879 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_signal_emit (self, search_filter_toolbar_saved_search_filter_button_signals[SEARCH_FILTER_TOOLBAR_SAVED_SEARCH_FILTER_BUTTON_CLICKED_SIGNAL], 0);
#line 8409 "SearchFilter.c"
}


void
search_filter_toolbar_saved_search_filter_button_set_active (SearchFilterToolbarSavedSearchFilterButton* self,
                                                             gboolean active)
{
	GtkToggleButton* _tmp0_;
#line 882 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_return_if_fail (SEARCH_FILTER_TOOLBAR_IS_SAVED_SEARCH_FILTER_BUTTON (self));
#line 883 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp0_ = self->button;
#line 883 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	gtk_toggle_button_set_active (_tmp0_, active);
#line 8424 "SearchFilter.c"
}


void
search_filter_toolbar_saved_search_filter_button_set_label (SearchFilterToolbarSavedSearchFilterButton* self,
                                                            const gchar* label)
{
	GtkToggleButton* _tmp0_;
#line 886 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_return_if_fail (SEARCH_FILTER_TOOLBAR_IS_SAVED_SEARCH_FILTER_BUTTON (self));
#line 886 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_return_if_fail (label != NULL);
#line 887 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp0_ = self->button;
#line 887 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	gtk_button_set_label (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, gtk_button_get_type (), GtkButton), label);
#line 8441 "SearchFilter.c"
}


void
search_filter_toolbar_saved_search_filter_button_restyle (SearchFilterToolbarSavedSearchFilterButton* self)
{
	GtkToggleButton* _tmp0_;
	GtkToggleButton* _tmp1_;
#line 890 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_return_if_fail (SEARCH_FILTER_TOOLBAR_IS_SAVED_SEARCH_FILTER_BUTTON (self));
#line 891 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp0_ = self->button;
#line 891 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	gtk_widget_set_size_request (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, gtk_widget_get_type (), GtkWidget), 24, 24);
#line 892 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp1_ = self->button;
#line 892 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	gtk_button_set_relief (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, gtk_button_get_type (), GtkButton), GTK_RELIEF_NONE);
#line 8460 "SearchFilter.c"
}


static void
search_filter_toolbar_saved_search_filter_button_class_init (SearchFilterToolbarSavedSearchFilterButtonClass * klass)
{
#line 850 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	search_filter_toolbar_saved_search_filter_button_parent_class = g_type_class_peek_parent (klass);
#line 850 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	G_OBJECT_CLASS (klass)->finalize = search_filter_toolbar_saved_search_filter_button_finalize;
#line 850 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	search_filter_toolbar_saved_search_filter_button_signals[SEARCH_FILTER_TOOLBAR_SAVED_SEARCH_FILTER_BUTTON_CLICKED_SIGNAL] = g_signal_new ("clicked", SEARCH_FILTER_TOOLBAR_TYPE_SAVED_SEARCH_FILTER_BUTTON, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0);
#line 8473 "SearchFilter.c"
}


static void
search_filter_toolbar_saved_search_filter_button_instance_init (SearchFilterToolbarSavedSearchFilterButton * self)
{
#line 851 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	self->filter_popup = NULL;
#line 8482 "SearchFilter.c"
}


static void
search_filter_toolbar_saved_search_filter_button_finalize (GObject * obj)
{
	SearchFilterToolbarSavedSearchFilterButton * self;
	GtkToggleButton* _tmp0_;
	guint _tmp1_;
#line 850 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, SEARCH_FILTER_TOOLBAR_TYPE_SAVED_SEARCH_FILTER_BUTTON, SearchFilterToolbarSavedSearchFilterButton);
#line 875 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp0_ = self->button;
#line 875 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_signal_parse_name ("clicked", gtk_button_get_type (), &_tmp1_, NULL, FALSE);
#line 875 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_signal_handlers_disconnect_matched (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, gtk_button_get_type (), GtkButton), G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp1_, 0, NULL, (GCallback) _search_filter_toolbar_saved_search_filter_button_on_clicked_gtk_button_clicked, self);
#line 851 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_search_filter_toolbar_saved_search_popover_unref0 (self->filter_popup);
#line 852 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_g_object_unref0 (self->button);
#line 850 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	G_OBJECT_CLASS (search_filter_toolbar_saved_search_filter_button_parent_class)->finalize (obj);
#line 8506 "SearchFilter.c"
}


GType
search_filter_toolbar_saved_search_filter_button_get_type (void)
{
	static volatile gsize search_filter_toolbar_saved_search_filter_button_type_id__volatile = 0;
	if (g_once_init_enter (&search_filter_toolbar_saved_search_filter_button_type_id__volatile)) {
		static const GTypeInfo g_define_type_info = { sizeof (SearchFilterToolbarSavedSearchFilterButtonClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) search_filter_toolbar_saved_search_filter_button_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (SearchFilterToolbarSavedSearchFilterButton), 0, (GInstanceInitFunc) search_filter_toolbar_saved_search_filter_button_instance_init, NULL };
		GType search_filter_toolbar_saved_search_filter_button_type_id;
		search_filter_toolbar_saved_search_filter_button_type_id = g_type_register_static (gtk_tool_item_get_type (), "SearchFilterToolbarSavedSearchFilterButton", &g_define_type_info, 0);
		g_once_init_leave (&search_filter_toolbar_saved_search_filter_button_type_id__volatile, search_filter_toolbar_saved_search_filter_button_type_id);
	}
	return search_filter_toolbar_saved_search_filter_button_type_id__volatile;
}


static void
_search_filter_toolbar_saved_search_popover_on_edit_click_search_filter_toolbar_saved_search_popover_data_button_clicked (SearchFilterToolbarSavedSearchPopoverDataButton* _sender,
                                                                                                                          SavedSearch* search,
                                                                                                                          gpointer self)
{
#line 977 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	search_filter_toolbar_saved_search_popover_on_edit_click ((SearchFilterToolbarSavedSearchPopover*) self, search);
#line 8531 "SearchFilter.c"
}


static void
_search_filter_toolbar_saved_search_popover_on_delete_click_search_filter_toolbar_saved_search_popover_data_button_clicked (SearchFilterToolbarSavedSearchPopoverDataButton* _sender,
                                                                                                                            SavedSearch* search,
                                                                                                                            gpointer self)
{
#line 978 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	search_filter_toolbar_saved_search_popover_on_delete_click ((SearchFilterToolbarSavedSearchPopover*) self, search);
#line 8542 "SearchFilter.c"
}


static void
_search_filter_toolbar_saved_search_popover_on_add_click_gtk_button_clicked (GtkButton* _sender,
                                                                             gpointer self)
{
#line 979 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	search_filter_toolbar_saved_search_popover_on_add_click ((SearchFilterToolbarSavedSearchPopover*) self);
#line 8552 "SearchFilter.c"
}


static void
_search_filter_toolbar_saved_search_popover_on_activate_row_gtk_list_box_row_activated (GtkListBox* _sender,
                                                                                        GtkListBoxRow* row,
                                                                                        gpointer self)
{
#line 980 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	search_filter_toolbar_saved_search_popover_on_activate_row ((SearchFilterToolbarSavedSearchPopover*) self, row);
#line 8563 "SearchFilter.c"
}


static void
_search_filter_toolbar_saved_search_popover_on_popover_closed_gtk_popover_closed (GtkPopover* _sender,
                                                                                  gpointer self)
{
#line 981 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	search_filter_toolbar_saved_search_popover_on_popover_closed ((SearchFilterToolbarSavedSearchPopover*) self);
#line 8573 "SearchFilter.c"
}


static void
_vala_array_add133 (SearchFilterToolbarSavedSearchPopoverDataButton** * array,
                    int* length,
                    int* size,
                    SearchFilterToolbarSavedSearchPopoverDataButton* value)
{
#line 957 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	if ((*length) == (*size)) {
#line 957 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		*size = (*size) ? (2 * (*size)) : 4;
#line 957 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		*array = g_renew (SearchFilterToolbarSavedSearchPopoverDataButton*, *array, (*size) + 1);
#line 8589 "SearchFilter.c"
	}
#line 957 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	(*array)[(*length)++] = value;
#line 957 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	(*array)[*length] = NULL;
#line 8595 "SearchFilter.c"
}


static void
_vala_array_add134 (SearchFilterToolbarSavedSearchPopoverDataButton** * array,
                    int* length,
                    int* size,
                    SearchFilterToolbarSavedSearchPopoverDataButton* value)
{
#line 962 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	if ((*length) == (*size)) {
#line 962 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		*size = (*size) ? (2 * (*size)) : 4;
#line 962 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		*array = g_renew (SearchFilterToolbarSavedSearchPopoverDataButton*, *array, (*size) + 1);
#line 8611 "SearchFilter.c"
	}
#line 962 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	(*array)[(*length)++] = value;
#line 962 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	(*array)[*length] = NULL;
#line 8617 "SearchFilter.c"
}


SearchFilterToolbarSavedSearchPopover*
search_filter_toolbar_saved_search_popover_construct (GType object_type,
                                                      GtkWidget* relative_to)
{
	SearchFilterToolbarSavedSearchPopover* self = NULL;
	GtkPopover* _tmp0_;
	GtkPopover* _tmp1_;
	GtkListBox* _tmp2_;
	SearchFilterToolbarSavedSearchPopoverDataButton** _tmp3_;
	SearchFilterToolbarSavedSearchPopoverDataButton** _tmp4_;
	GtkButton* _tmp42_;
	GtkButton* _tmp43_;
	GtkListBox* _tmp44_;
	GtkButton* _tmp45_;
	GtkListBox* _tmp46_;
	GtkListBox* _tmp47_;
	GtkPopover* _tmp48_;
	GtkListBox* _tmp49_;
#line 940 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_return_val_if_fail (GTK_IS_WIDGET (relative_to), NULL);
#line 940 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	self = (SearchFilterToolbarSavedSearchPopover*) g_type_create_instance (object_type);
#line 941 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp0_ = (GtkPopover*) gtk_popover_new (relative_to);
#line 941 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_object_ref_sink (_tmp0_);
#line 941 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_g_object_unref0 (self->priv->popover);
#line 941 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	self->priv->popover = _tmp0_;
#line 942 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp1_ = self->priv->popover;
#line 942 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_signal_connect (_tmp1_, "closed", (GCallback) _search_filter_toolbar_saved_search_popover_on_popover_closed_gtk_popover_closed, self);
#line 943 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp2_ = (GtkListBox*) gtk_list_box_new ();
#line 943 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_object_ref_sink (_tmp2_);
#line 943 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_g_object_unref0 (self->priv->list_box);
#line 943 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	self->priv->list_box = _tmp2_;
#line 944 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp3_ = g_new0 (SearchFilterToolbarSavedSearchPopoverDataButton*, 0 + 1);
#line 944 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	self->priv->edit_buttons = (_vala_array_free (self->priv->edit_buttons, self->priv->edit_buttons_length1, (GDestroyNotify) g_object_unref), NULL);
#line 944 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	self->priv->edit_buttons = _tmp3_;
#line 944 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	self->priv->edit_buttons_length1 = 0;
#line 944 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	self->priv->_edit_buttons_size_ = self->priv->edit_buttons_length1;
#line 945 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp4_ = g_new0 (SearchFilterToolbarSavedSearchPopoverDataButton*, 0 + 1);
#line 945 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	self->priv->delete_buttons = (_vala_array_free (self->priv->delete_buttons, self->priv->delete_buttons_length1, (GDestroyNotify) g_object_unref), NULL);
#line 945 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	self->priv->delete_buttons = _tmp4_;
#line 945 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	self->priv->delete_buttons_length1 = 0;
#line 945 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	self->priv->_delete_buttons_size_ = self->priv->delete_buttons_length1;
#line 8683 "SearchFilter.c"
	{
		GeeIterator* _search_it = NULL;
		SavedSearchTable* _tmp5_;
		SavedSearchTable* _tmp6_;
		GeeCollection* _tmp7_;
		GeeCollection* _tmp8_;
		GeeIterator* _tmp9_;
		GeeIterator* _tmp10_;
#line 947 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		_tmp5_ = saved_search_table_get_instance ();
#line 947 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		_tmp6_ = _tmp5_;
#line 947 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		_tmp7_ = saved_search_table_get_all (_tmp6_);
#line 947 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		_tmp8_ = _tmp7_;
#line 947 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		_tmp9_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, GEE_TYPE_ITERABLE, GeeIterable));
#line 947 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		_tmp10_ = _tmp9_;
#line 947 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		_g_object_unref0 (_tmp8_);
#line 947 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		_saved_search_table_unref0 (_tmp6_);
#line 947 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		_search_it = _tmp10_;
#line 947 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		while (TRUE) {
#line 8712 "SearchFilter.c"
			GeeIterator* _tmp11_;
			SavedSearch* search = NULL;
			GeeIterator* _tmp12_;
			gpointer _tmp13_;
			GtkBox* row = NULL;
			GtkBox* _tmp14_;
			GtkBox* _tmp15_;
			GtkLabel* label = NULL;
			SavedSearch* _tmp16_;
			gchar* _tmp17_;
			gchar* _tmp18_;
			GtkLabel* _tmp19_;
			GtkLabel* _tmp20_;
			GtkLabel* _tmp21_;
			GtkBox* _tmp22_;
			GtkLabel* _tmp23_;
			SearchFilterToolbarSavedSearchPopoverDataButton* delete_button = NULL;
			SavedSearch* _tmp24_;
			SearchFilterToolbarSavedSearchPopoverDataButton* _tmp25_;
			GtkBox* _tmp26_;
			SearchFilterToolbarSavedSearchPopoverDataButton* _tmp27_;
			SearchFilterToolbarSavedSearchPopoverDataButton* _tmp28_;
			SearchFilterToolbarSavedSearchPopoverDataButton** _tmp29_;
			gint _tmp29__length1;
			SearchFilterToolbarSavedSearchPopoverDataButton* _tmp30_;
			SearchFilterToolbarSavedSearchPopoverDataButton* _tmp31_;
			SearchFilterToolbarSavedSearchPopoverDataButton* edit_button = NULL;
			SavedSearch* _tmp32_;
			SearchFilterToolbarSavedSearchPopoverDataButton* _tmp33_;
			GtkBox* _tmp34_;
			SearchFilterToolbarSavedSearchPopoverDataButton* _tmp35_;
			SearchFilterToolbarSavedSearchPopoverDataButton* _tmp36_;
			SearchFilterToolbarSavedSearchPopoverDataButton** _tmp37_;
			gint _tmp37__length1;
			SearchFilterToolbarSavedSearchPopoverDataButton* _tmp38_;
			SearchFilterToolbarSavedSearchPopoverDataButton* _tmp39_;
			GtkListBox* _tmp40_;
			GtkBox* _tmp41_;
#line 947 "/home/jens/Source/shotwell/src/SearchFilter.vala"
			_tmp11_ = _search_it;
#line 947 "/home/jens/Source/shotwell/src/SearchFilter.vala"
			if (!gee_iterator_next (_tmp11_)) {
#line 947 "/home/jens/Source/shotwell/src/SearchFilter.vala"
				break;
#line 8757 "SearchFilter.c"
			}
#line 947 "/home/jens/Source/shotwell/src/SearchFilter.vala"
			_tmp12_ = _search_it;
#line 947 "/home/jens/Source/shotwell/src/SearchFilter.vala"
			_tmp13_ = gee_iterator_get (_tmp12_);
#line 947 "/home/jens/Source/shotwell/src/SearchFilter.vala"
			search = (SavedSearch*) _tmp13_;
#line 948 "/home/jens/Source/shotwell/src/SearchFilter.vala"
			_tmp14_ = (GtkBox*) gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 1);
#line 948 "/home/jens/Source/shotwell/src/SearchFilter.vala"
			g_object_ref_sink (_tmp14_);
#line 948 "/home/jens/Source/shotwell/src/SearchFilter.vala"
			row = _tmp14_;
#line 949 "/home/jens/Source/shotwell/src/SearchFilter.vala"
			_tmp15_ = row;
#line 949 "/home/jens/Source/shotwell/src/SearchFilter.vala"
			gtk_box_set_homogeneous (_tmp15_, FALSE);
#line 950 "/home/jens/Source/shotwell/src/SearchFilter.vala"
			_tmp16_ = search;
#line 950 "/home/jens/Source/shotwell/src/SearchFilter.vala"
			_tmp17_ = data_object_get_name (G_TYPE_CHECK_INSTANCE_CAST (_tmp16_, TYPE_DATA_OBJECT, DataObject));
#line 950 "/home/jens/Source/shotwell/src/SearchFilter.vala"
			_tmp18_ = _tmp17_;
#line 950 "/home/jens/Source/shotwell/src/SearchFilter.vala"
			_tmp19_ = (GtkLabel*) gtk_label_new (_tmp18_);
#line 950 "/home/jens/Source/shotwell/src/SearchFilter.vala"
			g_object_ref_sink (_tmp19_);
#line 950 "/home/jens/Source/shotwell/src/SearchFilter.vala"
			_tmp20_ = _tmp19_;
#line 950 "/home/jens/Source/shotwell/src/SearchFilter.vala"
			_g_free0 (_tmp18_);
#line 950 "/home/jens/Source/shotwell/src/SearchFilter.vala"
			label = _tmp20_;
#line 951 "/home/jens/Source/shotwell/src/SearchFilter.vala"
			_tmp21_ = label;
#line 951 "/home/jens/Source/shotwell/src/SearchFilter.vala"
			gtk_widget_set_halign (G_TYPE_CHECK_INSTANCE_CAST (_tmp21_, gtk_widget_get_type (), GtkWidget), GTK_ALIGN_START);
#line 952 "/home/jens/Source/shotwell/src/SearchFilter.vala"
			_tmp22_ = row;
#line 952 "/home/jens/Source/shotwell/src/SearchFilter.vala"
			_tmp23_ = label;
#line 952 "/home/jens/Source/shotwell/src/SearchFilter.vala"
			gtk_box_pack_start (_tmp22_, G_TYPE_CHECK_INSTANCE_CAST (_tmp23_, gtk_widget_get_type (), GtkWidget), TRUE, TRUE, (guint) 3);
#line 954 "/home/jens/Source/shotwell/src/SearchFilter.vala"
			_tmp24_ = search;
#line 954 "/home/jens/Source/shotwell/src/SearchFilter.vala"
			_tmp25_ = search_filter_toolbar_saved_search_popover_data_button_new (_tmp24_, "edit-delete-symbolic");
#line 954 "/home/jens/Source/shotwell/src/SearchFilter.vala"
			g_object_ref_sink (_tmp25_);
#line 954 "/home/jens/Source/shotwell/src/SearchFilter.vala"
			delete_button = _tmp25_;
#line 955 "/home/jens/Source/shotwell/src/SearchFilter.vala"
			_tmp26_ = row;
#line 955 "/home/jens/Source/shotwell/src/SearchFilter.vala"
			_tmp27_ = delete_button;
#line 955 "/home/jens/Source/shotwell/src/SearchFilter.vala"
			gtk_box_pack_end (_tmp26_, G_TYPE_CHECK_INSTANCE_CAST (_tmp27_, gtk_widget_get_type (), GtkWidget), FALSE, FALSE, (guint) 0);
#line 956 "/home/jens/Source/shotwell/src/SearchFilter.vala"
			_tmp28_ = delete_button;
#line 956 "/home/jens/Source/shotwell/src/SearchFilter.vala"
			g_signal_connect (_tmp28_, "clicked", (GCallback) _search_filter_toolbar_saved_search_popover_on_delete_click_search_filter_toolbar_saved_search_popover_data_button_clicked, self);
#line 957 "/home/jens/Source/shotwell/src/SearchFilter.vala"
			_tmp29_ = self->priv->delete_buttons;
#line 957 "/home/jens/Source/shotwell/src/SearchFilter.vala"
			_tmp29__length1 = self->priv->delete_buttons_length1;
#line 957 "/home/jens/Source/shotwell/src/SearchFilter.vala"
			_tmp30_ = delete_button;
#line 957 "/home/jens/Source/shotwell/src/SearchFilter.vala"
			_tmp31_ = _g_object_ref0 (_tmp30_);
#line 957 "/home/jens/Source/shotwell/src/SearchFilter.vala"
			_vala_array_add133 (&self->priv->delete_buttons, &self->priv->delete_buttons_length1, &self->priv->_delete_buttons_size_, _tmp31_);
#line 959 "/home/jens/Source/shotwell/src/SearchFilter.vala"
			_tmp32_ = search;
#line 959 "/home/jens/Source/shotwell/src/SearchFilter.vala"
			_tmp33_ = search_filter_toolbar_saved_search_popover_data_button_new (_tmp32_, "text-editor-symbolic");
#line 959 "/home/jens/Source/shotwell/src/SearchFilter.vala"
			g_object_ref_sink (_tmp33_);
#line 959 "/home/jens/Source/shotwell/src/SearchFilter.vala"
			edit_button = _tmp33_;
#line 960 "/home/jens/Source/shotwell/src/SearchFilter.vala"
			_tmp34_ = row;
#line 960 "/home/jens/Source/shotwell/src/SearchFilter.vala"
			_tmp35_ = edit_button;
#line 960 "/home/jens/Source/shotwell/src/SearchFilter.vala"
			gtk_box_pack_end (_tmp34_, G_TYPE_CHECK_INSTANCE_CAST (_tmp35_, gtk_widget_get_type (), GtkWidget), FALSE, FALSE, (guint) 0);
#line 961 "/home/jens/Source/shotwell/src/SearchFilter.vala"
			_tmp36_ = edit_button;
#line 961 "/home/jens/Source/shotwell/src/SearchFilter.vala"
			g_signal_connect (_tmp36_, "clicked", (GCallback) _search_filter_toolbar_saved_search_popover_on_edit_click_search_filter_toolbar_saved_search_popover_data_button_clicked, self);
#line 962 "/home/jens/Source/shotwell/src/SearchFilter.vala"
			_tmp37_ = self->priv->edit_buttons;
#line 962 "/home/jens/Source/shotwell/src/SearchFilter.vala"
			_tmp37__length1 = self->priv->edit_buttons_length1;
#line 962 "/home/jens/Source/shotwell/src/SearchFilter.vala"
			_tmp38_ = edit_button;
#line 962 "/home/jens/Source/shotwell/src/SearchFilter.vala"
			_tmp39_ = _g_object_ref0 (_tmp38_);
#line 962 "/home/jens/Source/shotwell/src/SearchFilter.vala"
			_vala_array_add134 (&self->priv->edit_buttons, &self->priv->edit_buttons_length1, &self->priv->_edit_buttons_size_, _tmp39_);
#line 964 "/home/jens/Source/shotwell/src/SearchFilter.vala"
			_tmp40_ = self->priv->list_box;
#line 964 "/home/jens/Source/shotwell/src/SearchFilter.vala"
			_tmp41_ = row;
#line 964 "/home/jens/Source/shotwell/src/SearchFilter.vala"
			gtk_list_box_insert (_tmp40_, G_TYPE_CHECK_INSTANCE_CAST (_tmp41_, gtk_widget_get_type (), GtkWidget), -1);
#line 947 "/home/jens/Source/shotwell/src/SearchFilter.vala"
			_g_object_unref0 (edit_button);
#line 947 "/home/jens/Source/shotwell/src/SearchFilter.vala"
			_g_object_unref0 (delete_button);
#line 947 "/home/jens/Source/shotwell/src/SearchFilter.vala"
			_g_object_unref0 (label);
#line 947 "/home/jens/Source/shotwell/src/SearchFilter.vala"
			_g_object_unref0 (row);
#line 947 "/home/jens/Source/shotwell/src/SearchFilter.vala"
			_g_object_unref0 (search);
#line 8873 "SearchFilter.c"
		}
#line 947 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		_g_object_unref0 (_search_it);
#line 8877 "SearchFilter.c"
	}
#line 966 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp42_ = (GtkButton*) gtk_button_new_from_icon_name ("list-add-symbolic", (GtkIconSize) GTK_ICON_SIZE_BUTTON);
#line 966 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_object_ref_sink (_tmp42_);
#line 966 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_g_object_unref0 (self->priv->add);
#line 966 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	self->priv->add = _tmp42_;
#line 967 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp43_ = self->priv->add;
#line 967 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_signal_connect (_tmp43_, "clicked", (GCallback) _search_filter_toolbar_saved_search_popover_on_add_click_gtk_button_clicked, self);
#line 968 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp44_ = self->priv->list_box;
#line 968 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp45_ = self->priv->add;
#line 968 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	gtk_list_box_insert (_tmp44_, G_TYPE_CHECK_INSTANCE_CAST (_tmp45_, gtk_widget_get_type (), GtkWidget), -1);
#line 969 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp46_ = self->priv->list_box;
#line 969 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_signal_connect (_tmp46_, "row-activated", (GCallback) _search_filter_toolbar_saved_search_popover_on_activate_row_gtk_list_box_row_activated, self);
#line 970 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp47_ = self->priv->list_box;
#line 970 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	gtk_list_box_set_selection_mode (_tmp47_, GTK_SELECTION_NONE);
#line 971 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp48_ = self->priv->popover;
#line 971 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp49_ = self->priv->list_box;
#line 971 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	gtk_container_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp48_, gtk_container_get_type (), GtkContainer), G_TYPE_CHECK_INSTANCE_CAST (_tmp49_, gtk_widget_get_type (), GtkWidget));
#line 973 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	search_filter_toolbar_saved_search_popover_restyle (self);
#line 940 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	return self;
#line 8915 "SearchFilter.c"
}


SearchFilterToolbarSavedSearchPopover*
search_filter_toolbar_saved_search_popover_new (GtkWidget* relative_to)
{
#line 940 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	return search_filter_toolbar_saved_search_popover_construct (SEARCH_FILTER_TOOLBAR_TYPE_SAVED_SEARCH_POPOVER, relative_to);
#line 8924 "SearchFilter.c"
}


void
search_filter_toolbar_saved_search_popover_restyle (SearchFilterToolbarSavedSearchPopover* self)
{
	GtkButton* _tmp0_;
	SearchFilterToolbarSavedSearchPopoverDataButton** _tmp1_;
	gint _tmp1__length1;
	SearchFilterToolbarSavedSearchPopoverDataButton** _tmp4_;
	gint _tmp4__length1;
#line 984 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_return_if_fail (SEARCH_FILTER_TOOLBAR_IS_SAVED_SEARCH_POPOVER (self));
#line 985 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp0_ = self->priv->add;
#line 985 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	gtk_button_set_relief (_tmp0_, GTK_RELIEF_NONE);
#line 986 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp1_ = self->priv->edit_buttons;
#line 986 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp1__length1 = self->priv->edit_buttons_length1;
#line 8946 "SearchFilter.c"
	{
		SearchFilterToolbarSavedSearchPopoverDataButton** button_collection = NULL;
		gint button_collection_length1 = 0;
		gint _button_collection_size_ = 0;
		gint button_it = 0;
#line 986 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		button_collection = _tmp1_;
#line 986 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		button_collection_length1 = _tmp1__length1;
#line 986 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		for (button_it = 0; button_it < _tmp1__length1; button_it = button_it + 1) {
#line 8958 "SearchFilter.c"
			SearchFilterToolbarSavedSearchPopoverDataButton* _tmp2_;
			SearchFilterToolbarSavedSearchPopoverDataButton* button = NULL;
#line 986 "/home/jens/Source/shotwell/src/SearchFilter.vala"
			_tmp2_ = _g_object_ref0 (button_collection[button_it]);
#line 986 "/home/jens/Source/shotwell/src/SearchFilter.vala"
			button = _tmp2_;
#line 8965 "SearchFilter.c"
			{
				SearchFilterToolbarSavedSearchPopoverDataButton* _tmp3_;
#line 986 "/home/jens/Source/shotwell/src/SearchFilter.vala"
				_tmp3_ = button;
#line 986 "/home/jens/Source/shotwell/src/SearchFilter.vala"
				search_filter_toolbar_saved_search_popover_data_button_restyle (_tmp3_);
#line 986 "/home/jens/Source/shotwell/src/SearchFilter.vala"
				_g_object_unref0 (button);
#line 8974 "SearchFilter.c"
			}
		}
	}
#line 987 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp4_ = self->priv->delete_buttons;
#line 987 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp4__length1 = self->priv->delete_buttons_length1;
#line 8982 "SearchFilter.c"
	{
		SearchFilterToolbarSavedSearchPopoverDataButton** button_collection = NULL;
		gint button_collection_length1 = 0;
		gint _button_collection_size_ = 0;
		gint button_it = 0;
#line 987 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		button_collection = _tmp4_;
#line 987 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		button_collection_length1 = _tmp4__length1;
#line 987 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		for (button_it = 0; button_it < _tmp4__length1; button_it = button_it + 1) {
#line 8994 "SearchFilter.c"
			SearchFilterToolbarSavedSearchPopoverDataButton* _tmp5_;
			SearchFilterToolbarSavedSearchPopoverDataButton* button = NULL;
#line 987 "/home/jens/Source/shotwell/src/SearchFilter.vala"
			_tmp5_ = _g_object_ref0 (button_collection[button_it]);
#line 987 "/home/jens/Source/shotwell/src/SearchFilter.vala"
			button = _tmp5_;
#line 9001 "SearchFilter.c"
			{
				SearchFilterToolbarSavedSearchPopoverDataButton* _tmp6_;
#line 987 "/home/jens/Source/shotwell/src/SearchFilter.vala"
				_tmp6_ = button;
#line 987 "/home/jens/Source/shotwell/src/SearchFilter.vala"
				search_filter_toolbar_saved_search_popover_data_button_restyle (_tmp6_);
#line 987 "/home/jens/Source/shotwell/src/SearchFilter.vala"
				_g_object_unref0 (button);
#line 9010 "SearchFilter.c"
			}
		}
	}
}


static gboolean
search_filter_toolbar_saved_search_popover_is_search_row (SearchFilterToolbarSavedSearchPopover* self,
                                                          GtkListBoxRow* row)
{
	gboolean result = FALSE;
	GList* _tmp0_;
	GList* _tmp1_;
	GList* _tmp2_;
	gconstpointer _tmp3_;
	gboolean _tmp4_;
#line 990 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_return_val_if_fail (SEARCH_FILTER_TOOLBAR_IS_SAVED_SEARCH_POPOVER (self), FALSE);
#line 990 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_return_val_if_fail ((row == NULL) || GTK_IS_LIST_BOX_ROW (row), FALSE);
#line 991 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	if (row == NULL) {
#line 991 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		result = FALSE;
#line 991 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		return result;
#line 9037 "SearchFilter.c"
	}
#line 992 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp0_ = gtk_container_get_children (G_TYPE_CHECK_INSTANCE_CAST (row, gtk_container_get_type (), GtkContainer));
#line 992 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp1_ = _tmp0_;
#line 992 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp2_ = g_list_last (_tmp1_);
#line 992 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp3_ = _tmp2_->data;
#line 992 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp4_ = G_TYPE_CHECK_INSTANCE_TYPE ((GtkWidget*) _tmp3_, gtk_button_get_type ());
#line 992 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_g_list_free0 (_tmp1_);
#line 992 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	if (_tmp4_) {
#line 992 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		result = FALSE;
#line 992 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		return result;
#line 9057 "SearchFilter.c"
	}
#line 993 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	result = TRUE;
#line 993 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	return result;
#line 9063 "SearchFilter.c"
}


static SavedSearch*
search_filter_toolbar_saved_search_popover_get_search (SearchFilterToolbarSavedSearchPopover* self,
                                                       GtkListBoxRow* row)
{
	SavedSearch* result = NULL;
	SearchFilterToolbarSavedSearchPopoverDataButton* button = NULL;
	GList* _tmp0_;
	GList* _tmp1_;
	GList* _tmp2_;
	gconstpointer _tmp3_;
	GtkWidget* _tmp4_;
	GList* _tmp5_;
	GList* _tmp6_;
	GList* _tmp7_;
	gconstpointer _tmp8_;
	GtkWidget* _tmp9_;
	SearchFilterToolbarSavedSearchPopoverDataButton* _tmp10_;
	SearchFilterToolbarSavedSearchPopoverDataButton* _tmp11_;
	SavedSearch* _tmp12_;
	SavedSearch* _tmp13_;
	SavedSearch* _tmp14_;
#line 996 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_return_val_if_fail (SEARCH_FILTER_TOOLBAR_IS_SAVED_SEARCH_POPOVER (self), NULL);
#line 996 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_return_val_if_fail (GTK_IS_LIST_BOX_ROW (row), NULL);
#line 997 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp0_ = gtk_container_get_children (G_TYPE_CHECK_INSTANCE_CAST (row, gtk_container_get_type (), GtkContainer));
#line 997 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp1_ = _tmp0_;
#line 997 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp2_ = g_list_first (_tmp1_);
#line 997 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp3_ = _tmp2_->data;
#line 997 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp4_ = (GtkWidget*) _tmp3_;
#line 997 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp5_ = gtk_container_get_children (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_TYPE (_tmp4_, gtk_box_get_type ()) ? ((GtkBox*) _tmp4_) : NULL, gtk_container_get_type (), GtkContainer));
#line 997 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp6_ = _tmp5_;
#line 997 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp7_ = g_list_last (_tmp6_);
#line 997 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp8_ = _tmp7_->data;
#line 997 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp9_ = (GtkWidget*) _tmp8_;
#line 997 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp10_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp9_, SEARCH_FILTER_TOOLBAR_SAVED_SEARCH_POPOVER_TYPE_DATA_BUTTON) ? ((SearchFilterToolbarSavedSearchPopoverDataButton*) _tmp9_) : NULL);
#line 997 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp11_ = _tmp10_;
#line 997 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_g_list_free0 (_tmp6_);
#line 997 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_g_list_free0 (_tmp1_);
#line 997 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	button = _tmp11_;
#line 998 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp12_ = search_filter_toolbar_saved_search_popover_data_button_get_search (button);
#line 998 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp13_ = _tmp12_;
#line 998 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp14_ = _g_object_ref0 (_tmp13_);
#line 998 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	result = _tmp14_;
#line 998 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_g_object_unref0 (button);
#line 998 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	return result;
#line 9134 "SearchFilter.c"
}


static void
search_filter_toolbar_saved_search_popover_on_activate_row (SearchFilterToolbarSavedSearchPopover* self,
                                                            GtkListBoxRow* row)
{
	GtkPopover* _tmp2_;
#line 1001 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_return_if_fail (SEARCH_FILTER_TOOLBAR_IS_SAVED_SEARCH_POPOVER (self));
#line 1001 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_return_if_fail ((row == NULL) || GTK_IS_LIST_BOX_ROW (row));
#line 1002 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	if (search_filter_toolbar_saved_search_popover_is_search_row (self, row)) {
#line 9149 "SearchFilter.c"
		SavedSearch* _tmp0_;
		SavedSearch* _tmp1_;
#line 1003 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		_tmp0_ = search_filter_toolbar_saved_search_popover_get_search (self, row);
#line 1003 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		_tmp1_ = _tmp0_;
#line 1003 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		g_signal_emit (self, search_filter_toolbar_saved_search_popover_signals[SEARCH_FILTER_TOOLBAR_SAVED_SEARCH_POPOVER_SEARCH_ACTIVATED_SIGNAL], 0, _tmp1_);
#line 1003 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		_g_object_unref0 (_tmp1_);
#line 9160 "SearchFilter.c"
	}
#line 1004 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp2_ = self->priv->popover;
#line 1004 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	gtk_widget_hide (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, gtk_widget_get_type (), GtkWidget));
#line 9166 "SearchFilter.c"
}


static void
search_filter_toolbar_saved_search_popover_on_edit_click (SearchFilterToolbarSavedSearchPopover* self,
                                                          SavedSearch* search)
{
#line 1007 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_return_if_fail (SEARCH_FILTER_TOOLBAR_IS_SAVED_SEARCH_POPOVER (self));
#line 1007 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_return_if_fail (IS_SAVED_SEARCH (search));
#line 1008 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_signal_emit (self, search_filter_toolbar_saved_search_popover_signals[SEARCH_FILTER_TOOLBAR_SAVED_SEARCH_POPOVER_EDIT_CLICKED_SIGNAL], 0, search);
#line 9180 "SearchFilter.c"
}


static void
search_filter_toolbar_saved_search_popover_on_delete_click (SearchFilterToolbarSavedSearchPopover* self,
                                                            SavedSearch* search)
{
#line 1011 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_return_if_fail (SEARCH_FILTER_TOOLBAR_IS_SAVED_SEARCH_POPOVER (self));
#line 1011 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_return_if_fail (IS_SAVED_SEARCH (search));
#line 1012 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_signal_emit (self, search_filter_toolbar_saved_search_popover_signals[SEARCH_FILTER_TOOLBAR_SAVED_SEARCH_POPOVER_DELETE_CLICKED_SIGNAL], 0, search);
#line 9194 "SearchFilter.c"
}


static void
search_filter_toolbar_saved_search_popover_on_add_click (SearchFilterToolbarSavedSearchPopover* self)
{
#line 1015 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_return_if_fail (SEARCH_FILTER_TOOLBAR_IS_SAVED_SEARCH_POPOVER (self));
#line 1016 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_signal_emit (self, search_filter_toolbar_saved_search_popover_signals[SEARCH_FILTER_TOOLBAR_SAVED_SEARCH_POPOVER_ADD_CLICKED_SIGNAL], 0);
#line 9205 "SearchFilter.c"
}


static void
search_filter_toolbar_saved_search_popover_on_popover_closed (SearchFilterToolbarSavedSearchPopover* self)
{
#line 1019 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_return_if_fail (SEARCH_FILTER_TOOLBAR_IS_SAVED_SEARCH_POPOVER (self));
#line 1020 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_signal_emit (self, search_filter_toolbar_saved_search_popover_signals[SEARCH_FILTER_TOOLBAR_SAVED_SEARCH_POPOVER_CLOSED_SIGNAL], 0);
#line 9216 "SearchFilter.c"
}


void
search_filter_toolbar_saved_search_popover_show_all (SearchFilterToolbarSavedSearchPopover* self)
{
	GtkPopover* _tmp0_;
#line 1023 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_return_if_fail (SEARCH_FILTER_TOOLBAR_IS_SAVED_SEARCH_POPOVER (self));
#line 1024 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp0_ = self->priv->popover;
#line 1024 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	gtk_widget_show_all (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, gtk_widget_get_type (), GtkWidget));
#line 9230 "SearchFilter.c"
}


void
search_filter_toolbar_saved_search_popover_hide (SearchFilterToolbarSavedSearchPopover* self)
{
	GtkPopover* _tmp0_;
#line 1027 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_return_if_fail (SEARCH_FILTER_TOOLBAR_IS_SAVED_SEARCH_POPOVER (self));
#line 1028 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp0_ = self->priv->popover;
#line 1028 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	gtk_widget_hide (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, gtk_widget_get_type (), GtkWidget));
#line 9244 "SearchFilter.c"
}


static void
_search_filter_toolbar_saved_search_popover_data_button_on_click_gtk_button_clicked (GtkButton* _sender,
                                                                                     gpointer self)
{
#line 927 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	search_filter_toolbar_saved_search_popover_data_button_on_click ((SearchFilterToolbarSavedSearchPopoverDataButton*) self);
#line 9254 "SearchFilter.c"
}


static SearchFilterToolbarSavedSearchPopoverDataButton*
search_filter_toolbar_saved_search_popover_data_button_construct (GType object_type,
                                                                  SavedSearch* search,
                                                                  const gchar* name)
{
	SearchFilterToolbarSavedSearchPopoverDataButton * self = NULL;
	GtkButton* _tmp0_;
	GtkButton* _tmp1_;
	GtkButton* _tmp2_;
#line 916 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_return_val_if_fail (IS_SAVED_SEARCH (search), NULL);
#line 916 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_return_val_if_fail (name != NULL, NULL);
#line 916 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	self = (SearchFilterToolbarSavedSearchPopoverDataButton*) g_object_new (object_type, NULL);
#line 917 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp0_ = (GtkButton*) gtk_button_new_from_icon_name (name, (GtkIconSize) GTK_ICON_SIZE_SMALL_TOOLBAR);
#line 917 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_object_ref_sink (_tmp0_);
#line 917 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_g_object_unref0 (self->priv->button);
#line 917 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	self->priv->button = _tmp0_;
#line 918 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	search_filter_toolbar_saved_search_popover_data_button_set_search (self, search);
#line 919 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp1_ = self->priv->button;
#line 919 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	gtk_container_add (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_container_get_type (), GtkContainer), G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, gtk_widget_get_type (), GtkWidget));
#line 921 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	search_filter_toolbar_saved_search_popover_data_button_restyle (self);
#line 923 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp2_ = self->priv->button;
#line 923 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_signal_connect_object (_tmp2_, "clicked", (GCallback) _search_filter_toolbar_saved_search_popover_data_button_on_click_gtk_button_clicked, self, 0);
#line 916 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	return self;
#line 9295 "SearchFilter.c"
}


static SearchFilterToolbarSavedSearchPopoverDataButton*
search_filter_toolbar_saved_search_popover_data_button_new (SavedSearch* search,
                                                            const gchar* name)
{
#line 916 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	return search_filter_toolbar_saved_search_popover_data_button_construct (SEARCH_FILTER_TOOLBAR_SAVED_SEARCH_POPOVER_TYPE_DATA_BUTTON, search, name);
#line 9305 "SearchFilter.c"
}


static void
search_filter_toolbar_saved_search_popover_data_button_restyle (SearchFilterToolbarSavedSearchPopoverDataButton* self)
{
	GtkButton* _tmp0_;
	GtkButton* _tmp1_;
#line 930 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_return_if_fail (SEARCH_FILTER_TOOLBAR_SAVED_SEARCH_POPOVER_IS_DATA_BUTTON (self));
#line 931 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp0_ = self->priv->button;
#line 931 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	gtk_widget_set_size_request (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, gtk_widget_get_type (), GtkWidget), 24, 24);
#line 932 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp1_ = self->priv->button;
#line 932 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	gtk_button_set_relief (_tmp1_, GTK_RELIEF_NONE);
#line 9324 "SearchFilter.c"
}


static void
search_filter_toolbar_saved_search_popover_data_button_on_click (SearchFilterToolbarSavedSearchPopoverDataButton* self)
{
	SavedSearch* _tmp0_;
#line 935 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_return_if_fail (SEARCH_FILTER_TOOLBAR_SAVED_SEARCH_POPOVER_IS_DATA_BUTTON (self));
#line 936 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp0_ = self->priv->_search;
#line 936 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_signal_emit (self, search_filter_toolbar_saved_search_popover_data_button_signals[SEARCH_FILTER_TOOLBAR_SAVED_SEARCH_POPOVER_DATA_BUTTON_CLICKED_SIGNAL], 0, _tmp0_);
#line 9338 "SearchFilter.c"
}


static SavedSearch*
search_filter_toolbar_saved_search_popover_data_button_get_search (SearchFilterToolbarSavedSearchPopoverDataButton* self)
{
	SavedSearch* result;
	SavedSearch* _tmp0_;
#line 912 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_return_val_if_fail (SEARCH_FILTER_TOOLBAR_SAVED_SEARCH_POPOVER_IS_DATA_BUTTON (self), NULL);
#line 912 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp0_ = self->priv->_search;
#line 912 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	result = _tmp0_;
#line 912 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	return result;
#line 9355 "SearchFilter.c"
}


static void
search_filter_toolbar_saved_search_popover_data_button_set_search (SearchFilterToolbarSavedSearchPopoverDataButton* self,
                                                                   SavedSearch* value)
{
#line 912 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_return_if_fail (SEARCH_FILTER_TOOLBAR_SAVED_SEARCH_POPOVER_IS_DATA_BUTTON (self));
#line 912 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	if (search_filter_toolbar_saved_search_popover_data_button_get_search (self) != value) {
#line 9367 "SearchFilter.c"
		SavedSearch* _tmp0_;
#line 912 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		_tmp0_ = _g_object_ref0 (value);
#line 912 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		_g_object_unref0 (self->priv->_search);
#line 912 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		self->priv->_search = _tmp0_;
#line 912 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		g_object_notify_by_pspec ((GObject *) self, search_filter_toolbar_saved_search_popover_data_button_properties[SEARCH_FILTER_TOOLBAR_SAVED_SEARCH_POPOVER_DATA_BUTTON_SEARCH_PROPERTY]);
#line 9377 "SearchFilter.c"
	}
}


static void
search_filter_toolbar_saved_search_popover_data_button_class_init (SearchFilterToolbarSavedSearchPopoverDataButtonClass * klass)
{
#line 910 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	search_filter_toolbar_saved_search_popover_data_button_parent_class = g_type_class_peek_parent (klass);
#line 910 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_type_class_add_private (klass, sizeof (SearchFilterToolbarSavedSearchPopoverDataButtonPrivate));
#line 910 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	G_OBJECT_CLASS (klass)->get_property = _vala_search_filter_toolbar_saved_search_popover_data_button_get_property;
#line 910 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	G_OBJECT_CLASS (klass)->set_property = _vala_search_filter_toolbar_saved_search_popover_data_button_set_property;
#line 910 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	G_OBJECT_CLASS (klass)->finalize = search_filter_toolbar_saved_search_popover_data_button_finalize;
#line 910 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_object_class_install_property (G_OBJECT_CLASS (klass), SEARCH_FILTER_TOOLBAR_SAVED_SEARCH_POPOVER_DATA_BUTTON_SEARCH_PROPERTY, search_filter_toolbar_saved_search_popover_data_button_properties[SEARCH_FILTER_TOOLBAR_SAVED_SEARCH_POPOVER_DATA_BUTTON_SEARCH_PROPERTY] = g_param_spec_object ("search", "search", "search", TYPE_SAVED_SEARCH, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE));
#line 910 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	search_filter_toolbar_saved_search_popover_data_button_signals[SEARCH_FILTER_TOOLBAR_SAVED_SEARCH_POPOVER_DATA_BUTTON_CLICKED_SIGNAL] = g_signal_new ("clicked", SEARCH_FILTER_TOOLBAR_SAVED_SEARCH_POPOVER_TYPE_DATA_BUTTON, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_marshal_VOID__OBJECT, G_TYPE_NONE, 1, TYPE_SAVED_SEARCH);
#line 9399 "SearchFilter.c"
}


static void
search_filter_toolbar_saved_search_popover_data_button_instance_init (SearchFilterToolbarSavedSearchPopoverDataButton * self)
{
#line 910 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	self->priv = SEARCH_FILTER_TOOLBAR_SAVED_SEARCH_POPOVER_DATA_BUTTON_GET_PRIVATE (self);
#line 911 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	self->priv->button = NULL;
#line 9410 "SearchFilter.c"
}


static void
search_filter_toolbar_saved_search_popover_data_button_finalize (GObject * obj)
{
	SearchFilterToolbarSavedSearchPopoverDataButton * self;
	GtkButton* _tmp0_;
	guint _tmp1_;
#line 910 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, SEARCH_FILTER_TOOLBAR_SAVED_SEARCH_POPOVER_TYPE_DATA_BUTTON, SearchFilterToolbarSavedSearchPopoverDataButton);
#line 927 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp0_ = self->priv->button;
#line 927 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_signal_parse_name ("clicked", gtk_button_get_type (), &_tmp1_, NULL, FALSE);
#line 927 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_signal_handlers_disconnect_matched (_tmp0_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp1_, 0, NULL, (GCallback) _search_filter_toolbar_saved_search_popover_data_button_on_click_gtk_button_clicked, self);
#line 911 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_g_object_unref0 (self->priv->button);
#line 912 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_g_object_unref0 (self->priv->_search);
#line 910 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	G_OBJECT_CLASS (search_filter_toolbar_saved_search_popover_data_button_parent_class)->finalize (obj);
#line 9434 "SearchFilter.c"
}


static GType
search_filter_toolbar_saved_search_popover_data_button_get_type (void)
{
	static volatile gsize search_filter_toolbar_saved_search_popover_data_button_type_id__volatile = 0;
	if (g_once_init_enter (&search_filter_toolbar_saved_search_popover_data_button_type_id__volatile)) {
		static const GTypeInfo g_define_type_info = { sizeof (SearchFilterToolbarSavedSearchPopoverDataButtonClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) search_filter_toolbar_saved_search_popover_data_button_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (SearchFilterToolbarSavedSearchPopoverDataButton), 0, (GInstanceInitFunc) search_filter_toolbar_saved_search_popover_data_button_instance_init, NULL };
		GType search_filter_toolbar_saved_search_popover_data_button_type_id;
		search_filter_toolbar_saved_search_popover_data_button_type_id = g_type_register_static (gtk_bin_get_type (), "SearchFilterToolbarSavedSearchPopoverDataButton", &g_define_type_info, 0);
		g_once_init_leave (&search_filter_toolbar_saved_search_popover_data_button_type_id__volatile, search_filter_toolbar_saved_search_popover_data_button_type_id);
	}
	return search_filter_toolbar_saved_search_popover_data_button_type_id__volatile;
}


static void
_vala_search_filter_toolbar_saved_search_popover_data_button_get_property (GObject * object,
                                                                           guint property_id,
                                                                           GValue * value,
                                                                           GParamSpec * pspec)
{
	SearchFilterToolbarSavedSearchPopoverDataButton * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, SEARCH_FILTER_TOOLBAR_SAVED_SEARCH_POPOVER_TYPE_DATA_BUTTON, SearchFilterToolbarSavedSearchPopoverDataButton);
#line 910 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	switch (property_id) {
#line 910 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		case SEARCH_FILTER_TOOLBAR_SAVED_SEARCH_POPOVER_DATA_BUTTON_SEARCH_PROPERTY:
#line 910 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		g_value_set_object (value, search_filter_toolbar_saved_search_popover_data_button_get_search (self));
#line 910 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		break;
#line 9468 "SearchFilter.c"
		default:
#line 910 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
#line 910 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		break;
#line 9474 "SearchFilter.c"
	}
}


static void
_vala_search_filter_toolbar_saved_search_popover_data_button_set_property (GObject * object,
                                                                           guint property_id,
                                                                           const GValue * value,
                                                                           GParamSpec * pspec)
{
	SearchFilterToolbarSavedSearchPopoverDataButton * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, SEARCH_FILTER_TOOLBAR_SAVED_SEARCH_POPOVER_TYPE_DATA_BUTTON, SearchFilterToolbarSavedSearchPopoverDataButton);
#line 910 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	switch (property_id) {
#line 910 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		case SEARCH_FILTER_TOOLBAR_SAVED_SEARCH_POPOVER_DATA_BUTTON_SEARCH_PROPERTY:
#line 910 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		search_filter_toolbar_saved_search_popover_data_button_set_search (self, g_value_get_object (value));
#line 910 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		break;
#line 9495 "SearchFilter.c"
		default:
#line 910 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
#line 910 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		break;
#line 9501 "SearchFilter.c"
	}
}


static void
search_filter_toolbar_value_saved_search_popover_init (GValue* value)
{
#line 896 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	value->data[0].v_pointer = NULL;
#line 9511 "SearchFilter.c"
}


static void
search_filter_toolbar_value_saved_search_popover_free_value (GValue* value)
{
#line 896 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	if (value->data[0].v_pointer) {
#line 896 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		search_filter_toolbar_saved_search_popover_unref (value->data[0].v_pointer);
#line 9522 "SearchFilter.c"
	}
}


static void
search_filter_toolbar_value_saved_search_popover_copy_value (const GValue* src_value,
                                                             GValue* dest_value)
{
#line 896 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	if (src_value->data[0].v_pointer) {
#line 896 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		dest_value->data[0].v_pointer = search_filter_toolbar_saved_search_popover_ref (src_value->data[0].v_pointer);
#line 9535 "SearchFilter.c"
	} else {
#line 896 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		dest_value->data[0].v_pointer = NULL;
#line 9539 "SearchFilter.c"
	}
}


static gpointer
search_filter_toolbar_value_saved_search_popover_peek_pointer (const GValue* value)
{
#line 896 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	return value->data[0].v_pointer;
#line 9549 "SearchFilter.c"
}


static gchar*
search_filter_toolbar_value_saved_search_popover_collect_value (GValue* value,
                                                                guint n_collect_values,
                                                                GTypeCValue* collect_values,
                                                                guint collect_flags)
{
#line 896 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	if (collect_values[0].v_pointer) {
#line 9561 "SearchFilter.c"
		SearchFilterToolbarSavedSearchPopover * object;
		object = collect_values[0].v_pointer;
#line 896 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		if (object->parent_instance.g_class == NULL) {
#line 896 "/home/jens/Source/shotwell/src/SearchFilter.vala"
			return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL);
#line 9568 "SearchFilter.c"
		} else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) {
#line 896 "/home/jens/Source/shotwell/src/SearchFilter.vala"
			return g_strconcat ("invalid object type `", g_type_name (G_TYPE_FROM_INSTANCE (object)), "' for value type `", G_VALUE_TYPE_NAME (value), "'", NULL);
#line 9572 "SearchFilter.c"
		}
#line 896 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		value->data[0].v_pointer = search_filter_toolbar_saved_search_popover_ref (object);
#line 9576 "SearchFilter.c"
	} else {
#line 896 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		value->data[0].v_pointer = NULL;
#line 9580 "SearchFilter.c"
	}
#line 896 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	return NULL;
#line 9584 "SearchFilter.c"
}


static gchar*
search_filter_toolbar_value_saved_search_popover_lcopy_value (const GValue* value,
                                                              guint n_collect_values,
                                                              GTypeCValue* collect_values,
                                                              guint collect_flags)
{
	SearchFilterToolbarSavedSearchPopover ** object_p;
	object_p = collect_values[0].v_pointer;
#line 896 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	if (!object_p) {
#line 896 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value));
#line 9600 "SearchFilter.c"
	}
#line 896 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	if (!value->data[0].v_pointer) {
#line 896 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		*object_p = NULL;
#line 9606 "SearchFilter.c"
	} else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) {
#line 896 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		*object_p = value->data[0].v_pointer;
#line 9610 "SearchFilter.c"
	} else {
#line 896 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		*object_p = search_filter_toolbar_saved_search_popover_ref (value->data[0].v_pointer);
#line 9614 "SearchFilter.c"
	}
#line 896 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	return NULL;
#line 9618 "SearchFilter.c"
}


GParamSpec*
search_filter_toolbar_param_spec_saved_search_popover (const gchar* name,
                                                       const gchar* nick,
                                                       const gchar* blurb,
                                                       GType object_type,
                                                       GParamFlags flags)
{
	SearchFilterToolbarParamSpecSavedSearchPopover* spec;
#line 896 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_return_val_if_fail (g_type_is_a (object_type, SEARCH_FILTER_TOOLBAR_TYPE_SAVED_SEARCH_POPOVER), NULL);
#line 896 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags);
#line 896 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	G_PARAM_SPEC (spec)->value_type = object_type;
#line 896 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	return G_PARAM_SPEC (spec);
#line 9638 "SearchFilter.c"
}


gpointer
search_filter_toolbar_value_get_saved_search_popover (const GValue* value)
{
#line 896 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, SEARCH_FILTER_TOOLBAR_TYPE_SAVED_SEARCH_POPOVER), NULL);
#line 896 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	return value->data[0].v_pointer;
#line 9649 "SearchFilter.c"
}


void
search_filter_toolbar_value_set_saved_search_popover (GValue* value,
                                                      gpointer v_object)
{
	SearchFilterToolbarSavedSearchPopover * old;
#line 896 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, SEARCH_FILTER_TOOLBAR_TYPE_SAVED_SEARCH_POPOVER));
#line 896 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	old = value->data[0].v_pointer;
#line 896 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	if (v_object) {
#line 896 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, SEARCH_FILTER_TOOLBAR_TYPE_SAVED_SEARCH_POPOVER));
#line 896 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value)));
#line 896 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		value->data[0].v_pointer = v_object;
#line 896 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		search_filter_toolbar_saved_search_popover_ref (value->data[0].v_pointer);
#line 9672 "SearchFilter.c"
	} else {
#line 896 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		value->data[0].v_pointer = NULL;
#line 9676 "SearchFilter.c"
	}
#line 896 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	if (old) {
#line 896 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		search_filter_toolbar_saved_search_popover_unref (old);
#line 9682 "SearchFilter.c"
	}
}


void
search_filter_toolbar_value_take_saved_search_popover (GValue* value,
                                                       gpointer v_object)
{
	SearchFilterToolbarSavedSearchPopover * old;
#line 896 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, SEARCH_FILTER_TOOLBAR_TYPE_SAVED_SEARCH_POPOVER));
#line 896 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	old = value->data[0].v_pointer;
#line 896 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	if (v_object) {
#line 896 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, SEARCH_FILTER_TOOLBAR_TYPE_SAVED_SEARCH_POPOVER));
#line 896 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value)));
#line 896 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		value->data[0].v_pointer = v_object;
#line 9704 "SearchFilter.c"
	} else {
#line 896 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		value->data[0].v_pointer = NULL;
#line 9708 "SearchFilter.c"
	}
#line 896 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	if (old) {
#line 896 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		search_filter_toolbar_saved_search_popover_unref (old);
#line 9714 "SearchFilter.c"
	}
}


static void
search_filter_toolbar_saved_search_popover_class_init (SearchFilterToolbarSavedSearchPopoverClass * klass)
{
#line 896 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	search_filter_toolbar_saved_search_popover_parent_class = g_type_class_peek_parent (klass);
#line 896 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	((SearchFilterToolbarSavedSearchPopoverClass *) klass)->finalize = search_filter_toolbar_saved_search_popover_finalize;
#line 896 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_type_class_add_private (klass, sizeof (SearchFilterToolbarSavedSearchPopoverPrivate));
#line 896 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	search_filter_toolbar_saved_search_popover_signals[SEARCH_FILTER_TOOLBAR_SAVED_SEARCH_POPOVER_SEARCH_ACTIVATED_SIGNAL] = g_signal_new ("search-activated", SEARCH_FILTER_TOOLBAR_TYPE_SAVED_SEARCH_POPOVER, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_marshal_VOID__OBJECT, G_TYPE_NONE, 1, TYPE_SAVED_SEARCH);
#line 896 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	search_filter_toolbar_saved_search_popover_signals[SEARCH_FILTER_TOOLBAR_SAVED_SEARCH_POPOVER_EDIT_CLICKED_SIGNAL] = g_signal_new ("edit-clicked", SEARCH_FILTER_TOOLBAR_TYPE_SAVED_SEARCH_POPOVER, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_marshal_VOID__OBJECT, G_TYPE_NONE, 1, TYPE_SAVED_SEARCH);
#line 896 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	search_filter_toolbar_saved_search_popover_signals[SEARCH_FILTER_TOOLBAR_SAVED_SEARCH_POPOVER_DELETE_CLICKED_SIGNAL] = g_signal_new ("delete-clicked", SEARCH_FILTER_TOOLBAR_TYPE_SAVED_SEARCH_POPOVER, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_marshal_VOID__OBJECT, G_TYPE_NONE, 1, TYPE_SAVED_SEARCH);
#line 896 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	search_filter_toolbar_saved_search_popover_signals[SEARCH_FILTER_TOOLBAR_SAVED_SEARCH_POPOVER_ADD_CLICKED_SIGNAL] = g_signal_new ("add-clicked", SEARCH_FILTER_TOOLBAR_TYPE_SAVED_SEARCH_POPOVER, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0);
#line 896 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	search_filter_toolbar_saved_search_popover_signals[SEARCH_FILTER_TOOLBAR_SAVED_SEARCH_POPOVER_CLOSED_SIGNAL] = g_signal_new ("closed", SEARCH_FILTER_TOOLBAR_TYPE_SAVED_SEARCH_POPOVER, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0);
#line 9738 "SearchFilter.c"
}


static void
search_filter_toolbar_saved_search_popover_instance_init (SearchFilterToolbarSavedSearchPopover * self)
{
#line 896 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	self->priv = SEARCH_FILTER_TOOLBAR_SAVED_SEARCH_POPOVER_GET_PRIVATE (self);
#line 897 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	self->priv->popover = NULL;
#line 898 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	self->priv->list_box = NULL;
#line 899 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	self->priv->edit_buttons = NULL;
#line 899 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	self->priv->edit_buttons_length1 = 0;
#line 899 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	self->priv->_edit_buttons_size_ = self->priv->edit_buttons_length1;
#line 900 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	self->priv->delete_buttons = NULL;
#line 900 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	self->priv->delete_buttons_length1 = 0;
#line 900 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	self->priv->_delete_buttons_size_ = self->priv->delete_buttons_length1;
#line 901 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	self->priv->add = NULL;
#line 896 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	self->ref_count = 1;
#line 9767 "SearchFilter.c"
}


static void
search_filter_toolbar_saved_search_popover_finalize (SearchFilterToolbarSavedSearchPopover * obj)
{
	SearchFilterToolbarSavedSearchPopover * self;
	SearchFilterToolbarSavedSearchPopoverDataButton** _tmp0_;
	gint _tmp0__length1;
	SearchFilterToolbarSavedSearchPopoverDataButton** _tmp4_;
	gint _tmp4__length1;
	GtkButton* _tmp8_;
	guint _tmp9_;
	GtkListBox* _tmp10_;
	guint _tmp11_;
	GtkPopover* _tmp12_;
	guint _tmp13_;
#line 896 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, SEARCH_FILTER_TOOLBAR_TYPE_SAVED_SEARCH_POPOVER, SearchFilterToolbarSavedSearchPopover);
#line 896 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_signal_handlers_destroy (self);
#line 977 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp0_ = self->priv->edit_buttons;
#line 977 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp0__length1 = self->priv->edit_buttons_length1;
#line 9793 "SearchFilter.c"
	{
		SearchFilterToolbarSavedSearchPopoverDataButton** button_collection = NULL;
		gint button_collection_length1 = 0;
		gint _button_collection_size_ = 0;
		gint button_it = 0;
#line 977 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		button_collection = _tmp0_;
#line 977 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		button_collection_length1 = _tmp0__length1;
#line 977 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		for (button_it = 0; button_it < _tmp0__length1; button_it = button_it + 1) {
#line 9805 "SearchFilter.c"
			SearchFilterToolbarSavedSearchPopoverDataButton* _tmp1_;
			SearchFilterToolbarSavedSearchPopoverDataButton* button = NULL;
#line 977 "/home/jens/Source/shotwell/src/SearchFilter.vala"
			_tmp1_ = _g_object_ref0 (button_collection[button_it]);
#line 977 "/home/jens/Source/shotwell/src/SearchFilter.vala"
			button = _tmp1_;
#line 9812 "SearchFilter.c"
			{
				SearchFilterToolbarSavedSearchPopoverDataButton* _tmp2_;
				guint _tmp3_;
#line 977 "/home/jens/Source/shotwell/src/SearchFilter.vala"
				_tmp2_ = button;
#line 977 "/home/jens/Source/shotwell/src/SearchFilter.vala"
				g_signal_parse_name ("clicked", SEARCH_FILTER_TOOLBAR_SAVED_SEARCH_POPOVER_TYPE_DATA_BUTTON, &_tmp3_, NULL, FALSE);
#line 977 "/home/jens/Source/shotwell/src/SearchFilter.vala"
				g_signal_handlers_disconnect_matched (_tmp2_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp3_, 0, NULL, (GCallback) _search_filter_toolbar_saved_search_popover_on_edit_click_search_filter_toolbar_saved_search_popover_data_button_clicked, self);
#line 977 "/home/jens/Source/shotwell/src/SearchFilter.vala"
				_g_object_unref0 (button);
#line 9824 "SearchFilter.c"
			}
		}
	}
#line 978 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp4_ = self->priv->delete_buttons;
#line 978 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp4__length1 = self->priv->delete_buttons_length1;
#line 9832 "SearchFilter.c"
	{
		SearchFilterToolbarSavedSearchPopoverDataButton** button_collection = NULL;
		gint button_collection_length1 = 0;
		gint _button_collection_size_ = 0;
		gint button_it = 0;
#line 978 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		button_collection = _tmp4_;
#line 978 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		button_collection_length1 = _tmp4__length1;
#line 978 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		for (button_it = 0; button_it < _tmp4__length1; button_it = button_it + 1) {
#line 9844 "SearchFilter.c"
			SearchFilterToolbarSavedSearchPopoverDataButton* _tmp5_;
			SearchFilterToolbarSavedSearchPopoverDataButton* button = NULL;
#line 978 "/home/jens/Source/shotwell/src/SearchFilter.vala"
			_tmp5_ = _g_object_ref0 (button_collection[button_it]);
#line 978 "/home/jens/Source/shotwell/src/SearchFilter.vala"
			button = _tmp5_;
#line 9851 "SearchFilter.c"
			{
				SearchFilterToolbarSavedSearchPopoverDataButton* _tmp6_;
				guint _tmp7_;
#line 978 "/home/jens/Source/shotwell/src/SearchFilter.vala"
				_tmp6_ = button;
#line 978 "/home/jens/Source/shotwell/src/SearchFilter.vala"
				g_signal_parse_name ("clicked", SEARCH_FILTER_TOOLBAR_SAVED_SEARCH_POPOVER_TYPE_DATA_BUTTON, &_tmp7_, NULL, FALSE);
#line 978 "/home/jens/Source/shotwell/src/SearchFilter.vala"
				g_signal_handlers_disconnect_matched (_tmp6_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp7_, 0, NULL, (GCallback) _search_filter_toolbar_saved_search_popover_on_delete_click_search_filter_toolbar_saved_search_popover_data_button_clicked, self);
#line 978 "/home/jens/Source/shotwell/src/SearchFilter.vala"
				_g_object_unref0 (button);
#line 9863 "SearchFilter.c"
			}
		}
	}
#line 979 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp8_ = self->priv->add;
#line 979 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_signal_parse_name ("clicked", gtk_button_get_type (), &_tmp9_, NULL, FALSE);
#line 979 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_signal_handlers_disconnect_matched (_tmp8_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp9_, 0, NULL, (GCallback) _search_filter_toolbar_saved_search_popover_on_add_click_gtk_button_clicked, self);
#line 980 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp10_ = self->priv->list_box;
#line 980 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_signal_parse_name ("row-activated", gtk_list_box_get_type (), &_tmp11_, NULL, FALSE);
#line 980 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_signal_handlers_disconnect_matched (_tmp10_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp11_, 0, NULL, (GCallback) _search_filter_toolbar_saved_search_popover_on_activate_row_gtk_list_box_row_activated, self);
#line 981 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp12_ = self->priv->popover;
#line 981 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_signal_parse_name ("closed", gtk_popover_get_type (), &_tmp13_, NULL, FALSE);
#line 981 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_signal_handlers_disconnect_matched (_tmp12_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp13_, 0, NULL, (GCallback) _search_filter_toolbar_saved_search_popover_on_popover_closed_gtk_popover_closed, self);
#line 897 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_g_object_unref0 (self->priv->popover);
#line 898 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_g_object_unref0 (self->priv->list_box);
#line 899 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	self->priv->edit_buttons = (_vala_array_free (self->priv->edit_buttons, self->priv->edit_buttons_length1, (GDestroyNotify) g_object_unref), NULL);
#line 900 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	self->priv->delete_buttons = (_vala_array_free (self->priv->delete_buttons, self->priv->delete_buttons_length1, (GDestroyNotify) g_object_unref), NULL);
#line 901 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_g_object_unref0 (self->priv->add);
#line 9895 "SearchFilter.c"
}


GType
search_filter_toolbar_saved_search_popover_get_type (void)
{
	static volatile gsize search_filter_toolbar_saved_search_popover_type_id__volatile = 0;
	if (g_once_init_enter (&search_filter_toolbar_saved_search_popover_type_id__volatile)) {
		static const GTypeValueTable g_define_type_value_table = { search_filter_toolbar_value_saved_search_popover_init, search_filter_toolbar_value_saved_search_popover_free_value, search_filter_toolbar_value_saved_search_popover_copy_value, search_filter_toolbar_value_saved_search_popover_peek_pointer, "p", search_filter_toolbar_value_saved_search_popover_collect_value, "p", search_filter_toolbar_value_saved_search_popover_lcopy_value };
		static const GTypeInfo g_define_type_info = { sizeof (SearchFilterToolbarSavedSearchPopoverClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) search_filter_toolbar_saved_search_popover_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (SearchFilterToolbarSavedSearchPopover), 0, (GInstanceInitFunc) search_filter_toolbar_saved_search_popover_instance_init, &g_define_type_value_table };
		static const GTypeFundamentalInfo g_define_type_fundamental_info = { (G_TYPE_FLAG_CLASSED | G_TYPE_FLAG_INSTANTIATABLE | G_TYPE_FLAG_DERIVABLE | G_TYPE_FLAG_DEEP_DERIVABLE) };
		GType search_filter_toolbar_saved_search_popover_type_id;
		search_filter_toolbar_saved_search_popover_type_id = g_type_register_fundamental (g_type_fundamental_next (), "SearchFilterToolbarSavedSearchPopover", &g_define_type_info, &g_define_type_fundamental_info, 0);
		g_once_init_leave (&search_filter_toolbar_saved_search_popover_type_id__volatile, search_filter_toolbar_saved_search_popover_type_id);
	}
	return search_filter_toolbar_saved_search_popover_type_id__volatile;
}


gpointer
search_filter_toolbar_saved_search_popover_ref (gpointer instance)
{
	SearchFilterToolbarSavedSearchPopover * self;
	self = instance;
#line 896 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_atomic_int_inc (&self->ref_count);
#line 896 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	return instance;
#line 9924 "SearchFilter.c"
}


void
search_filter_toolbar_saved_search_popover_unref (gpointer instance)
{
	SearchFilterToolbarSavedSearchPopover * self;
	self = instance;
#line 896 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	if (g_atomic_int_dec_and_test (&self->ref_count)) {
#line 896 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		SEARCH_FILTER_TOOLBAR_SAVED_SEARCH_POPOVER_GET_CLASS (self)->finalize (self);
#line 896 "/home/jens/Source/shotwell/src/SearchFilter.vala"
		g_type_free_instance ((GTypeInstance *) self);
#line 9939 "SearchFilter.c"
	}
}


static void
search_filter_toolbar_class_init (SearchFilterToolbarClass * klass)
{
#line 602 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	search_filter_toolbar_parent_class = g_type_class_peek_parent (klass);
#line 602 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_type_class_add_private (klass, sizeof (SearchFilterToolbarPrivate));
#line 602 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	G_OBJECT_CLASS (klass)->finalize = search_filter_toolbar_finalize;
#line 9953 "SearchFilter.c"
}


static void
search_filter_toolbar_instance_init (SearchFilterToolbar * self)
{
	GtkMenu* _tmp0_;
	GtkMenuItem* _tmp1_;
	GtkBuilder* _tmp2_;
	SearchFilterToolbarSavedSearchFilterButton* _tmp3_;
#line 602 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	self->priv = SEARCH_FILTER_TOOLBAR_GET_PRIVATE (self);
#line 661 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp0_ = (GtkMenu*) gtk_menu_new ();
#line 661 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_object_ref_sink (_tmp0_);
#line 661 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	self->priv->close_menu = _tmp0_;
#line 662 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp1_ = (GtkMenuItem*) gtk_menu_item_new ();
#line 662 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_object_ref_sink (_tmp1_);
#line 662 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	self->priv->close_item = _tmp1_;
#line 1032 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp2_ = gtk_builder_new ();
#line 1032 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	self->builder = _tmp2_;
#line 1035 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	self->priv->saved_search = NULL;
#line 1038 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp3_ = search_filter_toolbar_saved_search_filter_button_new ();
#line 1038 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_object_ref_sink (_tmp3_);
#line 1038 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	self->priv->saved_search_button = _tmp3_;
#line 1039 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	self->priv->elide_showing_again = FALSE;
#line 1040 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	self->priv->search_filter = NULL;
#line 9994 "SearchFilter.c"
}


static void
search_filter_toolbar_finalize (GObject * obj)
{
	SearchFilterToolbar * self;
	SearchFilterActions* _tmp0_;
	guint _tmp1_;
	SearchFilterActions* _tmp2_;
	guint _tmp3_;
	SearchFilterActions* _tmp4_;
	guint _tmp5_;
	SearchFilterActions* _tmp6_;
	guint _tmp7_;
	SearchFilterActions* _tmp8_;
	guint _tmp9_;
	SearchFilterActions* _tmp10_;
	guint _tmp11_;
	SearchFilterActions* _tmp12_;
	guint _tmp13_;
	SearchFilterActions* _tmp14_;
	guint _tmp15_;
	GtkToolbar* _tmp16_;
	guint _tmp17_;
#line 602 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_SEARCH_FILTER_TOOLBAR, SearchFilterToolbar);
#line 1156 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp0_ = self->priv->actions;
#line 1156 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_signal_parse_name ("media-context-changed", TYPE_SEARCH_FILTER_ACTIONS, &_tmp1_, NULL, FALSE);
#line 1156 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_signal_handlers_disconnect_matched (_tmp0_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp1_, 0, NULL, (GCallback) _search_filter_toolbar_on_media_context_changed_search_filter_actions_media_context_changed, self);
#line 1158 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp2_ = self->priv->actions;
#line 1158 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_signal_parse_name ("flagged-toggled", TYPE_SEARCH_FILTER_ACTIONS, &_tmp3_, NULL, FALSE);
#line 1158 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_signal_handlers_disconnect_matched (_tmp2_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp3_, 0, NULL, (GCallback) _search_filter_toolbar_on_flagged_toggled_search_filter_actions_flagged_toggled, self);
#line 1159 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp4_ = self->priv->actions;
#line 1159 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_signal_parse_name ("photos-toggled", TYPE_SEARCH_FILTER_ACTIONS, &_tmp5_, NULL, FALSE);
#line 1159 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_signal_handlers_disconnect_matched (_tmp4_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp5_, 0, NULL, (GCallback) _search_filter_toolbar_on_photos_toggled_search_filter_actions_photos_toggled, self);
#line 1160 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp6_ = self->priv->actions;
#line 1160 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_signal_parse_name ("videos-toggled", TYPE_SEARCH_FILTER_ACTIONS, &_tmp7_, NULL, FALSE);
#line 1160 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_signal_handlers_disconnect_matched (_tmp6_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp7_, 0, NULL, (GCallback) _search_filter_toolbar_on_videos_toggled_search_filter_actions_videos_toggled, self);
#line 1161 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp8_ = self->priv->actions;
#line 1161 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_signal_parse_name ("raw-toggled", TYPE_SEARCH_FILTER_ACTIONS, &_tmp9_, NULL, FALSE);
#line 1161 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_signal_handlers_disconnect_matched (_tmp8_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp9_, 0, NULL, (GCallback) _search_filter_toolbar_on_raw_toggled_search_filter_actions_raw_toggled, self);
#line 1162 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp10_ = self->priv->actions;
#line 1162 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_signal_parse_name ("rating-changed", TYPE_SEARCH_FILTER_ACTIONS, &_tmp11_, NULL, FALSE);
#line 1162 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_signal_handlers_disconnect_matched (_tmp10_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp11_, 0, NULL, (GCallback) _search_filter_toolbar_on_rating_changed_search_filter_actions_rating_changed, self);
#line 1163 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp12_ = self->priv->actions;
#line 1163 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_signal_parse_name ("text-changed", TYPE_SEARCH_FILTER_ACTIONS, &_tmp13_, NULL, FALSE);
#line 1163 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_signal_handlers_disconnect_matched (_tmp12_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp13_, 0, NULL, (GCallback) _search_filter_toolbar_on_search_text_changed_search_filter_actions_text_changed, self);
#line 1164 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp14_ = self->priv->actions;
#line 1164 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_signal_parse_name ("criteria-changed", TYPE_SEARCH_FILTER_ACTIONS, &_tmp15_, NULL, FALSE);
#line 1164 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_signal_handlers_disconnect_matched (_tmp14_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp15_, 0, NULL, (GCallback) _search_filter_toolbar_on_criteria_changed_search_filter_actions_criteria_changed, self);
#line 1166 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_tmp16_ = self->priv->toolbar;
#line 1166 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_signal_parse_name ("popup-context-menu", gtk_toolbar_get_type (), &_tmp17_, NULL, FALSE);
#line 1166 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	g_signal_handlers_disconnect_matched (_tmp16_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp17_, 0, NULL, (GCallback) _search_filter_toolbar_on_context_menu_requested_gtk_toolbar_popup_context_menu, self);
#line 603 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_g_object_unref0 (self->priv->toolbar);
#line 661 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_g_object_unref0 (self->priv->close_menu);
#line 662 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_g_object_unref0 (self->priv->close_item);
#line 1032 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_g_object_unref0 (self->builder);
#line 1034 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_search_filter_actions_unref0 (self->priv->actions);
#line 1035 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_g_object_unref0 (self->priv->saved_search);
#line 1036 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_g_object_unref0 (self->priv->search_box);
#line 1037 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_g_object_unref0 (self->priv->rating_button);
#line 1038 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_g_object_unref0 (self->priv->saved_search_button);
#line 1040 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_view_filter_unref0 (self->priv->search_filter);
#line 1041 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_g_object_unref0 (self->priv->label_type);
#line 1042 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_g_object_unref0 (self->priv->toolbtn_photos);
#line 1043 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_g_object_unref0 (self->priv->toolbtn_videos);
#line 1044 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_g_object_unref0 (self->priv->toolbtn_raw);
#line 1045 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_g_object_unref0 (self->priv->toolbtn_flag);
#line 1046 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_g_object_unref0 (self->priv->sepr_mediatype_flagged);
#line 1047 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_g_object_unref0 (self->priv->sepr_flagged_rating);
#line 1048 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	_g_object_unref0 (self->priv->sepr_rating_saved);
#line 602 "/home/jens/Source/shotwell/src/SearchFilter.vala"
	G_OBJECT_CLASS (search_filter_toolbar_parent_class)->finalize (obj);
#line 10114 "SearchFilter.c"
}


GType
search_filter_toolbar_get_type (void)
{
	static volatile gsize search_filter_toolbar_type_id__volatile = 0;
	if (g_once_init_enter (&search_filter_toolbar_type_id__volatile)) {
		static const GTypeInfo g_define_type_info = { sizeof (SearchFilterToolbarClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) search_filter_toolbar_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (SearchFilterToolbar), 0, (GInstanceInitFunc) search_filter_toolbar_instance_init, NULL };
		GType search_filter_toolbar_type_id;
		search_filter_toolbar_type_id = g_type_register_static (gtk_revealer_get_type (), "SearchFilterToolbar", &g_define_type_info, 0);
		g_once_init_leave (&search_filter_toolbar_type_id__volatile, search_filter_toolbar_type_id);
	}
	return search_filter_toolbar_type_id__volatile;
}


static void
_vala_array_destroy (gpointer array,
                     gint array_length,
                     GDestroyNotify destroy_func)
{
	if ((array != NULL) && (destroy_func != NULL)) {
		int i;
		for (i = 0; i < array_length; i = i + 1) {
			if (((gpointer*) array)[i] != NULL) {
				destroy_func (((gpointer*) array)[i]);
			}
		}
	}
}


static void
_vala_array_free (gpointer array,
                  gint array_length,
                  GDestroyNotify destroy_func)
{
	_vala_array_destroy (array, array_length, destroy_func);
	g_free (array);
}


static gint
_vala_array_length (gpointer array)
{
	int length;
	length = 0;
	if (array) {
		while (((gpointer*) array)[length]) {
			length++;
		}
	}
	return length;
}



