summaryrefslogtreecommitdiff
path: root/src/searches
diff options
context:
space:
mode:
Diffstat (limited to 'src/searches')
-rw-r--r--src/searches/Branch.c1655
-rw-r--r--src/searches/SavedSearchDialog.c6493
-rw-r--r--src/searches/SavedSearchDialog.vala2
-rw-r--r--src/searches/SavedSearchPage.c1493
-rw-r--r--src/searches/SearchBoolean.c6902
-rw-r--r--src/searches/Searches.c49
-rw-r--r--src/searches/mk/searches.mk31
7 files changed, 16593 insertions, 32 deletions
diff --git a/src/searches/Branch.c b/src/searches/Branch.c
new file mode 100644
index 0000000..81618ba
--- /dev/null
+++ b/src/searches/Branch.c
@@ -0,0 +1,1655 @@
+/* Branch.c generated by valac 0.32.1, the Vala compiler
+ * generated from Branch.vala, do not modify */
+
+/* Copyright 2016 Software Freedom Conservancy Inc.
+ *
+ * This software is licensed under the GNU LGPL (version 2.1 or later).
+ * See the COPYING file in this distribution.
+ */
+
+#include <glib.h>
+#include <glib-object.h>
+#include <gee.h>
+#include <stdlib.h>
+#include <string.h>
+#include <gtk/gtk.h>
+#include <gdk/gdk.h>
+#include <glib/gi18n-lib.h>
+#include <gio/gio.h>
+
+
+#define SIDEBAR_TYPE_BRANCH (sidebar_branch_get_type ())
+#define SIDEBAR_BRANCH(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SIDEBAR_TYPE_BRANCH, SidebarBranch))
+#define SIDEBAR_BRANCH_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SIDEBAR_TYPE_BRANCH, SidebarBranchClass))
+#define SIDEBAR_IS_BRANCH(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SIDEBAR_TYPE_BRANCH))
+#define SIDEBAR_IS_BRANCH_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SIDEBAR_TYPE_BRANCH))
+#define SIDEBAR_BRANCH_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SIDEBAR_TYPE_BRANCH, SidebarBranchClass))
+
+typedef struct _SidebarBranch SidebarBranch;
+typedef struct _SidebarBranchClass SidebarBranchClass;
+typedef struct _SidebarBranchPrivate SidebarBranchPrivate;
+
+#define SEARCHES_TYPE_BRANCH (searches_branch_get_type ())
+#define SEARCHES_BRANCH(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SEARCHES_TYPE_BRANCH, SearchesBranch))
+#define SEARCHES_BRANCH_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SEARCHES_TYPE_BRANCH, SearchesBranchClass))
+#define SEARCHES_IS_BRANCH(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SEARCHES_TYPE_BRANCH))
+#define SEARCHES_IS_BRANCH_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SEARCHES_TYPE_BRANCH))
+#define SEARCHES_BRANCH_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SEARCHES_TYPE_BRANCH, SearchesBranchClass))
+
+typedef struct _SearchesBranch SearchesBranch;
+typedef struct _SearchesBranchClass SearchesBranchClass;
+typedef struct _SearchesBranchPrivate SearchesBranchPrivate;
+
+#define TYPE_DATA_OBJECT (data_object_get_type ())
+#define DATA_OBJECT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATA_OBJECT, DataObject))
+#define DATA_OBJECT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATA_OBJECT, DataObjectClass))
+#define IS_DATA_OBJECT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATA_OBJECT))
+#define IS_DATA_OBJECT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATA_OBJECT))
+#define DATA_OBJECT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATA_OBJECT, DataObjectClass))
+
+typedef struct _DataObject DataObject;
+typedef struct _DataObjectClass DataObjectClass;
+
+#define TYPE_DATA_SOURCE (data_source_get_type ())
+#define DATA_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATA_SOURCE, DataSource))
+#define DATA_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATA_SOURCE, DataSourceClass))
+#define IS_DATA_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATA_SOURCE))
+#define IS_DATA_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATA_SOURCE))
+#define DATA_SOURCE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATA_SOURCE, DataSourceClass))
+
+typedef struct _DataSource DataSource;
+typedef struct _DataSourceClass DataSourceClass;
+
+#define TYPE_SAVED_SEARCH (saved_search_get_type ())
+#define SAVED_SEARCH(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SAVED_SEARCH, SavedSearch))
+#define SAVED_SEARCH_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SAVED_SEARCH, SavedSearchClass))
+#define IS_SAVED_SEARCH(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SAVED_SEARCH))
+#define IS_SAVED_SEARCH_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SAVED_SEARCH))
+#define SAVED_SEARCH_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SAVED_SEARCH, SavedSearchClass))
+
+typedef struct _SavedSearch SavedSearch;
+typedef struct _SavedSearchClass SavedSearchClass;
+
+#define SIDEBAR_TYPE_SIMPLE_PAGE_ENTRY (sidebar_simple_page_entry_get_type ())
+#define SIDEBAR_SIMPLE_PAGE_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SIDEBAR_TYPE_SIMPLE_PAGE_ENTRY, SidebarSimplePageEntry))
+#define SIDEBAR_SIMPLE_PAGE_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SIDEBAR_TYPE_SIMPLE_PAGE_ENTRY, SidebarSimplePageEntryClass))
+#define SIDEBAR_IS_SIMPLE_PAGE_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SIDEBAR_TYPE_SIMPLE_PAGE_ENTRY))
+#define SIDEBAR_IS_SIMPLE_PAGE_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SIDEBAR_TYPE_SIMPLE_PAGE_ENTRY))
+#define SIDEBAR_SIMPLE_PAGE_ENTRY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SIDEBAR_TYPE_SIMPLE_PAGE_ENTRY, SidebarSimplePageEntryClass))
+
+typedef struct _SidebarSimplePageEntry SidebarSimplePageEntry;
+typedef struct _SidebarSimplePageEntryClass SidebarSimplePageEntryClass;
+
+#define SEARCHES_TYPE_SIDEBAR_ENTRY (searches_sidebar_entry_get_type ())
+#define SEARCHES_SIDEBAR_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SEARCHES_TYPE_SIDEBAR_ENTRY, SearchesSidebarEntry))
+#define SEARCHES_SIDEBAR_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SEARCHES_TYPE_SIDEBAR_ENTRY, SearchesSidebarEntryClass))
+#define SEARCHES_IS_SIDEBAR_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SEARCHES_TYPE_SIDEBAR_ENTRY))
+#define SEARCHES_IS_SIDEBAR_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SEARCHES_TYPE_SIDEBAR_ENTRY))
+#define SEARCHES_SIDEBAR_ENTRY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SEARCHES_TYPE_SIDEBAR_ENTRY, SearchesSidebarEntryClass))
+
+typedef struct _SearchesSidebarEntry SearchesSidebarEntry;
+typedef struct _SearchesSidebarEntryClass SearchesSidebarEntryClass;
+
+#define TYPE_SAVED_SEARCH_TABLE (saved_search_table_get_type ())
+#define SAVED_SEARCH_TABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SAVED_SEARCH_TABLE, SavedSearchTable))
+#define SAVED_SEARCH_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SAVED_SEARCH_TABLE, SavedSearchTableClass))
+#define IS_SAVED_SEARCH_TABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SAVED_SEARCH_TABLE))
+#define IS_SAVED_SEARCH_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SAVED_SEARCH_TABLE))
+#define SAVED_SEARCH_TABLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SAVED_SEARCH_TABLE, SavedSearchTableClass))
+
+typedef struct _SavedSearchTable SavedSearchTable;
+typedef struct _SavedSearchTableClass SavedSearchTableClass;
+#define _saved_search_table_unref0(var) ((var == NULL) ? NULL : (var = (saved_search_table_unref (var), NULL)))
+#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL)))
+
+#define SIDEBAR_TYPE_GROUPING (sidebar_grouping_get_type ())
+#define SIDEBAR_GROUPING(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SIDEBAR_TYPE_GROUPING, SidebarGrouping))
+#define SIDEBAR_GROUPING_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SIDEBAR_TYPE_GROUPING, SidebarGroupingClass))
+#define SIDEBAR_IS_GROUPING(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SIDEBAR_TYPE_GROUPING))
+#define SIDEBAR_IS_GROUPING_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SIDEBAR_TYPE_GROUPING))
+#define SIDEBAR_GROUPING_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SIDEBAR_TYPE_GROUPING, SidebarGroupingClass))
+
+typedef struct _SidebarGrouping SidebarGrouping;
+typedef struct _SidebarGroupingClass SidebarGroupingClass;
+
+#define SIDEBAR_TYPE_HEADER (sidebar_header_get_type ())
+#define SIDEBAR_HEADER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SIDEBAR_TYPE_HEADER, SidebarHeader))
+#define SIDEBAR_HEADER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SIDEBAR_TYPE_HEADER, SidebarHeaderClass))
+#define SIDEBAR_IS_HEADER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SIDEBAR_TYPE_HEADER))
+#define SIDEBAR_IS_HEADER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SIDEBAR_TYPE_HEADER))
+#define SIDEBAR_HEADER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SIDEBAR_TYPE_HEADER, SidebarHeaderClass))
+
+typedef struct _SidebarHeader SidebarHeader;
+typedef struct _SidebarHeaderClass SidebarHeaderClass;
+
+#define SEARCHES_TYPE_HEADER (searches_header_get_type ())
+#define SEARCHES_HEADER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SEARCHES_TYPE_HEADER, SearchesHeader))
+#define SEARCHES_HEADER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SEARCHES_TYPE_HEADER, SearchesHeaderClass))
+#define SEARCHES_IS_HEADER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SEARCHES_TYPE_HEADER))
+#define SEARCHES_IS_HEADER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SEARCHES_TYPE_HEADER))
+#define SEARCHES_HEADER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SEARCHES_TYPE_HEADER, SearchesHeaderClass))
+
+typedef struct _SearchesHeader SearchesHeader;
+typedef struct _SearchesHeaderClass SearchesHeaderClass;
+
+#define SIDEBAR_TYPE_ENTRY (sidebar_entry_get_type ())
+#define SIDEBAR_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SIDEBAR_TYPE_ENTRY, SidebarEntry))
+#define SIDEBAR_IS_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SIDEBAR_TYPE_ENTRY))
+#define SIDEBAR_ENTRY_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), SIDEBAR_TYPE_ENTRY, SidebarEntryIface))
+
+typedef struct _SidebarEntry SidebarEntry;
+typedef struct _SidebarEntryIface SidebarEntryIface;
+
+#define SIDEBAR_TYPE_TREE (sidebar_tree_get_type ())
+#define SIDEBAR_TREE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SIDEBAR_TYPE_TREE, SidebarTree))
+#define SIDEBAR_TREE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SIDEBAR_TYPE_TREE, SidebarTreeClass))
+#define SIDEBAR_IS_TREE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SIDEBAR_TYPE_TREE))
+#define SIDEBAR_IS_TREE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SIDEBAR_TYPE_TREE))
+#define SIDEBAR_TREE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SIDEBAR_TYPE_TREE, SidebarTreeClass))
+
+typedef struct _SidebarTree SidebarTree;
+typedef struct _SidebarTreeClass SidebarTreeClass;
+
+#define SIDEBAR_BRANCH_TYPE_OPTIONS (sidebar_branch_options_get_type ())
+
+#define SIDEBAR_TYPE_EXPANDABLE_ENTRY (sidebar_expandable_entry_get_type ())
+#define SIDEBAR_EXPANDABLE_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SIDEBAR_TYPE_EXPANDABLE_ENTRY, SidebarExpandableEntry))
+#define SIDEBAR_IS_EXPANDABLE_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SIDEBAR_TYPE_EXPANDABLE_ENTRY))
+#define SIDEBAR_EXPANDABLE_ENTRY_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), SIDEBAR_TYPE_EXPANDABLE_ENTRY, SidebarExpandableEntryIface))
+
+typedef struct _SidebarExpandableEntry SidebarExpandableEntry;
+typedef struct _SidebarExpandableEntryIface SidebarExpandableEntryIface;
+
+#define SIDEBAR_TYPE_RENAMEABLE_ENTRY (sidebar_renameable_entry_get_type ())
+#define SIDEBAR_RENAMEABLE_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SIDEBAR_TYPE_RENAMEABLE_ENTRY, SidebarRenameableEntry))
+#define SIDEBAR_IS_RENAMEABLE_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SIDEBAR_TYPE_RENAMEABLE_ENTRY))
+#define SIDEBAR_RENAMEABLE_ENTRY_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), SIDEBAR_TYPE_RENAMEABLE_ENTRY, SidebarRenameableEntryIface))
+
+typedef struct _SidebarRenameableEntry SidebarRenameableEntry;
+typedef struct _SidebarRenameableEntryIface SidebarRenameableEntryIface;
+typedef struct _SidebarGroupingPrivate SidebarGroupingPrivate;
+
+#define SIDEBAR_TYPE_EMPHASIZABLE_ENTRY (sidebar_emphasizable_entry_get_type ())
+#define SIDEBAR_EMPHASIZABLE_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SIDEBAR_TYPE_EMPHASIZABLE_ENTRY, SidebarEmphasizableEntry))
+#define SIDEBAR_IS_EMPHASIZABLE_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SIDEBAR_TYPE_EMPHASIZABLE_ENTRY))
+#define SIDEBAR_EMPHASIZABLE_ENTRY_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), SIDEBAR_TYPE_EMPHASIZABLE_ENTRY, SidebarEmphasizableEntryIface))
+
+typedef struct _SidebarEmphasizableEntry SidebarEmphasizableEntry;
+typedef struct _SidebarEmphasizableEntryIface SidebarEmphasizableEntryIface;
+typedef struct _SidebarHeaderPrivate SidebarHeaderPrivate;
+
+#define SIDEBAR_TYPE_CONTEXTABLE (sidebar_contextable_get_type ())
+#define SIDEBAR_CONTEXTABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SIDEBAR_TYPE_CONTEXTABLE, SidebarContextable))
+#define SIDEBAR_IS_CONTEXTABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SIDEBAR_TYPE_CONTEXTABLE))
+#define SIDEBAR_CONTEXTABLE_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), SIDEBAR_TYPE_CONTEXTABLE, SidebarContextableIface))
+
+typedef struct _SidebarContextable SidebarContextable;
+typedef struct _SidebarContextableIface SidebarContextableIface;
+typedef struct _SearchesHeaderPrivate SearchesHeaderPrivate;
+#define _g_free0(var) (var = (g_free (var), NULL))
+
+#define TYPE_APPLICATION (application_get_type ())
+#define APPLICATION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_APPLICATION, Application))
+#define APPLICATION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_APPLICATION, ApplicationClass))
+#define IS_APPLICATION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_APPLICATION))
+#define IS_APPLICATION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_APPLICATION))
+#define APPLICATION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_APPLICATION, ApplicationClass))
+
+typedef struct _Application Application;
+typedef struct _ApplicationClass ApplicationClass;
+#define _application_unref0(var) ((var == NULL) ? NULL : (var = (application_unref (var), NULL)))
+#define _g_error_free0(var) ((var == NULL) ? NULL : (var = (g_error_free (var), NULL)))
+
+#define TYPE_SAVED_SEARCH_DIALOG (saved_search_dialog_get_type ())
+#define SAVED_SEARCH_DIALOG(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SAVED_SEARCH_DIALOG, SavedSearchDialog))
+#define SAVED_SEARCH_DIALOG_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SAVED_SEARCH_DIALOG, SavedSearchDialogClass))
+#define IS_SAVED_SEARCH_DIALOG(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SAVED_SEARCH_DIALOG))
+#define IS_SAVED_SEARCH_DIALOG_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SAVED_SEARCH_DIALOG))
+#define SAVED_SEARCH_DIALOG_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SAVED_SEARCH_DIALOG, SavedSearchDialogClass))
+
+typedef struct _SavedSearchDialog SavedSearchDialog;
+typedef struct _SavedSearchDialogClass SavedSearchDialogClass;
+#define _saved_search_dialog_unref0(var) ((var == NULL) ? NULL : (var = (saved_search_dialog_unref (var), NULL)))
+
+#define SIDEBAR_TYPE_SELECTABLE_ENTRY (sidebar_selectable_entry_get_type ())
+#define SIDEBAR_SELECTABLE_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SIDEBAR_TYPE_SELECTABLE_ENTRY, SidebarSelectableEntry))
+#define SIDEBAR_IS_SELECTABLE_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SIDEBAR_TYPE_SELECTABLE_ENTRY))
+#define SIDEBAR_SELECTABLE_ENTRY_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), SIDEBAR_TYPE_SELECTABLE_ENTRY, SidebarSelectableEntryIface))
+
+typedef struct _SidebarSelectableEntry SidebarSelectableEntry;
+typedef struct _SidebarSelectableEntryIface SidebarSelectableEntryIface;
+
+#define SIDEBAR_TYPE_PAGE_REPRESENTATIVE (sidebar_page_representative_get_type ())
+#define SIDEBAR_PAGE_REPRESENTATIVE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SIDEBAR_TYPE_PAGE_REPRESENTATIVE, SidebarPageRepresentative))
+#define SIDEBAR_IS_PAGE_REPRESENTATIVE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SIDEBAR_TYPE_PAGE_REPRESENTATIVE))
+#define SIDEBAR_PAGE_REPRESENTATIVE_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), SIDEBAR_TYPE_PAGE_REPRESENTATIVE, SidebarPageRepresentativeIface))
+
+typedef struct _SidebarPageRepresentative SidebarPageRepresentative;
+typedef struct _SidebarPageRepresentativeIface SidebarPageRepresentativeIface;
+
+#define TYPE_PAGE (page_get_type ())
+#define PAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PAGE, Page))
+#define PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PAGE, PageClass))
+#define IS_PAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PAGE))
+#define IS_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PAGE))
+#define PAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PAGE, PageClass))
+
+typedef struct _Page Page;
+typedef struct _PageClass PageClass;
+typedef struct _SidebarSimplePageEntryPrivate SidebarSimplePageEntryPrivate;
+
+#define SIDEBAR_TYPE_DESTROYABLE_ENTRY (sidebar_destroyable_entry_get_type ())
+#define SIDEBAR_DESTROYABLE_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SIDEBAR_TYPE_DESTROYABLE_ENTRY, SidebarDestroyableEntry))
+#define SIDEBAR_IS_DESTROYABLE_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SIDEBAR_TYPE_DESTROYABLE_ENTRY))
+#define SIDEBAR_DESTROYABLE_ENTRY_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), SIDEBAR_TYPE_DESTROYABLE_ENTRY, SidebarDestroyableEntryIface))
+
+typedef struct _SidebarDestroyableEntry SidebarDestroyableEntry;
+typedef struct _SidebarDestroyableEntryIface SidebarDestroyableEntryIface;
+typedef struct _SearchesSidebarEntryPrivate SearchesSidebarEntryPrivate;
+
+#define TYPE_CHECKERBOARD_PAGE (checkerboard_page_get_type ())
+#define CHECKERBOARD_PAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_CHECKERBOARD_PAGE, CheckerboardPage))
+#define CHECKERBOARD_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_CHECKERBOARD_PAGE, CheckerboardPageClass))
+#define IS_CHECKERBOARD_PAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_CHECKERBOARD_PAGE))
+#define IS_CHECKERBOARD_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_CHECKERBOARD_PAGE))
+#define CHECKERBOARD_PAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_CHECKERBOARD_PAGE, CheckerboardPageClass))
+
+typedef struct _CheckerboardPage CheckerboardPage;
+typedef struct _CheckerboardPageClass CheckerboardPageClass;
+
+#define TYPE_MEDIA_PAGE (media_page_get_type ())
+#define MEDIA_PAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MEDIA_PAGE, MediaPage))
+#define MEDIA_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MEDIA_PAGE, MediaPageClass))
+#define IS_MEDIA_PAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MEDIA_PAGE))
+#define IS_MEDIA_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MEDIA_PAGE))
+#define MEDIA_PAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MEDIA_PAGE, MediaPageClass))
+
+typedef struct _MediaPage MediaPage;
+typedef struct _MediaPageClass MediaPageClass;
+
+#define TYPE_COLLECTION_PAGE (collection_page_get_type ())
+#define COLLECTION_PAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_COLLECTION_PAGE, CollectionPage))
+#define COLLECTION_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_COLLECTION_PAGE, CollectionPageClass))
+#define IS_COLLECTION_PAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_COLLECTION_PAGE))
+#define IS_COLLECTION_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_COLLECTION_PAGE))
+#define COLLECTION_PAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_COLLECTION_PAGE, CollectionPageClass))
+
+typedef struct _CollectionPage CollectionPage;
+typedef struct _CollectionPageClass CollectionPageClass;
+
+#define TYPE_SAVED_SEARCH_PAGE (saved_search_page_get_type ())
+#define SAVED_SEARCH_PAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SAVED_SEARCH_PAGE, SavedSearchPage))
+#define SAVED_SEARCH_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SAVED_SEARCH_PAGE, SavedSearchPageClass))
+#define IS_SAVED_SEARCH_PAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SAVED_SEARCH_PAGE))
+#define IS_SAVED_SEARCH_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SAVED_SEARCH_PAGE))
+#define SAVED_SEARCH_PAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SAVED_SEARCH_PAGE, SavedSearchPageClass))
+
+typedef struct _SavedSearchPage SavedSearchPage;
+typedef struct _SavedSearchPageClass SavedSearchPageClass;
+
+#define TYPE_COMMAND_MANAGER (command_manager_get_type ())
+#define COMMAND_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_COMMAND_MANAGER, CommandManager))
+#define COMMAND_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_COMMAND_MANAGER, CommandManagerClass))
+#define IS_COMMAND_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_COMMAND_MANAGER))
+#define IS_COMMAND_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_COMMAND_MANAGER))
+#define COMMAND_MANAGER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_COMMAND_MANAGER, CommandManagerClass))
+
+typedef struct _CommandManager CommandManager;
+typedef struct _CommandManagerClass CommandManagerClass;
+
+#define TYPE_COMMAND (command_get_type ())
+#define COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_COMMAND, Command))
+#define COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_COMMAND, CommandClass))
+#define IS_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_COMMAND))
+#define IS_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_COMMAND))
+#define COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_COMMAND, CommandClass))
+
+typedef struct _Command Command;
+typedef struct _CommandClass CommandClass;
+
+#define TYPE_PAGE_COMMAND (page_command_get_type ())
+#define PAGE_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PAGE_COMMAND, PageCommand))
+#define PAGE_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PAGE_COMMAND, PageCommandClass))
+#define IS_PAGE_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PAGE_COMMAND))
+#define IS_PAGE_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PAGE_COMMAND))
+#define PAGE_COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PAGE_COMMAND, PageCommandClass))
+
+typedef struct _PageCommand PageCommand;
+typedef struct _PageCommandClass PageCommandClass;
+
+#define TYPE_SINGLE_DATA_SOURCE_COMMAND (single_data_source_command_get_type ())
+#define SINGLE_DATA_SOURCE_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SINGLE_DATA_SOURCE_COMMAND, SingleDataSourceCommand))
+#define SINGLE_DATA_SOURCE_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SINGLE_DATA_SOURCE_COMMAND, SingleDataSourceCommandClass))
+#define IS_SINGLE_DATA_SOURCE_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SINGLE_DATA_SOURCE_COMMAND))
+#define IS_SINGLE_DATA_SOURCE_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SINGLE_DATA_SOURCE_COMMAND))
+#define SINGLE_DATA_SOURCE_COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SINGLE_DATA_SOURCE_COMMAND, SingleDataSourceCommandClass))
+
+typedef struct _SingleDataSourceCommand SingleDataSourceCommand;
+typedef struct _SingleDataSourceCommandClass SingleDataSourceCommandClass;
+
+#define TYPE_RENAME_SAVED_SEARCH_COMMAND (rename_saved_search_command_get_type ())
+#define RENAME_SAVED_SEARCH_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_RENAME_SAVED_SEARCH_COMMAND, RenameSavedSearchCommand))
+#define RENAME_SAVED_SEARCH_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_RENAME_SAVED_SEARCH_COMMAND, RenameSavedSearchCommandClass))
+#define IS_RENAME_SAVED_SEARCH_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_RENAME_SAVED_SEARCH_COMMAND))
+#define IS_RENAME_SAVED_SEARCH_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_RENAME_SAVED_SEARCH_COMMAND))
+#define RENAME_SAVED_SEARCH_COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_RENAME_SAVED_SEARCH_COMMAND, RenameSavedSearchCommandClass))
+
+typedef struct _RenameSavedSearchCommand RenameSavedSearchCommand;
+typedef struct _RenameSavedSearchCommandClass RenameSavedSearchCommandClass;
+#define _command_manager_unref0(var) ((var == NULL) ? NULL : (var = (command_manager_unref (var), NULL)))
+
+#define TYPE_DELETE_SAVED_SEARCH_COMMAND (delete_saved_search_command_get_type ())
+#define DELETE_SAVED_SEARCH_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DELETE_SAVED_SEARCH_COMMAND, DeleteSavedSearchCommand))
+#define DELETE_SAVED_SEARCH_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DELETE_SAVED_SEARCH_COMMAND, DeleteSavedSearchCommandClass))
+#define IS_DELETE_SAVED_SEARCH_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DELETE_SAVED_SEARCH_COMMAND))
+#define IS_DELETE_SAVED_SEARCH_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DELETE_SAVED_SEARCH_COMMAND))
+#define DELETE_SAVED_SEARCH_COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DELETE_SAVED_SEARCH_COMMAND, DeleteSavedSearchCommandClass))
+
+typedef struct _DeleteSavedSearchCommand DeleteSavedSearchCommand;
+typedef struct _DeleteSavedSearchCommandClass DeleteSavedSearchCommandClass;
+#define _vala_assert(expr, msg) if G_LIKELY (expr) ; else g_assertion_message_expr (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, msg);
+#define _vala_return_if_fail(expr, msg) if G_LIKELY (expr) ; else { g_return_if_fail_warning (G_LOG_DOMAIN, G_STRFUNC, msg); return; }
+#define _vala_return_val_if_fail(expr, msg, val) if G_LIKELY (expr) ; else { g_return_if_fail_warning (G_LOG_DOMAIN, G_STRFUNC, msg); return val; }
+#define _vala_warn_if_fail(expr, msg) if G_LIKELY (expr) ; else g_warn_message (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, msg);
+
+struct _SidebarBranch {
+ GObject parent_instance;
+ SidebarBranchPrivate * priv;
+};
+
+struct _SidebarBranchClass {
+ GObjectClass parent_class;
+};
+
+struct _SearchesBranch {
+ SidebarBranch parent_instance;
+ SearchesBranchPrivate * priv;
+};
+
+struct _SearchesBranchClass {
+ SidebarBranchClass parent_class;
+};
+
+struct _SearchesBranchPrivate {
+ GeeHashMap* entry_map;
+};
+
+struct _SidebarEntryIface {
+ GTypeInterface parent_iface;
+ gchar* (*get_sidebar_name) (SidebarEntry* self);
+ gchar* (*get_sidebar_tooltip) (SidebarEntry* self);
+ gchar* (*get_sidebar_icon) (SidebarEntry* self);
+ gchar* (*to_string) (SidebarEntry* self);
+ void (*grafted) (SidebarEntry* self, SidebarTree* tree);
+ void (*pruned) (SidebarEntry* self, SidebarTree* tree);
+};
+
+typedef enum {
+ SIDEBAR_BRANCH_OPTIONS_NONE = 0,
+ SIDEBAR_BRANCH_OPTIONS_HIDE_IF_EMPTY = 1 << 0,
+ SIDEBAR_BRANCH_OPTIONS_AUTO_OPEN_ON_NEW_CHILD = 1 << 1,
+ SIDEBAR_BRANCH_OPTIONS_STARTUP_EXPAND_TO_FIRST_CHILD = 1 << 2,
+ SIDEBAR_BRANCH_OPTIONS_STARTUP_OPEN_GROUPING = 1 << 3
+} SidebarBranchOptions;
+
+struct _SidebarExpandableEntryIface {
+ GTypeInterface parent_iface;
+ gboolean (*expand_on_select) (SidebarExpandableEntry* self);
+};
+
+struct _SidebarRenameableEntryIface {
+ GTypeInterface parent_iface;
+ void (*rename) (SidebarRenameableEntry* self, const gchar* new_name);
+ gboolean (*is_user_renameable) (SidebarRenameableEntry* self);
+};
+
+struct _SidebarGrouping {
+ GObject parent_instance;
+ SidebarGroupingPrivate * priv;
+};
+
+struct _SidebarGroupingClass {
+ GObjectClass parent_class;
+};
+
+struct _SidebarEmphasizableEntryIface {
+ GTypeInterface parent_iface;
+ gboolean (*is_emphasized) (SidebarEmphasizableEntry* self);
+};
+
+struct _SidebarHeader {
+ SidebarGrouping parent_instance;
+ SidebarHeaderPrivate * priv;
+};
+
+struct _SidebarHeaderClass {
+ SidebarGroupingClass parent_class;
+};
+
+struct _SidebarContextableIface {
+ GTypeInterface parent_iface;
+ GtkMenu* (*get_sidebar_context_menu) (SidebarContextable* self, GdkEventButton* event);
+};
+
+struct _SearchesHeader {
+ SidebarHeader parent_instance;
+ SearchesHeaderPrivate * priv;
+};
+
+struct _SearchesHeaderClass {
+ SidebarHeaderClass parent_class;
+};
+
+struct _SearchesHeaderPrivate {
+ GtkUIManager* ui;
+ GtkMenu* context_menu;
+};
+
+struct _SidebarSelectableEntryIface {
+ GTypeInterface parent_iface;
+};
+
+struct _SidebarPageRepresentativeIface {
+ GTypeInterface parent_iface;
+ gboolean (*has_page) (SidebarPageRepresentative* self);
+ Page* (*get_page) (SidebarPageRepresentative* self);
+};
+
+struct _SidebarSimplePageEntry {
+ GObject parent_instance;
+ SidebarSimplePageEntryPrivate * priv;
+};
+
+struct _SidebarSimplePageEntryClass {
+ GObjectClass parent_class;
+ gchar* (*get_sidebar_name) (SidebarSimplePageEntry* self);
+ gchar* (*get_sidebar_tooltip) (SidebarSimplePageEntry* self);
+ gchar* (*get_sidebar_icon) (SidebarSimplePageEntry* self);
+ gchar* (*to_string) (SidebarSimplePageEntry* self);
+ Page* (*create_page) (SidebarSimplePageEntry* self);
+};
+
+struct _SidebarDestroyableEntryIface {
+ GTypeInterface parent_iface;
+ void (*destroy_source) (SidebarDestroyableEntry* self);
+};
+
+struct _SearchesSidebarEntry {
+ SidebarSimplePageEntry parent_instance;
+ SearchesSidebarEntryPrivate * priv;
+};
+
+struct _SearchesSidebarEntryClass {
+ SidebarSimplePageEntryClass parent_class;
+};
+
+struct _SearchesSidebarEntryPrivate {
+ SavedSearch* search;
+};
+
+
+static gpointer searches_branch_parent_class = NULL;
+static gpointer searches_header_parent_class = NULL;
+static SidebarContextableIface* searches_header_sidebar_contextable_parent_iface = NULL;
+static gpointer searches_sidebar_entry_parent_class = NULL;
+static gchar* searches_sidebar_entry_single_search_icon;
+static gchar* searches_sidebar_entry_single_search_icon = NULL;
+static SidebarRenameableEntryIface* searches_sidebar_entry_sidebar_renameable_entry_parent_iface = NULL;
+static SidebarDestroyableEntryIface* searches_sidebar_entry_sidebar_destroyable_entry_parent_iface = NULL;
+
+GType sidebar_branch_get_type (void) G_GNUC_CONST;
+GType searches_branch_get_type (void) G_GNUC_CONST;
+GType data_object_get_type (void) G_GNUC_CONST;
+GType data_source_get_type (void) G_GNUC_CONST;
+GType saved_search_get_type (void) G_GNUC_CONST;
+GType sidebar_simple_page_entry_get_type (void) G_GNUC_CONST;
+GType searches_sidebar_entry_get_type (void) G_GNUC_CONST;
+#define SEARCHES_BRANCH_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), SEARCHES_TYPE_BRANCH, SearchesBranchPrivate))
+enum {
+ SEARCHES_BRANCH_DUMMY_PROPERTY
+};
+gpointer saved_search_table_ref (gpointer instance);
+void saved_search_table_unref (gpointer instance);
+GParamSpec* param_spec_saved_search_table (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
+void value_set_saved_search_table (GValue* value, gpointer v_object);
+void value_take_saved_search_table (GValue* value, gpointer v_object);
+gpointer value_get_saved_search_table (const GValue* value);
+GType saved_search_table_get_type (void) G_GNUC_CONST;
+SavedSearchTable* saved_search_table_get_instance (void);
+static void searches_branch_on_saved_search_added (SearchesBranch* self, SavedSearch* search);
+static void _searches_branch_on_saved_search_added_saved_search_table_search_added (SavedSearchTable* _sender, SavedSearch* search, gpointer self);
+static void searches_branch_on_saved_search_removed (SearchesBranch* self, SavedSearch* search);
+static void _searches_branch_on_saved_search_removed_saved_search_table_search_removed (SavedSearchTable* _sender, SavedSearch* search, gpointer self);
+SearchesBranch* searches_branch_new (void);
+SearchesBranch* searches_branch_construct (GType object_type);
+SearchesHeader* searches_header_new (void);
+SearchesHeader* searches_header_construct (GType object_type);
+GType sidebar_grouping_get_type (void) G_GNUC_CONST;
+GType sidebar_header_get_type (void) G_GNUC_CONST;
+GType searches_header_get_type (void) G_GNUC_CONST;
+GType sidebar_tree_get_type (void) G_GNUC_CONST;
+GType sidebar_entry_get_type (void) G_GNUC_CONST;
+GType sidebar_branch_options_get_type (void) G_GNUC_CONST;
+static gint searches_branch_comparator (SidebarEntry* a, SidebarEntry* b);
+static gint _searches_branch_comparator_gcompare_func (gconstpointer a, gconstpointer b);
+SidebarBranch* sidebar_branch_new (SidebarEntry* root, SidebarBranchOptions options, GCompareFunc default_comparator, GCompareFunc root_comparator);
+SidebarBranch* sidebar_branch_construct (GType object_type, SidebarEntry* root, SidebarBranchOptions options, GCompareFunc default_comparator, GCompareFunc root_comparator);
+GeeCollection* saved_search_table_get_all (SavedSearchTable* self);
+SearchesSidebarEntry* searches_branch_get_entry_for_saved_search (SearchesBranch* self, SavedSearch* search);
+gint saved_search_compare_names (void* a, void* b);
+SavedSearch* searches_sidebar_entry_for_saved_search (SearchesSidebarEntry* self);
+SearchesSidebarEntry* searches_sidebar_entry_new (SavedSearch* search);
+SearchesSidebarEntry* searches_sidebar_entry_construct (GType object_type, SavedSearch* search);
+void sidebar_branch_graft (SidebarBranch* self, SidebarEntry* parent, SidebarEntry* entry, GCompareFunc comparator);
+SidebarEntry* sidebar_branch_get_root (SidebarBranch* self);
+void sidebar_branch_prune (SidebarBranch* self, SidebarEntry* entry);
+static void searches_branch_finalize (GObject* obj);
+GType sidebar_expandable_entry_get_type (void) G_GNUC_CONST;
+GType sidebar_renameable_entry_get_type (void) G_GNUC_CONST;
+GType sidebar_emphasizable_entry_get_type (void) G_GNUC_CONST;
+GType sidebar_contextable_get_type (void) G_GNUC_CONST;
+#define SEARCHES_HEADER_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), SEARCHES_TYPE_HEADER, SearchesHeaderPrivate))
+enum {
+ SEARCHES_HEADER_DUMMY_PROPERTY
+};
+SidebarHeader* sidebar_header_new (const gchar* name, gboolean emphasized);
+SidebarHeader* sidebar_header_construct (GType object_type, const gchar* name, gboolean emphasized);
+static void searches_header_setup_context_menu (SearchesHeader* self);
+#define TRANSLATABLE "translatable"
+static void searches_header_on_new_search (SearchesHeader* self);
+static void _searches_header_on_new_search_gtk_action_callback (GtkAction* action, gpointer self);
+static void _vala_array_add146 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value);
+GFile* resources_get_ui (const gchar* filename);
+void app_window_error_message (const gchar* message, GtkWindow* parent);
+gpointer application_ref (gpointer instance);
+void application_unref (gpointer instance);
+GParamSpec* param_spec_application (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
+void value_set_application (GValue* value, gpointer v_object);
+void value_take_application (GValue* value, gpointer v_object);
+gpointer value_get_application (const GValue* value);
+GType application_get_type (void) G_GNUC_CONST;
+Application* application_get_instance (void);
+void application_panic (Application* self);
+static GtkMenu* searches_header_real_get_sidebar_context_menu (SidebarContextable* base, GdkEventButton* event);
+SavedSearchDialog* saved_search_dialog_new (void);
+SavedSearchDialog* saved_search_dialog_construct (GType object_type);
+gpointer saved_search_dialog_ref (gpointer instance);
+void saved_search_dialog_unref (gpointer instance);
+GParamSpec* param_spec_saved_search_dialog (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
+void value_set_saved_search_dialog (GValue* value, gpointer v_object);
+void value_take_saved_search_dialog (GValue* value, gpointer v_object);
+gpointer value_get_saved_search_dialog (const GValue* value);
+GType saved_search_dialog_get_type (void) G_GNUC_CONST;
+void saved_search_dialog_show (SavedSearchDialog* self);
+static void searches_header_finalize (GObject* obj);
+GType sidebar_selectable_entry_get_type (void) G_GNUC_CONST;
+GType page_get_type (void) G_GNUC_CONST;
+GType sidebar_page_representative_get_type (void) G_GNUC_CONST;
+GType sidebar_destroyable_entry_get_type (void) G_GNUC_CONST;
+#define SEARCHES_SIDEBAR_ENTRY_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), SEARCHES_TYPE_SIDEBAR_ENTRY, SearchesSidebarEntryPrivate))
+enum {
+ SEARCHES_SIDEBAR_ENTRY_DUMMY_PROPERTY
+};
+SidebarSimplePageEntry* sidebar_simple_page_entry_construct (GType object_type);
+void searches_sidebar_entry_init (void);
+void searches_sidebar_entry_terminate (void);
+static gchar* searches_sidebar_entry_real_get_sidebar_name (SidebarSimplePageEntry* base);
+gchar* data_object_get_name (DataObject* self);
+static gchar* searches_sidebar_entry_real_get_sidebar_icon (SidebarSimplePageEntry* base);
+static Page* searches_sidebar_entry_real_create_page (SidebarSimplePageEntry* base);
+SavedSearchPage* saved_search_page_new (SavedSearch* search);
+SavedSearchPage* saved_search_page_construct (GType object_type, SavedSearch* search);
+GType checkerboard_page_get_type (void) G_GNUC_CONST;
+GType media_page_get_type (void) G_GNUC_CONST;
+GType collection_page_get_type (void) G_GNUC_CONST;
+GType saved_search_page_get_type (void) G_GNUC_CONST;
+static gboolean searches_sidebar_entry_real_is_user_renameable (SidebarRenameableEntry* base);
+static void searches_sidebar_entry_real_rename (SidebarRenameableEntry* base, const gchar* new_name);
+gboolean saved_search_table_exists (SavedSearchTable* self, const gchar* search_name);
+gpointer command_manager_ref (gpointer instance);
+void command_manager_unref (gpointer instance);
+GParamSpec* param_spec_command_manager (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
+void value_set_command_manager (GValue* value, gpointer v_object);
+void value_take_command_manager (GValue* value, gpointer v_object);
+gpointer value_get_command_manager (const GValue* value);
+GType command_manager_get_type (void) G_GNUC_CONST;
+CommandManager* app_window_get_command_manager (void);
+GType command_get_type (void) G_GNUC_CONST;
+void command_manager_execute (CommandManager* self, Command* command);
+RenameSavedSearchCommand* rename_saved_search_command_new (SavedSearch* search, const gchar* new_name);
+RenameSavedSearchCommand* rename_saved_search_command_construct (GType object_type, SavedSearch* search, const gchar* new_name);
+GType page_command_get_type (void) G_GNUC_CONST;
+GType single_data_source_command_get_type (void) G_GNUC_CONST;
+GType rename_saved_search_command_get_type (void) G_GNUC_CONST;
+gchar* resources_rename_search_exists_message (const gchar* name);
+static void searches_sidebar_entry_real_destroy_source (SidebarDestroyableEntry* base);
+gboolean dialogs_confirm_delete_saved_search (SavedSearch* search);
+DeleteSavedSearchCommand* delete_saved_search_command_new (SavedSearch* search);
+DeleteSavedSearchCommand* delete_saved_search_command_construct (GType object_type, SavedSearch* search);
+GType delete_saved_search_command_get_type (void) G_GNUC_CONST;
+static void searches_sidebar_entry_finalize (GObject* obj);
+
+
+static void _searches_branch_on_saved_search_added_saved_search_table_search_added (SavedSearchTable* _sender, SavedSearch* search, gpointer self) {
+#line 28 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ searches_branch_on_saved_search_added ((SearchesBranch*) self, search);
+#line 637 "Branch.c"
+}
+
+
+static void _searches_branch_on_saved_search_removed_saved_search_table_search_removed (SavedSearchTable* _sender, SavedSearch* search, gpointer self) {
+#line 29 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ searches_branch_on_saved_search_removed ((SearchesBranch*) self, search);
+#line 644 "Branch.c"
+}
+
+
+static gint _searches_branch_comparator_gcompare_func (gconstpointer a, gconstpointer b) {
+ gint result;
+ result = searches_branch_comparator ((SidebarEntry*) a, (SidebarEntry*) b);
+#line 12 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ return result;
+#line 653 "Branch.c"
+}
+
+
+SearchesBranch* searches_branch_construct (GType object_type) {
+ SearchesBranch * self = NULL;
+ SearchesHeader* _tmp0_ = NULL;
+ SearchesHeader* _tmp1_ = NULL;
+ SavedSearchTable* _tmp13_ = NULL;
+ SavedSearchTable* _tmp14_ = NULL;
+ SavedSearchTable* _tmp15_ = NULL;
+ SavedSearchTable* _tmp16_ = NULL;
+#line 12 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ _tmp0_ = searches_header_new ();
+#line 12 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ _tmp1_ = _tmp0_;
+#line 12 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ self = (SearchesBranch*) sidebar_branch_construct (object_type, G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, SIDEBAR_TYPE_ENTRY, SidebarEntry), (SIDEBAR_BRANCH_OPTIONS_HIDE_IF_EMPTY | SIDEBAR_BRANCH_OPTIONS_AUTO_OPEN_ON_NEW_CHILD) | SIDEBAR_BRANCH_OPTIONS_STARTUP_EXPAND_TO_FIRST_CHILD, _searches_branch_comparator_gcompare_func, NULL);
+#line 12 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ _g_object_unref0 (_tmp1_);
+#line 673 "Branch.c"
+ {
+ GeeIterator* _search_it = NULL;
+ SavedSearchTable* _tmp2_ = NULL;
+ SavedSearchTable* _tmp3_ = NULL;
+ GeeCollection* _tmp4_ = NULL;
+ GeeCollection* _tmp5_ = NULL;
+ GeeIterator* _tmp6_ = NULL;
+ GeeIterator* _tmp7_ = NULL;
+#line 19 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ _tmp2_ = saved_search_table_get_instance ();
+#line 19 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ _tmp3_ = _tmp2_;
+#line 19 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ _tmp4_ = saved_search_table_get_all (_tmp3_);
+#line 19 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ _tmp5_ = _tmp4_;
+#line 19 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ _tmp6_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, GEE_TYPE_ITERABLE, GeeIterable));
+#line 19 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ _tmp7_ = _tmp6_;
+#line 19 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ _g_object_unref0 (_tmp5_);
+#line 19 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ _saved_search_table_unref0 (_tmp3_);
+#line 19 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ _search_it = _tmp7_;
+#line 19 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ while (TRUE) {
+#line 702 "Branch.c"
+ GeeIterator* _tmp8_ = NULL;
+ gboolean _tmp9_ = FALSE;
+ SavedSearch* search = NULL;
+ GeeIterator* _tmp10_ = NULL;
+ gpointer _tmp11_ = NULL;
+ SavedSearch* _tmp12_ = NULL;
+#line 19 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ _tmp8_ = _search_it;
+#line 19 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ _tmp9_ = gee_iterator_next (_tmp8_);
+#line 19 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ if (!_tmp9_) {
+#line 19 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ break;
+#line 717 "Branch.c"
+ }
+#line 19 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ _tmp10_ = _search_it;
+#line 19 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ _tmp11_ = gee_iterator_get (_tmp10_);
+#line 19 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ search = (SavedSearch*) _tmp11_;
+#line 20 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ _tmp12_ = search;
+#line 20 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ searches_branch_on_saved_search_added (self, _tmp12_);
+#line 19 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ _g_object_unref0 (search);
+#line 731 "Branch.c"
+ }
+#line 19 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ _g_object_unref0 (_search_it);
+#line 735 "Branch.c"
+ }
+#line 23 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ _tmp13_ = saved_search_table_get_instance ();
+#line 23 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ _tmp14_ = _tmp13_;
+#line 23 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ g_signal_connect_object (_tmp14_, "search-added", (GCallback) _searches_branch_on_saved_search_added_saved_search_table_search_added, self, 0);
+#line 23 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ _saved_search_table_unref0 (_tmp14_);
+#line 24 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ _tmp15_ = saved_search_table_get_instance ();
+#line 24 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ _tmp16_ = _tmp15_;
+#line 24 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ g_signal_connect_object (_tmp16_, "search-removed", (GCallback) _searches_branch_on_saved_search_removed_saved_search_table_search_removed, self, 0);
+#line 24 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ _saved_search_table_unref0 (_tmp16_);
+#line 11 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ return self;
+#line 755 "Branch.c"
+}
+
+
+SearchesBranch* searches_branch_new (void) {
+#line 11 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ return searches_branch_construct (SEARCHES_TYPE_BRANCH);
+#line 762 "Branch.c"
+}
+
+
+SearchesSidebarEntry* searches_branch_get_entry_for_saved_search (SearchesBranch* self, SavedSearch* search) {
+ SearchesSidebarEntry* result = NULL;
+ GeeHashMap* _tmp0_ = NULL;
+ SavedSearch* _tmp1_ = NULL;
+ gpointer _tmp2_ = NULL;
+#line 32 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ g_return_val_if_fail (SEARCHES_IS_BRANCH (self), NULL);
+#line 32 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ g_return_val_if_fail (IS_SAVED_SEARCH (search), NULL);
+#line 33 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ _tmp0_ = self->priv->entry_map;
+#line 33 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ _tmp1_ = search;
+#line 33 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ _tmp2_ = gee_abstract_map_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp1_);
+#line 33 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ result = (SearchesSidebarEntry*) _tmp2_;
+#line 33 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ return result;
+#line 785 "Branch.c"
+}
+
+
+static gint searches_branch_comparator (SidebarEntry* a, SidebarEntry* b) {
+ gint result = 0;
+ SidebarEntry* _tmp0_ = NULL;
+ SidebarEntry* _tmp1_ = NULL;
+ SidebarEntry* _tmp2_ = NULL;
+ SavedSearch* _tmp3_ = NULL;
+ SidebarEntry* _tmp4_ = NULL;
+ SavedSearch* _tmp5_ = NULL;
+ gint _tmp6_ = 0;
+#line 36 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ g_return_val_if_fail (SIDEBAR_IS_ENTRY (a), 0);
+#line 36 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ g_return_val_if_fail (SIDEBAR_IS_ENTRY (b), 0);
+#line 37 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ _tmp0_ = a;
+#line 37 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ _tmp1_ = b;
+#line 37 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ if (_tmp0_ == _tmp1_) {
+#line 38 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ result = 0;
+#line 38 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ return result;
+#line 812 "Branch.c"
+ }
+#line 40 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ _tmp2_ = a;
+#line 40 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ _tmp3_ = searches_sidebar_entry_for_saved_search (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, SEARCHES_TYPE_SIDEBAR_ENTRY, SearchesSidebarEntry));
+#line 40 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ _tmp4_ = b;
+#line 40 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ _tmp5_ = searches_sidebar_entry_for_saved_search (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, SEARCHES_TYPE_SIDEBAR_ENTRY, SearchesSidebarEntry));
+#line 40 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ _tmp6_ = saved_search_compare_names (_tmp3_, _tmp5_);
+#line 40 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ result = _tmp6_;
+#line 40 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ return result;
+#line 828 "Branch.c"
+}
+
+
+static void searches_branch_on_saved_search_added (SearchesBranch* self, SavedSearch* search) {
+ SearchesSidebarEntry* entry = NULL;
+ SavedSearch* _tmp0_ = NULL;
+ SearchesSidebarEntry* _tmp1_ = NULL;
+ GeeHashMap* _tmp2_ = NULL;
+ SavedSearch* _tmp3_ = NULL;
+ SidebarEntry* _tmp4_ = NULL;
+ SidebarEntry* _tmp5_ = NULL;
+#line 44 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ g_return_if_fail (SEARCHES_IS_BRANCH (self));
+#line 44 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ g_return_if_fail (IS_SAVED_SEARCH (search));
+#line 45 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ g_debug ("Branch.vala:45: search added");
+#line 46 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ _tmp0_ = search;
+#line 46 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ _tmp1_ = searches_sidebar_entry_new (_tmp0_);
+#line 46 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ entry = _tmp1_;
+#line 47 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ _tmp2_ = self->priv->entry_map;
+#line 47 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ _tmp3_ = search;
+#line 47 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ gee_abstract_map_set (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp3_, entry);
+#line 48 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ _tmp4_ = sidebar_branch_get_root (G_TYPE_CHECK_INSTANCE_CAST (self, SIDEBAR_TYPE_BRANCH, SidebarBranch));
+#line 48 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ _tmp5_ = _tmp4_;
+#line 48 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ sidebar_branch_graft (G_TYPE_CHECK_INSTANCE_CAST (self, SIDEBAR_TYPE_BRANCH, SidebarBranch), _tmp5_, G_TYPE_CHECK_INSTANCE_CAST (entry, SIDEBAR_TYPE_ENTRY, SidebarEntry), NULL);
+#line 48 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ _g_object_unref0 (_tmp5_);
+#line 44 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ _g_object_unref0 (entry);
+#line 868 "Branch.c"
+}
+
+
+static void searches_branch_on_saved_search_removed (SearchesBranch* self, SavedSearch* search) {
+ SearchesSidebarEntry* entry = NULL;
+ GeeHashMap* _tmp0_ = NULL;
+ SavedSearch* _tmp1_ = NULL;
+ gpointer _tmp2_ = NULL;
+ gboolean is_removed = FALSE;
+ GeeHashMap* _tmp3_ = NULL;
+ SavedSearch* _tmp4_ = NULL;
+ gboolean _tmp5_ = FALSE;
+#line 51 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ g_return_if_fail (SEARCHES_IS_BRANCH (self));
+#line 51 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ g_return_if_fail (IS_SAVED_SEARCH (search));
+#line 52 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ g_debug ("Branch.vala:52: search removed");
+#line 53 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ _tmp0_ = self->priv->entry_map;
+#line 53 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ _tmp1_ = search;
+#line 53 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ _tmp2_ = gee_abstract_map_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp1_);
+#line 53 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ entry = (SearchesSidebarEntry*) _tmp2_;
+#line 54 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ _vala_assert (entry != NULL, "entry != null");
+#line 56 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ _tmp3_ = self->priv->entry_map;
+#line 56 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ _tmp4_ = search;
+#line 56 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ _tmp5_ = gee_abstract_map_unset (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp4_, NULL);
+#line 56 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ is_removed = _tmp5_;
+#line 57 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ _vala_assert (is_removed, "is_removed");
+#line 59 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ sidebar_branch_prune (G_TYPE_CHECK_INSTANCE_CAST (self, SIDEBAR_TYPE_BRANCH, SidebarBranch), G_TYPE_CHECK_INSTANCE_CAST (entry, SIDEBAR_TYPE_ENTRY, SidebarEntry));
+#line 51 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ _g_object_unref0 (entry);
+#line 911 "Branch.c"
+}
+
+
+static void searches_branch_class_init (SearchesBranchClass * klass) {
+#line 7 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ searches_branch_parent_class = g_type_class_peek_parent (klass);
+#line 7 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ g_type_class_add_private (klass, sizeof (SearchesBranchPrivate));
+#line 7 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ G_OBJECT_CLASS (klass)->finalize = searches_branch_finalize;
+#line 922 "Branch.c"
+}
+
+
+static void searches_branch_instance_init (SearchesBranch * self) {
+ GeeHashMap* _tmp0_ = NULL;
+#line 7 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ self->priv = SEARCHES_BRANCH_GET_PRIVATE (self);
+#line 8 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ _tmp0_ = gee_hash_map_new (TYPE_SAVED_SEARCH, (GBoxedCopyFunc) g_object_ref, g_object_unref, SEARCHES_TYPE_SIDEBAR_ENTRY, (GBoxedCopyFunc) g_object_ref, g_object_unref, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);
+#line 8 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ self->priv->entry_map = _tmp0_;
+#line 934 "Branch.c"
+}
+
+
+static void searches_branch_finalize (GObject* obj) {
+ SearchesBranch * self;
+ SavedSearchTable* _tmp0_ = NULL;
+ SavedSearchTable* _tmp1_ = NULL;
+ guint _tmp2_ = 0U;
+ SavedSearchTable* _tmp3_ = NULL;
+ SavedSearchTable* _tmp4_ = NULL;
+ guint _tmp5_ = 0U;
+#line 7 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ self = G_TYPE_CHECK_INSTANCE_CAST (obj, SEARCHES_TYPE_BRANCH, SearchesBranch);
+#line 28 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ _tmp0_ = saved_search_table_get_instance ();
+#line 28 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ _tmp1_ = _tmp0_;
+#line 28 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ g_signal_parse_name ("search-added", TYPE_SAVED_SEARCH_TABLE, &_tmp2_, NULL, FALSE);
+#line 28 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ g_signal_handlers_disconnect_matched (_tmp1_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp2_, 0, NULL, (GCallback) _searches_branch_on_saved_search_added_saved_search_table_search_added, self);
+#line 28 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ _saved_search_table_unref0 (_tmp1_);
+#line 29 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ _tmp3_ = saved_search_table_get_instance ();
+#line 29 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ _tmp4_ = _tmp3_;
+#line 29 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ g_signal_parse_name ("search-removed", TYPE_SAVED_SEARCH_TABLE, &_tmp5_, NULL, FALSE);
+#line 29 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ g_signal_handlers_disconnect_matched (_tmp4_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp5_, 0, NULL, (GCallback) _searches_branch_on_saved_search_removed_saved_search_table_search_removed, self);
+#line 29 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ _saved_search_table_unref0 (_tmp4_);
+#line 8 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ _g_object_unref0 (self->priv->entry_map);
+#line 7 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ G_OBJECT_CLASS (searches_branch_parent_class)->finalize (obj);
+#line 972 "Branch.c"
+}
+
+
+GType searches_branch_get_type (void) {
+ static volatile gsize searches_branch_type_id__volatile = 0;
+ if (g_once_init_enter (&searches_branch_type_id__volatile)) {
+ static const GTypeInfo g_define_type_info = { sizeof (SearchesBranchClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) searches_branch_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (SearchesBranch), 0, (GInstanceInitFunc) searches_branch_instance_init, NULL };
+ GType searches_branch_type_id;
+ searches_branch_type_id = g_type_register_static (SIDEBAR_TYPE_BRANCH, "SearchesBranch", &g_define_type_info, 0);
+ g_once_init_leave (&searches_branch_type_id__volatile, searches_branch_type_id);
+ }
+ return searches_branch_type_id__volatile;
+}
+
+
+SearchesHeader* searches_header_construct (GType object_type) {
+ SearchesHeader * self = NULL;
+ const gchar* _tmp0_ = NULL;
+#line 68 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ _tmp0_ = _ ("Saved Searches");
+#line 68 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ self = (SearchesHeader*) sidebar_header_construct (object_type, _tmp0_, TRUE);
+#line 69 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ searches_header_setup_context_menu (self);
+#line 67 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ return self;
+#line 999 "Branch.c"
+}
+
+
+SearchesHeader* searches_header_new (void) {
+#line 67 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ return searches_header_construct (SEARCHES_TYPE_HEADER);
+#line 1006 "Branch.c"
+}
+
+
+static void _searches_header_on_new_search_gtk_action_callback (GtkAction* action, gpointer self) {
+#line 76 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ searches_header_on_new_search ((SearchesHeader*) self);
+#line 1013 "Branch.c"
+}
+
+
+static void _vala_array_add146 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value) {
+#line 78 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ if ((*length) == (*size)) {
+#line 78 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ *size = (*size) ? (2 * (*size)) : 4;
+#line 78 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ *array = g_renew (GtkActionEntry, *array, *size);
+#line 1024 "Branch.c"
+ }
+#line 78 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ (*array)[(*length)++] = *value;
+#line 1028 "Branch.c"
+}
+
+
+static gpointer _g_object_ref0 (gpointer self) {
+#line 91 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ return self ? g_object_ref (self) : NULL;
+#line 1035 "Branch.c"
+}
+
+
+static void searches_header_setup_context_menu (SearchesHeader* self) {
+ GtkActionGroup* group = NULL;
+ GtkActionGroup* _tmp0_ = NULL;
+ GtkActionEntry* actions = NULL;
+ GtkActionEntry* _tmp1_ = NULL;
+ gint actions_length1 = 0;
+ gint _actions_size_ = 0;
+ GtkActionEntry new_search = {0};
+ GtkActionEntry _tmp2_ = {0};
+ const gchar* _tmp3_ = NULL;
+ GtkActionEntry* _tmp4_ = NULL;
+ gint _tmp4__length1 = 0;
+ GtkActionEntry _tmp5_ = {0};
+ GtkActionEntry* _tmp6_ = NULL;
+ gint _tmp6__length1 = 0;
+ GtkUIManager* _tmp7_ = NULL;
+ GFile* ui_file = NULL;
+ GFile* _tmp8_ = NULL;
+ GtkUIManager* _tmp20_ = NULL;
+ GtkWidget* _tmp21_ = NULL;
+ GtkMenu* _tmp22_ = NULL;
+ GtkUIManager* _tmp23_ = NULL;
+ GError * _inner_error_ = NULL;
+#line 72 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ g_return_if_fail (SEARCHES_IS_HEADER (self));
+#line 73 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ _tmp0_ = gtk_action_group_new ("SidebarDefault");
+#line 73 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ group = _tmp0_;
+#line 74 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ _tmp1_ = g_new0 (GtkActionEntry, 0);
+#line 74 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ actions = _tmp1_;
+#line 74 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ actions_length1 = 0;
+#line 74 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ _actions_size_ = actions_length1;
+#line 76 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ _tmp2_.name = "CommonNewSearch";
+#line 76 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ _tmp2_.stock_id = NULL;
+#line 76 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ _tmp2_.label = TRANSLATABLE;
+#line 76 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ _tmp2_.accelerator = NULL;
+#line 76 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ _tmp2_.tooltip = NULL;
+#line 76 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ _tmp2_.callback = (GCallback) _searches_header_on_new_search_gtk_action_callback;
+#line 76 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ new_search = _tmp2_;
+#line 77 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ _tmp3_ = _ ("Ne_w Saved Search...");
+#line 77 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ new_search.label = _tmp3_;
+#line 78 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ _tmp4_ = actions;
+#line 78 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ _tmp4__length1 = actions_length1;
+#line 78 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ _tmp5_ = new_search;
+#line 78 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ _vala_array_add146 (&actions, &actions_length1, &_actions_size_, &_tmp5_);
+#line 80 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ _tmp6_ = actions;
+#line 80 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ _tmp6__length1 = actions_length1;
+#line 80 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ gtk_action_group_add_actions (group, _tmp6_, _tmp6__length1, self);
+#line 81 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ _tmp7_ = self->priv->ui;
+#line 81 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ gtk_ui_manager_insert_action_group (_tmp7_, group, 0);
+#line 83 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ _tmp8_ = resources_get_ui ("search_sidebar_context.ui");
+#line 83 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ ui_file = _tmp8_;
+#line 1116 "Branch.c"
+ {
+ GtkUIManager* _tmp9_ = NULL;
+ gchar* _tmp10_ = NULL;
+ gchar* _tmp11_ = NULL;
+#line 85 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ _tmp9_ = self->priv->ui;
+#line 85 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ _tmp10_ = g_file_get_path (ui_file);
+#line 85 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ _tmp11_ = _tmp10_;
+#line 85 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ gtk_ui_manager_add_ui_from_file (_tmp9_, _tmp11_, &_inner_error_);
+#line 85 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ _g_free0 (_tmp11_);
+#line 85 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ if (G_UNLIKELY (_inner_error_ != NULL)) {
+#line 1133 "Branch.c"
+ goto __catch73_g_error;
+ }
+ }
+ goto __finally73;
+ __catch73_g_error:
+ {
+ GError* err = NULL;
+ gchar* _tmp12_ = NULL;
+ gchar* _tmp13_ = NULL;
+ GError* _tmp14_ = NULL;
+ const gchar* _tmp15_ = NULL;
+ gchar* _tmp16_ = NULL;
+ gchar* _tmp17_ = NULL;
+ Application* _tmp18_ = NULL;
+ Application* _tmp19_ = NULL;
+#line 84 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ err = _inner_error_;
+#line 84 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ _inner_error_ = NULL;
+#line 87 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ _tmp12_ = g_file_get_path (ui_file);
+#line 87 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ _tmp13_ = _tmp12_;
+#line 87 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ _tmp14_ = err;
+#line 87 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ _tmp15_ = _tmp14_->message;
+#line 87 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ _tmp16_ = g_strdup_printf ("Error loading UI file %s: %s", _tmp13_, _tmp15_);
+#line 87 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ _tmp17_ = _tmp16_;
+#line 87 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ app_window_error_message (_tmp17_, NULL);
+#line 87 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ _g_free0 (_tmp17_);
+#line 87 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ _g_free0 (_tmp13_);
+#line 89 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ _tmp18_ = application_get_instance ();
+#line 89 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ _tmp19_ = _tmp18_;
+#line 89 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ application_panic (_tmp19_);
+#line 89 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ _application_unref0 (_tmp19_);
+#line 84 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ _g_error_free0 (err);
+#line 1181 "Branch.c"
+ }
+ __finally73:
+#line 84 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ if (G_UNLIKELY (_inner_error_ != NULL)) {
+#line 84 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ _g_object_unref0 (ui_file);
+#line 84 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ actions = (g_free (actions), NULL);
+#line 84 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ _g_object_unref0 (group);
+#line 84 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
+#line 84 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ g_clear_error (&_inner_error_);
+#line 84 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ return;
+#line 1198 "Branch.c"
+ }
+#line 91 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ _tmp20_ = self->priv->ui;
+#line 91 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ _tmp21_ = gtk_ui_manager_get_widget (_tmp20_, "/SidebarSearchContextMenu");
+#line 91 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ _tmp22_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp21_, gtk_menu_get_type (), GtkMenu));
+#line 91 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ _g_object_unref0 (self->priv->context_menu);
+#line 91 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ self->priv->context_menu = _tmp22_;
+#line 93 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ _tmp23_ = self->priv->ui;
+#line 93 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ gtk_ui_manager_ensure_update (_tmp23_);
+#line 72 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ _g_object_unref0 (ui_file);
+#line 72 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ actions = (g_free (actions), NULL);
+#line 72 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ _g_object_unref0 (group);
+#line 1220 "Branch.c"
+}
+
+
+static GtkMenu* searches_header_real_get_sidebar_context_menu (SidebarContextable* base, GdkEventButton* event) {
+ SearchesHeader * self;
+ GtkMenu* result = NULL;
+ GtkMenu* _tmp0_ = NULL;
+ GtkMenu* _tmp1_ = NULL;
+#line 96 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ self = G_TYPE_CHECK_INSTANCE_CAST (base, SEARCHES_TYPE_HEADER, SearchesHeader);
+#line 97 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ _tmp0_ = self->priv->context_menu;
+#line 97 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ _tmp1_ = _g_object_ref0 (_tmp0_);
+#line 97 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ result = _tmp1_;
+#line 97 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ return result;
+#line 1239 "Branch.c"
+}
+
+
+static void searches_header_on_new_search (SearchesHeader* self) {
+ SavedSearchDialog* _tmp0_ = NULL;
+ SavedSearchDialog* _tmp1_ = NULL;
+#line 100 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ g_return_if_fail (SEARCHES_IS_HEADER (self));
+#line 101 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ _tmp0_ = saved_search_dialog_new ();
+#line 101 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ _tmp1_ = _tmp0_;
+#line 101 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ saved_search_dialog_show (_tmp1_);
+#line 101 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ _saved_search_dialog_unref0 (_tmp1_);
+#line 1256 "Branch.c"
+}
+
+
+static void searches_header_class_init (SearchesHeaderClass * klass) {
+#line 63 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ searches_header_parent_class = g_type_class_peek_parent (klass);
+#line 63 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ g_type_class_add_private (klass, sizeof (SearchesHeaderPrivate));
+#line 63 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ G_OBJECT_CLASS (klass)->finalize = searches_header_finalize;
+#line 1267 "Branch.c"
+}
+
+
+static void searches_header_sidebar_contextable_interface_init (SidebarContextableIface * iface) {
+#line 63 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ searches_header_sidebar_contextable_parent_iface = g_type_interface_peek_parent (iface);
+#line 63 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ iface->get_sidebar_context_menu = (GtkMenu* (*)(SidebarContextable*, GdkEventButton*)) searches_header_real_get_sidebar_context_menu;
+#line 1276 "Branch.c"
+}
+
+
+static void searches_header_instance_init (SearchesHeader * self) {
+ GtkUIManager* _tmp0_ = NULL;
+#line 63 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ self->priv = SEARCHES_HEADER_GET_PRIVATE (self);
+#line 64 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ _tmp0_ = gtk_ui_manager_new ();
+#line 64 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ self->priv->ui = _tmp0_;
+#line 65 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ self->priv->context_menu = NULL;
+#line 1290 "Branch.c"
+}
+
+
+static void searches_header_finalize (GObject* obj) {
+ SearchesHeader * self;
+#line 63 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ self = G_TYPE_CHECK_INSTANCE_CAST (obj, SEARCHES_TYPE_HEADER, SearchesHeader);
+#line 64 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ _g_object_unref0 (self->priv->ui);
+#line 65 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ _g_object_unref0 (self->priv->context_menu);
+#line 63 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ G_OBJECT_CLASS (searches_header_parent_class)->finalize (obj);
+#line 1304 "Branch.c"
+}
+
+
+GType searches_header_get_type (void) {
+ static volatile gsize searches_header_type_id__volatile = 0;
+ if (g_once_init_enter (&searches_header_type_id__volatile)) {
+ static const GTypeInfo g_define_type_info = { sizeof (SearchesHeaderClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) searches_header_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (SearchesHeader), 0, (GInstanceInitFunc) searches_header_instance_init, NULL };
+ static const GInterfaceInfo sidebar_contextable_info = { (GInterfaceInitFunc) searches_header_sidebar_contextable_interface_init, (GInterfaceFinalizeFunc) NULL, NULL};
+ GType searches_header_type_id;
+ searches_header_type_id = g_type_register_static (SIDEBAR_TYPE_HEADER, "SearchesHeader", &g_define_type_info, 0);
+ g_type_add_interface_static (searches_header_type_id, SIDEBAR_TYPE_CONTEXTABLE, &sidebar_contextable_info);
+ g_once_init_leave (&searches_header_type_id__volatile, searches_header_type_id);
+ }
+ return searches_header_type_id__volatile;
+}
+
+
+SearchesSidebarEntry* searches_sidebar_entry_construct (GType object_type, SavedSearch* search) {
+ SearchesSidebarEntry * self = NULL;
+ SavedSearch* _tmp0_ = NULL;
+ SavedSearch* _tmp1_ = NULL;
+#line 111 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ g_return_val_if_fail (IS_SAVED_SEARCH (search), NULL);
+#line 111 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ self = (SearchesSidebarEntry*) sidebar_simple_page_entry_construct (object_type);
+#line 112 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ _tmp0_ = search;
+#line 112 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ _tmp1_ = _g_object_ref0 (_tmp0_);
+#line 112 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ _g_object_unref0 (self->priv->search);
+#line 112 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ self->priv->search = _tmp1_;
+#line 111 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ return self;
+#line 1340 "Branch.c"
+}
+
+
+SearchesSidebarEntry* searches_sidebar_entry_new (SavedSearch* search) {
+#line 111 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ return searches_sidebar_entry_construct (SEARCHES_TYPE_SIDEBAR_ENTRY, search);
+#line 1347 "Branch.c"
+}
+
+
+void searches_sidebar_entry_init (void) {
+}
+
+
+void searches_sidebar_entry_terminate (void) {
+}
+
+
+SavedSearch* searches_sidebar_entry_for_saved_search (SearchesSidebarEntry* self) {
+ SavedSearch* result = NULL;
+ SavedSearch* _tmp0_ = NULL;
+ SavedSearch* _tmp1_ = NULL;
+#line 121 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ g_return_val_if_fail (SEARCHES_IS_SIDEBAR_ENTRY (self), NULL);
+#line 122 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ _tmp0_ = self->priv->search;
+#line 122 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ _tmp1_ = _g_object_ref0 (_tmp0_);
+#line 122 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ result = _tmp1_;
+#line 122 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ return result;
+#line 1373 "Branch.c"
+}
+
+
+static gchar* searches_sidebar_entry_real_get_sidebar_name (SidebarSimplePageEntry* base) {
+ SearchesSidebarEntry * self;
+ gchar* result = NULL;
+ SavedSearch* _tmp0_ = NULL;
+ gchar* _tmp1_ = NULL;
+#line 125 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ self = G_TYPE_CHECK_INSTANCE_CAST (base, SEARCHES_TYPE_SIDEBAR_ENTRY, SearchesSidebarEntry);
+#line 126 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ _tmp0_ = self->priv->search;
+#line 126 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ _tmp1_ = data_object_get_name (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_DATA_OBJECT, DataObject));
+#line 126 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ result = _tmp1_;
+#line 126 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ return result;
+#line 1392 "Branch.c"
+}
+
+
+static gchar* searches_sidebar_entry_real_get_sidebar_icon (SidebarSimplePageEntry* base) {
+ SearchesSidebarEntry * self;
+ gchar* result = NULL;
+ const gchar* _tmp0_ = NULL;
+ gchar* _tmp1_ = NULL;
+#line 129 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ self = G_TYPE_CHECK_INSTANCE_CAST (base, SEARCHES_TYPE_SIDEBAR_ENTRY, SearchesSidebarEntry);
+#line 130 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ _tmp0_ = searches_sidebar_entry_single_search_icon;
+#line 130 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ _tmp1_ = g_strdup (_tmp0_);
+#line 130 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ result = _tmp1_;
+#line 130 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ return result;
+#line 1411 "Branch.c"
+}
+
+
+static Page* searches_sidebar_entry_real_create_page (SidebarSimplePageEntry* base) {
+ SearchesSidebarEntry * self;
+ Page* result = NULL;
+ SavedSearch* _tmp0_ = NULL;
+ SavedSearchPage* _tmp1_ = NULL;
+#line 133 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ self = G_TYPE_CHECK_INSTANCE_CAST (base, SEARCHES_TYPE_SIDEBAR_ENTRY, SearchesSidebarEntry);
+#line 134 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ _tmp0_ = self->priv->search;
+#line 134 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ _tmp1_ = saved_search_page_new (_tmp0_);
+#line 134 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ g_object_ref_sink (_tmp1_);
+#line 134 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ result = G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_PAGE, Page);
+#line 134 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ return result;
+#line 1432 "Branch.c"
+}
+
+
+static gboolean searches_sidebar_entry_real_is_user_renameable (SidebarRenameableEntry* base) {
+ SearchesSidebarEntry * self;
+ gboolean result = FALSE;
+#line 137 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ self = G_TYPE_CHECK_INSTANCE_CAST (base, SEARCHES_TYPE_SIDEBAR_ENTRY, SearchesSidebarEntry);
+#line 138 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ result = TRUE;
+#line 138 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ return result;
+#line 1445 "Branch.c"
+}
+
+
+static void searches_sidebar_entry_real_rename (SidebarRenameableEntry* base, const gchar* new_name) {
+ SearchesSidebarEntry * self;
+ SavedSearchTable* _tmp0_ = NULL;
+ SavedSearchTable* _tmp1_ = NULL;
+ const gchar* _tmp2_ = NULL;
+ gboolean _tmp3_ = FALSE;
+ gboolean _tmp4_ = FALSE;
+#line 141 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ self = G_TYPE_CHECK_INSTANCE_CAST (base, SEARCHES_TYPE_SIDEBAR_ENTRY, SearchesSidebarEntry);
+#line 141 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ g_return_if_fail (new_name != NULL);
+#line 142 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ _tmp0_ = saved_search_table_get_instance ();
+#line 142 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ _tmp1_ = _tmp0_;
+#line 142 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ _tmp2_ = new_name;
+#line 142 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ _tmp3_ = saved_search_table_exists (_tmp1_, _tmp2_);
+#line 142 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ _tmp4_ = !_tmp3_;
+#line 142 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ _saved_search_table_unref0 (_tmp1_);
+#line 142 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ if (_tmp4_) {
+#line 1474 "Branch.c"
+ CommandManager* _tmp5_ = NULL;
+ CommandManager* _tmp6_ = NULL;
+ SavedSearch* _tmp7_ = NULL;
+ const gchar* _tmp8_ = NULL;
+ RenameSavedSearchCommand* _tmp9_ = NULL;
+ RenameSavedSearchCommand* _tmp10_ = NULL;
+#line 143 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ _tmp5_ = app_window_get_command_manager ();
+#line 143 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ _tmp6_ = _tmp5_;
+#line 143 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ _tmp7_ = self->priv->search;
+#line 143 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ _tmp8_ = new_name;
+#line 143 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ _tmp9_ = rename_saved_search_command_new (_tmp7_, _tmp8_);
+#line 143 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ _tmp10_ = _tmp9_;
+#line 143 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ command_manager_execute (_tmp6_, G_TYPE_CHECK_INSTANCE_CAST (_tmp10_, TYPE_COMMAND, Command));
+#line 143 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ _g_object_unref0 (_tmp10_);
+#line 143 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ _command_manager_unref0 (_tmp6_);
+#line 1499 "Branch.c"
+ } else {
+ const gchar* _tmp11_ = NULL;
+ SavedSearch* _tmp12_ = NULL;
+ gchar* _tmp13_ = NULL;
+ gchar* _tmp14_ = NULL;
+ gboolean _tmp15_ = FALSE;
+#line 144 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ _tmp11_ = new_name;
+#line 144 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ _tmp12_ = self->priv->search;
+#line 144 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ _tmp13_ = data_object_get_name (G_TYPE_CHECK_INSTANCE_CAST (_tmp12_, TYPE_DATA_OBJECT, DataObject));
+#line 144 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ _tmp14_ = _tmp13_;
+#line 144 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ _tmp15_ = g_strcmp0 (_tmp11_, _tmp14_) != 0;
+#line 144 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ _g_free0 (_tmp14_);
+#line 144 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ if (_tmp15_) {
+#line 1520 "Branch.c"
+ const gchar* _tmp16_ = NULL;
+ gchar* _tmp17_ = NULL;
+ gchar* _tmp18_ = NULL;
+#line 145 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ _tmp16_ = new_name;
+#line 145 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ _tmp17_ = resources_rename_search_exists_message (_tmp16_);
+#line 145 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ _tmp18_ = _tmp17_;
+#line 145 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ app_window_error_message (_tmp18_, NULL);
+#line 145 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ _g_free0 (_tmp18_);
+#line 1534 "Branch.c"
+ }
+ }
+}
+
+
+static void searches_sidebar_entry_real_destroy_source (SidebarDestroyableEntry* base) {
+ SearchesSidebarEntry * self;
+ SavedSearch* _tmp0_ = NULL;
+ gboolean _tmp1_ = FALSE;
+#line 148 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ self = G_TYPE_CHECK_INSTANCE_CAST (base, SEARCHES_TYPE_SIDEBAR_ENTRY, SearchesSidebarEntry);
+#line 149 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ _tmp0_ = self->priv->search;
+#line 149 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ _tmp1_ = dialogs_confirm_delete_saved_search (_tmp0_);
+#line 149 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ if (_tmp1_) {
+#line 1552 "Branch.c"
+ CommandManager* _tmp2_ = NULL;
+ CommandManager* _tmp3_ = NULL;
+ SavedSearch* _tmp4_ = NULL;
+ DeleteSavedSearchCommand* _tmp5_ = NULL;
+ DeleteSavedSearchCommand* _tmp6_ = NULL;
+#line 150 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ _tmp2_ = app_window_get_command_manager ();
+#line 150 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ _tmp3_ = _tmp2_;
+#line 150 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ _tmp4_ = self->priv->search;
+#line 150 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ _tmp5_ = delete_saved_search_command_new (_tmp4_);
+#line 150 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ _tmp6_ = _tmp5_;
+#line 150 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ command_manager_execute (_tmp3_, G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, TYPE_COMMAND, Command));
+#line 150 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ _g_object_unref0 (_tmp6_);
+#line 150 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ _command_manager_unref0 (_tmp3_);
+#line 1574 "Branch.c"
+ }
+}
+
+
+static void searches_sidebar_entry_class_init (SearchesSidebarEntryClass * klass) {
+ gchar* _tmp0_ = NULL;
+#line 105 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ searches_sidebar_entry_parent_class = g_type_class_peek_parent (klass);
+#line 105 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ g_type_class_add_private (klass, sizeof (SearchesSidebarEntryPrivate));
+#line 105 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ ((SidebarSimplePageEntryClass *) klass)->get_sidebar_name = searches_sidebar_entry_real_get_sidebar_name;
+#line 105 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ ((SidebarSimplePageEntryClass *) klass)->get_sidebar_icon = searches_sidebar_entry_real_get_sidebar_icon;
+#line 105 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ ((SidebarSimplePageEntryClass *) klass)->create_page = searches_sidebar_entry_real_create_page;
+#line 105 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ G_OBJECT_CLASS (klass)->finalize = searches_sidebar_entry_finalize;
+#line 107 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ _tmp0_ = g_strdup ("find");
+#line 107 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ searches_sidebar_entry_single_search_icon = _tmp0_;
+#line 1597 "Branch.c"
+}
+
+
+static void searches_sidebar_entry_sidebar_renameable_entry_interface_init (SidebarRenameableEntryIface * iface) {
+#line 105 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ searches_sidebar_entry_sidebar_renameable_entry_parent_iface = g_type_interface_peek_parent (iface);
+#line 105 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ iface->is_user_renameable = (gboolean (*)(SidebarRenameableEntry*)) searches_sidebar_entry_real_is_user_renameable;
+#line 105 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ iface->rename = (void (*)(SidebarRenameableEntry*, const gchar*)) searches_sidebar_entry_real_rename;
+#line 1608 "Branch.c"
+}
+
+
+static void searches_sidebar_entry_sidebar_destroyable_entry_interface_init (SidebarDestroyableEntryIface * iface) {
+#line 105 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ searches_sidebar_entry_sidebar_destroyable_entry_parent_iface = g_type_interface_peek_parent (iface);
+#line 105 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ iface->destroy_source = (void (*)(SidebarDestroyableEntry*)) searches_sidebar_entry_real_destroy_source;
+#line 1617 "Branch.c"
+}
+
+
+static void searches_sidebar_entry_instance_init (SearchesSidebarEntry * self) {
+#line 105 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ self->priv = SEARCHES_SIDEBAR_ENTRY_GET_PRIVATE (self);
+#line 1624 "Branch.c"
+}
+
+
+static void searches_sidebar_entry_finalize (GObject* obj) {
+ SearchesSidebarEntry * self;
+#line 105 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ self = G_TYPE_CHECK_INSTANCE_CAST (obj, SEARCHES_TYPE_SIDEBAR_ENTRY, SearchesSidebarEntry);
+#line 109 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ _g_object_unref0 (self->priv->search);
+#line 105 "/home/jens/Source/shotwell/src/searches/Branch.vala"
+ G_OBJECT_CLASS (searches_sidebar_entry_parent_class)->finalize (obj);
+#line 1636 "Branch.c"
+}
+
+
+GType searches_sidebar_entry_get_type (void) {
+ static volatile gsize searches_sidebar_entry_type_id__volatile = 0;
+ if (g_once_init_enter (&searches_sidebar_entry_type_id__volatile)) {
+ static const GTypeInfo g_define_type_info = { sizeof (SearchesSidebarEntryClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) searches_sidebar_entry_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (SearchesSidebarEntry), 0, (GInstanceInitFunc) searches_sidebar_entry_instance_init, NULL };
+ static const GInterfaceInfo sidebar_renameable_entry_info = { (GInterfaceInitFunc) searches_sidebar_entry_sidebar_renameable_entry_interface_init, (GInterfaceFinalizeFunc) NULL, NULL};
+ static const GInterfaceInfo sidebar_destroyable_entry_info = { (GInterfaceInitFunc) searches_sidebar_entry_sidebar_destroyable_entry_interface_init, (GInterfaceFinalizeFunc) NULL, NULL};
+ GType searches_sidebar_entry_type_id;
+ searches_sidebar_entry_type_id = g_type_register_static (SIDEBAR_TYPE_SIMPLE_PAGE_ENTRY, "SearchesSidebarEntry", &g_define_type_info, 0);
+ g_type_add_interface_static (searches_sidebar_entry_type_id, SIDEBAR_TYPE_RENAMEABLE_ENTRY, &sidebar_renameable_entry_info);
+ g_type_add_interface_static (searches_sidebar_entry_type_id, SIDEBAR_TYPE_DESTROYABLE_ENTRY, &sidebar_destroyable_entry_info);
+ g_once_init_leave (&searches_sidebar_entry_type_id__volatile, searches_sidebar_entry_type_id);
+ }
+ return searches_sidebar_entry_type_id__volatile;
+}
+
+
+
diff --git a/src/searches/SavedSearchDialog.c b/src/searches/SavedSearchDialog.c
new file mode 100644
index 0000000..4731710
--- /dev/null
+++ b/src/searches/SavedSearchDialog.c
@@ -0,0 +1,6493 @@
+/* SavedSearchDialog.c generated by valac 0.32.1, the Vala compiler
+ * generated from SavedSearchDialog.vala, do not modify */
+
+/* Copyright 2016 Software Freedom Conservancy Inc.
+ *
+ * This software is licensed under the GNU LGPL (version 2.1 or later).
+ * See the COPYING file in this distribution.
+ */
+/* This dialog displays a boolean search configuration.*/
+
+#include <glib.h>
+#include <glib-object.h>
+#include <gtk/gtk.h>
+#include <gee.h>
+#include <stdlib.h>
+#include <string.h>
+#include <glib/gi18n-lib.h>
+#include <gdk/gdk.h>
+#include <float.h>
+#include <math.h>
+#include <gobject/gvaluecollector.h>
+
+
+#define TYPE_SAVED_SEARCH_DIALOG (saved_search_dialog_get_type ())
+#define SAVED_SEARCH_DIALOG(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SAVED_SEARCH_DIALOG, SavedSearchDialog))
+#define SAVED_SEARCH_DIALOG_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SAVED_SEARCH_DIALOG, SavedSearchDialogClass))
+#define IS_SAVED_SEARCH_DIALOG(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SAVED_SEARCH_DIALOG))
+#define IS_SAVED_SEARCH_DIALOG_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SAVED_SEARCH_DIALOG))
+#define SAVED_SEARCH_DIALOG_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SAVED_SEARCH_DIALOG, SavedSearchDialogClass))
+
+typedef struct _SavedSearchDialog SavedSearchDialog;
+typedef struct _SavedSearchDialogClass SavedSearchDialogClass;
+typedef struct _SavedSearchDialogPrivate SavedSearchDialogPrivate;
+
+#define SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW_CONTAINER (saved_search_dialog_search_row_container_get_type ())
+#define SAVED_SEARCH_DIALOG_SEARCH_ROW_CONTAINER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW_CONTAINER, SavedSearchDialogSearchRowContainer))
+#define SAVED_SEARCH_DIALOG_SEARCH_ROW_CONTAINER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW_CONTAINER, SavedSearchDialogSearchRowContainerClass))
+#define SAVED_SEARCH_DIALOG_IS_SEARCH_ROW_CONTAINER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW_CONTAINER))
+#define SAVED_SEARCH_DIALOG_IS_SEARCH_ROW_CONTAINER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW_CONTAINER))
+#define SAVED_SEARCH_DIALOG_SEARCH_ROW_CONTAINER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW_CONTAINER, SavedSearchDialogSearchRowContainerClass))
+
+typedef struct _SavedSearchDialogSearchRowContainer SavedSearchDialogSearchRowContainer;
+typedef struct _SavedSearchDialogSearchRowContainerClass SavedSearchDialogSearchRowContainerClass;
+
+#define TYPE_DATA_OBJECT (data_object_get_type ())
+#define DATA_OBJECT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATA_OBJECT, DataObject))
+#define DATA_OBJECT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATA_OBJECT, DataObjectClass))
+#define IS_DATA_OBJECT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATA_OBJECT))
+#define IS_DATA_OBJECT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATA_OBJECT))
+#define DATA_OBJECT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATA_OBJECT, DataObjectClass))
+
+typedef struct _DataObject DataObject;
+typedef struct _DataObjectClass DataObjectClass;
+
+#define TYPE_DATA_SOURCE (data_source_get_type ())
+#define DATA_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATA_SOURCE, DataSource))
+#define DATA_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATA_SOURCE, DataSourceClass))
+#define IS_DATA_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATA_SOURCE))
+#define IS_DATA_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATA_SOURCE))
+#define DATA_SOURCE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATA_SOURCE, DataSourceClass))
+
+typedef struct _DataSource DataSource;
+typedef struct _DataSourceClass DataSourceClass;
+
+#define TYPE_SAVED_SEARCH (saved_search_get_type ())
+#define SAVED_SEARCH(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SAVED_SEARCH, SavedSearch))
+#define SAVED_SEARCH_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SAVED_SEARCH, SavedSearchClass))
+#define IS_SAVED_SEARCH(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SAVED_SEARCH))
+#define IS_SAVED_SEARCH_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SAVED_SEARCH))
+#define SAVED_SEARCH_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SAVED_SEARCH, SavedSearchClass))
+
+typedef struct _SavedSearch SavedSearch;
+typedef struct _SavedSearchClass SavedSearchClass;
+#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL)))
+
+#define TYPE_SAVED_SEARCH_TABLE (saved_search_table_get_type ())
+#define SAVED_SEARCH_TABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SAVED_SEARCH_TABLE, SavedSearchTable))
+#define SAVED_SEARCH_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SAVED_SEARCH_TABLE, SavedSearchTableClass))
+#define IS_SAVED_SEARCH_TABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SAVED_SEARCH_TABLE))
+#define IS_SAVED_SEARCH_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SAVED_SEARCH_TABLE))
+#define SAVED_SEARCH_TABLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SAVED_SEARCH_TABLE, SavedSearchTableClass))
+
+typedef struct _SavedSearchTable SavedSearchTable;
+typedef struct _SavedSearchTableClass SavedSearchTableClass;
+#define _g_free0(var) (var = (g_free (var), NULL))
+#define _saved_search_table_unref0(var) ((var == NULL) ? NULL : (var = (saved_search_table_unref (var), NULL)))
+#define _saved_search_dialog_search_row_container_unref0(var) ((var == NULL) ? NULL : (var = (saved_search_dialog_search_row_container_unref (var), NULL)))
+
+#define TYPE_SEARCH_OPERATOR (search_operator_get_type ())
+
+#define TYPE_SEARCH_CONDITION (search_condition_get_type ())
+#define SEARCH_CONDITION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SEARCH_CONDITION, SearchCondition))
+#define SEARCH_CONDITION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SEARCH_CONDITION, SearchConditionClass))
+#define IS_SEARCH_CONDITION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SEARCH_CONDITION))
+#define IS_SEARCH_CONDITION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SEARCH_CONDITION))
+#define SEARCH_CONDITION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SEARCH_CONDITION, SearchConditionClass))
+
+typedef struct _SearchCondition SearchCondition;
+typedef struct _SearchConditionClass SearchConditionClass;
+#define _search_condition_unref0(var) ((var == NULL) ? NULL : (var = (search_condition_unref (var), NULL)))
+
+#define TYPE_PAGE_WINDOW (page_window_get_type ())
+#define PAGE_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PAGE_WINDOW, PageWindow))
+#define PAGE_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PAGE_WINDOW, PageWindowClass))
+#define IS_PAGE_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PAGE_WINDOW))
+#define IS_PAGE_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PAGE_WINDOW))
+#define PAGE_WINDOW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PAGE_WINDOW, PageWindowClass))
+
+typedef struct _PageWindow PageWindow;
+typedef struct _PageWindowClass PageWindowClass;
+
+#define TYPE_APP_WINDOW (app_window_get_type ())
+#define APP_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_APP_WINDOW, AppWindow))
+#define APP_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_APP_WINDOW, AppWindowClass))
+#define IS_APP_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_APP_WINDOW))
+#define IS_APP_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_APP_WINDOW))
+#define APP_WINDOW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_APP_WINDOW, AppWindowClass))
+
+typedef struct _AppWindow AppWindow;
+typedef struct _AppWindowClass AppWindowClass;
+typedef struct _SavedSearchDialogSearchRowContainerPrivate SavedSearchDialogSearchRowContainerPrivate;
+
+#define SEARCH_CONDITION_TYPE_SEARCH_TYPE (search_condition_search_type_get_type ())
+
+#define SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW (saved_search_dialog_search_row_get_type ())
+#define SAVED_SEARCH_DIALOG_SEARCH_ROW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW, SavedSearchDialogSearchRow))
+#define SAVED_SEARCH_DIALOG_SEARCH_ROW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW, SavedSearchDialogSearchRowClass))
+#define SAVED_SEARCH_DIALOG_IS_SEARCH_ROW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW))
+#define SAVED_SEARCH_DIALOG_IS_SEARCH_ROW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW))
+#define SAVED_SEARCH_DIALOG_SEARCH_ROW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW, SavedSearchDialogSearchRowClass))
+
+typedef struct _SavedSearchDialogSearchRow SavedSearchDialogSearchRow;
+typedef struct _SavedSearchDialogSearchRowClass SavedSearchDialogSearchRowClass;
+#define _saved_search_dialog_search_row_unref0(var) ((var == NULL) ? NULL : (var = (saved_search_dialog_search_row_unref (var), NULL)))
+
+#define SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW_TEXT (saved_search_dialog_search_row_text_get_type ())
+#define SAVED_SEARCH_DIALOG_SEARCH_ROW_TEXT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW_TEXT, SavedSearchDialogSearchRowText))
+#define SAVED_SEARCH_DIALOG_SEARCH_ROW_TEXT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW_TEXT, SavedSearchDialogSearchRowTextClass))
+#define SAVED_SEARCH_DIALOG_IS_SEARCH_ROW_TEXT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW_TEXT))
+#define SAVED_SEARCH_DIALOG_IS_SEARCH_ROW_TEXT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW_TEXT))
+#define SAVED_SEARCH_DIALOG_SEARCH_ROW_TEXT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW_TEXT, SavedSearchDialogSearchRowTextClass))
+
+typedef struct _SavedSearchDialogSearchRowText SavedSearchDialogSearchRowText;
+typedef struct _SavedSearchDialogSearchRowTextClass SavedSearchDialogSearchRowTextClass;
+
+#define SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW_MEDIA_TYPE (saved_search_dialog_search_row_media_type_get_type ())
+#define SAVED_SEARCH_DIALOG_SEARCH_ROW_MEDIA_TYPE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW_MEDIA_TYPE, SavedSearchDialogSearchRowMediaType))
+#define SAVED_SEARCH_DIALOG_SEARCH_ROW_MEDIA_TYPE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW_MEDIA_TYPE, SavedSearchDialogSearchRowMediaTypeClass))
+#define SAVED_SEARCH_DIALOG_IS_SEARCH_ROW_MEDIA_TYPE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW_MEDIA_TYPE))
+#define SAVED_SEARCH_DIALOG_IS_SEARCH_ROW_MEDIA_TYPE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW_MEDIA_TYPE))
+#define SAVED_SEARCH_DIALOG_SEARCH_ROW_MEDIA_TYPE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW_MEDIA_TYPE, SavedSearchDialogSearchRowMediaTypeClass))
+
+typedef struct _SavedSearchDialogSearchRowMediaType SavedSearchDialogSearchRowMediaType;
+typedef struct _SavedSearchDialogSearchRowMediaTypeClass SavedSearchDialogSearchRowMediaTypeClass;
+
+#define SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW_FLAGGED (saved_search_dialog_search_row_flagged_get_type ())
+#define SAVED_SEARCH_DIALOG_SEARCH_ROW_FLAGGED(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW_FLAGGED, SavedSearchDialogSearchRowFlagged))
+#define SAVED_SEARCH_DIALOG_SEARCH_ROW_FLAGGED_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW_FLAGGED, SavedSearchDialogSearchRowFlaggedClass))
+#define SAVED_SEARCH_DIALOG_IS_SEARCH_ROW_FLAGGED(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW_FLAGGED))
+#define SAVED_SEARCH_DIALOG_IS_SEARCH_ROW_FLAGGED_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW_FLAGGED))
+#define SAVED_SEARCH_DIALOG_SEARCH_ROW_FLAGGED_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW_FLAGGED, SavedSearchDialogSearchRowFlaggedClass))
+
+typedef struct _SavedSearchDialogSearchRowFlagged SavedSearchDialogSearchRowFlagged;
+typedef struct _SavedSearchDialogSearchRowFlaggedClass SavedSearchDialogSearchRowFlaggedClass;
+
+#define SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW_MODIFIED (saved_search_dialog_search_row_modified_get_type ())
+#define SAVED_SEARCH_DIALOG_SEARCH_ROW_MODIFIED(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW_MODIFIED, SavedSearchDialogSearchRowModified))
+#define SAVED_SEARCH_DIALOG_SEARCH_ROW_MODIFIED_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW_MODIFIED, SavedSearchDialogSearchRowModifiedClass))
+#define SAVED_SEARCH_DIALOG_IS_SEARCH_ROW_MODIFIED(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW_MODIFIED))
+#define SAVED_SEARCH_DIALOG_IS_SEARCH_ROW_MODIFIED_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW_MODIFIED))
+#define SAVED_SEARCH_DIALOG_SEARCH_ROW_MODIFIED_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW_MODIFIED, SavedSearchDialogSearchRowModifiedClass))
+
+typedef struct _SavedSearchDialogSearchRowModified SavedSearchDialogSearchRowModified;
+typedef struct _SavedSearchDialogSearchRowModifiedClass SavedSearchDialogSearchRowModifiedClass;
+
+#define SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW_RATING (saved_search_dialog_search_row_rating_get_type ())
+#define SAVED_SEARCH_DIALOG_SEARCH_ROW_RATING(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW_RATING, SavedSearchDialogSearchRowRating))
+#define SAVED_SEARCH_DIALOG_SEARCH_ROW_RATING_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW_RATING, SavedSearchDialogSearchRowRatingClass))
+#define SAVED_SEARCH_DIALOG_IS_SEARCH_ROW_RATING(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW_RATING))
+#define SAVED_SEARCH_DIALOG_IS_SEARCH_ROW_RATING_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW_RATING))
+#define SAVED_SEARCH_DIALOG_SEARCH_ROW_RATING_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW_RATING, SavedSearchDialogSearchRowRatingClass))
+
+typedef struct _SavedSearchDialogSearchRowRating SavedSearchDialogSearchRowRating;
+typedef struct _SavedSearchDialogSearchRowRatingClass SavedSearchDialogSearchRowRatingClass;
+
+#define SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW_DATE (saved_search_dialog_search_row_date_get_type ())
+#define SAVED_SEARCH_DIALOG_SEARCH_ROW_DATE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW_DATE, SavedSearchDialogSearchRowDate))
+#define SAVED_SEARCH_DIALOG_SEARCH_ROW_DATE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW_DATE, SavedSearchDialogSearchRowDateClass))
+#define SAVED_SEARCH_DIALOG_IS_SEARCH_ROW_DATE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW_DATE))
+#define SAVED_SEARCH_DIALOG_IS_SEARCH_ROW_DATE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW_DATE))
+#define SAVED_SEARCH_DIALOG_SEARCH_ROW_DATE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW_DATE, SavedSearchDialogSearchRowDateClass))
+
+typedef struct _SavedSearchDialogSearchRowDate SavedSearchDialogSearchRowDate;
+typedef struct _SavedSearchDialogSearchRowDateClass SavedSearchDialogSearchRowDateClass;
+typedef struct _SavedSearchDialogParamSpecSearchRowContainer SavedSearchDialogParamSpecSearchRowContainer;
+typedef struct _SavedSearchDialogSearchRowPrivate SavedSearchDialogSearchRowPrivate;
+typedef struct _SavedSearchDialogParamSpecSearchRow SavedSearchDialogParamSpecSearchRow;
+typedef struct _SavedSearchDialogSearchRowTextPrivate SavedSearchDialogSearchRowTextPrivate;
+
+#define SEARCH_CONDITION_TEXT_TYPE_CONTEXT (search_condition_text_context_get_type ())
+
+#define TYPE_SEARCH_CONDITION_TEXT (search_condition_text_get_type ())
+#define SEARCH_CONDITION_TEXT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SEARCH_CONDITION_TEXT, SearchConditionText))
+#define SEARCH_CONDITION_TEXT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SEARCH_CONDITION_TEXT, SearchConditionTextClass))
+#define IS_SEARCH_CONDITION_TEXT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SEARCH_CONDITION_TEXT))
+#define IS_SEARCH_CONDITION_TEXT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SEARCH_CONDITION_TEXT))
+#define SEARCH_CONDITION_TEXT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SEARCH_CONDITION_TEXT, SearchConditionTextClass))
+
+typedef struct _SearchConditionText SearchConditionText;
+typedef struct _SearchConditionTextClass SearchConditionTextClass;
+typedef struct _SavedSearchDialogSearchRowMediaTypePrivate SavedSearchDialogSearchRowMediaTypePrivate;
+
+#define SEARCH_CONDITION_MEDIA_TYPE_TYPE_CONTEXT (search_condition_media_type_context_get_type ())
+
+#define SEARCH_CONDITION_MEDIA_TYPE_TYPE_MEDIA_TYPE (search_condition_media_type_media_type_get_type ())
+
+#define TYPE_SEARCH_CONDITION_MEDIA_TYPE (search_condition_media_type_get_type ())
+#define SEARCH_CONDITION_MEDIA_TYPE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SEARCH_CONDITION_MEDIA_TYPE, SearchConditionMediaType))
+#define SEARCH_CONDITION_MEDIA_TYPE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SEARCH_CONDITION_MEDIA_TYPE, SearchConditionMediaTypeClass))
+#define IS_SEARCH_CONDITION_MEDIA_TYPE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SEARCH_CONDITION_MEDIA_TYPE))
+#define IS_SEARCH_CONDITION_MEDIA_TYPE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SEARCH_CONDITION_MEDIA_TYPE))
+#define SEARCH_CONDITION_MEDIA_TYPE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SEARCH_CONDITION_MEDIA_TYPE, SearchConditionMediaTypeClass))
+
+typedef struct _SearchConditionMediaType SearchConditionMediaType;
+typedef struct _SearchConditionMediaTypeClass SearchConditionMediaTypeClass;
+typedef struct _SavedSearchDialogSearchRowModifiedPrivate SavedSearchDialogSearchRowModifiedPrivate;
+
+#define SEARCH_CONDITION_MODIFIED_TYPE_CONTEXT (search_condition_modified_context_get_type ())
+
+#define SEARCH_CONDITION_MODIFIED_TYPE_STATE (search_condition_modified_state_get_type ())
+
+#define TYPE_SEARCH_CONDITION_MODIFIED (search_condition_modified_get_type ())
+#define SEARCH_CONDITION_MODIFIED(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SEARCH_CONDITION_MODIFIED, SearchConditionModified))
+#define SEARCH_CONDITION_MODIFIED_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SEARCH_CONDITION_MODIFIED, SearchConditionModifiedClass))
+#define IS_SEARCH_CONDITION_MODIFIED(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SEARCH_CONDITION_MODIFIED))
+#define IS_SEARCH_CONDITION_MODIFIED_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SEARCH_CONDITION_MODIFIED))
+#define SEARCH_CONDITION_MODIFIED_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SEARCH_CONDITION_MODIFIED, SearchConditionModifiedClass))
+
+typedef struct _SearchConditionModified SearchConditionModified;
+typedef struct _SearchConditionModifiedClass SearchConditionModifiedClass;
+typedef struct _SavedSearchDialogSearchRowFlaggedPrivate SavedSearchDialogSearchRowFlaggedPrivate;
+
+#define SEARCH_CONDITION_FLAGGED_TYPE_STATE (search_condition_flagged_state_get_type ())
+
+#define TYPE_SEARCH_CONDITION_FLAGGED (search_condition_flagged_get_type ())
+#define SEARCH_CONDITION_FLAGGED(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SEARCH_CONDITION_FLAGGED, SearchConditionFlagged))
+#define SEARCH_CONDITION_FLAGGED_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SEARCH_CONDITION_FLAGGED, SearchConditionFlaggedClass))
+#define IS_SEARCH_CONDITION_FLAGGED(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SEARCH_CONDITION_FLAGGED))
+#define IS_SEARCH_CONDITION_FLAGGED_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SEARCH_CONDITION_FLAGGED))
+#define SEARCH_CONDITION_FLAGGED_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SEARCH_CONDITION_FLAGGED, SearchConditionFlaggedClass))
+
+typedef struct _SearchConditionFlagged SearchConditionFlagged;
+typedef struct _SearchConditionFlaggedClass SearchConditionFlaggedClass;
+typedef struct _SavedSearchDialogSearchRowRatingPrivate SavedSearchDialogSearchRowRatingPrivate;
+
+#define TYPE_RATING (rating_get_type ())
+
+#define SEARCH_CONDITION_RATING_TYPE_CONTEXT (search_condition_rating_context_get_type ())
+
+#define TYPE_SEARCH_CONDITION_RATING (search_condition_rating_get_type ())
+#define SEARCH_CONDITION_RATING(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SEARCH_CONDITION_RATING, SearchConditionRating))
+#define SEARCH_CONDITION_RATING_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SEARCH_CONDITION_RATING, SearchConditionRatingClass))
+#define IS_SEARCH_CONDITION_RATING(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SEARCH_CONDITION_RATING))
+#define IS_SEARCH_CONDITION_RATING_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SEARCH_CONDITION_RATING))
+#define SEARCH_CONDITION_RATING_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SEARCH_CONDITION_RATING, SearchConditionRatingClass))
+
+typedef struct _SearchConditionRating SearchConditionRating;
+typedef struct _SearchConditionRatingClass SearchConditionRatingClass;
+typedef struct _SavedSearchDialogSearchRowDatePrivate SavedSearchDialogSearchRowDatePrivate;
+
+#define SEARCH_CONDITION_DATE_TYPE_CONTEXT (search_condition_date_context_get_type ())
+#define _g_date_time_unref0(var) ((var == NULL) ? NULL : (var = (g_date_time_unref (var), NULL)))
+
+#define TYPE_SEARCH_CONDITION_DATE (search_condition_date_get_type ())
+#define SEARCH_CONDITION_DATE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SEARCH_CONDITION_DATE, SearchConditionDate))
+#define SEARCH_CONDITION_DATE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SEARCH_CONDITION_DATE, SearchConditionDateClass))
+#define IS_SEARCH_CONDITION_DATE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SEARCH_CONDITION_DATE))
+#define IS_SEARCH_CONDITION_DATE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SEARCH_CONDITION_DATE))
+#define SEARCH_CONDITION_DATE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SEARCH_CONDITION_DATE, SearchConditionDateClass))
+
+typedef struct _SearchConditionDate SearchConditionDate;
+typedef struct _SearchConditionDateClass SearchConditionDateClass;
+typedef struct _Block9Data Block9Data;
+typedef struct _ParamSpecSavedSearchDialog ParamSpecSavedSearchDialog;
+#define _vala_assert(expr, msg) if G_LIKELY (expr) ; else g_assertion_message_expr (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, msg);
+#define _vala_return_if_fail(expr, msg) if G_LIKELY (expr) ; else { g_return_if_fail_warning (G_LOG_DOMAIN, G_STRFUNC, msg); return; }
+#define _vala_return_val_if_fail(expr, msg, val) if G_LIKELY (expr) ; else { g_return_if_fail_warning (G_LOG_DOMAIN, G_STRFUNC, msg); return val; }
+#define _vala_warn_if_fail(expr, msg) if G_LIKELY (expr) ; else g_warn_message (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, msg);
+
+struct _SavedSearchDialog {
+ GTypeInstance parent_instance;
+ volatile int ref_count;
+ SavedSearchDialogPrivate * priv;
+};
+
+struct _SavedSearchDialogClass {
+ GTypeClass parent_class;
+ void (*finalize) (SavedSearchDialog *self);
+};
+
+struct _SavedSearchDialogPrivate {
+ GtkBuilder* builder;
+ GtkDialog* dialog;
+ GtkButton* add_criteria;
+ GtkComboBoxText* operator;
+ GtkBox* row_box;
+ GtkEntry* search_title;
+ GeeArrayList* row_list;
+ gboolean edit_mode;
+ SavedSearch* previous_search;
+ gboolean valid;
+};
+
+typedef enum {
+ SEARCH_OPERATOR_ANY = 0,
+ SEARCH_OPERATOR_ALL,
+ SEARCH_OPERATOR_NONE
+} SearchOperator;
+
+struct _SavedSearchDialogSearchRowContainer {
+ GTypeInstance parent_instance;
+ volatile int ref_count;
+ SavedSearchDialogSearchRowContainerPrivate * priv;
+};
+
+struct _SavedSearchDialogSearchRowContainerClass {
+ GTypeClass parent_class;
+ void (*finalize) (SavedSearchDialogSearchRowContainer *self);
+};
+
+typedef enum {
+ SEARCH_CONDITION_SEARCH_TYPE_ANY_TEXT = 0,
+ SEARCH_CONDITION_SEARCH_TYPE_TITLE,
+ SEARCH_CONDITION_SEARCH_TYPE_TAG,
+ SEARCH_CONDITION_SEARCH_TYPE_EVENT_NAME,
+ SEARCH_CONDITION_SEARCH_TYPE_FILE_NAME,
+ SEARCH_CONDITION_SEARCH_TYPE_MEDIA_TYPE,
+ SEARCH_CONDITION_SEARCH_TYPE_FLAG_STATE,
+ SEARCH_CONDITION_SEARCH_TYPE_MODIFIED_STATE,
+ SEARCH_CONDITION_SEARCH_TYPE_RATING,
+ SEARCH_CONDITION_SEARCH_TYPE_COMMENT,
+ SEARCH_CONDITION_SEARCH_TYPE_DATE
+} SearchConditionSearchType;
+
+struct _SavedSearchDialogSearchRowContainerPrivate {
+ GtkComboBoxText* type_combo;
+ GtkBox* box;
+ GtkAlignment* align;
+ GtkButton* remove_button;
+ SearchConditionSearchType* search_types;
+ gint search_types_length1;
+ gint _search_types_size_;
+ GeeHashMap* search_types_index;
+ SavedSearchDialogSearchRow* my_row;
+};
+
+struct _SavedSearchDialogParamSpecSearchRowContainer {
+ GParamSpec parent_instance;
+};
+
+struct _SavedSearchDialogSearchRow {
+ GTypeInstance parent_instance;
+ volatile int ref_count;
+ SavedSearchDialogSearchRowPrivate * priv;
+};
+
+struct _SavedSearchDialogSearchRowClass {
+ GTypeClass parent_class;
+ void (*finalize) (SavedSearchDialogSearchRow *self);
+ GtkWidget* (*get_widget) (SavedSearchDialogSearchRow* self);
+ SearchCondition* (*get_search_condition) (SavedSearchDialogSearchRow* self);
+ void (*populate) (SavedSearchDialogSearchRow* self, SearchCondition* sc);
+ gboolean (*is_complete) (SavedSearchDialogSearchRow* self);
+};
+
+struct _SavedSearchDialogParamSpecSearchRow {
+ GParamSpec parent_instance;
+};
+
+struct _SavedSearchDialogSearchRowText {
+ SavedSearchDialogSearchRow parent_instance;
+ SavedSearchDialogSearchRowTextPrivate * priv;
+};
+
+struct _SavedSearchDialogSearchRowTextClass {
+ SavedSearchDialogSearchRowClass parent_class;
+};
+
+struct _SavedSearchDialogSearchRowTextPrivate {
+ GtkBox* box;
+ GtkComboBoxText* text_context;
+ GtkEntry* entry;
+ SavedSearchDialogSearchRowContainer* parent;
+};
+
+typedef enum {
+ SEARCH_CONDITION_TEXT_CONTEXT_CONTAINS = 0,
+ SEARCH_CONDITION_TEXT_CONTEXT_IS_EXACTLY,
+ SEARCH_CONDITION_TEXT_CONTEXT_STARTS_WITH,
+ SEARCH_CONDITION_TEXT_CONTEXT_ENDS_WITH,
+ SEARCH_CONDITION_TEXT_CONTEXT_DOES_NOT_CONTAIN,
+ SEARCH_CONDITION_TEXT_CONTEXT_IS_NOT_SET,
+ SEARCH_CONDITION_TEXT_CONTEXT_IS_SET
+} SearchConditionTextContext;
+
+struct _SavedSearchDialogSearchRowMediaType {
+ SavedSearchDialogSearchRow parent_instance;
+ SavedSearchDialogSearchRowMediaTypePrivate * priv;
+};
+
+struct _SavedSearchDialogSearchRowMediaTypeClass {
+ SavedSearchDialogSearchRowClass parent_class;
+};
+
+struct _SavedSearchDialogSearchRowMediaTypePrivate {
+ GtkBox* box;
+ GtkComboBoxText* media_context;
+ GtkComboBoxText* media_type;
+ SavedSearchDialogSearchRowContainer* parent;
+};
+
+typedef enum {
+ SEARCH_CONDITION_MEDIA_TYPE_CONTEXT_IS = 0,
+ SEARCH_CONDITION_MEDIA_TYPE_CONTEXT_IS_NOT
+} SearchConditionMediaTypeContext;
+
+typedef enum {
+ SEARCH_CONDITION_MEDIA_TYPE_MEDIA_TYPE_PHOTO_ALL = 0,
+ SEARCH_CONDITION_MEDIA_TYPE_MEDIA_TYPE_PHOTO_RAW,
+ SEARCH_CONDITION_MEDIA_TYPE_MEDIA_TYPE_VIDEO
+} SearchConditionMediaTypeMediaType;
+
+struct _SavedSearchDialogSearchRowModified {
+ SavedSearchDialogSearchRow parent_instance;
+ SavedSearchDialogSearchRowModifiedPrivate * priv;
+};
+
+struct _SavedSearchDialogSearchRowModifiedClass {
+ SavedSearchDialogSearchRowClass parent_class;
+};
+
+struct _SavedSearchDialogSearchRowModifiedPrivate {
+ GtkBox* box;
+ GtkComboBoxText* modified_context;
+ GtkComboBoxText* modified_state;
+ SavedSearchDialogSearchRowContainer* parent;
+};
+
+typedef enum {
+ SEARCH_CONDITION_MODIFIED_CONTEXT_HAS = 0,
+ SEARCH_CONDITION_MODIFIED_CONTEXT_HAS_NO
+} SearchConditionModifiedContext;
+
+typedef enum {
+ SEARCH_CONDITION_MODIFIED_STATE_MODIFIED = 0,
+ SEARCH_CONDITION_MODIFIED_STATE_INTERNAL_CHANGES,
+ SEARCH_CONDITION_MODIFIED_STATE_EXTERNAL_CHANGES
+} SearchConditionModifiedState;
+
+struct _SavedSearchDialogSearchRowFlagged {
+ SavedSearchDialogSearchRow parent_instance;
+ SavedSearchDialogSearchRowFlaggedPrivate * priv;
+};
+
+struct _SavedSearchDialogSearchRowFlaggedClass {
+ SavedSearchDialogSearchRowClass parent_class;
+};
+
+struct _SavedSearchDialogSearchRowFlaggedPrivate {
+ GtkBox* box;
+ GtkComboBoxText* flagged_state;
+ SavedSearchDialogSearchRowContainer* parent;
+};
+
+typedef enum {
+ SEARCH_CONDITION_FLAGGED_STATE_FLAGGED = 0,
+ SEARCH_CONDITION_FLAGGED_STATE_UNFLAGGED
+} SearchConditionFlaggedState;
+
+struct _SavedSearchDialogSearchRowRating {
+ SavedSearchDialogSearchRow parent_instance;
+ SavedSearchDialogSearchRowRatingPrivate * priv;
+};
+
+struct _SavedSearchDialogSearchRowRatingClass {
+ SavedSearchDialogSearchRowClass parent_class;
+};
+
+struct _SavedSearchDialogSearchRowRatingPrivate {
+ GtkBox* box;
+ GtkComboBoxText* rating;
+ GtkComboBoxText* context;
+ SavedSearchDialogSearchRowContainer* parent;
+};
+
+typedef enum {
+ RATING_REJECTED = -1,
+ RATING_UNRATED = 0,
+ RATING_ONE = 1,
+ RATING_TWO = 2,
+ RATING_THREE = 3,
+ RATING_FOUR = 4,
+ RATING_FIVE = 5
+} Rating;
+
+typedef enum {
+ SEARCH_CONDITION_RATING_CONTEXT_AND_HIGHER = 0,
+ SEARCH_CONDITION_RATING_CONTEXT_ONLY,
+ SEARCH_CONDITION_RATING_CONTEXT_AND_LOWER
+} SearchConditionRatingContext;
+
+struct _SavedSearchDialogSearchRowDate {
+ SavedSearchDialogSearchRow parent_instance;
+ SavedSearchDialogSearchRowDatePrivate * priv;
+};
+
+struct _SavedSearchDialogSearchRowDateClass {
+ SavedSearchDialogSearchRowClass parent_class;
+};
+
+struct _SavedSearchDialogSearchRowDatePrivate {
+ GtkBox* box;
+ GtkComboBoxText* context;
+ GtkButton* label_one;
+ GtkButton* label_two;
+ GtkCalendar* cal_one;
+ GtkCalendar* cal_two;
+ GtkLabel* and;
+ SavedSearchDialogSearchRowContainer* parent;
+};
+
+typedef enum {
+ SEARCH_CONDITION_DATE_CONTEXT_EXACT = 0,
+ SEARCH_CONDITION_DATE_CONTEXT_AFTER,
+ SEARCH_CONDITION_DATE_CONTEXT_BEFORE,
+ SEARCH_CONDITION_DATE_CONTEXT_BETWEEN,
+ SEARCH_CONDITION_DATE_CONTEXT_IS_NOT_SET
+} SearchConditionDateContext;
+
+struct _Block9Data {
+ int _ref_count_;
+ SavedSearchDialogSearchRowDate* self;
+ GtkDialog* d;
+};
+
+struct _ParamSpecSavedSearchDialog {
+ GParamSpec parent_instance;
+};
+
+
+static gpointer saved_search_dialog_parent_class = NULL;
+static gpointer saved_search_dialog_search_row_container_parent_class = NULL;
+static gpointer saved_search_dialog_search_row_parent_class = NULL;
+static gpointer saved_search_dialog_search_row_text_parent_class = NULL;
+static gpointer saved_search_dialog_search_row_media_type_parent_class = NULL;
+static gpointer saved_search_dialog_search_row_modified_parent_class = NULL;
+static gpointer saved_search_dialog_search_row_flagged_parent_class = NULL;
+static gpointer saved_search_dialog_search_row_rating_parent_class = NULL;
+static gpointer saved_search_dialog_search_row_date_parent_class = NULL;
+
+gpointer saved_search_dialog_ref (gpointer instance);
+void saved_search_dialog_unref (gpointer instance);
+GParamSpec* param_spec_saved_search_dialog (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
+void value_set_saved_search_dialog (GValue* value, gpointer v_object);
+void value_take_saved_search_dialog (GValue* value, gpointer v_object);
+gpointer value_get_saved_search_dialog (const GValue* value);
+GType saved_search_dialog_get_type (void) G_GNUC_CONST;
+static gpointer saved_search_dialog_search_row_container_ref (gpointer instance);
+static void saved_search_dialog_search_row_container_unref (gpointer instance);
+static GParamSpec* saved_search_dialog_param_spec_search_row_container (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags) G_GNUC_UNUSED;
+static void saved_search_dialog_value_set_search_row_container (GValue* value, gpointer v_object) G_GNUC_UNUSED;
+static void saved_search_dialog_value_take_search_row_container (GValue* value, gpointer v_object) G_GNUC_UNUSED;
+static gpointer saved_search_dialog_value_get_search_row_container (const GValue* value) G_GNUC_UNUSED;
+static GType saved_search_dialog_search_row_container_get_type (void) G_GNUC_CONST G_GNUC_UNUSED;
+GType data_object_get_type (void) G_GNUC_CONST;
+GType data_source_get_type (void) G_GNUC_CONST;
+GType saved_search_get_type (void) G_GNUC_CONST;
+#define SAVED_SEARCH_DIALOG_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_SAVED_SEARCH_DIALOG, SavedSearchDialogPrivate))
+enum {
+ SAVED_SEARCH_DIALOG_DUMMY_PROPERTY
+};
+static void saved_search_dialog_on_title_changed (SavedSearchDialog* self);
+static void _saved_search_dialog_on_title_changed_gtk_editable_changed (GtkEditable* _sender, gpointer self);
+SavedSearchDialog* saved_search_dialog_new (void);
+SavedSearchDialog* saved_search_dialog_construct (GType object_type);
+static void saved_search_dialog_setup_dialog (SavedSearchDialog* self);
+gpointer saved_search_table_ref (gpointer instance);
+void saved_search_table_unref (gpointer instance);
+GParamSpec* param_spec_saved_search_table (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
+void value_set_saved_search_table (GValue* value, gpointer v_object);
+void value_take_saved_search_table (GValue* value, gpointer v_object);
+gpointer value_get_saved_search_table (const GValue* value);
+GType saved_search_table_get_type (void) G_GNUC_CONST;
+SavedSearchTable* saved_search_table_get_instance (void);
+gchar* saved_search_table_generate_unique_name (SavedSearchTable* self);
+static void saved_search_dialog_add_text_search (SavedSearchDialog* self);
+static void saved_search_dialog_search_row_container_allow_removal (SavedSearchDialogSearchRowContainer* self, gboolean allow);
+static void saved_search_dialog_set_valid (SavedSearchDialog* self, gboolean v);
+SavedSearchDialog* saved_search_dialog_new_edit_existing (SavedSearch* saved_search);
+SavedSearchDialog* saved_search_dialog_construct_edit_existing (GType object_type, SavedSearch* saved_search);
+GType search_operator_get_type (void) G_GNUC_CONST;
+SearchOperator saved_search_get_operator (SavedSearch* self);
+gchar* data_object_get_name (DataObject* self);
+gpointer search_condition_ref (gpointer instance);
+void search_condition_unref (gpointer instance);
+GParamSpec* param_spec_search_condition (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
+void value_set_search_condition (GValue* value, gpointer v_object);
+void value_take_search_condition (GValue* value, gpointer v_object);
+gpointer value_get_search_condition (const GValue* value);
+GType search_condition_get_type (void) G_GNUC_CONST;
+GeeList* saved_search_get_conditions (SavedSearch* self);
+static void saved_search_dialog_add_row (SavedSearchDialog* self, SavedSearchDialogSearchRowContainer* row);
+static SavedSearchDialogSearchRowContainer* saved_search_dialog_search_row_container_new_edit_existing (SearchCondition* sc);
+static SavedSearchDialogSearchRowContainer* saved_search_dialog_search_row_container_construct_edit_existing (GType object_type, SearchCondition* sc);
+GtkBuilder* app_window_create_builder (const gchar* glade_filename, void* user);
+GType page_window_get_type (void) G_GNUC_CONST;
+GType app_window_get_type (void) G_GNUC_CONST;
+AppWindow* app_window_get_instance (void);
+static void saved_search_dialog_on_response (SavedSearchDialog* self, gint response_id);
+static void _saved_search_dialog_on_response_gtk_dialog_response (GtkDialog* _sender, gint response_id, gpointer self);
+static gboolean saved_search_dialog_on_add_criteria (SavedSearchDialog* self, GdkEventButton* event);
+static gboolean _saved_search_dialog_on_add_criteria_gtk_widget_button_press_event (GtkWidget* _sender, GdkEventButton* event, gpointer self);
+void saved_search_dialog_show (SavedSearchDialog* self);
+static SavedSearchDialogSearchRowContainer* saved_search_dialog_search_row_container_new (void);
+static SavedSearchDialogSearchRowContainer* saved_search_dialog_search_row_container_construct (GType object_type);
+static GtkWidget* saved_search_dialog_search_row_container_get_widget (SavedSearchDialogSearchRowContainer* self);
+static void saved_search_dialog_on_remove_row (SavedSearchDialog* self, SavedSearchDialogSearchRowContainer* row);
+static void _saved_search_dialog_on_remove_row_saved_search_dialog_search_row_container_remove (SavedSearchDialogSearchRowContainer* _sender, SavedSearchDialogSearchRowContainer* this_row, gpointer self);
+static void saved_search_dialog_on_row_changed (SavedSearchDialog* self, SavedSearchDialogSearchRowContainer* row);
+static void _saved_search_dialog_on_row_changed_saved_search_dialog_search_row_container_changed (SavedSearchDialogSearchRowContainer* _sender, SavedSearchDialogSearchRowContainer* this_row, gpointer self);
+static gboolean saved_search_dialog_search_row_container_is_complete (SavedSearchDialogSearchRowContainer* self);
+gboolean saved_search_table_exists (SavedSearchTable* self, const gchar* search_name);
+void app_window_error_message (const gchar* message, GtkWindow* parent);
+gchar* resources_rename_search_exists_message (const gchar* name);
+void saved_search_table_remove (SavedSearchTable* self, SavedSearch* search);
+static SearchCondition* saved_search_dialog_search_row_container_get_search_condition (SavedSearchDialogSearchRowContainer* self);
+SavedSearch* saved_search_table_create (SavedSearchTable* self, const gchar* name, SearchOperator operator, GeeArrayList* conditions);
+static gboolean saved_search_dialog_is_title_valid (SavedSearchDialog* self);
+GType search_condition_search_type_get_type (void) G_GNUC_CONST;
+static gpointer saved_search_dialog_search_row_ref (gpointer instance);
+static void saved_search_dialog_search_row_unref (gpointer instance);
+static GParamSpec* saved_search_dialog_param_spec_search_row (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags) G_GNUC_UNUSED;
+static void saved_search_dialog_value_set_search_row (GValue* value, gpointer v_object) G_GNUC_UNUSED;
+static void saved_search_dialog_value_take_search_row (GValue* value, gpointer v_object) G_GNUC_UNUSED;
+static gpointer saved_search_dialog_value_get_search_row (const GValue* value) G_GNUC_UNUSED;
+static GType saved_search_dialog_search_row_get_type (void) G_GNUC_CONST G_GNUC_UNUSED;
+#define SAVED_SEARCH_DIALOG_SEARCH_ROW_CONTAINER_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW_CONTAINER, SavedSearchDialogSearchRowContainerPrivate))
+enum {
+ SAVED_SEARCH_DIALOG_SEARCH_ROW_CONTAINER_DUMMY_PROPERTY
+};
+static void saved_search_dialog_search_row_container_setup_gui (SavedSearchDialogSearchRowContainer* self);
+static void saved_search_dialog_search_row_container_set_type (SavedSearchDialogSearchRowContainer* self, SearchConditionSearchType type);
+SearchConditionSearchType search_condition_get_search_type (SearchCondition* self);
+static void saved_search_dialog_search_row_container_set_type_combo_box (SavedSearchDialogSearchRowContainer* self, SearchConditionSearchType st);
+static void saved_search_dialog_search_row_populate (SavedSearchDialogSearchRow* self, SearchCondition* sc);
+SearchConditionSearchType* search_condition_search_type_as_array (int* result_length1);
+void search_condition_search_type_sort_array (SearchConditionSearchType** array, int* array_length1);
+gchar* search_condition_search_type_display_text (SearchConditionSearchType self);
+static void saved_search_dialog_search_row_container_on_type_changed (SavedSearchDialogSearchRowContainer* self);
+static void _saved_search_dialog_search_row_container_on_type_changed_gtk_combo_box_changed (GtkComboBox* _sender, gpointer self);
+static gboolean saved_search_dialog_search_row_container_on_removed (SavedSearchDialogSearchRowContainer* self, GdkEventButton* event);
+static gboolean _saved_search_dialog_search_row_container_on_removed_gtk_widget_button_press_event (GtkWidget* _sender, GdkEventButton* event, gpointer self);
+static SearchConditionSearchType saved_search_dialog_search_row_container_get_search_type (SavedSearchDialogSearchRowContainer* self);
+static GtkWidget* saved_search_dialog_search_row_get_widget (SavedSearchDialogSearchRow* self);
+static SavedSearchDialogSearchRowText* saved_search_dialog_search_row_text_new (SavedSearchDialogSearchRowContainer* parent);
+static SavedSearchDialogSearchRowText* saved_search_dialog_search_row_text_construct (GType object_type, SavedSearchDialogSearchRowContainer* parent);
+static GType saved_search_dialog_search_row_text_get_type (void) G_GNUC_CONST G_GNUC_UNUSED;
+static SavedSearchDialogSearchRowMediaType* saved_search_dialog_search_row_media_type_new (SavedSearchDialogSearchRowContainer* parent);
+static SavedSearchDialogSearchRowMediaType* saved_search_dialog_search_row_media_type_construct (GType object_type, SavedSearchDialogSearchRowContainer* parent);
+static GType saved_search_dialog_search_row_media_type_get_type (void) G_GNUC_CONST G_GNUC_UNUSED;
+static SavedSearchDialogSearchRowFlagged* saved_search_dialog_search_row_flagged_new (SavedSearchDialogSearchRowContainer* parent);
+static SavedSearchDialogSearchRowFlagged* saved_search_dialog_search_row_flagged_construct (GType object_type, SavedSearchDialogSearchRowContainer* parent);
+static GType saved_search_dialog_search_row_flagged_get_type (void) G_GNUC_CONST G_GNUC_UNUSED;
+static SavedSearchDialogSearchRowModified* saved_search_dialog_search_row_modified_new (SavedSearchDialogSearchRowContainer* parent);
+static SavedSearchDialogSearchRowModified* saved_search_dialog_search_row_modified_construct (GType object_type, SavedSearchDialogSearchRowContainer* parent);
+static GType saved_search_dialog_search_row_modified_get_type (void) G_GNUC_CONST G_GNUC_UNUSED;
+static SavedSearchDialogSearchRowRating* saved_search_dialog_search_row_rating_new (SavedSearchDialogSearchRowContainer* parent);
+static SavedSearchDialogSearchRowRating* saved_search_dialog_search_row_rating_construct (GType object_type, SavedSearchDialogSearchRowContainer* parent);
+static GType saved_search_dialog_search_row_rating_get_type (void) G_GNUC_CONST G_GNUC_UNUSED;
+static SavedSearchDialogSearchRowDate* saved_search_dialog_search_row_date_new (SavedSearchDialogSearchRowContainer* parent);
+static SavedSearchDialogSearchRowDate* saved_search_dialog_search_row_date_construct (GType object_type, SavedSearchDialogSearchRowContainer* parent);
+static GType saved_search_dialog_search_row_date_get_type (void) G_GNUC_CONST G_GNUC_UNUSED;
+static SearchCondition* saved_search_dialog_search_row_get_search_condition (SavedSearchDialogSearchRow* self);
+static gboolean saved_search_dialog_search_row_is_complete (SavedSearchDialogSearchRow* self);
+static void g_cclosure_user_marshal_VOID__SAVED_SEARCH_DIALOG_SEARCH_ROW_CONTAINER (GClosure * closure, GValue * return_value, guint n_param_values, const GValue * param_values, gpointer invocation_hint, gpointer marshal_data);
+static void saved_search_dialog_search_row_container_finalize (SavedSearchDialogSearchRowContainer* obj);
+enum {
+ SAVED_SEARCH_DIALOG_SEARCH_ROW_DUMMY_PROPERTY
+};
+static GtkWidget* saved_search_dialog_search_row_real_get_widget (SavedSearchDialogSearchRow* self);
+static SearchCondition* saved_search_dialog_search_row_real_get_search_condition (SavedSearchDialogSearchRow* self);
+static void saved_search_dialog_search_row_real_populate (SavedSearchDialogSearchRow* self, SearchCondition* sc);
+static gboolean saved_search_dialog_search_row_real_is_complete (SavedSearchDialogSearchRow* self);
+static SavedSearchDialogSearchRow* saved_search_dialog_search_row_construct (GType object_type);
+static void saved_search_dialog_search_row_finalize (SavedSearchDialogSearchRow* obj);
+#define SAVED_SEARCH_DIALOG_SEARCH_ROW_TEXT_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW_TEXT, SavedSearchDialogSearchRowTextPrivate))
+enum {
+ SAVED_SEARCH_DIALOG_SEARCH_ROW_TEXT_DUMMY_PROPERTY
+};
+static void saved_search_dialog_search_row_text_on_changed (SavedSearchDialogSearchRowText* self);
+static void _saved_search_dialog_search_row_text_on_changed_gtk_combo_box_changed (GtkComboBox* _sender, gpointer self);
+static void _saved_search_dialog_search_row_text_on_changed_gtk_editable_changed (GtkEditable* _sender, gpointer self);
+static GtkWidget* saved_search_dialog_search_row_text_real_get_widget (SavedSearchDialogSearchRow* base);
+static SearchCondition* saved_search_dialog_search_row_text_real_get_search_condition (SavedSearchDialogSearchRow* base);
+GType search_condition_text_context_get_type (void) G_GNUC_CONST;
+static SearchConditionTextContext saved_search_dialog_search_row_text_get_text_context (SavedSearchDialogSearchRowText* self);
+GType search_condition_text_get_type (void) G_GNUC_CONST;
+SearchConditionText* search_condition_text_new (SearchConditionSearchType search_type, const gchar* text, SearchConditionTextContext context);
+SearchConditionText* search_condition_text_construct (GType object_type, SearchConditionSearchType search_type, const gchar* text, SearchConditionTextContext context);
+static void saved_search_dialog_search_row_text_real_populate (SavedSearchDialogSearchRow* base, SearchCondition* sc);
+SearchConditionTextContext search_condition_text_get_context (SearchConditionText* self);
+const gchar* search_condition_text_get_text (SearchConditionText* self);
+static gboolean saved_search_dialog_search_row_text_real_is_complete (SavedSearchDialogSearchRow* base);
+static void saved_search_dialog_search_row_text_finalize (SavedSearchDialogSearchRow* obj);
+#define SAVED_SEARCH_DIALOG_SEARCH_ROW_MEDIA_TYPE_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW_MEDIA_TYPE, SavedSearchDialogSearchRowMediaTypePrivate))
+enum {
+ SAVED_SEARCH_DIALOG_SEARCH_ROW_MEDIA_TYPE_DUMMY_PROPERTY
+};
+static void saved_search_dialog_search_row_media_type_on_changed (SavedSearchDialogSearchRowMediaType* self);
+static void _saved_search_dialog_search_row_media_type_on_changed_gtk_combo_box_changed (GtkComboBox* _sender, gpointer self);
+static GtkWidget* saved_search_dialog_search_row_media_type_real_get_widget (SavedSearchDialogSearchRow* base);
+static SearchCondition* saved_search_dialog_search_row_media_type_real_get_search_condition (SavedSearchDialogSearchRow* base);
+GType search_condition_media_type_context_get_type (void) G_GNUC_CONST;
+GType search_condition_media_type_media_type_get_type (void) G_GNUC_CONST;
+GType search_condition_media_type_get_type (void) G_GNUC_CONST;
+SearchConditionMediaType* search_condition_media_type_new (SearchConditionSearchType search_type, SearchConditionMediaTypeContext context, SearchConditionMediaTypeMediaType media_type);
+SearchConditionMediaType* search_condition_media_type_construct (GType object_type, SearchConditionSearchType search_type, SearchConditionMediaTypeContext context, SearchConditionMediaTypeMediaType media_type);
+static void saved_search_dialog_search_row_media_type_real_populate (SavedSearchDialogSearchRow* base, SearchCondition* sc);
+SearchConditionMediaTypeContext search_condition_media_type_get_context (SearchConditionMediaType* self);
+SearchConditionMediaTypeMediaType search_condition_media_type_get_media_type (SearchConditionMediaType* self);
+static gboolean saved_search_dialog_search_row_media_type_real_is_complete (SavedSearchDialogSearchRow* base);
+static void saved_search_dialog_search_row_media_type_finalize (SavedSearchDialogSearchRow* obj);
+#define SAVED_SEARCH_DIALOG_SEARCH_ROW_MODIFIED_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW_MODIFIED, SavedSearchDialogSearchRowModifiedPrivate))
+enum {
+ SAVED_SEARCH_DIALOG_SEARCH_ROW_MODIFIED_DUMMY_PROPERTY
+};
+static void saved_search_dialog_search_row_modified_on_changed (SavedSearchDialogSearchRowModified* self);
+static void _saved_search_dialog_search_row_modified_on_changed_gtk_combo_box_changed (GtkComboBox* _sender, gpointer self);
+static GtkWidget* saved_search_dialog_search_row_modified_real_get_widget (SavedSearchDialogSearchRow* base);
+static SearchCondition* saved_search_dialog_search_row_modified_real_get_search_condition (SavedSearchDialogSearchRow* base);
+GType search_condition_modified_context_get_type (void) G_GNUC_CONST;
+GType search_condition_modified_state_get_type (void) G_GNUC_CONST;
+GType search_condition_modified_get_type (void) G_GNUC_CONST;
+SearchConditionModified* search_condition_modified_new (SearchConditionSearchType search_type, SearchConditionModifiedContext context, SearchConditionModifiedState state);
+SearchConditionModified* search_condition_modified_construct (GType object_type, SearchConditionSearchType search_type, SearchConditionModifiedContext context, SearchConditionModifiedState state);
+static void saved_search_dialog_search_row_modified_real_populate (SavedSearchDialogSearchRow* base, SearchCondition* sc);
+SearchConditionModifiedState search_condition_modified_get_state (SearchConditionModified* self);
+SearchConditionModifiedContext search_condition_modified_get_context (SearchConditionModified* self);
+static gboolean saved_search_dialog_search_row_modified_real_is_complete (SavedSearchDialogSearchRow* base);
+static void saved_search_dialog_search_row_modified_finalize (SavedSearchDialogSearchRow* obj);
+#define SAVED_SEARCH_DIALOG_SEARCH_ROW_FLAGGED_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW_FLAGGED, SavedSearchDialogSearchRowFlaggedPrivate))
+enum {
+ SAVED_SEARCH_DIALOG_SEARCH_ROW_FLAGGED_DUMMY_PROPERTY
+};
+static void saved_search_dialog_search_row_flagged_on_changed (SavedSearchDialogSearchRowFlagged* self);
+static void _saved_search_dialog_search_row_flagged_on_changed_gtk_combo_box_changed (GtkComboBox* _sender, gpointer self);
+static GtkWidget* saved_search_dialog_search_row_flagged_real_get_widget (SavedSearchDialogSearchRow* base);
+static SearchCondition* saved_search_dialog_search_row_flagged_real_get_search_condition (SavedSearchDialogSearchRow* base);
+GType search_condition_flagged_state_get_type (void) G_GNUC_CONST;
+GType search_condition_flagged_get_type (void) G_GNUC_CONST;
+SearchConditionFlagged* search_condition_flagged_new (SearchConditionSearchType search_type, SearchConditionFlaggedState state);
+SearchConditionFlagged* search_condition_flagged_construct (GType object_type, SearchConditionSearchType search_type, SearchConditionFlaggedState state);
+static void saved_search_dialog_search_row_flagged_real_populate (SavedSearchDialogSearchRow* base, SearchCondition* sc);
+SearchConditionFlaggedState search_condition_flagged_get_state (SearchConditionFlagged* self);
+static gboolean saved_search_dialog_search_row_flagged_real_is_complete (SavedSearchDialogSearchRow* base);
+static void saved_search_dialog_search_row_flagged_finalize (SavedSearchDialogSearchRow* obj);
+#define SAVED_SEARCH_DIALOG_SEARCH_ROW_RATING_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW_RATING, SavedSearchDialogSearchRowRatingPrivate))
+enum {
+ SAVED_SEARCH_DIALOG_SEARCH_ROW_RATING_DUMMY_PROPERTY
+};
+static void saved_search_dialog_search_row_rating_on_changed (SavedSearchDialogSearchRowRating* self);
+static void _saved_search_dialog_search_row_rating_on_changed_gtk_combo_box_changed (GtkComboBox* _sender, gpointer self);
+GType rating_get_type (void) G_GNUC_CONST;
+const gchar* resources_rating_combo_box (Rating rating);
+static GtkWidget* saved_search_dialog_search_row_rating_real_get_widget (SavedSearchDialogSearchRow* base);
+static SearchCondition* saved_search_dialog_search_row_rating_real_get_search_condition (SavedSearchDialogSearchRow* base);
+GType search_condition_rating_context_get_type (void) G_GNUC_CONST;
+GType search_condition_rating_get_type (void) G_GNUC_CONST;
+SearchConditionRating* search_condition_rating_new (SearchConditionSearchType search_type, Rating rating, SearchConditionRatingContext context);
+SearchConditionRating* search_condition_rating_construct (GType object_type, SearchConditionSearchType search_type, Rating rating, SearchConditionRatingContext context);
+static void saved_search_dialog_search_row_rating_real_populate (SavedSearchDialogSearchRow* base, SearchCondition* sc);
+SearchConditionRatingContext search_condition_rating_get_context (SearchConditionRating* self);
+Rating search_condition_rating_get_rating (SearchConditionRating* self);
+static gboolean saved_search_dialog_search_row_rating_real_is_complete (SavedSearchDialogSearchRow* base);
+static void saved_search_dialog_search_row_rating_finalize (SavedSearchDialogSearchRow* obj);
+#define SAVED_SEARCH_DIALOG_SEARCH_ROW_DATE_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW_DATE, SavedSearchDialogSearchRowDatePrivate))
+enum {
+ SAVED_SEARCH_DIALOG_SEARCH_ROW_DATE_DUMMY_PROPERTY
+};
+static void saved_search_dialog_search_row_date_on_changed (SavedSearchDialogSearchRowDate* self);
+static void _saved_search_dialog_search_row_date_on_changed_gtk_combo_box_changed (GtkComboBox* _sender, gpointer self);
+#define SAVED_SEARCH_DIALOG_SEARCH_ROW_DATE_DATE_FORMAT "%x"
+static void saved_search_dialog_search_row_date_on_one_clicked (SavedSearchDialogSearchRowDate* self);
+static void _saved_search_dialog_search_row_date_on_one_clicked_gtk_button_clicked (GtkButton* _sender, gpointer self);
+static void saved_search_dialog_search_row_date_on_two_clicked (SavedSearchDialogSearchRowDate* self);
+static void _saved_search_dialog_search_row_date_on_two_clicked_gtk_button_clicked (GtkButton* _sender, gpointer self);
+static void saved_search_dialog_search_row_date_update_date_labels (SavedSearchDialogSearchRowDate* self);
+GType search_condition_date_context_get_type (void) G_GNUC_CONST;
+static GDateTime* saved_search_dialog_search_row_date_get_date_one (SavedSearchDialogSearchRowDate* self);
+static GDateTime* saved_search_dialog_search_row_date_get_date_two (SavedSearchDialogSearchRowDate* self);
+static GtkWidget* saved_search_dialog_search_row_date_real_get_widget (SavedSearchDialogSearchRow* base);
+static void saved_search_dialog_search_row_date_set_date_one (SavedSearchDialogSearchRowDate* self, GDateTime* date);
+static void saved_search_dialog_search_row_date_set_date_two (SavedSearchDialogSearchRowDate* self, GDateTime* date);
+static SearchCondition* saved_search_dialog_search_row_date_real_get_search_condition (SavedSearchDialogSearchRow* base);
+GType search_condition_date_get_type (void) G_GNUC_CONST;
+SearchConditionDate* search_condition_date_new (SearchConditionSearchType search_type, SearchConditionDateContext context, GDateTime* date_one, GDateTime* date_two);
+SearchConditionDate* search_condition_date_construct (GType object_type, SearchConditionSearchType search_type, SearchConditionDateContext context, GDateTime* date_one, GDateTime* date_two);
+static void saved_search_dialog_search_row_date_real_populate (SavedSearchDialogSearchRow* base, SearchCondition* sc);
+SearchConditionDateContext search_condition_date_get_context (SearchConditionDate* self);
+GDateTime* search_condition_date_get_date_one (SearchConditionDate* self);
+GDateTime* search_condition_date_get_date_two (SearchConditionDate* self);
+static gboolean saved_search_dialog_search_row_date_real_is_complete (SavedSearchDialogSearchRow* base);
+static void saved_search_dialog_search_row_date_popup_calendar (SavedSearchDialogSearchRowDate* self, GtkCalendar* cal);
+static Block9Data* block9_data_ref (Block9Data* _data9_);
+static void block9_data_unref (void * _userdata_);
+#define RESOURCES_CANCEL_LABEL _ ("_Cancel")
+#define RESOURCES_OK_LABEL _ ("_OK")
+static void __lambda12_ (SavedSearchDialogSearchRowDate* self);
+static void ___lambda12__gtk_calendar_day_selected (GtkCalendar* _sender, gpointer self);
+static void __lambda13_ (Block9Data* _data9_);
+static void ___lambda13__gtk_calendar_day_selected_double_click (GtkCalendar* _sender, gpointer self);
+static void saved_search_dialog_search_row_date_finalize (SavedSearchDialogSearchRow* obj);
+static void saved_search_dialog_finalize (SavedSearchDialog* obj);
+
+
+static void _saved_search_dialog_on_title_changed_gtk_editable_changed (GtkEditable* _sender, gpointer self) {
+#line 690 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ saved_search_dialog_on_title_changed ((SavedSearchDialog*) self);
+#line 830 "SavedSearchDialog.c"
+}
+
+
+SavedSearchDialog* saved_search_dialog_construct (GType object_type) {
+ SavedSearchDialog* self = NULL;
+ GtkEntry* _tmp0_ = NULL;
+ SavedSearchTable* _tmp1_ = NULL;
+ SavedSearchTable* _tmp2_ = NULL;
+ gchar* _tmp3_ = NULL;
+ gchar* _tmp4_ = NULL;
+ GtkEntry* _tmp5_ = NULL;
+ GeeArrayList* _tmp6_ = NULL;
+ gpointer _tmp7_ = NULL;
+ SavedSearchDialogSearchRowContainer* _tmp8_ = NULL;
+ GtkDialog* _tmp9_ = NULL;
+#line 654 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ self = (SavedSearchDialog*) g_type_create_instance (object_type);
+#line 655 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ saved_search_dialog_setup_dialog (self);
+#line 658 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp0_ = self->priv->search_title;
+#line 658 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp1_ = saved_search_table_get_instance ();
+#line 658 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp2_ = _tmp1_;
+#line 658 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp3_ = saved_search_table_generate_unique_name (_tmp2_);
+#line 658 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp4_ = _tmp3_;
+#line 658 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ gtk_entry_set_text (_tmp0_, _tmp4_);
+#line 658 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _g_free0 (_tmp4_);
+#line 658 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _saved_search_table_unref0 (_tmp2_);
+#line 659 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp5_ = self->priv->search_title;
+#line 659 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ gtk_editable_select_region (G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, GTK_TYPE_EDITABLE, GtkEditable), 0, -1);
+#line 662 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ saved_search_dialog_add_text_search (self);
+#line 663 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp6_ = self->priv->row_list;
+#line 663 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp7_ = gee_abstract_list_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, GEE_TYPE_ABSTRACT_LIST, GeeAbstractList), 0);
+#line 663 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp8_ = (SavedSearchDialogSearchRowContainer*) _tmp7_;
+#line 663 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ saved_search_dialog_search_row_container_allow_removal (_tmp8_, FALSE);
+#line 663 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _saved_search_dialog_search_row_container_unref0 (_tmp8_);
+#line 665 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp9_ = self->priv->dialog;
+#line 665 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ gtk_widget_show_all (G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, gtk_widget_get_type (), GtkWidget));
+#line 666 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ saved_search_dialog_set_valid (self, FALSE);
+#line 654 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ return self;
+#line 890 "SavedSearchDialog.c"
+}
+
+
+SavedSearchDialog* saved_search_dialog_new (void) {
+#line 654 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ return saved_search_dialog_construct (TYPE_SAVED_SEARCH_DIALOG);
+#line 897 "SavedSearchDialog.c"
+}
+
+
+static gpointer _g_object_ref0 (gpointer self) {
+#line 670 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ return self ? g_object_ref (self) : NULL;
+#line 904 "SavedSearchDialog.c"
+}
+
+
+SavedSearchDialog* saved_search_dialog_construct_edit_existing (GType object_type, SavedSearch* saved_search) {
+ SavedSearchDialog* self = NULL;
+ SavedSearch* _tmp0_ = NULL;
+ SavedSearch* _tmp1_ = NULL;
+ GtkDialog* _tmp2_ = NULL;
+ GtkComboBoxText* _tmp3_ = NULL;
+ SavedSearch* _tmp4_ = NULL;
+ SearchOperator _tmp5_ = 0;
+ GtkEntry* _tmp6_ = NULL;
+ SavedSearch* _tmp7_ = NULL;
+ gchar* _tmp8_ = NULL;
+ gchar* _tmp9_ = NULL;
+ GeeArrayList* _tmp24_ = NULL;
+ gint _tmp25_ = 0;
+ gint _tmp26_ = 0;
+#line 669 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ g_return_val_if_fail (IS_SAVED_SEARCH (saved_search), NULL);
+#line 669 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ self = (SavedSearchDialog*) g_type_create_instance (object_type);
+#line 670 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp0_ = saved_search;
+#line 670 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp1_ = _g_object_ref0 (_tmp0_);
+#line 670 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _g_object_unref0 (self->priv->previous_search);
+#line 670 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ self->priv->previous_search = _tmp1_;
+#line 671 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ self->priv->edit_mode = TRUE;
+#line 672 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ saved_search_dialog_setup_dialog (self);
+#line 674 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp2_ = self->priv->dialog;
+#line 674 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ gtk_widget_show_all (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, gtk_widget_get_type (), GtkWidget));
+#line 677 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp3_ = self->priv->operator;
+#line 677 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp4_ = saved_search;
+#line 677 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp5_ = saved_search_get_operator (_tmp4_);
+#line 677 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ gtk_combo_box_set_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, gtk_combo_box_get_type (), GtkComboBox), (gint) ((SearchOperator) _tmp5_));
+#line 678 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp6_ = self->priv->search_title;
+#line 678 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp7_ = saved_search;
+#line 678 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp8_ = data_object_get_name (G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, TYPE_DATA_OBJECT, DataObject));
+#line 678 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp9_ = _tmp8_;
+#line 678 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ gtk_entry_set_text (_tmp6_, _tmp9_);
+#line 678 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _g_free0 (_tmp9_);
+#line 963 "SavedSearchDialog.c"
+ {
+ GeeList* _sc_list = NULL;
+ SavedSearch* _tmp10_ = NULL;
+ GeeList* _tmp11_ = NULL;
+ gint _sc_size = 0;
+ GeeList* _tmp12_ = NULL;
+ gint _tmp13_ = 0;
+ gint _tmp14_ = 0;
+ gint _sc_index = 0;
+#line 679 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp10_ = saved_search;
+#line 679 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp11_ = saved_search_get_conditions (_tmp10_);
+#line 679 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _sc_list = _tmp11_;
+#line 679 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp12_ = _sc_list;
+#line 679 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp13_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp12_, GEE_TYPE_COLLECTION, GeeCollection));
+#line 679 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp14_ = _tmp13_;
+#line 679 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _sc_size = _tmp14_;
+#line 679 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _sc_index = -1;
+#line 679 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ while (TRUE) {
+#line 991 "SavedSearchDialog.c"
+ gint _tmp15_ = 0;
+ gint _tmp16_ = 0;
+ gint _tmp17_ = 0;
+ SearchCondition* sc = NULL;
+ GeeList* _tmp18_ = NULL;
+ gint _tmp19_ = 0;
+ gpointer _tmp20_ = NULL;
+ SearchCondition* _tmp21_ = NULL;
+ SavedSearchDialogSearchRowContainer* _tmp22_ = NULL;
+ SavedSearchDialogSearchRowContainer* _tmp23_ = NULL;
+#line 679 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp15_ = _sc_index;
+#line 679 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _sc_index = _tmp15_ + 1;
+#line 679 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp16_ = _sc_index;
+#line 679 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp17_ = _sc_size;
+#line 679 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ if (!(_tmp16_ < _tmp17_)) {
+#line 679 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ break;
+#line 1014 "SavedSearchDialog.c"
+ }
+#line 679 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp18_ = _sc_list;
+#line 679 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp19_ = _sc_index;
+#line 679 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp20_ = gee_list_get (_tmp18_, _tmp19_);
+#line 679 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ sc = (SearchCondition*) _tmp20_;
+#line 680 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp21_ = sc;
+#line 680 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp22_ = saved_search_dialog_search_row_container_new_edit_existing (_tmp21_);
+#line 680 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp23_ = _tmp22_;
+#line 680 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ saved_search_dialog_add_row (self, _tmp23_);
+#line 680 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _saved_search_dialog_search_row_container_unref0 (_tmp23_);
+#line 679 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _search_condition_unref0 (sc);
+#line 1036 "SavedSearchDialog.c"
+ }
+#line 679 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _g_object_unref0 (_sc_list);
+#line 1040 "SavedSearchDialog.c"
+ }
+#line 683 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp24_ = self->priv->row_list;
+#line 683 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp25_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp24_, GEE_TYPE_COLLECTION, GeeCollection));
+#line 683 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp26_ = _tmp25_;
+#line 683 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ if (_tmp26_ == 1) {
+#line 1050 "SavedSearchDialog.c"
+ GeeArrayList* _tmp27_ = NULL;
+ gpointer _tmp28_ = NULL;
+ SavedSearchDialogSearchRowContainer* _tmp29_ = NULL;
+#line 684 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp27_ = self->priv->row_list;
+#line 684 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp28_ = gee_abstract_list_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp27_, GEE_TYPE_ABSTRACT_LIST, GeeAbstractList), 0);
+#line 684 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp29_ = (SavedSearchDialogSearchRowContainer*) _tmp28_;
+#line 684 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ saved_search_dialog_search_row_container_allow_removal (_tmp29_, FALSE);
+#line 684 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _saved_search_dialog_search_row_container_unref0 (_tmp29_);
+#line 1064 "SavedSearchDialog.c"
+ }
+#line 686 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ saved_search_dialog_set_valid (self, TRUE);
+#line 669 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ return self;
+#line 1070 "SavedSearchDialog.c"
+}
+
+
+SavedSearchDialog* saved_search_dialog_new_edit_existing (SavedSearch* saved_search) {
+#line 669 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ return saved_search_dialog_construct_edit_existing (TYPE_SAVED_SEARCH_DIALOG, saved_search);
+#line 1077 "SavedSearchDialog.c"
+}
+
+
+static void _saved_search_dialog_on_response_gtk_dialog_response (GtkDialog* _sender, gint response_id, gpointer self) {
+#line 708 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ saved_search_dialog_on_response ((SavedSearchDialog*) self, response_id);
+#line 1084 "SavedSearchDialog.c"
+}
+
+
+static gboolean _saved_search_dialog_on_add_criteria_gtk_widget_button_press_event (GtkWidget* _sender, GdkEventButton* event, gpointer self) {
+ gboolean result;
+ result = saved_search_dialog_on_add_criteria ((SavedSearchDialog*) self, event);
+#line 712 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ return result;
+#line 1093 "SavedSearchDialog.c"
+}
+
+
+static void saved_search_dialog_setup_dialog (SavedSearchDialog* self) {
+ GtkBuilder* _tmp0_ = NULL;
+ const gchar* _tmp1_ = NULL;
+ AppWindow* _tmp2_ = NULL;
+ AppWindow* _tmp3_ = NULL;
+ GdkWindow* _tmp4_ = NULL;
+ const gchar* _tmp5_ = NULL;
+ const gchar* _tmp6_ = NULL;
+ GtkDialog* _tmp7_ = NULL;
+ GtkDialog* _tmp8_ = NULL;
+ GtkDialog* _tmp9_ = NULL;
+ AppWindow* _tmp10_ = NULL;
+ AppWindow* _tmp11_ = NULL;
+ GtkDialog* _tmp12_ = NULL;
+ GtkDialog* _tmp13_ = NULL;
+ GtkDialog* _tmp14_ = NULL;
+ GtkBox* _tmp15_ = NULL;
+ GtkBuilder* _tmp16_ = NULL;
+ GObject* _tmp17_ = NULL;
+ GtkBuilder* _tmp18_ = NULL;
+ GObject* _tmp19_ = NULL;
+ GtkButton* _tmp20_ = NULL;
+ GtkButton* _tmp21_ = NULL;
+ GtkBuilder* _tmp22_ = NULL;
+ GObject* _tmp23_ = NULL;
+ GtkEntry* _tmp24_ = NULL;
+ GtkEntry* _tmp25_ = NULL;
+ GtkEntry* _tmp26_ = NULL;
+ GtkBuilder* _tmp27_ = NULL;
+ GObject* _tmp28_ = NULL;
+ GtkBox* _tmp29_ = NULL;
+ GtkBuilder* _tmp30_ = NULL;
+ GObject* _tmp31_ = NULL;
+ GtkComboBoxText* _tmp32_ = NULL;
+ GtkComboBoxText* _tmp33_ = NULL;
+ const gchar* _tmp34_ = NULL;
+ GtkComboBoxText* _tmp35_ = NULL;
+ const gchar* _tmp36_ = NULL;
+ GtkComboBoxText* _tmp37_ = NULL;
+ const gchar* _tmp38_ = NULL;
+ GtkComboBoxText* _tmp39_ = NULL;
+#line 694 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ g_return_if_fail (IS_SAVED_SEARCH_DIALOG (self));
+#line 695 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp0_ = app_window_create_builder ("shotwell.ui", NULL);
+#line 695 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _g_object_unref0 (self->priv->builder);
+#line 695 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ self->priv->builder = _tmp0_;
+#line 697 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp1_ = _ ("Search");
+#line 697 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp2_ = app_window_get_instance ();
+#line 697 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp3_ = _tmp2_;
+#line 697 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp4_ = gtk_widget_get_parent_window (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, gtk_widget_get_type (), GtkWidget));
+#line 697 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp5_ = _ ("Cancel");
+#line 697 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp6_ = _ ("OK");
+#line 697 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp7_ = (GtkDialog*) gtk_dialog_new_with_buttons (_tmp1_, G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, gtk_window_get_type (), GtkWindow), (GTK_DIALOG_MODAL | GTK_DIALOG_DESTROY_WITH_PARENT) | GTK_DIALOG_USE_HEADER_BAR, _tmp5_, GTK_RESPONSE_CANCEL, _tmp6_, GTK_RESPONSE_OK, NULL, NULL);
+#line 697 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ g_object_ref_sink (_tmp7_);
+#line 697 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _g_object_unref0 (self->priv->dialog);
+#line 697 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ self->priv->dialog = _tmp7_;
+#line 697 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _g_object_unref0 (_tmp3_);
+#line 705 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp8_ = self->priv->dialog;
+#line 705 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ gtk_window_set_resizable (G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, gtk_window_get_type (), GtkWindow), FALSE);
+#line 706 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp9_ = self->priv->dialog;
+#line 706 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp10_ = app_window_get_instance ();
+#line 706 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp11_ = _tmp10_;
+#line 706 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ gtk_window_set_transient_for (G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, gtk_window_get_type (), GtkWindow), G_TYPE_CHECK_INSTANCE_CAST (_tmp11_, gtk_window_get_type (), GtkWindow));
+#line 706 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _g_object_unref0 (_tmp11_);
+#line 707 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp12_ = self->priv->dialog;
+#line 707 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ gtk_dialog_set_default_response (_tmp12_, (gint) GTK_RESPONSE_OK);
+#line 708 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp13_ = self->priv->dialog;
+#line 708 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ g_signal_connect (_tmp13_, "response", (GCallback) _saved_search_dialog_on_response_gtk_dialog_response, self);
+#line 709 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp14_ = self->priv->dialog;
+#line 709 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp15_ = (GtkBox*) gtk_dialog_get_content_area (_tmp14_);
+#line 709 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp16_ = self->priv->builder;
+#line 709 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp17_ = gtk_builder_get_object (_tmp16_, "criteria");
+#line 709 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ gtk_container_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp15_, gtk_container_get_type (), GtkContainer), G_TYPE_CHECK_INSTANCE_TYPE (_tmp17_, gtk_widget_get_type ()) ? ((GtkWidget*) _tmp17_) : NULL);
+#line 711 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp18_ = self->priv->builder;
+#line 711 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp19_ = gtk_builder_get_object (_tmp18_, "Add search button");
+#line 711 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp20_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp19_, gtk_button_get_type ()) ? ((GtkButton*) _tmp19_) : NULL);
+#line 711 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _g_object_unref0 (self->priv->add_criteria);
+#line 711 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ self->priv->add_criteria = _tmp20_;
+#line 712 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp21_ = self->priv->add_criteria;
+#line 712 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ g_signal_connect (G_TYPE_CHECK_INSTANCE_CAST (_tmp21_, gtk_widget_get_type (), GtkWidget), "button-press-event", (GCallback) _saved_search_dialog_on_add_criteria_gtk_widget_button_press_event, self);
+#line 714 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp22_ = self->priv->builder;
+#line 714 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp23_ = gtk_builder_get_object (_tmp22_, "Search title");
+#line 714 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp24_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp23_, gtk_entry_get_type ()) ? ((GtkEntry*) _tmp23_) : NULL);
+#line 714 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _g_object_unref0 (self->priv->search_title);
+#line 714 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ self->priv->search_title = _tmp24_;
+#line 715 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp25_ = self->priv->search_title;
+#line 715 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ gtk_entry_set_activates_default (_tmp25_, TRUE);
+#line 716 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp26_ = self->priv->search_title;
+#line 716 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ g_signal_connect (G_TYPE_CHECK_INSTANCE_CAST (_tmp26_, GTK_TYPE_EDITABLE, GtkEditable), "changed", (GCallback) _saved_search_dialog_on_title_changed_gtk_editable_changed, self);
+#line 718 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp27_ = self->priv->builder;
+#line 718 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp28_ = gtk_builder_get_object (_tmp27_, "row_box");
+#line 718 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp29_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp28_, gtk_box_get_type ()) ? ((GtkBox*) _tmp28_) : NULL);
+#line 718 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _g_object_unref0 (self->priv->row_box);
+#line 718 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ self->priv->row_box = _tmp29_;
+#line 720 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp30_ = self->priv->builder;
+#line 720 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp31_ = gtk_builder_get_object (_tmp30_, "Type of search criteria");
+#line 720 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp32_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp31_, gtk_combo_box_text_get_type ()) ? ((GtkComboBoxText*) _tmp31_) : NULL);
+#line 720 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _g_object_unref0 (self->priv->operator);
+#line 720 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ self->priv->operator = _tmp32_;
+#line 721 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp33_ = self->priv->operator;
+#line 721 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp34_ = _ ("any");
+#line 721 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ gtk_combo_box_text_append_text (_tmp33_, _tmp34_);
+#line 722 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp35_ = self->priv->operator;
+#line 722 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp36_ = _ ("all");
+#line 722 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ gtk_combo_box_text_append_text (_tmp35_, _tmp36_);
+#line 723 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp37_ = self->priv->operator;
+#line 723 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp38_ = _ ("none");
+#line 723 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ gtk_combo_box_text_append_text (_tmp37_, _tmp38_);
+#line 724 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp39_ = self->priv->operator;
+#line 724 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ gtk_combo_box_set_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp39_, gtk_combo_box_get_type (), GtkComboBox), 0);
+#line 1274 "SavedSearchDialog.c"
+}
+
+
+void saved_search_dialog_show (SavedSearchDialog* self) {
+ GtkDialog* _tmp0_ = NULL;
+ GtkDialog* _tmp1_ = NULL;
+#line 728 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ g_return_if_fail (IS_SAVED_SEARCH_DIALOG (self));
+#line 729 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp0_ = self->priv->dialog;
+#line 729 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ gtk_dialog_run (_tmp0_);
+#line 730 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp1_ = self->priv->dialog;
+#line 730 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ gtk_widget_destroy (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, gtk_widget_get_type (), GtkWidget));
+#line 1291 "SavedSearchDialog.c"
+}
+
+
+static gboolean saved_search_dialog_on_add_criteria (SavedSearchDialog* self, GdkEventButton* event) {
+ gboolean result = FALSE;
+#line 734 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ g_return_val_if_fail (IS_SAVED_SEARCH_DIALOG (self), FALSE);
+#line 734 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ g_return_val_if_fail (event != NULL, FALSE);
+#line 735 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ saved_search_dialog_add_text_search (self);
+#line 736 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ result = FALSE;
+#line 736 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ return result;
+#line 1307 "SavedSearchDialog.c"
+}
+
+
+static void saved_search_dialog_add_text_search (SavedSearchDialog* self) {
+ SavedSearchDialogSearchRowContainer* text = NULL;
+ SavedSearchDialogSearchRowContainer* _tmp0_ = NULL;
+#line 739 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ g_return_if_fail (IS_SAVED_SEARCH_DIALOG (self));
+#line 740 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp0_ = saved_search_dialog_search_row_container_new ();
+#line 740 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ text = _tmp0_;
+#line 741 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ saved_search_dialog_add_row (self, text);
+#line 739 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _saved_search_dialog_search_row_container_unref0 (text);
+#line 1324 "SavedSearchDialog.c"
+}
+
+
+static void _saved_search_dialog_on_remove_row_saved_search_dialog_search_row_container_remove (SavedSearchDialogSearchRowContainer* _sender, SavedSearchDialogSearchRowContainer* this_row, gpointer self) {
+#line 750 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ saved_search_dialog_on_remove_row ((SavedSearchDialog*) self, this_row);
+#line 1331 "SavedSearchDialog.c"
+}
+
+
+static void _saved_search_dialog_on_row_changed_saved_search_dialog_search_row_container_changed (SavedSearchDialogSearchRowContainer* _sender, SavedSearchDialogSearchRowContainer* this_row, gpointer self) {
+#line 751 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ saved_search_dialog_on_row_changed ((SavedSearchDialog*) self, this_row);
+#line 1338 "SavedSearchDialog.c"
+}
+
+
+static void saved_search_dialog_add_row (SavedSearchDialog* self, SavedSearchDialogSearchRowContainer* row) {
+ GeeArrayList* _tmp0_ = NULL;
+ gint _tmp1_ = 0;
+ gint _tmp2_ = 0;
+ GtkBox* _tmp6_ = NULL;
+ SavedSearchDialogSearchRowContainer* _tmp7_ = NULL;
+ GtkWidget* _tmp8_ = NULL;
+ GtkWidget* _tmp9_ = NULL;
+ GeeArrayList* _tmp10_ = NULL;
+ SavedSearchDialogSearchRowContainer* _tmp11_ = NULL;
+ SavedSearchDialogSearchRowContainer* _tmp12_ = NULL;
+ SavedSearchDialogSearchRowContainer* _tmp13_ = NULL;
+ SavedSearchDialogSearchRowContainer* _tmp14_ = NULL;
+ gboolean _tmp15_ = FALSE;
+#line 745 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ g_return_if_fail (IS_SAVED_SEARCH_DIALOG (self));
+#line 745 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ g_return_if_fail (SAVED_SEARCH_DIALOG_IS_SEARCH_ROW_CONTAINER (row));
+#line 746 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp0_ = self->priv->row_list;
+#line 746 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp1_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_COLLECTION, GeeCollection));
+#line 746 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp2_ = _tmp1_;
+#line 746 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ if (_tmp2_ == 1) {
+#line 1368 "SavedSearchDialog.c"
+ GeeArrayList* _tmp3_ = NULL;
+ gpointer _tmp4_ = NULL;
+ SavedSearchDialogSearchRowContainer* _tmp5_ = NULL;
+#line 747 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp3_ = self->priv->row_list;
+#line 747 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp4_ = gee_abstract_list_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, GEE_TYPE_ABSTRACT_LIST, GeeAbstractList), 0);
+#line 747 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp5_ = (SavedSearchDialogSearchRowContainer*) _tmp4_;
+#line 747 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ saved_search_dialog_search_row_container_allow_removal (_tmp5_, TRUE);
+#line 747 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _saved_search_dialog_search_row_container_unref0 (_tmp5_);
+#line 1382 "SavedSearchDialog.c"
+ }
+#line 748 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp6_ = self->priv->row_box;
+#line 748 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp7_ = row;
+#line 748 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp8_ = saved_search_dialog_search_row_container_get_widget (_tmp7_);
+#line 748 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp9_ = _tmp8_;
+#line 748 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ gtk_container_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, gtk_container_get_type (), GtkContainer), _tmp9_);
+#line 748 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _g_object_unref0 (_tmp9_);
+#line 749 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp10_ = self->priv->row_list;
+#line 749 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp11_ = row;
+#line 749 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ gee_abstract_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp10_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp11_);
+#line 750 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp12_ = row;
+#line 750 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ g_signal_connect (_tmp12_, "remove", (GCallback) _saved_search_dialog_on_remove_row_saved_search_dialog_search_row_container_remove, self);
+#line 751 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp13_ = row;
+#line 751 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ g_signal_connect (_tmp13_, "changed", (GCallback) _saved_search_dialog_on_row_changed_saved_search_dialog_search_row_container_changed, self);
+#line 752 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp14_ = row;
+#line 752 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp15_ = saved_search_dialog_search_row_container_is_complete (_tmp14_);
+#line 752 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ saved_search_dialog_set_valid (self, _tmp15_);
+#line 1416 "SavedSearchDialog.c"
+}
+
+
+static void saved_search_dialog_on_remove_row (SavedSearchDialog* self, SavedSearchDialogSearchRowContainer* row) {
+ SavedSearchDialogSearchRowContainer* _tmp0_ = NULL;
+ guint _tmp1_ = 0U;
+ SavedSearchDialogSearchRowContainer* _tmp2_ = NULL;
+ guint _tmp3_ = 0U;
+ GtkBox* _tmp4_ = NULL;
+ SavedSearchDialogSearchRowContainer* _tmp5_ = NULL;
+ GtkWidget* _tmp6_ = NULL;
+ GtkWidget* _tmp7_ = NULL;
+ GeeArrayList* _tmp8_ = NULL;
+ SavedSearchDialogSearchRowContainer* _tmp9_ = NULL;
+ GeeArrayList* _tmp10_ = NULL;
+ gint _tmp11_ = 0;
+ gint _tmp12_ = 0;
+#line 756 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ g_return_if_fail (IS_SAVED_SEARCH_DIALOG (self));
+#line 756 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ g_return_if_fail (SAVED_SEARCH_DIALOG_IS_SEARCH_ROW_CONTAINER (row));
+#line 757 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp0_ = row;
+#line 757 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ g_signal_parse_name ("remove", SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW_CONTAINER, &_tmp1_, NULL, FALSE);
+#line 757 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ g_signal_handlers_disconnect_matched (_tmp0_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp1_, 0, NULL, (GCallback) _saved_search_dialog_on_remove_row_saved_search_dialog_search_row_container_remove, self);
+#line 758 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp2_ = row;
+#line 758 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ g_signal_parse_name ("changed", SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW_CONTAINER, &_tmp3_, NULL, FALSE);
+#line 758 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ g_signal_handlers_disconnect_matched (_tmp2_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp3_, 0, NULL, (GCallback) _saved_search_dialog_on_row_changed_saved_search_dialog_search_row_container_changed, self);
+#line 759 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp4_ = self->priv->row_box;
+#line 759 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp5_ = row;
+#line 759 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp6_ = saved_search_dialog_search_row_container_get_widget (_tmp5_);
+#line 759 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp7_ = _tmp6_;
+#line 759 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ gtk_container_remove (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, gtk_container_get_type (), GtkContainer), _tmp7_);
+#line 759 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _g_object_unref0 (_tmp7_);
+#line 760 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp8_ = self->priv->row_list;
+#line 760 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp9_ = row;
+#line 760 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ gee_abstract_collection_remove (G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp9_);
+#line 761 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp10_ = self->priv->row_list;
+#line 761 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp11_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp10_, GEE_TYPE_COLLECTION, GeeCollection));
+#line 761 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp12_ = _tmp11_;
+#line 761 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ if (_tmp12_ == 1) {
+#line 1476 "SavedSearchDialog.c"
+ GeeArrayList* _tmp13_ = NULL;
+ gpointer _tmp14_ = NULL;
+ SavedSearchDialogSearchRowContainer* _tmp15_ = NULL;
+#line 762 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp13_ = self->priv->row_list;
+#line 762 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp14_ = gee_abstract_list_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp13_, GEE_TYPE_ABSTRACT_LIST, GeeAbstractList), 0);
+#line 762 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp15_ = (SavedSearchDialogSearchRowContainer*) _tmp14_;
+#line 762 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ saved_search_dialog_search_row_container_allow_removal (_tmp15_, FALSE);
+#line 762 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _saved_search_dialog_search_row_container_unref0 (_tmp15_);
+#line 1490 "SavedSearchDialog.c"
+ }
+#line 763 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ saved_search_dialog_set_valid (self, TRUE);
+#line 1494 "SavedSearchDialog.c"
+}
+
+
+static void saved_search_dialog_on_response (SavedSearchDialog* self, gint response_id) {
+ gint _tmp0_ = 0;
+#line 766 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ g_return_if_fail (IS_SAVED_SEARCH_DIALOG (self));
+#line 767 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp0_ = response_id;
+#line 767 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ if (_tmp0_ == ((gint) GTK_RESPONSE_OK)) {
+#line 1506 "SavedSearchDialog.c"
+ gboolean _tmp1_ = FALSE;
+ SavedSearchTable* _tmp2_ = NULL;
+ SavedSearchTable* _tmp3_ = NULL;
+ GtkEntry* _tmp4_ = NULL;
+ const gchar* _tmp5_ = NULL;
+ gboolean _tmp6_ = FALSE;
+ gboolean _tmp7_ = FALSE;
+ gboolean _tmp19_ = FALSE;
+ GeeArrayList* conditions = NULL;
+ GeeArrayList* _tmp23_ = NULL;
+ SearchOperator search_operator = 0;
+ GtkComboBoxText* _tmp39_ = NULL;
+ gint _tmp40_ = 0;
+ SavedSearchTable* _tmp41_ = NULL;
+ SavedSearchTable* _tmp42_ = NULL;
+ GtkEntry* _tmp43_ = NULL;
+ const gchar* _tmp44_ = NULL;
+ SearchOperator _tmp45_ = 0;
+ GeeArrayList* _tmp46_ = NULL;
+ SavedSearch* _tmp47_ = NULL;
+ SavedSearch* _tmp48_ = NULL;
+#line 768 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp2_ = saved_search_table_get_instance ();
+#line 768 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp3_ = _tmp2_;
+#line 768 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp4_ = self->priv->search_title;
+#line 768 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp5_ = gtk_entry_get_text (_tmp4_);
+#line 768 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp6_ = saved_search_table_exists (_tmp3_, _tmp5_);
+#line 768 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp7_ = _tmp6_;
+#line 768 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _saved_search_table_unref0 (_tmp3_);
+#line 768 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ if (_tmp7_) {
+#line 1544 "SavedSearchDialog.c"
+ gboolean _tmp8_ = FALSE;
+ gboolean _tmp9_ = FALSE;
+#line 769 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp9_ = self->priv->edit_mode;
+#line 769 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ if (_tmp9_) {
+#line 1551 "SavedSearchDialog.c"
+ SavedSearch* _tmp10_ = NULL;
+ gchar* _tmp11_ = NULL;
+ gchar* _tmp12_ = NULL;
+ GtkEntry* _tmp13_ = NULL;
+ const gchar* _tmp14_ = NULL;
+#line 769 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp10_ = self->priv->previous_search;
+#line 769 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp11_ = data_object_get_name (G_TYPE_CHECK_INSTANCE_CAST (_tmp10_, TYPE_DATA_OBJECT, DataObject));
+#line 769 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp12_ = _tmp11_;
+#line 769 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp13_ = self->priv->search_title;
+#line 769 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp14_ = gtk_entry_get_text (_tmp13_);
+#line 769 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp8_ = g_strcmp0 (_tmp12_, _tmp14_) == 0;
+#line 769 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _g_free0 (_tmp12_);
+#line 1571 "SavedSearchDialog.c"
+ } else {
+#line 769 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp8_ = FALSE;
+#line 1575 "SavedSearchDialog.c"
+ }
+#line 769 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp1_ = !_tmp8_;
+#line 1579 "SavedSearchDialog.c"
+ } else {
+#line 768 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp1_ = FALSE;
+#line 1583 "SavedSearchDialog.c"
+ }
+#line 768 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ if (_tmp1_) {
+#line 1587 "SavedSearchDialog.c"
+ GtkEntry* _tmp15_ = NULL;
+ const gchar* _tmp16_ = NULL;
+ gchar* _tmp17_ = NULL;
+ gchar* _tmp18_ = NULL;
+#line 770 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp15_ = self->priv->search_title;
+#line 770 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp16_ = gtk_entry_get_text (_tmp15_);
+#line 770 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp17_ = resources_rename_search_exists_message (_tmp16_);
+#line 770 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp18_ = _tmp17_;
+#line 770 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ app_window_error_message (_tmp18_, NULL);
+#line 770 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _g_free0 (_tmp18_);
+#line 771 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ return;
+#line 1606 "SavedSearchDialog.c"
+ }
+#line 774 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp19_ = self->priv->edit_mode;
+#line 774 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ if (_tmp19_) {
+#line 1612 "SavedSearchDialog.c"
+ SavedSearchTable* _tmp20_ = NULL;
+ SavedSearchTable* _tmp21_ = NULL;
+ SavedSearch* _tmp22_ = NULL;
+#line 776 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp20_ = saved_search_table_get_instance ();
+#line 776 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp21_ = _tmp20_;
+#line 776 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp22_ = self->priv->previous_search;
+#line 776 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ saved_search_table_remove (_tmp21_, _tmp22_);
+#line 776 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _saved_search_table_unref0 (_tmp21_);
+#line 1626 "SavedSearchDialog.c"
+ }
+#line 780 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp23_ = gee_array_list_new (TYPE_SEARCH_CONDITION, (GBoxedCopyFunc) search_condition_ref, search_condition_unref, NULL, NULL, NULL);
+#line 780 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ conditions = _tmp23_;
+#line 1632 "SavedSearchDialog.c"
+ {
+ GeeArrayList* _c_list = NULL;
+ GeeArrayList* _tmp24_ = NULL;
+ GeeArrayList* _tmp25_ = NULL;
+ gint _c_size = 0;
+ GeeArrayList* _tmp26_ = NULL;
+ gint _tmp27_ = 0;
+ gint _tmp28_ = 0;
+ gint _c_index = 0;
+#line 781 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp24_ = self->priv->row_list;
+#line 781 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp25_ = _g_object_ref0 (_tmp24_);
+#line 781 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _c_list = _tmp25_;
+#line 781 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp26_ = _c_list;
+#line 781 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp27_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp26_, GEE_TYPE_COLLECTION, GeeCollection));
+#line 781 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp28_ = _tmp27_;
+#line 781 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _c_size = _tmp28_;
+#line 781 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _c_index = -1;
+#line 781 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ while (TRUE) {
+#line 1660 "SavedSearchDialog.c"
+ gint _tmp29_ = 0;
+ gint _tmp30_ = 0;
+ gint _tmp31_ = 0;
+ SavedSearchDialogSearchRowContainer* c = NULL;
+ GeeArrayList* _tmp32_ = NULL;
+ gint _tmp33_ = 0;
+ gpointer _tmp34_ = NULL;
+ GeeArrayList* _tmp35_ = NULL;
+ SavedSearchDialogSearchRowContainer* _tmp36_ = NULL;
+ SearchCondition* _tmp37_ = NULL;
+ SearchCondition* _tmp38_ = NULL;
+#line 781 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp29_ = _c_index;
+#line 781 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _c_index = _tmp29_ + 1;
+#line 781 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp30_ = _c_index;
+#line 781 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp31_ = _c_size;
+#line 781 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ if (!(_tmp30_ < _tmp31_)) {
+#line 781 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ break;
+#line 1684 "SavedSearchDialog.c"
+ }
+#line 781 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp32_ = _c_list;
+#line 781 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp33_ = _c_index;
+#line 781 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp34_ = gee_abstract_list_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp32_, GEE_TYPE_ABSTRACT_LIST, GeeAbstractList), _tmp33_);
+#line 781 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ c = (SavedSearchDialogSearchRowContainer*) _tmp34_;
+#line 782 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp35_ = conditions;
+#line 782 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp36_ = c;
+#line 782 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp37_ = saved_search_dialog_search_row_container_get_search_condition (_tmp36_);
+#line 782 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp38_ = _tmp37_;
+#line 782 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ gee_abstract_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp35_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp38_);
+#line 782 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _search_condition_unref0 (_tmp38_);
+#line 781 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _saved_search_dialog_search_row_container_unref0 (c);
+#line 1708 "SavedSearchDialog.c"
+ }
+#line 781 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _g_object_unref0 (_c_list);
+#line 1712 "SavedSearchDialog.c"
+ }
+#line 786 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp39_ = self->priv->operator;
+#line 786 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp40_ = gtk_combo_box_get_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp39_, gtk_combo_box_get_type (), GtkComboBox));
+#line 786 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ search_operator = (SearchOperator) _tmp40_;
+#line 787 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp41_ = saved_search_table_get_instance ();
+#line 787 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp42_ = _tmp41_;
+#line 787 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp43_ = self->priv->search_title;
+#line 787 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp44_ = gtk_entry_get_text (_tmp43_);
+#line 787 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp45_ = search_operator;
+#line 787 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp46_ = conditions;
+#line 787 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp47_ = saved_search_table_create (_tmp42_, _tmp44_, _tmp45_, _tmp46_);
+#line 787 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp48_ = _tmp47_;
+#line 787 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _g_object_unref0 (_tmp48_);
+#line 787 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _saved_search_table_unref0 (_tmp42_);
+#line 767 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _g_object_unref0 (conditions);
+#line 1742 "SavedSearchDialog.c"
+ }
+}
+
+
+static void saved_search_dialog_on_row_changed (SavedSearchDialog* self, SavedSearchDialogSearchRowContainer* row) {
+ SavedSearchDialogSearchRowContainer* _tmp0_ = NULL;
+ gboolean _tmp1_ = FALSE;
+#line 791 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ g_return_if_fail (IS_SAVED_SEARCH_DIALOG (self));
+#line 791 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ g_return_if_fail (SAVED_SEARCH_DIALOG_IS_SEARCH_ROW_CONTAINER (row));
+#line 792 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp0_ = row;
+#line 792 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp1_ = saved_search_dialog_search_row_container_is_complete (_tmp0_);
+#line 792 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ saved_search_dialog_set_valid (self, _tmp1_);
+#line 1760 "SavedSearchDialog.c"
+}
+
+
+static void saved_search_dialog_on_title_changed (SavedSearchDialog* self) {
+ gboolean _tmp0_ = FALSE;
+#line 795 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ g_return_if_fail (IS_SAVED_SEARCH_DIALOG (self));
+#line 796 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp0_ = saved_search_dialog_is_title_valid (self);
+#line 796 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ saved_search_dialog_set_valid (self, _tmp0_);
+#line 1772 "SavedSearchDialog.c"
+}
+
+
+static gchar* string_chomp (const gchar* self) {
+ gchar* result = NULL;
+ gchar* _result_ = NULL;
+ gchar* _tmp0_ = NULL;
+ const gchar* _tmp1_ = NULL;
+#line 1191 "/usr/share/vala-0.32/vapi/glib-2.0.vapi"
+ g_return_val_if_fail (self != NULL, NULL);
+#line 1192 "/usr/share/vala-0.32/vapi/glib-2.0.vapi"
+ _tmp0_ = g_strdup (self);
+#line 1192 "/usr/share/vala-0.32/vapi/glib-2.0.vapi"
+ _result_ = _tmp0_;
+#line 1193 "/usr/share/vala-0.32/vapi/glib-2.0.vapi"
+ _tmp1_ = _result_;
+#line 1193 "/usr/share/vala-0.32/vapi/glib-2.0.vapi"
+ g_strchomp (_tmp1_);
+#line 1194 "/usr/share/vala-0.32/vapi/glib-2.0.vapi"
+ result = _result_;
+#line 1194 "/usr/share/vala-0.32/vapi/glib-2.0.vapi"
+ return result;
+#line 1795 "SavedSearchDialog.c"
+}
+
+
+static gboolean saved_search_dialog_is_title_valid (SavedSearchDialog* self) {
+ gboolean result = FALSE;
+ gboolean _tmp0_ = FALSE;
+ gboolean _tmp1_ = FALSE;
+ gboolean _tmp2_ = FALSE;
+ GtkEntry* _tmp9_ = NULL;
+ const gchar* _tmp10_ = NULL;
+ gchar* _tmp11_ = NULL;
+ gchar* _tmp12_ = NULL;
+ gboolean _tmp13_ = FALSE;
+ SavedSearchTable* _tmp14_ = NULL;
+ SavedSearchTable* _tmp15_ = NULL;
+ GtkEntry* _tmp16_ = NULL;
+ const gchar* _tmp17_ = NULL;
+ gboolean _tmp18_ = FALSE;
+ gboolean _tmp19_ = FALSE;
+#line 799 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ g_return_val_if_fail (IS_SAVED_SEARCH_DIALOG (self), FALSE);
+#line 800 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp2_ = self->priv->edit_mode;
+#line 800 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ if (_tmp2_) {
+#line 1821 "SavedSearchDialog.c"
+ SavedSearch* _tmp3_ = NULL;
+#line 800 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp3_ = self->priv->previous_search;
+#line 800 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp1_ = _tmp3_ != NULL;
+#line 1827 "SavedSearchDialog.c"
+ } else {
+#line 800 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp1_ = FALSE;
+#line 1831 "SavedSearchDialog.c"
+ }
+#line 800 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ if (_tmp1_) {
+#line 1835 "SavedSearchDialog.c"
+ SavedSearch* _tmp4_ = NULL;
+ gchar* _tmp5_ = NULL;
+ gchar* _tmp6_ = NULL;
+ GtkEntry* _tmp7_ = NULL;
+ const gchar* _tmp8_ = NULL;
+#line 801 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp4_ = self->priv->previous_search;
+#line 801 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp5_ = data_object_get_name (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, TYPE_DATA_OBJECT, DataObject));
+#line 801 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp6_ = _tmp5_;
+#line 801 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp7_ = self->priv->search_title;
+#line 801 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp8_ = gtk_entry_get_text (_tmp7_);
+#line 801 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp0_ = g_strcmp0 (_tmp6_, _tmp8_) == 0;
+#line 801 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _g_free0 (_tmp6_);
+#line 1855 "SavedSearchDialog.c"
+ } else {
+#line 800 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp0_ = FALSE;
+#line 1859 "SavedSearchDialog.c"
+ }
+#line 800 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ if (_tmp0_) {
+#line 802 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ result = TRUE;
+#line 802 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ return result;
+#line 1867 "SavedSearchDialog.c"
+ }
+#line 803 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp9_ = self->priv->search_title;
+#line 803 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp10_ = gtk_entry_get_text (_tmp9_);
+#line 803 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp11_ = string_chomp (_tmp10_);
+#line 803 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp12_ = _tmp11_;
+#line 803 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp13_ = g_strcmp0 (_tmp12_, "") == 0;
+#line 803 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _g_free0 (_tmp12_);
+#line 803 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ if (_tmp13_) {
+#line 804 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ result = FALSE;
+#line 804 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ return result;
+#line 1887 "SavedSearchDialog.c"
+ }
+#line 805 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp14_ = saved_search_table_get_instance ();
+#line 805 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp15_ = _tmp14_;
+#line 805 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp16_ = self->priv->search_title;
+#line 805 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp17_ = gtk_entry_get_text (_tmp16_);
+#line 805 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp18_ = saved_search_table_exists (_tmp15_, _tmp17_);
+#line 805 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp19_ = _tmp18_;
+#line 805 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _saved_search_table_unref0 (_tmp15_);
+#line 805 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ if (_tmp19_) {
+#line 806 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ result = FALSE;
+#line 806 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ return result;
+#line 1909 "SavedSearchDialog.c"
+ }
+#line 807 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ result = TRUE;
+#line 807 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ return result;
+#line 1915 "SavedSearchDialog.c"
+}
+
+
+static void saved_search_dialog_set_valid (SavedSearchDialog* self, gboolean v) {
+ gboolean _tmp0_ = FALSE;
+ GtkDialog* _tmp22_ = NULL;
+ gboolean _tmp23_ = FALSE;
+#line 811 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ g_return_if_fail (IS_SAVED_SEARCH_DIALOG (self));
+#line 812 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp0_ = v;
+#line 812 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ if (!_tmp0_) {
+#line 813 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ self->priv->valid = FALSE;
+#line 1931 "SavedSearchDialog.c"
+ } else {
+ gboolean _tmp1_ = FALSE;
+ gboolean _tmp2_ = FALSE;
+#line 814 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp1_ = v;
+#line 814 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp2_ = self->priv->valid;
+#line 814 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ if (_tmp1_ != _tmp2_) {
+#line 1941 "SavedSearchDialog.c"
+ gboolean _tmp3_ = FALSE;
+#line 815 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp3_ = saved_search_dialog_is_title_valid (self);
+#line 815 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ if (_tmp3_) {
+#line 1947 "SavedSearchDialog.c"
+ gint valid_rows = 0;
+ gint _tmp18_ = 0;
+ GeeArrayList* _tmp19_ = NULL;
+ gint _tmp20_ = 0;
+ gint _tmp21_ = 0;
+#line 817 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ valid_rows = 0;
+#line 1955 "SavedSearchDialog.c"
+ {
+ GeeArrayList* _c_list = NULL;
+ GeeArrayList* _tmp4_ = NULL;
+ GeeArrayList* _tmp5_ = NULL;
+ gint _c_size = 0;
+ GeeArrayList* _tmp6_ = NULL;
+ gint _tmp7_ = 0;
+ gint _tmp8_ = 0;
+ gint _c_index = 0;
+#line 818 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp4_ = self->priv->row_list;
+#line 818 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp5_ = _g_object_ref0 (_tmp4_);
+#line 818 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _c_list = _tmp5_;
+#line 818 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp6_ = _c_list;
+#line 818 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp7_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, GEE_TYPE_COLLECTION, GeeCollection));
+#line 818 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp8_ = _tmp7_;
+#line 818 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _c_size = _tmp8_;
+#line 818 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _c_index = -1;
+#line 818 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ while (TRUE) {
+#line 1983 "SavedSearchDialog.c"
+ gint _tmp9_ = 0;
+ gint _tmp10_ = 0;
+ gint _tmp11_ = 0;
+ SavedSearchDialogSearchRowContainer* c = NULL;
+ GeeArrayList* _tmp12_ = NULL;
+ gint _tmp13_ = 0;
+ gpointer _tmp14_ = NULL;
+ SavedSearchDialogSearchRowContainer* _tmp15_ = NULL;
+ gboolean _tmp16_ = FALSE;
+#line 818 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp9_ = _c_index;
+#line 818 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _c_index = _tmp9_ + 1;
+#line 818 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp10_ = _c_index;
+#line 818 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp11_ = _c_size;
+#line 818 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ if (!(_tmp10_ < _tmp11_)) {
+#line 818 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ break;
+#line 2005 "SavedSearchDialog.c"
+ }
+#line 818 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp12_ = _c_list;
+#line 818 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp13_ = _c_index;
+#line 818 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp14_ = gee_abstract_list_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp12_, GEE_TYPE_ABSTRACT_LIST, GeeAbstractList), _tmp13_);
+#line 818 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ c = (SavedSearchDialogSearchRowContainer*) _tmp14_;
+#line 819 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp15_ = c;
+#line 819 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp16_ = saved_search_dialog_search_row_container_is_complete (_tmp15_);
+#line 819 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ if (_tmp16_) {
+#line 2021 "SavedSearchDialog.c"
+ gint _tmp17_ = 0;
+#line 820 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp17_ = valid_rows;
+#line 820 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ valid_rows = _tmp17_ + 1;
+#line 2027 "SavedSearchDialog.c"
+ }
+#line 818 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _saved_search_dialog_search_row_container_unref0 (c);
+#line 2031 "SavedSearchDialog.c"
+ }
+#line 818 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _g_object_unref0 (_c_list);
+#line 2035 "SavedSearchDialog.c"
+ }
+#line 822 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp18_ = valid_rows;
+#line 822 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp19_ = self->priv->row_list;
+#line 822 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp20_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp19_, GEE_TYPE_COLLECTION, GeeCollection));
+#line 822 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp21_ = _tmp20_;
+#line 822 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ self->priv->valid = _tmp18_ == _tmp21_;
+#line 2047 "SavedSearchDialog.c"
+ } else {
+#line 824 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ self->priv->valid = FALSE;
+#line 2051 "SavedSearchDialog.c"
+ }
+ }
+ }
+#line 828 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp22_ = self->priv->dialog;
+#line 828 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp23_ = self->priv->valid;
+#line 828 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ gtk_dialog_set_response_sensitive (_tmp22_, (gint) GTK_RESPONSE_OK, _tmp23_);
+#line 2061 "SavedSearchDialog.c"
+}
+
+
+static SavedSearchDialogSearchRowContainer* saved_search_dialog_search_row_container_construct (GType object_type) {
+ SavedSearchDialogSearchRowContainer* self = NULL;
+#line 24 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ self = (SavedSearchDialogSearchRowContainer*) g_type_create_instance (object_type);
+#line 25 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ saved_search_dialog_search_row_container_setup_gui (self);
+#line 26 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ saved_search_dialog_search_row_container_set_type (self, SEARCH_CONDITION_SEARCH_TYPE_ANY_TEXT);
+#line 24 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ return self;
+#line 2075 "SavedSearchDialog.c"
+}
+
+
+static SavedSearchDialogSearchRowContainer* saved_search_dialog_search_row_container_new (void) {
+#line 24 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ return saved_search_dialog_search_row_container_construct (SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW_CONTAINER);
+#line 2082 "SavedSearchDialog.c"
+}
+
+
+static SavedSearchDialogSearchRowContainer* saved_search_dialog_search_row_container_construct_edit_existing (GType object_type, SearchCondition* sc) {
+ SavedSearchDialogSearchRowContainer* self = NULL;
+ SearchCondition* _tmp0_ = NULL;
+ SearchConditionSearchType _tmp1_ = 0;
+ SearchConditionSearchType _tmp2_ = 0;
+ SearchCondition* _tmp3_ = NULL;
+ SearchConditionSearchType _tmp4_ = 0;
+ SearchConditionSearchType _tmp5_ = 0;
+ SavedSearchDialogSearchRow* _tmp6_ = NULL;
+ SearchCondition* _tmp7_ = NULL;
+#line 29 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ g_return_val_if_fail (IS_SEARCH_CONDITION (sc), NULL);
+#line 29 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ self = (SavedSearchDialogSearchRowContainer*) g_type_create_instance (object_type);
+#line 30 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ saved_search_dialog_search_row_container_setup_gui (self);
+#line 31 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp0_ = sc;
+#line 31 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp1_ = search_condition_get_search_type (_tmp0_);
+#line 31 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp2_ = _tmp1_;
+#line 31 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ saved_search_dialog_search_row_container_set_type (self, _tmp2_);
+#line 32 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp3_ = sc;
+#line 32 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp4_ = search_condition_get_search_type (_tmp3_);
+#line 32 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp5_ = _tmp4_;
+#line 32 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ saved_search_dialog_search_row_container_set_type_combo_box (self, _tmp5_);
+#line 33 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp6_ = self->priv->my_row;
+#line 33 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp7_ = sc;
+#line 33 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ saved_search_dialog_search_row_populate (_tmp6_, _tmp7_);
+#line 29 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ return self;
+#line 2126 "SavedSearchDialog.c"
+}
+
+
+static SavedSearchDialogSearchRowContainer* saved_search_dialog_search_row_container_new_edit_existing (SearchCondition* sc) {
+#line 29 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ return saved_search_dialog_search_row_container_construct_edit_existing (SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW_CONTAINER, sc);
+#line 2133 "SavedSearchDialog.c"
+}
+
+
+static void _saved_search_dialog_search_row_container_on_type_changed_gtk_combo_box_changed (GtkComboBox* _sender, gpointer self) {
+#line 49 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ saved_search_dialog_search_row_container_on_type_changed ((SavedSearchDialogSearchRowContainer*) self);
+#line 2140 "SavedSearchDialog.c"
+}
+
+
+static gboolean _saved_search_dialog_search_row_container_on_removed_gtk_widget_button_press_event (GtkWidget* _sender, GdkEventButton* event, gpointer self) {
+ gboolean result;
+ result = saved_search_dialog_search_row_container_on_removed ((SavedSearchDialogSearchRowContainer*) self, event);
+#line 52 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ return result;
+#line 2149 "SavedSearchDialog.c"
+}
+
+
+static void saved_search_dialog_search_row_container_setup_gui (SavedSearchDialogSearchRowContainer* self) {
+ gint _tmp0_ = 0;
+ SearchConditionSearchType* _tmp1_ = NULL;
+ GeeHashMap* _tmp2_ = NULL;
+ GtkComboBoxText* _tmp3_ = NULL;
+ GtkComboBoxText* _tmp18_ = NULL;
+ GtkButton* _tmp19_ = NULL;
+ GtkButton* _tmp20_ = NULL;
+ GtkAlignment* _tmp21_ = NULL;
+ GtkBox* _tmp22_ = NULL;
+ GtkBox* _tmp23_ = NULL;
+ GtkComboBoxText* _tmp24_ = NULL;
+ GtkBox* _tmp25_ = NULL;
+ GtkAlignment* _tmp26_ = NULL;
+ GtkBox* _tmp27_ = NULL;
+ GtkAlignment* _tmp28_ = NULL;
+ GtkAlignment* _tmp29_ = NULL;
+ GtkBox* _tmp30_ = NULL;
+ GtkButton* _tmp31_ = NULL;
+ GtkBox* _tmp32_ = NULL;
+#line 37 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ g_return_if_fail (SAVED_SEARCH_DIALOG_IS_SEARCH_ROW_CONTAINER (self));
+#line 38 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp1_ = search_condition_search_type_as_array (&_tmp0_);
+#line 38 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ self->priv->search_types = (g_free (self->priv->search_types), NULL);
+#line 38 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ self->priv->search_types = _tmp1_;
+#line 38 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ self->priv->search_types_length1 = _tmp0_;
+#line 38 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ self->priv->_search_types_size_ = self->priv->search_types_length1;
+#line 39 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp2_ = gee_hash_map_new (SEARCH_CONDITION_TYPE_SEARCH_TYPE, NULL, NULL, G_TYPE_INT, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);
+#line 39 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _g_object_unref0 (self->priv->search_types_index);
+#line 39 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ self->priv->search_types_index = _tmp2_;
+#line 40 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ search_condition_search_type_sort_array (&self->priv->search_types, &self->priv->search_types_length1);
+#line 42 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp3_ = (GtkComboBoxText*) gtk_combo_box_text_new ();
+#line 42 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ g_object_ref_sink (_tmp3_);
+#line 42 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _g_object_unref0 (self->priv->type_combo);
+#line 42 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ self->priv->type_combo = _tmp3_;
+#line 2201 "SavedSearchDialog.c"
+ {
+ gint i = 0;
+#line 43 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ i = 0;
+#line 2206 "SavedSearchDialog.c"
+ {
+ gboolean _tmp4_ = FALSE;
+#line 43 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp4_ = TRUE;
+#line 43 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ while (TRUE) {
+#line 2213 "SavedSearchDialog.c"
+ gint _tmp6_ = 0;
+ SearchConditionSearchType* _tmp7_ = NULL;
+ gint _tmp7__length1 = 0;
+ SearchConditionSearchType st = 0;
+ SearchConditionSearchType* _tmp8_ = NULL;
+ gint _tmp8__length1 = 0;
+ gint _tmp9_ = 0;
+ SearchConditionSearchType _tmp10_ = 0;
+ GeeHashMap* _tmp11_ = NULL;
+ SearchConditionSearchType _tmp12_ = 0;
+ gint _tmp13_ = 0;
+ GtkComboBoxText* _tmp14_ = NULL;
+ SearchConditionSearchType _tmp15_ = 0;
+ gchar* _tmp16_ = NULL;
+ gchar* _tmp17_ = NULL;
+#line 43 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ if (!_tmp4_) {
+#line 2231 "SavedSearchDialog.c"
+ gint _tmp5_ = 0;
+#line 43 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp5_ = i;
+#line 43 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ i = _tmp5_ + 1;
+#line 2237 "SavedSearchDialog.c"
+ }
+#line 43 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp4_ = FALSE;
+#line 43 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp6_ = i;
+#line 43 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp7_ = self->priv->search_types;
+#line 43 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp7__length1 = self->priv->search_types_length1;
+#line 43 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ if (!(_tmp6_ < _tmp7__length1)) {
+#line 43 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ break;
+#line 2251 "SavedSearchDialog.c"
+ }
+#line 44 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp8_ = self->priv->search_types;
+#line 44 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp8__length1 = self->priv->search_types_length1;
+#line 44 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp9_ = i;
+#line 44 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp10_ = _tmp8_[_tmp9_];
+#line 44 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ st = _tmp10_;
+#line 45 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp11_ = self->priv->search_types_index;
+#line 45 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp12_ = st;
+#line 45 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp13_ = i;
+#line 45 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ gee_abstract_map_set (G_TYPE_CHECK_INSTANCE_CAST (_tmp11_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), (gpointer) ((gintptr) _tmp12_), (gpointer) ((gintptr) _tmp13_));
+#line 46 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp14_ = self->priv->type_combo;
+#line 46 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp15_ = st;
+#line 46 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp16_ = search_condition_search_type_display_text (_tmp15_);
+#line 46 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp17_ = _tmp16_;
+#line 46 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ gtk_combo_box_text_append_text (_tmp14_, _tmp17_);
+#line 46 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _g_free0 (_tmp17_);
+#line 2283 "SavedSearchDialog.c"
+ }
+ }
+ }
+#line 48 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ saved_search_dialog_search_row_container_set_type_combo_box (self, SEARCH_CONDITION_SEARCH_TYPE_ANY_TEXT);
+#line 49 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp18_ = self->priv->type_combo;
+#line 49 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ g_signal_connect (G_TYPE_CHECK_INSTANCE_CAST (_tmp18_, gtk_combo_box_get_type (), GtkComboBox), "changed", (GCallback) _saved_search_dialog_search_row_container_on_type_changed_gtk_combo_box_changed, self);
+#line 51 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp19_ = (GtkButton*) gtk_button_new_from_icon_name ("list-remove-symbolic", GTK_ICON_SIZE_BUTTON);
+#line 51 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ g_object_ref_sink (_tmp19_);
+#line 51 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _g_object_unref0 (self->priv->remove_button);
+#line 51 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ self->priv->remove_button = _tmp19_;
+#line 52 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp20_ = self->priv->remove_button;
+#line 52 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ g_signal_connect (G_TYPE_CHECK_INSTANCE_CAST (_tmp20_, gtk_widget_get_type (), GtkWidget), "button-press-event", (GCallback) _saved_search_dialog_search_row_container_on_removed_gtk_widget_button_press_event, self);
+#line 54 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp21_ = (GtkAlignment*) gtk_alignment_new ((gfloat) 0, (gfloat) 0, (gfloat) 0, (gfloat) 0);
+#line 54 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ g_object_ref_sink (_tmp21_);
+#line 54 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _g_object_unref0 (self->priv->align);
+#line 54 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ self->priv->align = _tmp21_;
+#line 56 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp22_ = (GtkBox*) gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 3);
+#line 56 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ g_object_ref_sink (_tmp22_);
+#line 56 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _g_object_unref0 (self->priv->box);
+#line 56 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ self->priv->box = _tmp22_;
+#line 57 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp23_ = self->priv->box;
+#line 57 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp24_ = self->priv->type_combo;
+#line 57 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ gtk_box_pack_start (_tmp23_, G_TYPE_CHECK_INSTANCE_CAST (_tmp24_, gtk_widget_get_type (), GtkWidget), FALSE, FALSE, (guint) 0);
+#line 58 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp25_ = self->priv->box;
+#line 58 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp26_ = self->priv->align;
+#line 58 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ gtk_box_pack_start (_tmp25_, G_TYPE_CHECK_INSTANCE_CAST (_tmp26_, gtk_widget_get_type (), GtkWidget), FALSE, FALSE, (guint) 0);
+#line 59 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp27_ = self->priv->box;
+#line 59 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp28_ = (GtkAlignment*) gtk_alignment_new ((gfloat) 0, (gfloat) 0, (gfloat) 0, (gfloat) 0);
+#line 59 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ g_object_ref_sink (_tmp28_);
+#line 59 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp29_ = _tmp28_;
+#line 59 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ gtk_box_pack_start (_tmp27_, G_TYPE_CHECK_INSTANCE_CAST (_tmp29_, gtk_widget_get_type (), GtkWidget), TRUE, TRUE, (guint) 0);
+#line 59 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _g_object_unref0 (_tmp29_);
+#line 60 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp30_ = self->priv->box;
+#line 60 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp31_ = self->priv->remove_button;
+#line 60 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ gtk_box_pack_start (_tmp30_, G_TYPE_CHECK_INSTANCE_CAST (_tmp31_, gtk_widget_get_type (), GtkWidget), FALSE, FALSE, (guint) 0);
+#line 61 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp32_ = self->priv->box;
+#line 61 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ gtk_widget_show_all (G_TYPE_CHECK_INSTANCE_CAST (_tmp32_, gtk_widget_get_type (), GtkWidget));
+#line 2355 "SavedSearchDialog.c"
+}
+
+
+static void saved_search_dialog_search_row_container_on_type_changed (SavedSearchDialogSearchRowContainer* self) {
+ SearchConditionSearchType _tmp0_ = 0;
+#line 64 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ g_return_if_fail (SAVED_SEARCH_DIALOG_IS_SEARCH_ROW_CONTAINER (self));
+#line 65 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp0_ = saved_search_dialog_search_row_container_get_search_type (self);
+#line 65 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ saved_search_dialog_search_row_container_set_type (self, _tmp0_);
+#line 66 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ g_signal_emit_by_name (self, "changed", self);
+#line 2369 "SavedSearchDialog.c"
+}
+
+
+static void saved_search_dialog_search_row_container_set_type_combo_box (SavedSearchDialogSearchRowContainer* self, SearchConditionSearchType st) {
+ GtkComboBoxText* _tmp0_ = NULL;
+ GeeHashMap* _tmp1_ = NULL;
+ SearchConditionSearchType _tmp2_ = 0;
+ gpointer _tmp3_ = NULL;
+#line 69 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ g_return_if_fail (SAVED_SEARCH_DIALOG_IS_SEARCH_ROW_CONTAINER (self));
+#line 70 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp0_ = self->priv->type_combo;
+#line 70 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp1_ = self->priv->search_types_index;
+#line 70 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp2_ = st;
+#line 70 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp3_ = gee_abstract_map_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), (gpointer) ((gintptr) _tmp2_));
+#line 70 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ gtk_combo_box_set_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, gtk_combo_box_get_type (), GtkComboBox), (gint) ((gintptr) _tmp3_));
+#line 2390 "SavedSearchDialog.c"
+}
+
+
+static void saved_search_dialog_search_row_container_set_type (SavedSearchDialogSearchRowContainer* self, SearchConditionSearchType type) {
+ SavedSearchDialogSearchRow* _tmp0_ = NULL;
+ SearchConditionSearchType _tmp5_ = 0;
+ GtkAlignment* _tmp12_ = NULL;
+ SavedSearchDialogSearchRow* _tmp13_ = NULL;
+ GtkWidget* _tmp14_ = NULL;
+ GtkWidget* _tmp15_ = NULL;
+#line 73 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ g_return_if_fail (SAVED_SEARCH_DIALOG_IS_SEARCH_ROW_CONTAINER (self));
+#line 74 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp0_ = self->priv->my_row;
+#line 74 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ if (_tmp0_ != NULL) {
+#line 2407 "SavedSearchDialog.c"
+ GtkAlignment* _tmp1_ = NULL;
+ SavedSearchDialogSearchRow* _tmp2_ = NULL;
+ GtkWidget* _tmp3_ = NULL;
+ GtkWidget* _tmp4_ = NULL;
+#line 75 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp1_ = self->priv->align;
+#line 75 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp2_ = self->priv->my_row;
+#line 75 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp3_ = saved_search_dialog_search_row_get_widget (_tmp2_);
+#line 75 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp4_ = _tmp3_;
+#line 75 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ gtk_container_remove (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, gtk_container_get_type (), GtkContainer), _tmp4_);
+#line 75 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _g_object_unref0 (_tmp4_);
+#line 2424 "SavedSearchDialog.c"
+ }
+#line 77 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp5_ = type;
+#line 77 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ switch (_tmp5_) {
+#line 77 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ case SEARCH_CONDITION_SEARCH_TYPE_ANY_TEXT:
+#line 77 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ case SEARCH_CONDITION_SEARCH_TYPE_EVENT_NAME:
+#line 77 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ case SEARCH_CONDITION_SEARCH_TYPE_FILE_NAME:
+#line 77 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ case SEARCH_CONDITION_SEARCH_TYPE_TAG:
+#line 77 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ case SEARCH_CONDITION_SEARCH_TYPE_COMMENT:
+#line 77 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ case SEARCH_CONDITION_SEARCH_TYPE_TITLE:
+#line 2442 "SavedSearchDialog.c"
+ {
+ SavedSearchDialogSearchRowText* _tmp6_ = NULL;
+#line 84 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp6_ = saved_search_dialog_search_row_text_new (self);
+#line 84 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _saved_search_dialog_search_row_unref0 (self->priv->my_row);
+#line 84 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ self->priv->my_row = G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW, SavedSearchDialogSearchRow);
+#line 85 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ break;
+#line 2453 "SavedSearchDialog.c"
+ }
+#line 77 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ case SEARCH_CONDITION_SEARCH_TYPE_MEDIA_TYPE:
+#line 2457 "SavedSearchDialog.c"
+ {
+ SavedSearchDialogSearchRowMediaType* _tmp7_ = NULL;
+#line 88 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp7_ = saved_search_dialog_search_row_media_type_new (self);
+#line 88 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _saved_search_dialog_search_row_unref0 (self->priv->my_row);
+#line 88 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ self->priv->my_row = G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW, SavedSearchDialogSearchRow);
+#line 89 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ break;
+#line 2468 "SavedSearchDialog.c"
+ }
+#line 77 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ case SEARCH_CONDITION_SEARCH_TYPE_FLAG_STATE:
+#line 2472 "SavedSearchDialog.c"
+ {
+ SavedSearchDialogSearchRowFlagged* _tmp8_ = NULL;
+#line 92 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp8_ = saved_search_dialog_search_row_flagged_new (self);
+#line 92 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _saved_search_dialog_search_row_unref0 (self->priv->my_row);
+#line 92 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ self->priv->my_row = G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW, SavedSearchDialogSearchRow);
+#line 93 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ break;
+#line 2483 "SavedSearchDialog.c"
+ }
+#line 77 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ case SEARCH_CONDITION_SEARCH_TYPE_MODIFIED_STATE:
+#line 2487 "SavedSearchDialog.c"
+ {
+ SavedSearchDialogSearchRowModified* _tmp9_ = NULL;
+#line 96 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp9_ = saved_search_dialog_search_row_modified_new (self);
+#line 96 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _saved_search_dialog_search_row_unref0 (self->priv->my_row);
+#line 96 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ self->priv->my_row = G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW, SavedSearchDialogSearchRow);
+#line 97 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ break;
+#line 2498 "SavedSearchDialog.c"
+ }
+#line 77 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ case SEARCH_CONDITION_SEARCH_TYPE_RATING:
+#line 2502 "SavedSearchDialog.c"
+ {
+ SavedSearchDialogSearchRowRating* _tmp10_ = NULL;
+#line 100 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp10_ = saved_search_dialog_search_row_rating_new (self);
+#line 100 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _saved_search_dialog_search_row_unref0 (self->priv->my_row);
+#line 100 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ self->priv->my_row = G_TYPE_CHECK_INSTANCE_CAST (_tmp10_, SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW, SavedSearchDialogSearchRow);
+#line 101 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ break;
+#line 2513 "SavedSearchDialog.c"
+ }
+#line 77 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ case SEARCH_CONDITION_SEARCH_TYPE_DATE:
+#line 2517 "SavedSearchDialog.c"
+ {
+ SavedSearchDialogSearchRowDate* _tmp11_ = NULL;
+#line 104 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp11_ = saved_search_dialog_search_row_date_new (self);
+#line 104 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _saved_search_dialog_search_row_unref0 (self->priv->my_row);
+#line 104 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ self->priv->my_row = G_TYPE_CHECK_INSTANCE_CAST (_tmp11_, SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW, SavedSearchDialogSearchRow);
+#line 105 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ break;
+#line 2528 "SavedSearchDialog.c"
+ }
+ default:
+ {
+#line 108 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _vala_assert (FALSE, "false");
+#line 109 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ break;
+#line 2536 "SavedSearchDialog.c"
+ }
+ }
+#line 112 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp12_ = self->priv->align;
+#line 112 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp13_ = self->priv->my_row;
+#line 112 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp14_ = saved_search_dialog_search_row_get_widget (_tmp13_);
+#line 112 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp15_ = _tmp14_;
+#line 112 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ gtk_container_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp12_, gtk_container_get_type (), GtkContainer), _tmp15_);
+#line 112 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _g_object_unref0 (_tmp15_);
+#line 2551 "SavedSearchDialog.c"
+}
+
+
+static SearchConditionSearchType saved_search_dialog_search_row_container_get_search_type (SavedSearchDialogSearchRowContainer* self) {
+ SearchConditionSearchType result = 0;
+ SearchConditionSearchType* _tmp0_ = NULL;
+ gint _tmp0__length1 = 0;
+ GtkComboBoxText* _tmp1_ = NULL;
+ gint _tmp2_ = 0;
+ SearchConditionSearchType _tmp3_ = 0;
+#line 115 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ g_return_val_if_fail (SAVED_SEARCH_DIALOG_IS_SEARCH_ROW_CONTAINER (self), 0);
+#line 116 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp0_ = self->priv->search_types;
+#line 116 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp0__length1 = self->priv->search_types_length1;
+#line 116 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp1_ = self->priv->type_combo;
+#line 116 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp2_ = gtk_combo_box_get_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, gtk_combo_box_get_type (), GtkComboBox));
+#line 116 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp3_ = _tmp0_[_tmp2_];
+#line 116 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ result = _tmp3_;
+#line 116 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ return result;
+#line 2578 "SavedSearchDialog.c"
+}
+
+
+static gboolean saved_search_dialog_search_row_container_on_removed (SavedSearchDialogSearchRowContainer* self, GdkEventButton* event) {
+ gboolean result = FALSE;
+#line 119 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ g_return_val_if_fail (SAVED_SEARCH_DIALOG_IS_SEARCH_ROW_CONTAINER (self), FALSE);
+#line 119 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ g_return_val_if_fail (event != NULL, FALSE);
+#line 120 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ g_signal_emit_by_name (self, "remove", self);
+#line 121 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ result = FALSE;
+#line 121 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ return result;
+#line 2594 "SavedSearchDialog.c"
+}
+
+
+static void saved_search_dialog_search_row_container_allow_removal (SavedSearchDialogSearchRowContainer* self, gboolean allow) {
+ GtkButton* _tmp0_ = NULL;
+ gboolean _tmp1_ = FALSE;
+#line 124 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ g_return_if_fail (SAVED_SEARCH_DIALOG_IS_SEARCH_ROW_CONTAINER (self));
+#line 125 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp0_ = self->priv->remove_button;
+#line 125 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp1_ = allow;
+#line 125 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ gtk_widget_set_sensitive (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, gtk_widget_get_type (), GtkWidget), _tmp1_);
+#line 2609 "SavedSearchDialog.c"
+}
+
+
+static GtkWidget* saved_search_dialog_search_row_container_get_widget (SavedSearchDialogSearchRowContainer* self) {
+ GtkWidget* result = NULL;
+ GtkBox* _tmp0_ = NULL;
+ GtkWidget* _tmp1_ = NULL;
+#line 128 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ g_return_val_if_fail (SAVED_SEARCH_DIALOG_IS_SEARCH_ROW_CONTAINER (self), NULL);
+#line 129 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp0_ = self->priv->box;
+#line 129 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp1_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, gtk_widget_get_type (), GtkWidget));
+#line 129 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ result = _tmp1_;
+#line 129 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ return result;
+#line 2627 "SavedSearchDialog.c"
+}
+
+
+static SearchCondition* saved_search_dialog_search_row_container_get_search_condition (SavedSearchDialogSearchRowContainer* self) {
+ SearchCondition* result = NULL;
+ SavedSearchDialogSearchRow* _tmp0_ = NULL;
+ SearchCondition* _tmp1_ = NULL;
+#line 132 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ g_return_val_if_fail (SAVED_SEARCH_DIALOG_IS_SEARCH_ROW_CONTAINER (self), NULL);
+#line 133 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp0_ = self->priv->my_row;
+#line 133 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp1_ = saved_search_dialog_search_row_get_search_condition (_tmp0_);
+#line 133 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ result = _tmp1_;
+#line 133 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ return result;
+#line 2645 "SavedSearchDialog.c"
+}
+
+
+static gboolean saved_search_dialog_search_row_container_is_complete (SavedSearchDialogSearchRowContainer* self) {
+ gboolean result = FALSE;
+ SavedSearchDialogSearchRow* _tmp0_ = NULL;
+ gboolean _tmp1_ = FALSE;
+#line 136 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ g_return_val_if_fail (SAVED_SEARCH_DIALOG_IS_SEARCH_ROW_CONTAINER (self), FALSE);
+#line 137 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp0_ = self->priv->my_row;
+#line 137 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp1_ = saved_search_dialog_search_row_is_complete (_tmp0_);
+#line 137 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ result = _tmp1_;
+#line 137 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ return result;
+#line 2663 "SavedSearchDialog.c"
+}
+
+
+static void g_cclosure_user_marshal_VOID__SAVED_SEARCH_DIALOG_SEARCH_ROW_CONTAINER (GClosure * closure, GValue * return_value, guint n_param_values, const GValue * param_values, gpointer invocation_hint, gpointer marshal_data) {
+ typedef void (*GMarshalFunc_VOID__SAVED_SEARCH_DIALOG_SEARCH_ROW_CONTAINER) (gpointer data1, gpointer arg_1, gpointer data2);
+ register GMarshalFunc_VOID__SAVED_SEARCH_DIALOG_SEARCH_ROW_CONTAINER callback;
+ register GCClosure * cc;
+ register gpointer data1;
+ register gpointer data2;
+ cc = (GCClosure *) closure;
+#line 11 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ g_return_if_fail (n_param_values == 2);
+#line 11 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ if (G_CCLOSURE_SWAP_DATA (closure)) {
+#line 11 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ data1 = closure->data;
+#line 11 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ data2 = param_values->data[0].v_pointer;
+#line 2682 "SavedSearchDialog.c"
+ } else {
+#line 11 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ data1 = param_values->data[0].v_pointer;
+#line 11 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ data2 = closure->data;
+#line 2688 "SavedSearchDialog.c"
+ }
+#line 11 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ callback = (GMarshalFunc_VOID__SAVED_SEARCH_DIALOG_SEARCH_ROW_CONTAINER) (marshal_data ? marshal_data : cc->callback);
+#line 11 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ callback (data1, saved_search_dialog_value_get_search_row_container (param_values + 1), data2);
+#line 2694 "SavedSearchDialog.c"
+}
+
+
+static void saved_search_dialog_value_search_row_container_init (GValue* value) {
+#line 11 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ value->data[0].v_pointer = NULL;
+#line 2701 "SavedSearchDialog.c"
+}
+
+
+static void saved_search_dialog_value_search_row_container_free_value (GValue* value) {
+#line 11 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ if (value->data[0].v_pointer) {
+#line 11 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ saved_search_dialog_search_row_container_unref (value->data[0].v_pointer);
+#line 2710 "SavedSearchDialog.c"
+ }
+}
+
+
+static void saved_search_dialog_value_search_row_container_copy_value (const GValue* src_value, GValue* dest_value) {
+#line 11 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ if (src_value->data[0].v_pointer) {
+#line 11 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ dest_value->data[0].v_pointer = saved_search_dialog_search_row_container_ref (src_value->data[0].v_pointer);
+#line 2720 "SavedSearchDialog.c"
+ } else {
+#line 11 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ dest_value->data[0].v_pointer = NULL;
+#line 2724 "SavedSearchDialog.c"
+ }
+}
+
+
+static gpointer saved_search_dialog_value_search_row_container_peek_pointer (const GValue* value) {
+#line 11 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ return value->data[0].v_pointer;
+#line 2732 "SavedSearchDialog.c"
+}
+
+
+static gchar* saved_search_dialog_value_search_row_container_collect_value (GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) {
+#line 11 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ if (collect_values[0].v_pointer) {
+#line 2739 "SavedSearchDialog.c"
+ SavedSearchDialogSearchRowContainer* object;
+ object = collect_values[0].v_pointer;
+#line 11 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ if (object->parent_instance.g_class == NULL) {
+#line 11 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL);
+#line 2746 "SavedSearchDialog.c"
+ } else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) {
+#line 11 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ return g_strconcat ("invalid object type `", g_type_name (G_TYPE_FROM_INSTANCE (object)), "' for value type `", G_VALUE_TYPE_NAME (value), "'", NULL);
+#line 2750 "SavedSearchDialog.c"
+ }
+#line 11 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ value->data[0].v_pointer = saved_search_dialog_search_row_container_ref (object);
+#line 2754 "SavedSearchDialog.c"
+ } else {
+#line 11 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ value->data[0].v_pointer = NULL;
+#line 2758 "SavedSearchDialog.c"
+ }
+#line 11 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ return NULL;
+#line 2762 "SavedSearchDialog.c"
+}
+
+
+static gchar* saved_search_dialog_value_search_row_container_lcopy_value (const GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) {
+ SavedSearchDialogSearchRowContainer** object_p;
+ object_p = collect_values[0].v_pointer;
+#line 11 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ if (!object_p) {
+#line 11 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value));
+#line 2773 "SavedSearchDialog.c"
+ }
+#line 11 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ if (!value->data[0].v_pointer) {
+#line 11 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ *object_p = NULL;
+#line 2779 "SavedSearchDialog.c"
+ } else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) {
+#line 11 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ *object_p = value->data[0].v_pointer;
+#line 2783 "SavedSearchDialog.c"
+ } else {
+#line 11 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ *object_p = saved_search_dialog_search_row_container_ref (value->data[0].v_pointer);
+#line 2787 "SavedSearchDialog.c"
+ }
+#line 11 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ return NULL;
+#line 2791 "SavedSearchDialog.c"
+}
+
+
+static GParamSpec* saved_search_dialog_param_spec_search_row_container (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags) {
+ SavedSearchDialogParamSpecSearchRowContainer* spec;
+#line 11 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ g_return_val_if_fail (g_type_is_a (object_type, SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW_CONTAINER), NULL);
+#line 11 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags);
+#line 11 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ G_PARAM_SPEC (spec)->value_type = object_type;
+#line 11 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ return G_PARAM_SPEC (spec);
+#line 2805 "SavedSearchDialog.c"
+}
+
+
+static gpointer saved_search_dialog_value_get_search_row_container (const GValue* value) {
+#line 11 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW_CONTAINER), NULL);
+#line 11 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ return value->data[0].v_pointer;
+#line 2814 "SavedSearchDialog.c"
+}
+
+
+static void saved_search_dialog_value_set_search_row_container (GValue* value, gpointer v_object) {
+ SavedSearchDialogSearchRowContainer* old;
+#line 11 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW_CONTAINER));
+#line 11 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ old = value->data[0].v_pointer;
+#line 11 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ if (v_object) {
+#line 11 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW_CONTAINER));
+#line 11 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value)));
+#line 11 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ value->data[0].v_pointer = v_object;
+#line 11 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ saved_search_dialog_search_row_container_ref (value->data[0].v_pointer);
+#line 2834 "SavedSearchDialog.c"
+ } else {
+#line 11 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ value->data[0].v_pointer = NULL;
+#line 2838 "SavedSearchDialog.c"
+ }
+#line 11 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ if (old) {
+#line 11 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ saved_search_dialog_search_row_container_unref (old);
+#line 2844 "SavedSearchDialog.c"
+ }
+}
+
+
+static void saved_search_dialog_value_take_search_row_container (GValue* value, gpointer v_object) {
+ SavedSearchDialogSearchRowContainer* old;
+#line 11 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW_CONTAINER));
+#line 11 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ old = value->data[0].v_pointer;
+#line 11 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ if (v_object) {
+#line 11 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW_CONTAINER));
+#line 11 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value)));
+#line 11 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ value->data[0].v_pointer = v_object;
+#line 2863 "SavedSearchDialog.c"
+ } else {
+#line 11 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ value->data[0].v_pointer = NULL;
+#line 2867 "SavedSearchDialog.c"
+ }
+#line 11 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ if (old) {
+#line 11 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ saved_search_dialog_search_row_container_unref (old);
+#line 2873 "SavedSearchDialog.c"
+ }
+}
+
+
+static void saved_search_dialog_search_row_container_class_init (SavedSearchDialogSearchRowContainerClass * klass) {
+#line 11 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ saved_search_dialog_search_row_container_parent_class = g_type_class_peek_parent (klass);
+#line 11 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ ((SavedSearchDialogSearchRowContainerClass *) klass)->finalize = saved_search_dialog_search_row_container_finalize;
+#line 11 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ g_type_class_add_private (klass, sizeof (SavedSearchDialogSearchRowContainerPrivate));
+#line 11 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ g_signal_new ("remove", SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW_CONTAINER, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_user_marshal_VOID__SAVED_SEARCH_DIALOG_SEARCH_ROW_CONTAINER, G_TYPE_NONE, 1, SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW_CONTAINER);
+#line 11 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ g_signal_new ("changed", SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW_CONTAINER, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_user_marshal_VOID__SAVED_SEARCH_DIALOG_SEARCH_ROW_CONTAINER, G_TYPE_NONE, 1, SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW_CONTAINER);
+#line 2889 "SavedSearchDialog.c"
+}
+
+
+static void saved_search_dialog_search_row_container_instance_init (SavedSearchDialogSearchRowContainer * self) {
+#line 11 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ self->priv = SAVED_SEARCH_DIALOG_SEARCH_ROW_CONTAINER_GET_PRIVATE (self);
+#line 22 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ self->priv->my_row = NULL;
+#line 11 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ self->ref_count = 1;
+#line 2900 "SavedSearchDialog.c"
+}
+
+
+static void saved_search_dialog_search_row_container_finalize (SavedSearchDialogSearchRowContainer* obj) {
+ SavedSearchDialogSearchRowContainer * self;
+#line 11 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ self = G_TYPE_CHECK_INSTANCE_CAST (obj, SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW_CONTAINER, SavedSearchDialogSearchRowContainer);
+#line 11 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ g_signal_handlers_destroy (self);
+#line 15 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _g_object_unref0 (self->priv->type_combo);
+#line 16 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _g_object_unref0 (self->priv->box);
+#line 17 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _g_object_unref0 (self->priv->align);
+#line 18 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _g_object_unref0 (self->priv->remove_button);
+#line 19 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ self->priv->search_types = (g_free (self->priv->search_types), NULL);
+#line 20 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _g_object_unref0 (self->priv->search_types_index);
+#line 22 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _saved_search_dialog_search_row_unref0 (self->priv->my_row);
+#line 2924 "SavedSearchDialog.c"
+}
+
+
+static GType saved_search_dialog_search_row_container_get_type (void) {
+ static volatile gsize saved_search_dialog_search_row_container_type_id__volatile = 0;
+ if (g_once_init_enter (&saved_search_dialog_search_row_container_type_id__volatile)) {
+ static const GTypeValueTable g_define_type_value_table = { saved_search_dialog_value_search_row_container_init, saved_search_dialog_value_search_row_container_free_value, saved_search_dialog_value_search_row_container_copy_value, saved_search_dialog_value_search_row_container_peek_pointer, "p", saved_search_dialog_value_search_row_container_collect_value, "p", saved_search_dialog_value_search_row_container_lcopy_value };
+ static const GTypeInfo g_define_type_info = { sizeof (SavedSearchDialogSearchRowContainerClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) saved_search_dialog_search_row_container_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (SavedSearchDialogSearchRowContainer), 0, (GInstanceInitFunc) saved_search_dialog_search_row_container_instance_init, &g_define_type_value_table };
+ static const GTypeFundamentalInfo g_define_type_fundamental_info = { (G_TYPE_FLAG_CLASSED | G_TYPE_FLAG_INSTANTIATABLE | G_TYPE_FLAG_DERIVABLE | G_TYPE_FLAG_DEEP_DERIVABLE) };
+ GType saved_search_dialog_search_row_container_type_id;
+ saved_search_dialog_search_row_container_type_id = g_type_register_fundamental (g_type_fundamental_next (), "SavedSearchDialogSearchRowContainer", &g_define_type_info, &g_define_type_fundamental_info, 0);
+ g_once_init_leave (&saved_search_dialog_search_row_container_type_id__volatile, saved_search_dialog_search_row_container_type_id);
+ }
+ return saved_search_dialog_search_row_container_type_id__volatile;
+}
+
+
+static gpointer saved_search_dialog_search_row_container_ref (gpointer instance) {
+ SavedSearchDialogSearchRowContainer* self;
+ self = instance;
+#line 11 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ g_atomic_int_inc (&self->ref_count);
+#line 11 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ return instance;
+#line 2949 "SavedSearchDialog.c"
+}
+
+
+static void saved_search_dialog_search_row_container_unref (gpointer instance) {
+ SavedSearchDialogSearchRowContainer* self;
+ self = instance;
+#line 11 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ if (g_atomic_int_dec_and_test (&self->ref_count)) {
+#line 11 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ SAVED_SEARCH_DIALOG_SEARCH_ROW_CONTAINER_GET_CLASS (self)->finalize (self);
+#line 11 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ g_type_free_instance ((GTypeInstance *) self);
+#line 2962 "SavedSearchDialog.c"
+ }
+}
+
+
+static GtkWidget* saved_search_dialog_search_row_real_get_widget (SavedSearchDialogSearchRow* self) {
+#line 144 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ g_critical ("Type `%s' does not implement abstract method `saved_search_dialog_search_row_get_widget'", g_type_name (G_TYPE_FROM_INSTANCE (self)));
+#line 144 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ return NULL;
+#line 2972 "SavedSearchDialog.c"
+}
+
+
+GtkWidget* saved_search_dialog_search_row_get_widget (SavedSearchDialogSearchRow* self) {
+#line 144 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ g_return_val_if_fail (SAVED_SEARCH_DIALOG_IS_SEARCH_ROW (self), NULL);
+#line 144 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ return SAVED_SEARCH_DIALOG_SEARCH_ROW_GET_CLASS (self)->get_widget (self);
+#line 2981 "SavedSearchDialog.c"
+}
+
+
+static SearchCondition* saved_search_dialog_search_row_real_get_search_condition (SavedSearchDialogSearchRow* self) {
+#line 147 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ g_critical ("Type `%s' does not implement abstract method `saved_search_dialog_search_row_get_search_condition'", g_type_name (G_TYPE_FROM_INSTANCE (self)));
+#line 147 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ return NULL;
+#line 2990 "SavedSearchDialog.c"
+}
+
+
+SearchCondition* saved_search_dialog_search_row_get_search_condition (SavedSearchDialogSearchRow* self) {
+#line 147 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ g_return_val_if_fail (SAVED_SEARCH_DIALOG_IS_SEARCH_ROW (self), NULL);
+#line 147 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ return SAVED_SEARCH_DIALOG_SEARCH_ROW_GET_CLASS (self)->get_search_condition (self);
+#line 2999 "SavedSearchDialog.c"
+}
+
+
+static void saved_search_dialog_search_row_real_populate (SavedSearchDialogSearchRow* self, SearchCondition* sc) {
+#line 150 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ g_critical ("Type `%s' does not implement abstract method `saved_search_dialog_search_row_populate'", g_type_name (G_TYPE_FROM_INSTANCE (self)));
+#line 150 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ return;
+#line 3008 "SavedSearchDialog.c"
+}
+
+
+void saved_search_dialog_search_row_populate (SavedSearchDialogSearchRow* self, SearchCondition* sc) {
+#line 150 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ g_return_if_fail (SAVED_SEARCH_DIALOG_IS_SEARCH_ROW (self));
+#line 150 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ SAVED_SEARCH_DIALOG_SEARCH_ROW_GET_CLASS (self)->populate (self, sc);
+#line 3017 "SavedSearchDialog.c"
+}
+
+
+static gboolean saved_search_dialog_search_row_real_is_complete (SavedSearchDialogSearchRow* self) {
+#line 153 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ g_critical ("Type `%s' does not implement abstract method `saved_search_dialog_search_row_is_complete'", g_type_name (G_TYPE_FROM_INSTANCE (self)));
+#line 153 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ return FALSE;
+#line 3026 "SavedSearchDialog.c"
+}
+
+
+gboolean saved_search_dialog_search_row_is_complete (SavedSearchDialogSearchRow* self) {
+#line 153 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ g_return_val_if_fail (SAVED_SEARCH_DIALOG_IS_SEARCH_ROW (self), FALSE);
+#line 153 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ return SAVED_SEARCH_DIALOG_SEARCH_ROW_GET_CLASS (self)->is_complete (self);
+#line 3035 "SavedSearchDialog.c"
+}
+
+
+static SavedSearchDialogSearchRow* saved_search_dialog_search_row_construct (GType object_type) {
+ SavedSearchDialogSearchRow* self = NULL;
+#line 142 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ self = (SavedSearchDialogSearchRow*) g_type_create_instance (object_type);
+#line 142 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ return self;
+#line 3045 "SavedSearchDialog.c"
+}
+
+
+static void saved_search_dialog_value_search_row_init (GValue* value) {
+#line 142 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ value->data[0].v_pointer = NULL;
+#line 3052 "SavedSearchDialog.c"
+}
+
+
+static void saved_search_dialog_value_search_row_free_value (GValue* value) {
+#line 142 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ if (value->data[0].v_pointer) {
+#line 142 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ saved_search_dialog_search_row_unref (value->data[0].v_pointer);
+#line 3061 "SavedSearchDialog.c"
+ }
+}
+
+
+static void saved_search_dialog_value_search_row_copy_value (const GValue* src_value, GValue* dest_value) {
+#line 142 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ if (src_value->data[0].v_pointer) {
+#line 142 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ dest_value->data[0].v_pointer = saved_search_dialog_search_row_ref (src_value->data[0].v_pointer);
+#line 3071 "SavedSearchDialog.c"
+ } else {
+#line 142 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ dest_value->data[0].v_pointer = NULL;
+#line 3075 "SavedSearchDialog.c"
+ }
+}
+
+
+static gpointer saved_search_dialog_value_search_row_peek_pointer (const GValue* value) {
+#line 142 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ return value->data[0].v_pointer;
+#line 3083 "SavedSearchDialog.c"
+}
+
+
+static gchar* saved_search_dialog_value_search_row_collect_value (GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) {
+#line 142 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ if (collect_values[0].v_pointer) {
+#line 3090 "SavedSearchDialog.c"
+ SavedSearchDialogSearchRow* object;
+ object = collect_values[0].v_pointer;
+#line 142 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ if (object->parent_instance.g_class == NULL) {
+#line 142 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL);
+#line 3097 "SavedSearchDialog.c"
+ } else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) {
+#line 142 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ return g_strconcat ("invalid object type `", g_type_name (G_TYPE_FROM_INSTANCE (object)), "' for value type `", G_VALUE_TYPE_NAME (value), "'", NULL);
+#line 3101 "SavedSearchDialog.c"
+ }
+#line 142 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ value->data[0].v_pointer = saved_search_dialog_search_row_ref (object);
+#line 3105 "SavedSearchDialog.c"
+ } else {
+#line 142 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ value->data[0].v_pointer = NULL;
+#line 3109 "SavedSearchDialog.c"
+ }
+#line 142 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ return NULL;
+#line 3113 "SavedSearchDialog.c"
+}
+
+
+static gchar* saved_search_dialog_value_search_row_lcopy_value (const GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) {
+ SavedSearchDialogSearchRow** object_p;
+ object_p = collect_values[0].v_pointer;
+#line 142 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ if (!object_p) {
+#line 142 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value));
+#line 3124 "SavedSearchDialog.c"
+ }
+#line 142 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ if (!value->data[0].v_pointer) {
+#line 142 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ *object_p = NULL;
+#line 3130 "SavedSearchDialog.c"
+ } else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) {
+#line 142 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ *object_p = value->data[0].v_pointer;
+#line 3134 "SavedSearchDialog.c"
+ } else {
+#line 142 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ *object_p = saved_search_dialog_search_row_ref (value->data[0].v_pointer);
+#line 3138 "SavedSearchDialog.c"
+ }
+#line 142 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ return NULL;
+#line 3142 "SavedSearchDialog.c"
+}
+
+
+static GParamSpec* saved_search_dialog_param_spec_search_row (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags) {
+ SavedSearchDialogParamSpecSearchRow* spec;
+#line 142 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ g_return_val_if_fail (g_type_is_a (object_type, SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW), NULL);
+#line 142 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags);
+#line 142 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ G_PARAM_SPEC (spec)->value_type = object_type;
+#line 142 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ return G_PARAM_SPEC (spec);
+#line 3156 "SavedSearchDialog.c"
+}
+
+
+static gpointer saved_search_dialog_value_get_search_row (const GValue* value) {
+#line 142 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW), NULL);
+#line 142 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ return value->data[0].v_pointer;
+#line 3165 "SavedSearchDialog.c"
+}
+
+
+static void saved_search_dialog_value_set_search_row (GValue* value, gpointer v_object) {
+ SavedSearchDialogSearchRow* old;
+#line 142 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW));
+#line 142 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ old = value->data[0].v_pointer;
+#line 142 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ if (v_object) {
+#line 142 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW));
+#line 142 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value)));
+#line 142 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ value->data[0].v_pointer = v_object;
+#line 142 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ saved_search_dialog_search_row_ref (value->data[0].v_pointer);
+#line 3185 "SavedSearchDialog.c"
+ } else {
+#line 142 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ value->data[0].v_pointer = NULL;
+#line 3189 "SavedSearchDialog.c"
+ }
+#line 142 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ if (old) {
+#line 142 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ saved_search_dialog_search_row_unref (old);
+#line 3195 "SavedSearchDialog.c"
+ }
+}
+
+
+static void saved_search_dialog_value_take_search_row (GValue* value, gpointer v_object) {
+ SavedSearchDialogSearchRow* old;
+#line 142 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW));
+#line 142 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ old = value->data[0].v_pointer;
+#line 142 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ if (v_object) {
+#line 142 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW));
+#line 142 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value)));
+#line 142 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ value->data[0].v_pointer = v_object;
+#line 3214 "SavedSearchDialog.c"
+ } else {
+#line 142 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ value->data[0].v_pointer = NULL;
+#line 3218 "SavedSearchDialog.c"
+ }
+#line 142 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ if (old) {
+#line 142 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ saved_search_dialog_search_row_unref (old);
+#line 3224 "SavedSearchDialog.c"
+ }
+}
+
+
+static void saved_search_dialog_search_row_class_init (SavedSearchDialogSearchRowClass * klass) {
+#line 142 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ saved_search_dialog_search_row_parent_class = g_type_class_peek_parent (klass);
+#line 142 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ ((SavedSearchDialogSearchRowClass *) klass)->finalize = saved_search_dialog_search_row_finalize;
+#line 142 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ ((SavedSearchDialogSearchRowClass *) klass)->get_widget = saved_search_dialog_search_row_real_get_widget;
+#line 142 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ ((SavedSearchDialogSearchRowClass *) klass)->get_search_condition = saved_search_dialog_search_row_real_get_search_condition;
+#line 142 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ ((SavedSearchDialogSearchRowClass *) klass)->populate = saved_search_dialog_search_row_real_populate;
+#line 142 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ ((SavedSearchDialogSearchRowClass *) klass)->is_complete = saved_search_dialog_search_row_real_is_complete;
+#line 3242 "SavedSearchDialog.c"
+}
+
+
+static void saved_search_dialog_search_row_instance_init (SavedSearchDialogSearchRow * self) {
+#line 142 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ self->ref_count = 1;
+#line 3249 "SavedSearchDialog.c"
+}
+
+
+static void saved_search_dialog_search_row_finalize (SavedSearchDialogSearchRow* obj) {
+ SavedSearchDialogSearchRow * self;
+#line 142 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ self = G_TYPE_CHECK_INSTANCE_CAST (obj, SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW, SavedSearchDialogSearchRow);
+#line 142 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ g_signal_handlers_destroy (self);
+#line 3259 "SavedSearchDialog.c"
+}
+
+
+static GType saved_search_dialog_search_row_get_type (void) {
+ static volatile gsize saved_search_dialog_search_row_type_id__volatile = 0;
+ if (g_once_init_enter (&saved_search_dialog_search_row_type_id__volatile)) {
+ static const GTypeValueTable g_define_type_value_table = { saved_search_dialog_value_search_row_init, saved_search_dialog_value_search_row_free_value, saved_search_dialog_value_search_row_copy_value, saved_search_dialog_value_search_row_peek_pointer, "p", saved_search_dialog_value_search_row_collect_value, "p", saved_search_dialog_value_search_row_lcopy_value };
+ static const GTypeInfo g_define_type_info = { sizeof (SavedSearchDialogSearchRowClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) saved_search_dialog_search_row_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (SavedSearchDialogSearchRow), 0, (GInstanceInitFunc) saved_search_dialog_search_row_instance_init, &g_define_type_value_table };
+ static const GTypeFundamentalInfo g_define_type_fundamental_info = { (G_TYPE_FLAG_CLASSED | G_TYPE_FLAG_INSTANTIATABLE | G_TYPE_FLAG_DERIVABLE | G_TYPE_FLAG_DEEP_DERIVABLE) };
+ GType saved_search_dialog_search_row_type_id;
+ saved_search_dialog_search_row_type_id = g_type_register_fundamental (g_type_fundamental_next (), "SavedSearchDialogSearchRow", &g_define_type_info, &g_define_type_fundamental_info, G_TYPE_FLAG_ABSTRACT);
+ g_once_init_leave (&saved_search_dialog_search_row_type_id__volatile, saved_search_dialog_search_row_type_id);
+ }
+ return saved_search_dialog_search_row_type_id__volatile;
+}
+
+
+static gpointer saved_search_dialog_search_row_ref (gpointer instance) {
+ SavedSearchDialogSearchRow* self;
+ self = instance;
+#line 142 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ g_atomic_int_inc (&self->ref_count);
+#line 142 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ return instance;
+#line 3284 "SavedSearchDialog.c"
+}
+
+
+static void saved_search_dialog_search_row_unref (gpointer instance) {
+ SavedSearchDialogSearchRow* self;
+ self = instance;
+#line 142 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ if (g_atomic_int_dec_and_test (&self->ref_count)) {
+#line 142 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ SAVED_SEARCH_DIALOG_SEARCH_ROW_GET_CLASS (self)->finalize (self);
+#line 142 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ g_type_free_instance ((GTypeInstance *) self);
+#line 3297 "SavedSearchDialog.c"
+ }
+}
+
+
+static void _saved_search_dialog_search_row_text_on_changed_gtk_combo_box_changed (GtkComboBox* _sender, gpointer self) {
+#line 190 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ saved_search_dialog_search_row_text_on_changed ((SavedSearchDialogSearchRowText*) self);
+#line 3305 "SavedSearchDialog.c"
+}
+
+
+static void _saved_search_dialog_search_row_text_on_changed_gtk_editable_changed (GtkEditable* _sender, gpointer self) {
+#line 191 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ saved_search_dialog_search_row_text_on_changed ((SavedSearchDialogSearchRowText*) self);
+#line 3312 "SavedSearchDialog.c"
+}
+
+
+static gpointer _saved_search_dialog_search_row_container_ref0 (gpointer self) {
+#line 164 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ return self ? saved_search_dialog_search_row_container_ref (self) : NULL;
+#line 3319 "SavedSearchDialog.c"
+}
+
+
+static SavedSearchDialogSearchRowText* saved_search_dialog_search_row_text_construct (GType object_type, SavedSearchDialogSearchRowContainer* parent) {
+ SavedSearchDialogSearchRowText* self = NULL;
+ SavedSearchDialogSearchRowContainer* _tmp0_ = NULL;
+ SavedSearchDialogSearchRowContainer* _tmp1_ = NULL;
+ GtkComboBoxText* _tmp2_ = NULL;
+ GtkComboBoxText* _tmp3_ = NULL;
+ const gchar* _tmp4_ = NULL;
+ GtkComboBoxText* _tmp5_ = NULL;
+ const gchar* _tmp6_ = NULL;
+ GtkComboBoxText* _tmp7_ = NULL;
+ const gchar* _tmp8_ = NULL;
+ GtkComboBoxText* _tmp9_ = NULL;
+ const gchar* _tmp10_ = NULL;
+ GtkComboBoxText* _tmp11_ = NULL;
+ const gchar* _tmp12_ = NULL;
+ GtkComboBoxText* _tmp13_ = NULL;
+ const gchar* _tmp14_ = NULL;
+ GtkComboBoxText* _tmp15_ = NULL;
+ const gchar* _tmp16_ = NULL;
+ GtkComboBoxText* _tmp17_ = NULL;
+ GtkComboBoxText* _tmp18_ = NULL;
+ GtkEntry* _tmp19_ = NULL;
+ GtkEntry* _tmp20_ = NULL;
+ GtkEntry* _tmp21_ = NULL;
+ GtkEntry* _tmp22_ = NULL;
+ GtkBox* _tmp23_ = NULL;
+ GtkBox* _tmp24_ = NULL;
+ GtkComboBoxText* _tmp25_ = NULL;
+ GtkBox* _tmp26_ = NULL;
+ GtkEntry* _tmp27_ = NULL;
+ GtkBox* _tmp28_ = NULL;
+#line 163 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ g_return_val_if_fail (SAVED_SEARCH_DIALOG_IS_SEARCH_ROW_CONTAINER (parent), NULL);
+#line 163 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ self = (SavedSearchDialogSearchRowText*) saved_search_dialog_search_row_construct (object_type);
+#line 164 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp0_ = parent;
+#line 164 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp1_ = _saved_search_dialog_search_row_container_ref0 (_tmp0_);
+#line 164 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _saved_search_dialog_search_row_container_unref0 (self->priv->parent);
+#line 164 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ self->priv->parent = _tmp1_;
+#line 167 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp2_ = (GtkComboBoxText*) gtk_combo_box_text_new ();
+#line 167 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ g_object_ref_sink (_tmp2_);
+#line 167 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _g_object_unref0 (self->priv->text_context);
+#line 167 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ self->priv->text_context = _tmp2_;
+#line 168 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp3_ = self->priv->text_context;
+#line 168 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp4_ = _ ("contains");
+#line 168 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ gtk_combo_box_text_append_text (_tmp3_, _tmp4_);
+#line 169 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp5_ = self->priv->text_context;
+#line 169 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp6_ = _ ("is exactly");
+#line 169 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ gtk_combo_box_text_append_text (_tmp5_, _tmp6_);
+#line 170 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp7_ = self->priv->text_context;
+#line 170 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp8_ = _ ("starts with");
+#line 170 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ gtk_combo_box_text_append_text (_tmp7_, _tmp8_);
+#line 171 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp9_ = self->priv->text_context;
+#line 171 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp10_ = _ ("ends with");
+#line 171 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ gtk_combo_box_text_append_text (_tmp9_, _tmp10_);
+#line 172 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp11_ = self->priv->text_context;
+#line 172 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp12_ = _ ("does not contain");
+#line 172 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ gtk_combo_box_text_append_text (_tmp11_, _tmp12_);
+#line 173 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp13_ = self->priv->text_context;
+#line 173 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp14_ = _ ("is not set");
+#line 173 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ gtk_combo_box_text_append_text (_tmp13_, _tmp14_);
+#line 174 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp15_ = self->priv->text_context;
+#line 174 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp16_ = _ ("is set");
+#line 174 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ gtk_combo_box_text_append_text (_tmp15_, _tmp16_);
+#line 175 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp17_ = self->priv->text_context;
+#line 175 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ gtk_combo_box_set_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp17_, gtk_combo_box_get_type (), GtkComboBox), 0);
+#line 176 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp18_ = self->priv->text_context;
+#line 176 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ g_signal_connect (G_TYPE_CHECK_INSTANCE_CAST (_tmp18_, gtk_combo_box_get_type (), GtkComboBox), "changed", (GCallback) _saved_search_dialog_search_row_text_on_changed_gtk_combo_box_changed, self);
+#line 178 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp19_ = (GtkEntry*) gtk_entry_new ();
+#line 178 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ g_object_ref_sink (_tmp19_);
+#line 178 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _g_object_unref0 (self->priv->entry);
+#line 178 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ self->priv->entry = _tmp19_;
+#line 179 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp20_ = self->priv->entry;
+#line 179 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ gtk_entry_set_width_chars (_tmp20_, 25);
+#line 180 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp21_ = self->priv->entry;
+#line 180 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ gtk_entry_set_activates_default (_tmp21_, TRUE);
+#line 181 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp22_ = self->priv->entry;
+#line 181 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ g_signal_connect (G_TYPE_CHECK_INSTANCE_CAST (_tmp22_, GTK_TYPE_EDITABLE, GtkEditable), "changed", (GCallback) _saved_search_dialog_search_row_text_on_changed_gtk_editable_changed, self);
+#line 183 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp23_ = (GtkBox*) gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 3);
+#line 183 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ g_object_ref_sink (_tmp23_);
+#line 183 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _g_object_unref0 (self->priv->box);
+#line 183 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ self->priv->box = _tmp23_;
+#line 184 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp24_ = self->priv->box;
+#line 184 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp25_ = self->priv->text_context;
+#line 184 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ gtk_box_pack_start (_tmp24_, G_TYPE_CHECK_INSTANCE_CAST (_tmp25_, gtk_widget_get_type (), GtkWidget), FALSE, FALSE, (guint) 0);
+#line 185 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp26_ = self->priv->box;
+#line 185 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp27_ = self->priv->entry;
+#line 185 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ gtk_box_pack_start (_tmp26_, G_TYPE_CHECK_INSTANCE_CAST (_tmp27_, gtk_widget_get_type (), GtkWidget), FALSE, FALSE, (guint) 0);
+#line 186 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp28_ = self->priv->box;
+#line 186 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ gtk_widget_show_all (G_TYPE_CHECK_INSTANCE_CAST (_tmp28_, gtk_widget_get_type (), GtkWidget));
+#line 163 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ return self;
+#line 3470 "SavedSearchDialog.c"
+}
+
+
+static SavedSearchDialogSearchRowText* saved_search_dialog_search_row_text_new (SavedSearchDialogSearchRowContainer* parent) {
+#line 163 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ return saved_search_dialog_search_row_text_construct (SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW_TEXT, parent);
+#line 3477 "SavedSearchDialog.c"
+}
+
+
+static GtkWidget* saved_search_dialog_search_row_text_real_get_widget (SavedSearchDialogSearchRow* base) {
+ SavedSearchDialogSearchRowText * self;
+ GtkWidget* result = NULL;
+ GtkBox* _tmp0_ = NULL;
+ GtkWidget* _tmp1_ = NULL;
+#line 194 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ self = G_TYPE_CHECK_INSTANCE_CAST (base, SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW_TEXT, SavedSearchDialogSearchRowText);
+#line 195 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp0_ = self->priv->box;
+#line 195 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp1_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, gtk_widget_get_type (), GtkWidget));
+#line 195 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ result = _tmp1_;
+#line 195 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ return result;
+#line 3496 "SavedSearchDialog.c"
+}
+
+
+static SearchCondition* saved_search_dialog_search_row_text_real_get_search_condition (SavedSearchDialogSearchRow* base) {
+ SavedSearchDialogSearchRowText * self;
+ SearchCondition* result = NULL;
+ SearchConditionSearchType type = 0;
+ SavedSearchDialogSearchRowContainer* _tmp0_ = NULL;
+ SearchConditionSearchType _tmp1_ = 0;
+ gchar* text = NULL;
+ GtkEntry* _tmp2_ = NULL;
+ const gchar* _tmp3_ = NULL;
+ gchar* _tmp4_ = NULL;
+ SearchConditionTextContext context = 0;
+ SearchConditionTextContext _tmp5_ = 0;
+ SearchConditionText* c = NULL;
+ SearchConditionText* _tmp6_ = NULL;
+#line 198 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ self = G_TYPE_CHECK_INSTANCE_CAST (base, SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW_TEXT, SavedSearchDialogSearchRowText);
+#line 199 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp0_ = self->priv->parent;
+#line 199 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp1_ = saved_search_dialog_search_row_container_get_search_type (_tmp0_);
+#line 199 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ type = _tmp1_;
+#line 200 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp2_ = self->priv->entry;
+#line 200 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp3_ = gtk_entry_get_text (_tmp2_);
+#line 200 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp4_ = g_strdup (_tmp3_);
+#line 200 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ text = _tmp4_;
+#line 201 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp5_ = saved_search_dialog_search_row_text_get_text_context (self);
+#line 201 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ context = _tmp5_;
+#line 202 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp6_ = search_condition_text_new (type, text, context);
+#line 202 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ c = _tmp6_;
+#line 203 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ result = G_TYPE_CHECK_INSTANCE_CAST (c, TYPE_SEARCH_CONDITION, SearchCondition);
+#line 203 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _g_free0 (text);
+#line 203 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ return result;
+#line 3544 "SavedSearchDialog.c"
+}
+
+
+static gpointer _search_condition_ref0 (gpointer self) {
+#line 207 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ return self ? search_condition_ref (self) : NULL;
+#line 3551 "SavedSearchDialog.c"
+}
+
+
+static void saved_search_dialog_search_row_text_real_populate (SavedSearchDialogSearchRow* base, SearchCondition* sc) {
+ SavedSearchDialogSearchRowText * self;
+ SearchConditionText* text = NULL;
+ SearchCondition* _tmp0_ = NULL;
+ SearchConditionText* _tmp1_ = NULL;
+ GtkComboBoxText* _tmp2_ = NULL;
+ SearchConditionTextContext _tmp3_ = 0;
+ SearchConditionTextContext _tmp4_ = 0;
+ GtkEntry* _tmp5_ = NULL;
+ const gchar* _tmp6_ = NULL;
+ const gchar* _tmp7_ = NULL;
+#line 206 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ self = G_TYPE_CHECK_INSTANCE_CAST (base, SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW_TEXT, SavedSearchDialogSearchRowText);
+#line 206 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ g_return_if_fail (IS_SEARCH_CONDITION (sc));
+#line 207 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp0_ = sc;
+#line 207 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp1_ = _search_condition_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp0_, TYPE_SEARCH_CONDITION_TEXT) ? ((SearchConditionText*) _tmp0_) : NULL);
+#line 207 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ text = _tmp1_;
+#line 208 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _vala_assert (text != NULL, "text != null");
+#line 209 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp2_ = self->priv->text_context;
+#line 209 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp3_ = search_condition_text_get_context (text);
+#line 209 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp4_ = _tmp3_;
+#line 209 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ gtk_combo_box_set_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, gtk_combo_box_get_type (), GtkComboBox), (gint) _tmp4_);
+#line 210 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp5_ = self->priv->entry;
+#line 210 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp6_ = search_condition_text_get_text (text);
+#line 210 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp7_ = _tmp6_;
+#line 210 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ gtk_entry_set_text (_tmp5_, _tmp7_);
+#line 211 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ saved_search_dialog_search_row_text_on_changed (self);
+#line 206 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _search_condition_unref0 (text);
+#line 3598 "SavedSearchDialog.c"
+}
+
+
+static gboolean saved_search_dialog_search_row_text_real_is_complete (SavedSearchDialogSearchRow* base) {
+ SavedSearchDialogSearchRowText * self;
+ gboolean result = FALSE;
+ gboolean _tmp0_ = FALSE;
+ gboolean _tmp1_ = FALSE;
+ GtkEntry* _tmp2_ = NULL;
+ const gchar* _tmp3_ = NULL;
+ const gchar* _tmp4_ = NULL;
+ gchar* _tmp5_ = NULL;
+ gchar* _tmp6_ = NULL;
+ gboolean _tmp7_ = FALSE;
+#line 214 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ self = G_TYPE_CHECK_INSTANCE_CAST (base, SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW_TEXT, SavedSearchDialogSearchRowText);
+#line 215 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp2_ = self->priv->entry;
+#line 215 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp3_ = gtk_entry_get_text (_tmp2_);
+#line 215 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp4_ = _tmp3_;
+#line 215 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp5_ = string_chomp (_tmp4_);
+#line 215 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp6_ = _tmp5_;
+#line 215 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp7_ = g_strcmp0 (_tmp6_, "") != 0;
+#line 215 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _g_free0 (_tmp6_);
+#line 215 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ if (_tmp7_) {
+#line 215 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp1_ = TRUE;
+#line 3633 "SavedSearchDialog.c"
+ } else {
+ SearchConditionTextContext _tmp8_ = 0;
+#line 216 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp8_ = saved_search_dialog_search_row_text_get_text_context (self);
+#line 216 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp1_ = _tmp8_ == SEARCH_CONDITION_TEXT_CONTEXT_IS_NOT_SET;
+#line 3640 "SavedSearchDialog.c"
+ }
+#line 215 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ if (_tmp1_) {
+#line 215 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp0_ = TRUE;
+#line 3646 "SavedSearchDialog.c"
+ } else {
+ SearchConditionTextContext _tmp9_ = 0;
+#line 217 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp9_ = saved_search_dialog_search_row_text_get_text_context (self);
+#line 217 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp0_ = _tmp9_ == SEARCH_CONDITION_TEXT_CONTEXT_IS_SET;
+#line 3653 "SavedSearchDialog.c"
+ }
+#line 215 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ result = _tmp0_;
+#line 215 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ return result;
+#line 3659 "SavedSearchDialog.c"
+}
+
+
+static SearchConditionTextContext saved_search_dialog_search_row_text_get_text_context (SavedSearchDialogSearchRowText* self) {
+ SearchConditionTextContext result = 0;
+ GtkComboBoxText* _tmp0_ = NULL;
+ gint _tmp1_ = 0;
+#line 220 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ g_return_val_if_fail (SAVED_SEARCH_DIALOG_IS_SEARCH_ROW_TEXT (self), 0);
+#line 221 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp0_ = self->priv->text_context;
+#line 221 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp1_ = gtk_combo_box_get_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, gtk_combo_box_get_type (), GtkComboBox));
+#line 221 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ result = (SearchConditionTextContext) _tmp1_;
+#line 221 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ return result;
+#line 3677 "SavedSearchDialog.c"
+}
+
+
+static void saved_search_dialog_search_row_text_on_changed (SavedSearchDialogSearchRowText* self) {
+ gboolean _tmp0_ = FALSE;
+ SearchConditionTextContext _tmp1_ = 0;
+ SavedSearchDialogSearchRowContainer* _tmp5_ = NULL;
+ SavedSearchDialogSearchRowContainer* _tmp6_ = NULL;
+#line 224 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ g_return_if_fail (SAVED_SEARCH_DIALOG_IS_SEARCH_ROW_TEXT (self));
+#line 225 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp1_ = saved_search_dialog_search_row_text_get_text_context (self);
+#line 225 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ if (_tmp1_ == SEARCH_CONDITION_TEXT_CONTEXT_IS_NOT_SET) {
+#line 225 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp0_ = TRUE;
+#line 3694 "SavedSearchDialog.c"
+ } else {
+ SearchConditionTextContext _tmp2_ = 0;
+#line 226 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp2_ = saved_search_dialog_search_row_text_get_text_context (self);
+#line 226 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp0_ = _tmp2_ == SEARCH_CONDITION_TEXT_CONTEXT_IS_SET;
+#line 3701 "SavedSearchDialog.c"
+ }
+#line 225 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ if (_tmp0_) {
+#line 3705 "SavedSearchDialog.c"
+ GtkEntry* _tmp3_ = NULL;
+#line 227 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp3_ = self->priv->entry;
+#line 227 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ gtk_widget_hide (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, gtk_widget_get_type (), GtkWidget));
+#line 3711 "SavedSearchDialog.c"
+ } else {
+ GtkEntry* _tmp4_ = NULL;
+#line 229 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp4_ = self->priv->entry;
+#line 229 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ gtk_widget_show (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, gtk_widget_get_type (), GtkWidget));
+#line 3718 "SavedSearchDialog.c"
+ }
+#line 232 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp5_ = self->priv->parent;
+#line 232 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp6_ = self->priv->parent;
+#line 232 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ g_signal_emit_by_name (_tmp5_, "changed", _tmp6_);
+#line 3726 "SavedSearchDialog.c"
+}
+
+
+static void saved_search_dialog_search_row_text_class_init (SavedSearchDialogSearchRowTextClass * klass) {
+#line 156 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ saved_search_dialog_search_row_text_parent_class = g_type_class_peek_parent (klass);
+#line 156 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ ((SavedSearchDialogSearchRowClass *) klass)->finalize = saved_search_dialog_search_row_text_finalize;
+#line 156 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ g_type_class_add_private (klass, sizeof (SavedSearchDialogSearchRowTextPrivate));
+#line 156 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ ((SavedSearchDialogSearchRowClass *) klass)->get_widget = saved_search_dialog_search_row_text_real_get_widget;
+#line 156 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ ((SavedSearchDialogSearchRowClass *) klass)->get_search_condition = saved_search_dialog_search_row_text_real_get_search_condition;
+#line 156 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ ((SavedSearchDialogSearchRowClass *) klass)->populate = saved_search_dialog_search_row_text_real_populate;
+#line 156 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ ((SavedSearchDialogSearchRowClass *) klass)->is_complete = saved_search_dialog_search_row_text_real_is_complete;
+#line 3745 "SavedSearchDialog.c"
+}
+
+
+static void saved_search_dialog_search_row_text_instance_init (SavedSearchDialogSearchRowText * self) {
+#line 156 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ self->priv = SAVED_SEARCH_DIALOG_SEARCH_ROW_TEXT_GET_PRIVATE (self);
+#line 3752 "SavedSearchDialog.c"
+}
+
+
+static void saved_search_dialog_search_row_text_finalize (SavedSearchDialogSearchRow* obj) {
+ SavedSearchDialogSearchRowText * self;
+ GtkComboBoxText* _tmp0_ = NULL;
+ guint _tmp1_ = 0U;
+ GtkEntry* _tmp2_ = NULL;
+ guint _tmp3_ = 0U;
+#line 156 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ self = G_TYPE_CHECK_INSTANCE_CAST (obj, SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW_TEXT, SavedSearchDialogSearchRowText);
+#line 190 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp0_ = self->priv->text_context;
+#line 190 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ g_signal_parse_name ("changed", gtk_combo_box_get_type (), &_tmp1_, NULL, FALSE);
+#line 190 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ g_signal_handlers_disconnect_matched (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, gtk_combo_box_get_type (), GtkComboBox), G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp1_, 0, NULL, (GCallback) _saved_search_dialog_search_row_text_on_changed_gtk_combo_box_changed, self);
+#line 191 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp2_ = self->priv->entry;
+#line 191 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ g_signal_parse_name ("changed", GTK_TYPE_EDITABLE, &_tmp3_, NULL, FALSE);
+#line 191 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ g_signal_handlers_disconnect_matched (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, GTK_TYPE_EDITABLE, GtkEditable), G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp3_, 0, NULL, (GCallback) _saved_search_dialog_search_row_text_on_changed_gtk_editable_changed, self);
+#line 157 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _g_object_unref0 (self->priv->box);
+#line 158 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _g_object_unref0 (self->priv->text_context);
+#line 159 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _g_object_unref0 (self->priv->entry);
+#line 161 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _saved_search_dialog_search_row_container_unref0 (self->priv->parent);
+#line 156 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ SAVED_SEARCH_DIALOG_SEARCH_ROW_CLASS (saved_search_dialog_search_row_text_parent_class)->finalize (obj);
+#line 3786 "SavedSearchDialog.c"
+}
+
+
+static GType saved_search_dialog_search_row_text_get_type (void) {
+ static volatile gsize saved_search_dialog_search_row_text_type_id__volatile = 0;
+ if (g_once_init_enter (&saved_search_dialog_search_row_text_type_id__volatile)) {
+ static const GTypeInfo g_define_type_info = { sizeof (SavedSearchDialogSearchRowTextClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) saved_search_dialog_search_row_text_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (SavedSearchDialogSearchRowText), 0, (GInstanceInitFunc) saved_search_dialog_search_row_text_instance_init, NULL };
+ GType saved_search_dialog_search_row_text_type_id;
+ saved_search_dialog_search_row_text_type_id = g_type_register_static (SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW, "SavedSearchDialogSearchRowText", &g_define_type_info, 0);
+ g_once_init_leave (&saved_search_dialog_search_row_text_type_id__volatile, saved_search_dialog_search_row_text_type_id);
+ }
+ return saved_search_dialog_search_row_text_type_id__volatile;
+}
+
+
+static void _saved_search_dialog_search_row_media_type_on_changed_gtk_combo_box_changed (GtkComboBox* _sender, gpointer self) {
+#line 268 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ saved_search_dialog_search_row_media_type_on_changed ((SavedSearchDialogSearchRowMediaType*) self);
+#line 3805 "SavedSearchDialog.c"
+}
+
+
+static SavedSearchDialogSearchRowMediaType* saved_search_dialog_search_row_media_type_construct (GType object_type, SavedSearchDialogSearchRowContainer* parent) {
+ SavedSearchDialogSearchRowMediaType* self = NULL;
+ SavedSearchDialogSearchRowContainer* _tmp0_ = NULL;
+ SavedSearchDialogSearchRowContainer* _tmp1_ = NULL;
+ GtkComboBoxText* _tmp2_ = NULL;
+ GtkComboBoxText* _tmp3_ = NULL;
+ const gchar* _tmp4_ = NULL;
+ GtkComboBoxText* _tmp5_ = NULL;
+ const gchar* _tmp6_ = NULL;
+ GtkComboBoxText* _tmp7_ = NULL;
+ GtkComboBoxText* _tmp8_ = NULL;
+ GtkComboBoxText* _tmp9_ = NULL;
+ GtkComboBoxText* _tmp10_ = NULL;
+ const gchar* _tmp11_ = NULL;
+ GtkComboBoxText* _tmp12_ = NULL;
+ const gchar* _tmp13_ = NULL;
+ GtkComboBoxText* _tmp14_ = NULL;
+ const gchar* _tmp15_ = NULL;
+ GtkComboBoxText* _tmp16_ = NULL;
+ GtkComboBoxText* _tmp17_ = NULL;
+ GtkBox* _tmp18_ = NULL;
+ GtkBox* _tmp19_ = NULL;
+ GtkComboBoxText* _tmp20_ = NULL;
+ GtkBox* _tmp21_ = NULL;
+ GtkComboBoxText* _tmp22_ = NULL;
+ GtkBox* _tmp23_ = NULL;
+#line 243 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ g_return_val_if_fail (SAVED_SEARCH_DIALOG_IS_SEARCH_ROW_CONTAINER (parent), NULL);
+#line 243 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ self = (SavedSearchDialogSearchRowMediaType*) saved_search_dialog_search_row_construct (object_type);
+#line 244 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp0_ = parent;
+#line 244 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp1_ = _saved_search_dialog_search_row_container_ref0 (_tmp0_);
+#line 244 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _saved_search_dialog_search_row_container_unref0 (self->priv->parent);
+#line 244 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ self->priv->parent = _tmp1_;
+#line 247 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp2_ = (GtkComboBoxText*) gtk_combo_box_text_new ();
+#line 247 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ g_object_ref_sink (_tmp2_);
+#line 247 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _g_object_unref0 (self->priv->media_context);
+#line 247 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ self->priv->media_context = _tmp2_;
+#line 248 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp3_ = self->priv->media_context;
+#line 248 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp4_ = _ ("is");
+#line 248 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ gtk_combo_box_text_append_text (_tmp3_, _tmp4_);
+#line 249 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp5_ = self->priv->media_context;
+#line 249 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp6_ = _ ("is not");
+#line 249 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ gtk_combo_box_text_append_text (_tmp5_, _tmp6_);
+#line 250 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp7_ = self->priv->media_context;
+#line 250 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ gtk_combo_box_set_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, gtk_combo_box_get_type (), GtkComboBox), 0);
+#line 251 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp8_ = self->priv->media_context;
+#line 251 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ g_signal_connect (G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, gtk_combo_box_get_type (), GtkComboBox), "changed", (GCallback) _saved_search_dialog_search_row_media_type_on_changed_gtk_combo_box_changed, self);
+#line 254 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp9_ = (GtkComboBoxText*) gtk_combo_box_text_new ();
+#line 254 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ g_object_ref_sink (_tmp9_);
+#line 254 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _g_object_unref0 (self->priv->media_type);
+#line 254 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ self->priv->media_type = _tmp9_;
+#line 255 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp10_ = self->priv->media_type;
+#line 255 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp11_ = _ ("any photo");
+#line 255 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ gtk_combo_box_text_append_text (_tmp10_, _tmp11_);
+#line 256 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp12_ = self->priv->media_type;
+#line 256 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp13_ = _ ("a raw photo");
+#line 256 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ gtk_combo_box_text_append_text (_tmp12_, _tmp13_);
+#line 257 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp14_ = self->priv->media_type;
+#line 257 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp15_ = _ ("a video");
+#line 257 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ gtk_combo_box_text_append_text (_tmp14_, _tmp15_);
+#line 258 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp16_ = self->priv->media_type;
+#line 258 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ gtk_combo_box_set_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp16_, gtk_combo_box_get_type (), GtkComboBox), 0);
+#line 259 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp17_ = self->priv->media_type;
+#line 259 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ g_signal_connect (G_TYPE_CHECK_INSTANCE_CAST (_tmp17_, gtk_combo_box_get_type (), GtkComboBox), "changed", (GCallback) _saved_search_dialog_search_row_media_type_on_changed_gtk_combo_box_changed, self);
+#line 261 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp18_ = (GtkBox*) gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 3);
+#line 261 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ g_object_ref_sink (_tmp18_);
+#line 261 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _g_object_unref0 (self->priv->box);
+#line 261 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ self->priv->box = _tmp18_;
+#line 262 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp19_ = self->priv->box;
+#line 262 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp20_ = self->priv->media_context;
+#line 262 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ gtk_box_pack_start (_tmp19_, G_TYPE_CHECK_INSTANCE_CAST (_tmp20_, gtk_widget_get_type (), GtkWidget), FALSE, FALSE, (guint) 0);
+#line 263 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp21_ = self->priv->box;
+#line 263 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp22_ = self->priv->media_type;
+#line 263 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ gtk_box_pack_start (_tmp21_, G_TYPE_CHECK_INSTANCE_CAST (_tmp22_, gtk_widget_get_type (), GtkWidget), FALSE, FALSE, (guint) 0);
+#line 264 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp23_ = self->priv->box;
+#line 264 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ gtk_widget_show_all (G_TYPE_CHECK_INSTANCE_CAST (_tmp23_, gtk_widget_get_type (), GtkWidget));
+#line 243 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ return self;
+#line 3935 "SavedSearchDialog.c"
+}
+
+
+static SavedSearchDialogSearchRowMediaType* saved_search_dialog_search_row_media_type_new (SavedSearchDialogSearchRowContainer* parent) {
+#line 243 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ return saved_search_dialog_search_row_media_type_construct (SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW_MEDIA_TYPE, parent);
+#line 3942 "SavedSearchDialog.c"
+}
+
+
+static GtkWidget* saved_search_dialog_search_row_media_type_real_get_widget (SavedSearchDialogSearchRow* base) {
+ SavedSearchDialogSearchRowMediaType * self;
+ GtkWidget* result = NULL;
+ GtkBox* _tmp0_ = NULL;
+ GtkWidget* _tmp1_ = NULL;
+#line 272 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ self = G_TYPE_CHECK_INSTANCE_CAST (base, SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW_MEDIA_TYPE, SavedSearchDialogSearchRowMediaType);
+#line 273 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp0_ = self->priv->box;
+#line 273 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp1_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, gtk_widget_get_type (), GtkWidget));
+#line 273 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ result = _tmp1_;
+#line 273 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ return result;
+#line 3961 "SavedSearchDialog.c"
+}
+
+
+static SearchCondition* saved_search_dialog_search_row_media_type_real_get_search_condition (SavedSearchDialogSearchRow* base) {
+ SavedSearchDialogSearchRowMediaType * self;
+ SearchCondition* result = NULL;
+ SearchConditionSearchType search_type = 0;
+ SavedSearchDialogSearchRowContainer* _tmp0_ = NULL;
+ SearchConditionSearchType _tmp1_ = 0;
+ SearchConditionMediaTypeContext context = 0;
+ GtkComboBoxText* _tmp2_ = NULL;
+ gint _tmp3_ = 0;
+ SearchConditionMediaTypeMediaType type = 0;
+ GtkComboBoxText* _tmp4_ = NULL;
+ gint _tmp5_ = 0;
+ SearchConditionMediaType* c = NULL;
+ SearchConditionMediaType* _tmp6_ = NULL;
+#line 276 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ self = G_TYPE_CHECK_INSTANCE_CAST (base, SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW_MEDIA_TYPE, SavedSearchDialogSearchRowMediaType);
+#line 277 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp0_ = self->priv->parent;
+#line 277 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp1_ = saved_search_dialog_search_row_container_get_search_type (_tmp0_);
+#line 277 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ search_type = _tmp1_;
+#line 278 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp2_ = self->priv->media_context;
+#line 278 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp3_ = gtk_combo_box_get_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, gtk_combo_box_get_type (), GtkComboBox));
+#line 278 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ context = (SearchConditionMediaTypeContext) _tmp3_;
+#line 279 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp4_ = self->priv->media_type;
+#line 279 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp5_ = gtk_combo_box_get_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, gtk_combo_box_get_type (), GtkComboBox));
+#line 279 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ type = (SearchConditionMediaTypeMediaType) _tmp5_;
+#line 280 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp6_ = search_condition_media_type_new (search_type, context, type);
+#line 280 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ c = _tmp6_;
+#line 281 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ result = G_TYPE_CHECK_INSTANCE_CAST (c, TYPE_SEARCH_CONDITION, SearchCondition);
+#line 281 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ return result;
+#line 4007 "SavedSearchDialog.c"
+}
+
+
+static void saved_search_dialog_search_row_media_type_real_populate (SavedSearchDialogSearchRow* base, SearchCondition* sc) {
+ SavedSearchDialogSearchRowMediaType * self;
+ SearchConditionMediaType* media = NULL;
+ SearchCondition* _tmp0_ = NULL;
+ SearchConditionMediaType* _tmp1_ = NULL;
+ GtkComboBoxText* _tmp2_ = NULL;
+ SearchConditionMediaTypeContext _tmp3_ = 0;
+ SearchConditionMediaTypeContext _tmp4_ = 0;
+ GtkComboBoxText* _tmp5_ = NULL;
+ SearchConditionMediaTypeMediaType _tmp6_ = 0;
+ SearchConditionMediaTypeMediaType _tmp7_ = 0;
+#line 284 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ self = G_TYPE_CHECK_INSTANCE_CAST (base, SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW_MEDIA_TYPE, SavedSearchDialogSearchRowMediaType);
+#line 284 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ g_return_if_fail (IS_SEARCH_CONDITION (sc));
+#line 285 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp0_ = sc;
+#line 285 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp1_ = _search_condition_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp0_, TYPE_SEARCH_CONDITION_MEDIA_TYPE) ? ((SearchConditionMediaType*) _tmp0_) : NULL);
+#line 285 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ media = _tmp1_;
+#line 286 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _vala_assert (media != NULL, "media != null");
+#line 287 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp2_ = self->priv->media_context;
+#line 287 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp3_ = search_condition_media_type_get_context (media);
+#line 287 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp4_ = _tmp3_;
+#line 287 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ gtk_combo_box_set_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, gtk_combo_box_get_type (), GtkComboBox), (gint) _tmp4_);
+#line 288 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp5_ = self->priv->media_type;
+#line 288 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp6_ = search_condition_media_type_get_media_type (media);
+#line 288 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp7_ = _tmp6_;
+#line 288 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ gtk_combo_box_set_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, gtk_combo_box_get_type (), GtkComboBox), (gint) _tmp7_);
+#line 284 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _search_condition_unref0 (media);
+#line 4052 "SavedSearchDialog.c"
+}
+
+
+static gboolean saved_search_dialog_search_row_media_type_real_is_complete (SavedSearchDialogSearchRow* base) {
+ SavedSearchDialogSearchRowMediaType * self;
+ gboolean result = FALSE;
+#line 291 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ self = G_TYPE_CHECK_INSTANCE_CAST (base, SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW_MEDIA_TYPE, SavedSearchDialogSearchRowMediaType);
+#line 292 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ result = TRUE;
+#line 292 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ return result;
+#line 4065 "SavedSearchDialog.c"
+}
+
+
+static void saved_search_dialog_search_row_media_type_on_changed (SavedSearchDialogSearchRowMediaType* self) {
+ SavedSearchDialogSearchRowContainer* _tmp0_ = NULL;
+ SavedSearchDialogSearchRowContainer* _tmp1_ = NULL;
+#line 295 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ g_return_if_fail (SAVED_SEARCH_DIALOG_IS_SEARCH_ROW_MEDIA_TYPE (self));
+#line 296 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp0_ = self->priv->parent;
+#line 296 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp1_ = self->priv->parent;
+#line 296 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ g_signal_emit_by_name (_tmp0_, "changed", _tmp1_);
+#line 4080 "SavedSearchDialog.c"
+}
+
+
+static void saved_search_dialog_search_row_media_type_class_init (SavedSearchDialogSearchRowMediaTypeClass * klass) {
+#line 236 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ saved_search_dialog_search_row_media_type_parent_class = g_type_class_peek_parent (klass);
+#line 236 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ ((SavedSearchDialogSearchRowClass *) klass)->finalize = saved_search_dialog_search_row_media_type_finalize;
+#line 236 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ g_type_class_add_private (klass, sizeof (SavedSearchDialogSearchRowMediaTypePrivate));
+#line 236 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ ((SavedSearchDialogSearchRowClass *) klass)->get_widget = saved_search_dialog_search_row_media_type_real_get_widget;
+#line 236 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ ((SavedSearchDialogSearchRowClass *) klass)->get_search_condition = saved_search_dialog_search_row_media_type_real_get_search_condition;
+#line 236 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ ((SavedSearchDialogSearchRowClass *) klass)->populate = saved_search_dialog_search_row_media_type_real_populate;
+#line 236 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ ((SavedSearchDialogSearchRowClass *) klass)->is_complete = saved_search_dialog_search_row_media_type_real_is_complete;
+#line 4099 "SavedSearchDialog.c"
+}
+
+
+static void saved_search_dialog_search_row_media_type_instance_init (SavedSearchDialogSearchRowMediaType * self) {
+#line 236 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ self->priv = SAVED_SEARCH_DIALOG_SEARCH_ROW_MEDIA_TYPE_GET_PRIVATE (self);
+#line 4106 "SavedSearchDialog.c"
+}
+
+
+static void saved_search_dialog_search_row_media_type_finalize (SavedSearchDialogSearchRow* obj) {
+ SavedSearchDialogSearchRowMediaType * self;
+ GtkComboBoxText* _tmp0_ = NULL;
+ guint _tmp1_ = 0U;
+ GtkComboBoxText* _tmp2_ = NULL;
+ guint _tmp3_ = 0U;
+#line 236 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ self = G_TYPE_CHECK_INSTANCE_CAST (obj, SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW_MEDIA_TYPE, SavedSearchDialogSearchRowMediaType);
+#line 268 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp0_ = self->priv->media_context;
+#line 268 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ g_signal_parse_name ("changed", gtk_combo_box_get_type (), &_tmp1_, NULL, FALSE);
+#line 268 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ g_signal_handlers_disconnect_matched (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, gtk_combo_box_get_type (), GtkComboBox), G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp1_, 0, NULL, (GCallback) _saved_search_dialog_search_row_media_type_on_changed_gtk_combo_box_changed, self);
+#line 269 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp2_ = self->priv->media_type;
+#line 269 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ g_signal_parse_name ("changed", gtk_combo_box_get_type (), &_tmp3_, NULL, FALSE);
+#line 269 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ g_signal_handlers_disconnect_matched (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, gtk_combo_box_get_type (), GtkComboBox), G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp3_, 0, NULL, (GCallback) _saved_search_dialog_search_row_media_type_on_changed_gtk_combo_box_changed, self);
+#line 237 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _g_object_unref0 (self->priv->box);
+#line 238 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _g_object_unref0 (self->priv->media_context);
+#line 239 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _g_object_unref0 (self->priv->media_type);
+#line 241 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _saved_search_dialog_search_row_container_unref0 (self->priv->parent);
+#line 236 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ SAVED_SEARCH_DIALOG_SEARCH_ROW_CLASS (saved_search_dialog_search_row_media_type_parent_class)->finalize (obj);
+#line 4140 "SavedSearchDialog.c"
+}
+
+
+static GType saved_search_dialog_search_row_media_type_get_type (void) {
+ static volatile gsize saved_search_dialog_search_row_media_type_type_id__volatile = 0;
+ if (g_once_init_enter (&saved_search_dialog_search_row_media_type_type_id__volatile)) {
+ static const GTypeInfo g_define_type_info = { sizeof (SavedSearchDialogSearchRowMediaTypeClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) saved_search_dialog_search_row_media_type_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (SavedSearchDialogSearchRowMediaType), 0, (GInstanceInitFunc) saved_search_dialog_search_row_media_type_instance_init, NULL };
+ GType saved_search_dialog_search_row_media_type_type_id;
+ saved_search_dialog_search_row_media_type_type_id = g_type_register_static (SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW, "SavedSearchDialogSearchRowMediaType", &g_define_type_info, 0);
+ g_once_init_leave (&saved_search_dialog_search_row_media_type_type_id__volatile, saved_search_dialog_search_row_media_type_type_id);
+ }
+ return saved_search_dialog_search_row_media_type_type_id__volatile;
+}
+
+
+static void _saved_search_dialog_search_row_modified_on_changed_gtk_combo_box_changed (GtkComboBox* _sender, gpointer self) {
+#line 330 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ saved_search_dialog_search_row_modified_on_changed ((SavedSearchDialogSearchRowModified*) self);
+#line 4159 "SavedSearchDialog.c"
+}
+
+
+static SavedSearchDialogSearchRowModified* saved_search_dialog_search_row_modified_construct (GType object_type, SavedSearchDialogSearchRowContainer* parent) {
+ SavedSearchDialogSearchRowModified* self = NULL;
+ SavedSearchDialogSearchRowContainer* _tmp0_ = NULL;
+ SavedSearchDialogSearchRowContainer* _tmp1_ = NULL;
+ GtkComboBoxText* _tmp2_ = NULL;
+ GtkComboBoxText* _tmp3_ = NULL;
+ const gchar* _tmp4_ = NULL;
+ GtkComboBoxText* _tmp5_ = NULL;
+ const gchar* _tmp6_ = NULL;
+ GtkComboBoxText* _tmp7_ = NULL;
+ GtkComboBoxText* _tmp8_ = NULL;
+ GtkComboBoxText* _tmp9_ = NULL;
+ GtkComboBoxText* _tmp10_ = NULL;
+ const gchar* _tmp11_ = NULL;
+ GtkComboBoxText* _tmp12_ = NULL;
+ const gchar* _tmp13_ = NULL;
+ GtkComboBoxText* _tmp14_ = NULL;
+ const gchar* _tmp15_ = NULL;
+ GtkComboBoxText* _tmp16_ = NULL;
+ GtkComboBoxText* _tmp17_ = NULL;
+ GtkBox* _tmp18_ = NULL;
+ GtkBox* _tmp19_ = NULL;
+ GtkComboBoxText* _tmp20_ = NULL;
+ GtkBox* _tmp21_ = NULL;
+ GtkComboBoxText* _tmp22_ = NULL;
+ GtkBox* _tmp23_ = NULL;
+#line 307 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ g_return_val_if_fail (SAVED_SEARCH_DIALOG_IS_SEARCH_ROW_CONTAINER (parent), NULL);
+#line 307 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ self = (SavedSearchDialogSearchRowModified*) saved_search_dialog_search_row_construct (object_type);
+#line 308 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp0_ = parent;
+#line 308 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp1_ = _saved_search_dialog_search_row_container_ref0 (_tmp0_);
+#line 308 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _saved_search_dialog_search_row_container_unref0 (self->priv->parent);
+#line 308 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ self->priv->parent = _tmp1_;
+#line 310 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp2_ = (GtkComboBoxText*) gtk_combo_box_text_new ();
+#line 310 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ g_object_ref_sink (_tmp2_);
+#line 310 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _g_object_unref0 (self->priv->modified_context);
+#line 310 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ self->priv->modified_context = _tmp2_;
+#line 311 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp3_ = self->priv->modified_context;
+#line 311 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp4_ = _ ("has");
+#line 311 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ gtk_combo_box_text_append_text (_tmp3_, _tmp4_);
+#line 312 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp5_ = self->priv->modified_context;
+#line 312 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp6_ = _ ("has no");
+#line 312 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ gtk_combo_box_text_append_text (_tmp5_, _tmp6_);
+#line 313 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp7_ = self->priv->modified_context;
+#line 313 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ gtk_combo_box_set_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, gtk_combo_box_get_type (), GtkComboBox), 0);
+#line 314 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp8_ = self->priv->modified_context;
+#line 314 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ g_signal_connect (G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, gtk_combo_box_get_type (), GtkComboBox), "changed", (GCallback) _saved_search_dialog_search_row_modified_on_changed_gtk_combo_box_changed, self);
+#line 316 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp9_ = (GtkComboBoxText*) gtk_combo_box_text_new ();
+#line 316 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ g_object_ref_sink (_tmp9_);
+#line 316 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _g_object_unref0 (self->priv->modified_state);
+#line 316 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ self->priv->modified_state = _tmp9_;
+#line 317 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp10_ = self->priv->modified_state;
+#line 317 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp11_ = _ ("modifications");
+#line 317 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ gtk_combo_box_text_append_text (_tmp10_, _tmp11_);
+#line 318 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp12_ = self->priv->modified_state;
+#line 318 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp13_ = _ ("internal modifications");
+#line 318 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ gtk_combo_box_text_append_text (_tmp12_, _tmp13_);
+#line 319 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp14_ = self->priv->modified_state;
+#line 319 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp15_ = _ ("external modifications");
+#line 319 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ gtk_combo_box_text_append_text (_tmp14_, _tmp15_);
+#line 320 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp16_ = self->priv->modified_state;
+#line 320 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ gtk_combo_box_set_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp16_, gtk_combo_box_get_type (), GtkComboBox), 0);
+#line 321 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp17_ = self->priv->modified_state;
+#line 321 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ g_signal_connect (G_TYPE_CHECK_INSTANCE_CAST (_tmp17_, gtk_combo_box_get_type (), GtkComboBox), "changed", (GCallback) _saved_search_dialog_search_row_modified_on_changed_gtk_combo_box_changed, self);
+#line 323 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp18_ = (GtkBox*) gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 3);
+#line 323 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ g_object_ref_sink (_tmp18_);
+#line 323 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _g_object_unref0 (self->priv->box);
+#line 323 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ self->priv->box = _tmp18_;
+#line 324 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp19_ = self->priv->box;
+#line 324 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp20_ = self->priv->modified_context;
+#line 324 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ gtk_box_pack_start (_tmp19_, G_TYPE_CHECK_INSTANCE_CAST (_tmp20_, gtk_widget_get_type (), GtkWidget), FALSE, FALSE, (guint) 0);
+#line 325 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp21_ = self->priv->box;
+#line 325 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp22_ = self->priv->modified_state;
+#line 325 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ gtk_box_pack_start (_tmp21_, G_TYPE_CHECK_INSTANCE_CAST (_tmp22_, gtk_widget_get_type (), GtkWidget), FALSE, FALSE, (guint) 0);
+#line 326 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp23_ = self->priv->box;
+#line 326 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ gtk_widget_show_all (G_TYPE_CHECK_INSTANCE_CAST (_tmp23_, gtk_widget_get_type (), GtkWidget));
+#line 307 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ return self;
+#line 4289 "SavedSearchDialog.c"
+}
+
+
+static SavedSearchDialogSearchRowModified* saved_search_dialog_search_row_modified_new (SavedSearchDialogSearchRowContainer* parent) {
+#line 307 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ return saved_search_dialog_search_row_modified_construct (SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW_MODIFIED, parent);
+#line 4296 "SavedSearchDialog.c"
+}
+
+
+static GtkWidget* saved_search_dialog_search_row_modified_real_get_widget (SavedSearchDialogSearchRow* base) {
+ SavedSearchDialogSearchRowModified * self;
+ GtkWidget* result = NULL;
+ GtkBox* _tmp0_ = NULL;
+ GtkWidget* _tmp1_ = NULL;
+#line 334 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ self = G_TYPE_CHECK_INSTANCE_CAST (base, SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW_MODIFIED, SavedSearchDialogSearchRowModified);
+#line 335 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp0_ = self->priv->box;
+#line 335 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp1_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, gtk_widget_get_type (), GtkWidget));
+#line 335 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ result = _tmp1_;
+#line 335 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ return result;
+#line 4315 "SavedSearchDialog.c"
+}
+
+
+static SearchCondition* saved_search_dialog_search_row_modified_real_get_search_condition (SavedSearchDialogSearchRow* base) {
+ SavedSearchDialogSearchRowModified * self;
+ SearchCondition* result = NULL;
+ SearchConditionSearchType search_type = 0;
+ SavedSearchDialogSearchRowContainer* _tmp0_ = NULL;
+ SearchConditionSearchType _tmp1_ = 0;
+ SearchConditionModifiedContext context = 0;
+ GtkComboBoxText* _tmp2_ = NULL;
+ gint _tmp3_ = 0;
+ SearchConditionModifiedState state = 0;
+ GtkComboBoxText* _tmp4_ = NULL;
+ gint _tmp5_ = 0;
+ SearchConditionModified* c = NULL;
+ SearchConditionModified* _tmp6_ = NULL;
+#line 338 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ self = G_TYPE_CHECK_INSTANCE_CAST (base, SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW_MODIFIED, SavedSearchDialogSearchRowModified);
+#line 339 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp0_ = self->priv->parent;
+#line 339 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp1_ = saved_search_dialog_search_row_container_get_search_type (_tmp0_);
+#line 339 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ search_type = _tmp1_;
+#line 340 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp2_ = self->priv->modified_context;
+#line 340 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp3_ = gtk_combo_box_get_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, gtk_combo_box_get_type (), GtkComboBox));
+#line 340 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ context = (SearchConditionModifiedContext) _tmp3_;
+#line 341 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp4_ = self->priv->modified_state;
+#line 341 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp5_ = gtk_combo_box_get_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, gtk_combo_box_get_type (), GtkComboBox));
+#line 341 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ state = (SearchConditionModifiedState) _tmp5_;
+#line 342 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp6_ = search_condition_modified_new (search_type, context, state);
+#line 342 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ c = _tmp6_;
+#line 343 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ result = G_TYPE_CHECK_INSTANCE_CAST (c, TYPE_SEARCH_CONDITION, SearchCondition);
+#line 343 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ return result;
+#line 4361 "SavedSearchDialog.c"
+}
+
+
+static void saved_search_dialog_search_row_modified_real_populate (SavedSearchDialogSearchRow* base, SearchCondition* sc) {
+ SavedSearchDialogSearchRowModified * self;
+ SearchConditionModified* scm = NULL;
+ SearchCondition* _tmp0_ = NULL;
+ SearchConditionModified* _tmp1_ = NULL;
+ GtkComboBoxText* _tmp2_ = NULL;
+ SearchConditionModifiedState _tmp3_ = 0;
+ SearchConditionModifiedState _tmp4_ = 0;
+ GtkComboBoxText* _tmp5_ = NULL;
+ SearchConditionModifiedContext _tmp6_ = 0;
+ SearchConditionModifiedContext _tmp7_ = 0;
+#line 346 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ self = G_TYPE_CHECK_INSTANCE_CAST (base, SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW_MODIFIED, SavedSearchDialogSearchRowModified);
+#line 346 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ g_return_if_fail (IS_SEARCH_CONDITION (sc));
+#line 347 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp0_ = sc;
+#line 347 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp1_ = _search_condition_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp0_, TYPE_SEARCH_CONDITION_MODIFIED) ? ((SearchConditionModified*) _tmp0_) : NULL);
+#line 347 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ scm = _tmp1_;
+#line 348 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _vala_assert (scm != NULL, "scm != null");
+#line 349 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp2_ = self->priv->modified_state;
+#line 349 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp3_ = search_condition_modified_get_state (scm);
+#line 349 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp4_ = _tmp3_;
+#line 349 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ gtk_combo_box_set_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, gtk_combo_box_get_type (), GtkComboBox), (gint) _tmp4_);
+#line 350 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp5_ = self->priv->modified_context;
+#line 350 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp6_ = search_condition_modified_get_context (scm);
+#line 350 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp7_ = _tmp6_;
+#line 350 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ gtk_combo_box_set_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, gtk_combo_box_get_type (), GtkComboBox), (gint) _tmp7_);
+#line 346 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _search_condition_unref0 (scm);
+#line 4406 "SavedSearchDialog.c"
+}
+
+
+static gboolean saved_search_dialog_search_row_modified_real_is_complete (SavedSearchDialogSearchRow* base) {
+ SavedSearchDialogSearchRowModified * self;
+ gboolean result = FALSE;
+#line 353 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ self = G_TYPE_CHECK_INSTANCE_CAST (base, SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW_MODIFIED, SavedSearchDialogSearchRowModified);
+#line 354 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ result = TRUE;
+#line 354 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ return result;
+#line 4419 "SavedSearchDialog.c"
+}
+
+
+static void saved_search_dialog_search_row_modified_on_changed (SavedSearchDialogSearchRowModified* self) {
+ SavedSearchDialogSearchRowContainer* _tmp0_ = NULL;
+ SavedSearchDialogSearchRowContainer* _tmp1_ = NULL;
+#line 357 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ g_return_if_fail (SAVED_SEARCH_DIALOG_IS_SEARCH_ROW_MODIFIED (self));
+#line 358 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp0_ = self->priv->parent;
+#line 358 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp1_ = self->priv->parent;
+#line 358 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ g_signal_emit_by_name (_tmp0_, "changed", _tmp1_);
+#line 4434 "SavedSearchDialog.c"
+}
+
+
+static void saved_search_dialog_search_row_modified_class_init (SavedSearchDialogSearchRowModifiedClass * klass) {
+#line 300 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ saved_search_dialog_search_row_modified_parent_class = g_type_class_peek_parent (klass);
+#line 300 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ ((SavedSearchDialogSearchRowClass *) klass)->finalize = saved_search_dialog_search_row_modified_finalize;
+#line 300 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ g_type_class_add_private (klass, sizeof (SavedSearchDialogSearchRowModifiedPrivate));
+#line 300 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ ((SavedSearchDialogSearchRowClass *) klass)->get_widget = saved_search_dialog_search_row_modified_real_get_widget;
+#line 300 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ ((SavedSearchDialogSearchRowClass *) klass)->get_search_condition = saved_search_dialog_search_row_modified_real_get_search_condition;
+#line 300 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ ((SavedSearchDialogSearchRowClass *) klass)->populate = saved_search_dialog_search_row_modified_real_populate;
+#line 300 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ ((SavedSearchDialogSearchRowClass *) klass)->is_complete = saved_search_dialog_search_row_modified_real_is_complete;
+#line 4453 "SavedSearchDialog.c"
+}
+
+
+static void saved_search_dialog_search_row_modified_instance_init (SavedSearchDialogSearchRowModified * self) {
+#line 300 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ self->priv = SAVED_SEARCH_DIALOG_SEARCH_ROW_MODIFIED_GET_PRIVATE (self);
+#line 4460 "SavedSearchDialog.c"
+}
+
+
+static void saved_search_dialog_search_row_modified_finalize (SavedSearchDialogSearchRow* obj) {
+ SavedSearchDialogSearchRowModified * self;
+ GtkComboBoxText* _tmp0_ = NULL;
+ guint _tmp1_ = 0U;
+ GtkComboBoxText* _tmp2_ = NULL;
+ guint _tmp3_ = 0U;
+#line 300 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ self = G_TYPE_CHECK_INSTANCE_CAST (obj, SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW_MODIFIED, SavedSearchDialogSearchRowModified);
+#line 330 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp0_ = self->priv->modified_state;
+#line 330 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ g_signal_parse_name ("changed", gtk_combo_box_get_type (), &_tmp1_, NULL, FALSE);
+#line 330 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ g_signal_handlers_disconnect_matched (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, gtk_combo_box_get_type (), GtkComboBox), G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp1_, 0, NULL, (GCallback) _saved_search_dialog_search_row_modified_on_changed_gtk_combo_box_changed, self);
+#line 331 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp2_ = self->priv->modified_context;
+#line 331 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ g_signal_parse_name ("changed", gtk_combo_box_get_type (), &_tmp3_, NULL, FALSE);
+#line 331 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ g_signal_handlers_disconnect_matched (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, gtk_combo_box_get_type (), GtkComboBox), G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp3_, 0, NULL, (GCallback) _saved_search_dialog_search_row_modified_on_changed_gtk_combo_box_changed, self);
+#line 301 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _g_object_unref0 (self->priv->box);
+#line 302 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _g_object_unref0 (self->priv->modified_context);
+#line 303 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _g_object_unref0 (self->priv->modified_state);
+#line 305 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _saved_search_dialog_search_row_container_unref0 (self->priv->parent);
+#line 300 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ SAVED_SEARCH_DIALOG_SEARCH_ROW_CLASS (saved_search_dialog_search_row_modified_parent_class)->finalize (obj);
+#line 4494 "SavedSearchDialog.c"
+}
+
+
+static GType saved_search_dialog_search_row_modified_get_type (void) {
+ static volatile gsize saved_search_dialog_search_row_modified_type_id__volatile = 0;
+ if (g_once_init_enter (&saved_search_dialog_search_row_modified_type_id__volatile)) {
+ static const GTypeInfo g_define_type_info = { sizeof (SavedSearchDialogSearchRowModifiedClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) saved_search_dialog_search_row_modified_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (SavedSearchDialogSearchRowModified), 0, (GInstanceInitFunc) saved_search_dialog_search_row_modified_instance_init, NULL };
+ GType saved_search_dialog_search_row_modified_type_id;
+ saved_search_dialog_search_row_modified_type_id = g_type_register_static (SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW, "SavedSearchDialogSearchRowModified", &g_define_type_info, 0);
+ g_once_init_leave (&saved_search_dialog_search_row_modified_type_id__volatile, saved_search_dialog_search_row_modified_type_id);
+ }
+ return saved_search_dialog_search_row_modified_type_id__volatile;
+}
+
+
+static void _saved_search_dialog_search_row_flagged_on_changed_gtk_combo_box_changed (GtkComboBox* _sender, gpointer self) {
+#line 385 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ saved_search_dialog_search_row_flagged_on_changed ((SavedSearchDialogSearchRowFlagged*) self);
+#line 4513 "SavedSearchDialog.c"
+}
+
+
+static SavedSearchDialogSearchRowFlagged* saved_search_dialog_search_row_flagged_construct (GType object_type, SavedSearchDialogSearchRowContainer* parent) {
+ SavedSearchDialogSearchRowFlagged* self = NULL;
+ SavedSearchDialogSearchRowContainer* _tmp0_ = NULL;
+ SavedSearchDialogSearchRowContainer* _tmp1_ = NULL;
+ GtkComboBoxText* _tmp2_ = NULL;
+ GtkComboBoxText* _tmp3_ = NULL;
+ const gchar* _tmp4_ = NULL;
+ GtkComboBoxText* _tmp5_ = NULL;
+ const gchar* _tmp6_ = NULL;
+ GtkComboBoxText* _tmp7_ = NULL;
+ GtkComboBoxText* _tmp8_ = NULL;
+ GtkBox* _tmp9_ = NULL;
+ GtkBox* _tmp10_ = NULL;
+ const gchar* _tmp11_ = NULL;
+ GtkLabel* _tmp12_ = NULL;
+ GtkLabel* _tmp13_ = NULL;
+ GtkBox* _tmp14_ = NULL;
+ GtkComboBoxText* _tmp15_ = NULL;
+ GtkBox* _tmp16_ = NULL;
+#line 368 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ g_return_val_if_fail (SAVED_SEARCH_DIALOG_IS_SEARCH_ROW_CONTAINER (parent), NULL);
+#line 368 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ self = (SavedSearchDialogSearchRowFlagged*) saved_search_dialog_search_row_construct (object_type);
+#line 369 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp0_ = parent;
+#line 369 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp1_ = _saved_search_dialog_search_row_container_ref0 (_tmp0_);
+#line 369 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _saved_search_dialog_search_row_container_unref0 (self->priv->parent);
+#line 369 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ self->priv->parent = _tmp1_;
+#line 372 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp2_ = (GtkComboBoxText*) gtk_combo_box_text_new ();
+#line 372 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ g_object_ref_sink (_tmp2_);
+#line 372 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _g_object_unref0 (self->priv->flagged_state);
+#line 372 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ self->priv->flagged_state = _tmp2_;
+#line 373 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp3_ = self->priv->flagged_state;
+#line 373 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp4_ = _ ("flagged");
+#line 373 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ gtk_combo_box_text_append_text (_tmp3_, _tmp4_);
+#line 374 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp5_ = self->priv->flagged_state;
+#line 374 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp6_ = _ ("not flagged");
+#line 374 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ gtk_combo_box_text_append_text (_tmp5_, _tmp6_);
+#line 375 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp7_ = self->priv->flagged_state;
+#line 375 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ gtk_combo_box_set_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, gtk_combo_box_get_type (), GtkComboBox), 0);
+#line 376 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp8_ = self->priv->flagged_state;
+#line 376 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ g_signal_connect (G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, gtk_combo_box_get_type (), GtkComboBox), "changed", (GCallback) _saved_search_dialog_search_row_flagged_on_changed_gtk_combo_box_changed, self);
+#line 378 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp9_ = (GtkBox*) gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 3);
+#line 378 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ g_object_ref_sink (_tmp9_);
+#line 378 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _g_object_unref0 (self->priv->box);
+#line 378 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ self->priv->box = _tmp9_;
+#line 379 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp10_ = self->priv->box;
+#line 379 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp11_ = _ ("is");
+#line 379 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp12_ = (GtkLabel*) gtk_label_new (_tmp11_);
+#line 379 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ g_object_ref_sink (_tmp12_);
+#line 379 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp13_ = _tmp12_;
+#line 379 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ gtk_box_pack_start (_tmp10_, G_TYPE_CHECK_INSTANCE_CAST (_tmp13_, gtk_widget_get_type (), GtkWidget), FALSE, FALSE, (guint) 0);
+#line 379 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _g_object_unref0 (_tmp13_);
+#line 380 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp14_ = self->priv->box;
+#line 380 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp15_ = self->priv->flagged_state;
+#line 380 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ gtk_box_pack_start (_tmp14_, G_TYPE_CHECK_INSTANCE_CAST (_tmp15_, gtk_widget_get_type (), GtkWidget), FALSE, FALSE, (guint) 0);
+#line 381 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp16_ = self->priv->box;
+#line 381 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ gtk_widget_show_all (G_TYPE_CHECK_INSTANCE_CAST (_tmp16_, gtk_widget_get_type (), GtkWidget));
+#line 368 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ return self;
+#line 4610 "SavedSearchDialog.c"
+}
+
+
+static SavedSearchDialogSearchRowFlagged* saved_search_dialog_search_row_flagged_new (SavedSearchDialogSearchRowContainer* parent) {
+#line 368 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ return saved_search_dialog_search_row_flagged_construct (SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW_FLAGGED, parent);
+#line 4617 "SavedSearchDialog.c"
+}
+
+
+static GtkWidget* saved_search_dialog_search_row_flagged_real_get_widget (SavedSearchDialogSearchRow* base) {
+ SavedSearchDialogSearchRowFlagged * self;
+ GtkWidget* result = NULL;
+ GtkBox* _tmp0_ = NULL;
+ GtkWidget* _tmp1_ = NULL;
+#line 388 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ self = G_TYPE_CHECK_INSTANCE_CAST (base, SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW_FLAGGED, SavedSearchDialogSearchRowFlagged);
+#line 389 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp0_ = self->priv->box;
+#line 389 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp1_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, gtk_widget_get_type (), GtkWidget));
+#line 389 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ result = _tmp1_;
+#line 389 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ return result;
+#line 4636 "SavedSearchDialog.c"
+}
+
+
+static SearchCondition* saved_search_dialog_search_row_flagged_real_get_search_condition (SavedSearchDialogSearchRow* base) {
+ SavedSearchDialogSearchRowFlagged * self;
+ SearchCondition* result = NULL;
+ SearchConditionSearchType search_type = 0;
+ SavedSearchDialogSearchRowContainer* _tmp0_ = NULL;
+ SearchConditionSearchType _tmp1_ = 0;
+ SearchConditionFlaggedState state = 0;
+ GtkComboBoxText* _tmp2_ = NULL;
+ gint _tmp3_ = 0;
+ SearchConditionFlagged* c = NULL;
+ SearchConditionFlagged* _tmp4_ = NULL;
+#line 392 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ self = G_TYPE_CHECK_INSTANCE_CAST (base, SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW_FLAGGED, SavedSearchDialogSearchRowFlagged);
+#line 393 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp0_ = self->priv->parent;
+#line 393 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp1_ = saved_search_dialog_search_row_container_get_search_type (_tmp0_);
+#line 393 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ search_type = _tmp1_;
+#line 394 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp2_ = self->priv->flagged_state;
+#line 394 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp3_ = gtk_combo_box_get_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, gtk_combo_box_get_type (), GtkComboBox));
+#line 394 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ state = (SearchConditionFlaggedState) _tmp3_;
+#line 395 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp4_ = search_condition_flagged_new (search_type, state);
+#line 395 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ c = _tmp4_;
+#line 396 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ result = G_TYPE_CHECK_INSTANCE_CAST (c, TYPE_SEARCH_CONDITION, SearchCondition);
+#line 396 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ return result;
+#line 4673 "SavedSearchDialog.c"
+}
+
+
+static void saved_search_dialog_search_row_flagged_real_populate (SavedSearchDialogSearchRow* base, SearchCondition* sc) {
+ SavedSearchDialogSearchRowFlagged * self;
+ SearchConditionFlagged* f = NULL;
+ SearchCondition* _tmp0_ = NULL;
+ SearchConditionFlagged* _tmp1_ = NULL;
+ GtkComboBoxText* _tmp2_ = NULL;
+ SearchConditionFlaggedState _tmp3_ = 0;
+ SearchConditionFlaggedState _tmp4_ = 0;
+#line 399 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ self = G_TYPE_CHECK_INSTANCE_CAST (base, SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW_FLAGGED, SavedSearchDialogSearchRowFlagged);
+#line 399 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ g_return_if_fail (IS_SEARCH_CONDITION (sc));
+#line 400 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp0_ = sc;
+#line 400 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp1_ = _search_condition_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp0_, TYPE_SEARCH_CONDITION_FLAGGED) ? ((SearchConditionFlagged*) _tmp0_) : NULL);
+#line 400 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ f = _tmp1_;
+#line 401 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _vala_assert (f != NULL, "f != null");
+#line 402 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp2_ = self->priv->flagged_state;
+#line 402 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp3_ = search_condition_flagged_get_state (f);
+#line 402 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp4_ = _tmp3_;
+#line 402 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ gtk_combo_box_set_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, gtk_combo_box_get_type (), GtkComboBox), (gint) _tmp4_);
+#line 399 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _search_condition_unref0 (f);
+#line 4707 "SavedSearchDialog.c"
+}
+
+
+static gboolean saved_search_dialog_search_row_flagged_real_is_complete (SavedSearchDialogSearchRow* base) {
+ SavedSearchDialogSearchRowFlagged * self;
+ gboolean result = FALSE;
+#line 405 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ self = G_TYPE_CHECK_INSTANCE_CAST (base, SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW_FLAGGED, SavedSearchDialogSearchRowFlagged);
+#line 406 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ result = TRUE;
+#line 406 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ return result;
+#line 4720 "SavedSearchDialog.c"
+}
+
+
+static void saved_search_dialog_search_row_flagged_on_changed (SavedSearchDialogSearchRowFlagged* self) {
+ SavedSearchDialogSearchRowContainer* _tmp0_ = NULL;
+ SavedSearchDialogSearchRowContainer* _tmp1_ = NULL;
+#line 409 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ g_return_if_fail (SAVED_SEARCH_DIALOG_IS_SEARCH_ROW_FLAGGED (self));
+#line 410 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp0_ = self->priv->parent;
+#line 410 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp1_ = self->priv->parent;
+#line 410 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ g_signal_emit_by_name (_tmp0_, "changed", _tmp1_);
+#line 4735 "SavedSearchDialog.c"
+}
+
+
+static void saved_search_dialog_search_row_flagged_class_init (SavedSearchDialogSearchRowFlaggedClass * klass) {
+#line 362 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ saved_search_dialog_search_row_flagged_parent_class = g_type_class_peek_parent (klass);
+#line 362 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ ((SavedSearchDialogSearchRowClass *) klass)->finalize = saved_search_dialog_search_row_flagged_finalize;
+#line 362 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ g_type_class_add_private (klass, sizeof (SavedSearchDialogSearchRowFlaggedPrivate));
+#line 362 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ ((SavedSearchDialogSearchRowClass *) klass)->get_widget = saved_search_dialog_search_row_flagged_real_get_widget;
+#line 362 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ ((SavedSearchDialogSearchRowClass *) klass)->get_search_condition = saved_search_dialog_search_row_flagged_real_get_search_condition;
+#line 362 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ ((SavedSearchDialogSearchRowClass *) klass)->populate = saved_search_dialog_search_row_flagged_real_populate;
+#line 362 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ ((SavedSearchDialogSearchRowClass *) klass)->is_complete = saved_search_dialog_search_row_flagged_real_is_complete;
+#line 4754 "SavedSearchDialog.c"
+}
+
+
+static void saved_search_dialog_search_row_flagged_instance_init (SavedSearchDialogSearchRowFlagged * self) {
+#line 362 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ self->priv = SAVED_SEARCH_DIALOG_SEARCH_ROW_FLAGGED_GET_PRIVATE (self);
+#line 4761 "SavedSearchDialog.c"
+}
+
+
+static void saved_search_dialog_search_row_flagged_finalize (SavedSearchDialogSearchRow* obj) {
+ SavedSearchDialogSearchRowFlagged * self;
+ GtkComboBoxText* _tmp0_ = NULL;
+ guint _tmp1_ = 0U;
+#line 362 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ self = G_TYPE_CHECK_INSTANCE_CAST (obj, SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW_FLAGGED, SavedSearchDialogSearchRowFlagged);
+#line 385 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp0_ = self->priv->flagged_state;
+#line 385 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ g_signal_parse_name ("changed", gtk_combo_box_get_type (), &_tmp1_, NULL, FALSE);
+#line 385 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ g_signal_handlers_disconnect_matched (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, gtk_combo_box_get_type (), GtkComboBox), G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp1_, 0, NULL, (GCallback) _saved_search_dialog_search_row_flagged_on_changed_gtk_combo_box_changed, self);
+#line 363 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _g_object_unref0 (self->priv->box);
+#line 364 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _g_object_unref0 (self->priv->flagged_state);
+#line 366 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _saved_search_dialog_search_row_container_unref0 (self->priv->parent);
+#line 362 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ SAVED_SEARCH_DIALOG_SEARCH_ROW_CLASS (saved_search_dialog_search_row_flagged_parent_class)->finalize (obj);
+#line 4785 "SavedSearchDialog.c"
+}
+
+
+static GType saved_search_dialog_search_row_flagged_get_type (void) {
+ static volatile gsize saved_search_dialog_search_row_flagged_type_id__volatile = 0;
+ if (g_once_init_enter (&saved_search_dialog_search_row_flagged_type_id__volatile)) {
+ static const GTypeInfo g_define_type_info = { sizeof (SavedSearchDialogSearchRowFlaggedClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) saved_search_dialog_search_row_flagged_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (SavedSearchDialogSearchRowFlagged), 0, (GInstanceInitFunc) saved_search_dialog_search_row_flagged_instance_init, NULL };
+ GType saved_search_dialog_search_row_flagged_type_id;
+ saved_search_dialog_search_row_flagged_type_id = g_type_register_static (SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW, "SavedSearchDialogSearchRowFlagged", &g_define_type_info, 0);
+ g_once_init_leave (&saved_search_dialog_search_row_flagged_type_id__volatile, saved_search_dialog_search_row_flagged_type_id);
+ }
+ return saved_search_dialog_search_row_flagged_type_id__volatile;
+}
+
+
+static void _saved_search_dialog_search_row_rating_on_changed_gtk_combo_box_changed (GtkComboBox* _sender, gpointer self) {
+#line 451 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ saved_search_dialog_search_row_rating_on_changed ((SavedSearchDialogSearchRowRating*) self);
+#line 4804 "SavedSearchDialog.c"
+}
+
+
+static SavedSearchDialogSearchRowRating* saved_search_dialog_search_row_rating_construct (GType object_type, SavedSearchDialogSearchRowContainer* parent) {
+ SavedSearchDialogSearchRowRating* self = NULL;
+ SavedSearchDialogSearchRowContainer* _tmp0_ = NULL;
+ SavedSearchDialogSearchRowContainer* _tmp1_ = NULL;
+ GtkComboBoxText* _tmp2_ = NULL;
+ GtkComboBoxText* _tmp3_ = NULL;
+ const gchar* _tmp4_ = NULL;
+ GtkComboBoxText* _tmp5_ = NULL;
+ const gchar* _tmp6_ = NULL;
+ GtkComboBoxText* _tmp7_ = NULL;
+ const gchar* _tmp8_ = NULL;
+ GtkComboBoxText* _tmp9_ = NULL;
+ const gchar* _tmp10_ = NULL;
+ GtkComboBoxText* _tmp11_ = NULL;
+ const gchar* _tmp12_ = NULL;
+ GtkComboBoxText* _tmp13_ = NULL;
+ const gchar* _tmp14_ = NULL;
+ GtkComboBoxText* _tmp15_ = NULL;
+ const gchar* _tmp16_ = NULL;
+ GtkComboBoxText* _tmp17_ = NULL;
+ GtkComboBoxText* _tmp18_ = NULL;
+ GtkComboBoxText* _tmp19_ = NULL;
+ GtkComboBoxText* _tmp20_ = NULL;
+ const gchar* _tmp21_ = NULL;
+ GtkComboBoxText* _tmp22_ = NULL;
+ const gchar* _tmp23_ = NULL;
+ GtkComboBoxText* _tmp24_ = NULL;
+ const gchar* _tmp25_ = NULL;
+ GtkComboBoxText* _tmp26_ = NULL;
+ GtkComboBoxText* _tmp27_ = NULL;
+ GtkBox* _tmp28_ = NULL;
+ GtkBox* _tmp29_ = NULL;
+ const gchar* _tmp30_ = NULL;
+ GtkLabel* _tmp31_ = NULL;
+ GtkLabel* _tmp32_ = NULL;
+ GtkBox* _tmp33_ = NULL;
+ GtkComboBoxText* _tmp34_ = NULL;
+ GtkBox* _tmp35_ = NULL;
+ GtkComboBoxText* _tmp36_ = NULL;
+ GtkBox* _tmp37_ = NULL;
+#line 421 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ g_return_val_if_fail (SAVED_SEARCH_DIALOG_IS_SEARCH_ROW_CONTAINER (parent), NULL);
+#line 421 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ self = (SavedSearchDialogSearchRowRating*) saved_search_dialog_search_row_construct (object_type);
+#line 422 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp0_ = parent;
+#line 422 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp1_ = _saved_search_dialog_search_row_container_ref0 (_tmp0_);
+#line 422 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _saved_search_dialog_search_row_container_unref0 (self->priv->parent);
+#line 422 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ self->priv->parent = _tmp1_;
+#line 425 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp2_ = (GtkComboBoxText*) gtk_combo_box_text_new ();
+#line 425 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ g_object_ref_sink (_tmp2_);
+#line 425 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _g_object_unref0 (self->priv->rating);
+#line 425 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ self->priv->rating = _tmp2_;
+#line 426 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp3_ = self->priv->rating;
+#line 426 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp4_ = resources_rating_combo_box (RATING_REJECTED);
+#line 426 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ gtk_combo_box_text_append_text (_tmp3_, _tmp4_);
+#line 427 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp5_ = self->priv->rating;
+#line 427 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp6_ = resources_rating_combo_box (RATING_UNRATED);
+#line 427 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ gtk_combo_box_text_append_text (_tmp5_, _tmp6_);
+#line 428 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp7_ = self->priv->rating;
+#line 428 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp8_ = resources_rating_combo_box (RATING_ONE);
+#line 428 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ gtk_combo_box_text_append_text (_tmp7_, _tmp8_);
+#line 429 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp9_ = self->priv->rating;
+#line 429 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp10_ = resources_rating_combo_box (RATING_TWO);
+#line 429 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ gtk_combo_box_text_append_text (_tmp9_, _tmp10_);
+#line 430 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp11_ = self->priv->rating;
+#line 430 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp12_ = resources_rating_combo_box (RATING_THREE);
+#line 430 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ gtk_combo_box_text_append_text (_tmp11_, _tmp12_);
+#line 431 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp13_ = self->priv->rating;
+#line 431 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp14_ = resources_rating_combo_box (RATING_FOUR);
+#line 431 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ gtk_combo_box_text_append_text (_tmp13_, _tmp14_);
+#line 432 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp15_ = self->priv->rating;
+#line 432 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp16_ = resources_rating_combo_box (RATING_FIVE);
+#line 432 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ gtk_combo_box_text_append_text (_tmp15_, _tmp16_);
+#line 433 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp17_ = self->priv->rating;
+#line 433 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ gtk_combo_box_set_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp17_, gtk_combo_box_get_type (), GtkComboBox), 0);
+#line 434 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp18_ = self->priv->rating;
+#line 434 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ g_signal_connect (G_TYPE_CHECK_INSTANCE_CAST (_tmp18_, gtk_combo_box_get_type (), GtkComboBox), "changed", (GCallback) _saved_search_dialog_search_row_rating_on_changed_gtk_combo_box_changed, self);
+#line 436 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp19_ = (GtkComboBoxText*) gtk_combo_box_text_new ();
+#line 436 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ g_object_ref_sink (_tmp19_);
+#line 436 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _g_object_unref0 (self->priv->context);
+#line 436 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ self->priv->context = _tmp19_;
+#line 437 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp20_ = self->priv->context;
+#line 437 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp21_ = _ ("and higher");
+#line 437 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ gtk_combo_box_text_append_text (_tmp20_, _tmp21_);
+#line 438 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp22_ = self->priv->context;
+#line 438 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp23_ = _ ("only");
+#line 438 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ gtk_combo_box_text_append_text (_tmp22_, _tmp23_);
+#line 439 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp24_ = self->priv->context;
+#line 439 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp25_ = _ ("and lower");
+#line 439 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ gtk_combo_box_text_append_text (_tmp24_, _tmp25_);
+#line 440 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp26_ = self->priv->context;
+#line 440 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ gtk_combo_box_set_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp26_, gtk_combo_box_get_type (), GtkComboBox), 0);
+#line 441 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp27_ = self->priv->context;
+#line 441 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ g_signal_connect (G_TYPE_CHECK_INSTANCE_CAST (_tmp27_, gtk_combo_box_get_type (), GtkComboBox), "changed", (GCallback) _saved_search_dialog_search_row_rating_on_changed_gtk_combo_box_changed, self);
+#line 443 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp28_ = (GtkBox*) gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 3);
+#line 443 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ g_object_ref_sink (_tmp28_);
+#line 443 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _g_object_unref0 (self->priv->box);
+#line 443 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ self->priv->box = _tmp28_;
+#line 444 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp29_ = self->priv->box;
+#line 444 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp30_ = _ ("is");
+#line 444 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp31_ = (GtkLabel*) gtk_label_new (_tmp30_);
+#line 444 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ g_object_ref_sink (_tmp31_);
+#line 444 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp32_ = _tmp31_;
+#line 444 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ gtk_box_pack_start (_tmp29_, G_TYPE_CHECK_INSTANCE_CAST (_tmp32_, gtk_widget_get_type (), GtkWidget), FALSE, FALSE, (guint) 0);
+#line 444 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _g_object_unref0 (_tmp32_);
+#line 445 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp33_ = self->priv->box;
+#line 445 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp34_ = self->priv->rating;
+#line 445 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ gtk_box_pack_start (_tmp33_, G_TYPE_CHECK_INSTANCE_CAST (_tmp34_, gtk_widget_get_type (), GtkWidget), FALSE, FALSE, (guint) 0);
+#line 446 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp35_ = self->priv->box;
+#line 446 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp36_ = self->priv->context;
+#line 446 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ gtk_box_pack_start (_tmp35_, G_TYPE_CHECK_INSTANCE_CAST (_tmp36_, gtk_widget_get_type (), GtkWidget), FALSE, FALSE, (guint) 0);
+#line 447 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp37_ = self->priv->box;
+#line 447 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ gtk_widget_show_all (G_TYPE_CHECK_INSTANCE_CAST (_tmp37_, gtk_widget_get_type (), GtkWidget));
+#line 421 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ return self;
+#line 4992 "SavedSearchDialog.c"
+}
+
+
+static SavedSearchDialogSearchRowRating* saved_search_dialog_search_row_rating_new (SavedSearchDialogSearchRowContainer* parent) {
+#line 421 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ return saved_search_dialog_search_row_rating_construct (SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW_RATING, parent);
+#line 4999 "SavedSearchDialog.c"
+}
+
+
+static GtkWidget* saved_search_dialog_search_row_rating_real_get_widget (SavedSearchDialogSearchRow* base) {
+ SavedSearchDialogSearchRowRating * self;
+ GtkWidget* result = NULL;
+ GtkBox* _tmp0_ = NULL;
+ GtkWidget* _tmp1_ = NULL;
+#line 455 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ self = G_TYPE_CHECK_INSTANCE_CAST (base, SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW_RATING, SavedSearchDialogSearchRowRating);
+#line 456 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp0_ = self->priv->box;
+#line 456 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp1_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, gtk_widget_get_type (), GtkWidget));
+#line 456 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ result = _tmp1_;
+#line 456 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ return result;
+#line 5018 "SavedSearchDialog.c"
+}
+
+
+static SearchCondition* saved_search_dialog_search_row_rating_real_get_search_condition (SavedSearchDialogSearchRow* base) {
+ SavedSearchDialogSearchRowRating * self;
+ SearchCondition* result = NULL;
+ SearchConditionSearchType search_type = 0;
+ SavedSearchDialogSearchRowContainer* _tmp0_ = NULL;
+ SearchConditionSearchType _tmp1_ = 0;
+ Rating search_rating = 0;
+ GtkComboBoxText* _tmp2_ = NULL;
+ gint _tmp3_ = 0;
+ SearchConditionRatingContext search_context = 0;
+ GtkComboBoxText* _tmp4_ = NULL;
+ gint _tmp5_ = 0;
+ SearchConditionRating* c = NULL;
+ SearchConditionRating* _tmp6_ = NULL;
+#line 459 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ self = G_TYPE_CHECK_INSTANCE_CAST (base, SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW_RATING, SavedSearchDialogSearchRowRating);
+#line 460 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp0_ = self->priv->parent;
+#line 460 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp1_ = saved_search_dialog_search_row_container_get_search_type (_tmp0_);
+#line 460 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ search_type = _tmp1_;
+#line 461 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp2_ = self->priv->rating;
+#line 461 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp3_ = gtk_combo_box_get_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, gtk_combo_box_get_type (), GtkComboBox));
+#line 461 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ search_rating = ((Rating) _tmp3_) + RATING_REJECTED;
+#line 462 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp4_ = self->priv->context;
+#line 462 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp5_ = gtk_combo_box_get_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, gtk_combo_box_get_type (), GtkComboBox));
+#line 462 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ search_context = (SearchConditionRatingContext) _tmp5_;
+#line 463 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp6_ = search_condition_rating_new (search_type, search_rating, search_context);
+#line 463 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ c = _tmp6_;
+#line 464 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ result = G_TYPE_CHECK_INSTANCE_CAST (c, TYPE_SEARCH_CONDITION, SearchCondition);
+#line 464 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ return result;
+#line 5064 "SavedSearchDialog.c"
+}
+
+
+static void saved_search_dialog_search_row_rating_real_populate (SavedSearchDialogSearchRow* base, SearchCondition* sc) {
+ SavedSearchDialogSearchRowRating * self;
+ SearchConditionRating* r = NULL;
+ SearchCondition* _tmp0_ = NULL;
+ SearchConditionRating* _tmp1_ = NULL;
+ GtkComboBoxText* _tmp2_ = NULL;
+ SearchConditionRatingContext _tmp3_ = 0;
+ SearchConditionRatingContext _tmp4_ = 0;
+ GtkComboBoxText* _tmp5_ = NULL;
+ Rating _tmp6_ = 0;
+ Rating _tmp7_ = 0;
+#line 467 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ self = G_TYPE_CHECK_INSTANCE_CAST (base, SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW_RATING, SavedSearchDialogSearchRowRating);
+#line 467 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ g_return_if_fail (IS_SEARCH_CONDITION (sc));
+#line 468 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp0_ = sc;
+#line 468 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp1_ = _search_condition_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp0_, TYPE_SEARCH_CONDITION_RATING) ? ((SearchConditionRating*) _tmp0_) : NULL);
+#line 468 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ r = _tmp1_;
+#line 469 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _vala_assert (r != NULL, "r != null");
+#line 470 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp2_ = self->priv->context;
+#line 470 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp3_ = search_condition_rating_get_context (r);
+#line 470 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp4_ = _tmp3_;
+#line 470 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ gtk_combo_box_set_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, gtk_combo_box_get_type (), GtkComboBox), (gint) _tmp4_);
+#line 471 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp5_ = self->priv->rating;
+#line 471 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp6_ = search_condition_rating_get_rating (r);
+#line 471 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp7_ = _tmp6_;
+#line 471 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ gtk_combo_box_set_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, gtk_combo_box_get_type (), GtkComboBox), (gint) (_tmp7_ - RATING_REJECTED));
+#line 467 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _search_condition_unref0 (r);
+#line 5109 "SavedSearchDialog.c"
+}
+
+
+static gboolean saved_search_dialog_search_row_rating_real_is_complete (SavedSearchDialogSearchRow* base) {
+ SavedSearchDialogSearchRowRating * self;
+ gboolean result = FALSE;
+#line 474 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ self = G_TYPE_CHECK_INSTANCE_CAST (base, SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW_RATING, SavedSearchDialogSearchRowRating);
+#line 475 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ result = TRUE;
+#line 475 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ return result;
+#line 5122 "SavedSearchDialog.c"
+}
+
+
+static void saved_search_dialog_search_row_rating_on_changed (SavedSearchDialogSearchRowRating* self) {
+ SavedSearchDialogSearchRowContainer* _tmp0_ = NULL;
+ SavedSearchDialogSearchRowContainer* _tmp1_ = NULL;
+#line 478 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ g_return_if_fail (SAVED_SEARCH_DIALOG_IS_SEARCH_ROW_RATING (self));
+#line 479 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp0_ = self->priv->parent;
+#line 479 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp1_ = self->priv->parent;
+#line 479 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ g_signal_emit_by_name (_tmp0_, "changed", _tmp1_);
+#line 5137 "SavedSearchDialog.c"
+}
+
+
+static void saved_search_dialog_search_row_rating_class_init (SavedSearchDialogSearchRowRatingClass * klass) {
+#line 414 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ saved_search_dialog_search_row_rating_parent_class = g_type_class_peek_parent (klass);
+#line 414 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ ((SavedSearchDialogSearchRowClass *) klass)->finalize = saved_search_dialog_search_row_rating_finalize;
+#line 414 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ g_type_class_add_private (klass, sizeof (SavedSearchDialogSearchRowRatingPrivate));
+#line 414 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ ((SavedSearchDialogSearchRowClass *) klass)->get_widget = saved_search_dialog_search_row_rating_real_get_widget;
+#line 414 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ ((SavedSearchDialogSearchRowClass *) klass)->get_search_condition = saved_search_dialog_search_row_rating_real_get_search_condition;
+#line 414 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ ((SavedSearchDialogSearchRowClass *) klass)->populate = saved_search_dialog_search_row_rating_real_populate;
+#line 414 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ ((SavedSearchDialogSearchRowClass *) klass)->is_complete = saved_search_dialog_search_row_rating_real_is_complete;
+#line 5156 "SavedSearchDialog.c"
+}
+
+
+static void saved_search_dialog_search_row_rating_instance_init (SavedSearchDialogSearchRowRating * self) {
+#line 414 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ self->priv = SAVED_SEARCH_DIALOG_SEARCH_ROW_RATING_GET_PRIVATE (self);
+#line 5163 "SavedSearchDialog.c"
+}
+
+
+static void saved_search_dialog_search_row_rating_finalize (SavedSearchDialogSearchRow* obj) {
+ SavedSearchDialogSearchRowRating * self;
+ GtkComboBoxText* _tmp0_ = NULL;
+ guint _tmp1_ = 0U;
+ GtkComboBoxText* _tmp2_ = NULL;
+ guint _tmp3_ = 0U;
+#line 414 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ self = G_TYPE_CHECK_INSTANCE_CAST (obj, SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW_RATING, SavedSearchDialogSearchRowRating);
+#line 451 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp0_ = self->priv->rating;
+#line 451 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ g_signal_parse_name ("changed", gtk_combo_box_get_type (), &_tmp1_, NULL, FALSE);
+#line 451 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ g_signal_handlers_disconnect_matched (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, gtk_combo_box_get_type (), GtkComboBox), G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp1_, 0, NULL, (GCallback) _saved_search_dialog_search_row_rating_on_changed_gtk_combo_box_changed, self);
+#line 452 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp2_ = self->priv->context;
+#line 452 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ g_signal_parse_name ("changed", gtk_combo_box_get_type (), &_tmp3_, NULL, FALSE);
+#line 452 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ g_signal_handlers_disconnect_matched (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, gtk_combo_box_get_type (), GtkComboBox), G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp3_, 0, NULL, (GCallback) _saved_search_dialog_search_row_rating_on_changed_gtk_combo_box_changed, self);
+#line 415 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _g_object_unref0 (self->priv->box);
+#line 416 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _g_object_unref0 (self->priv->rating);
+#line 417 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _g_object_unref0 (self->priv->context);
+#line 419 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _saved_search_dialog_search_row_container_unref0 (self->priv->parent);
+#line 414 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ SAVED_SEARCH_DIALOG_SEARCH_ROW_CLASS (saved_search_dialog_search_row_rating_parent_class)->finalize (obj);
+#line 5197 "SavedSearchDialog.c"
+}
+
+
+static GType saved_search_dialog_search_row_rating_get_type (void) {
+ static volatile gsize saved_search_dialog_search_row_rating_type_id__volatile = 0;
+ if (g_once_init_enter (&saved_search_dialog_search_row_rating_type_id__volatile)) {
+ static const GTypeInfo g_define_type_info = { sizeof (SavedSearchDialogSearchRowRatingClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) saved_search_dialog_search_row_rating_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (SavedSearchDialogSearchRowRating), 0, (GInstanceInitFunc) saved_search_dialog_search_row_rating_instance_init, NULL };
+ GType saved_search_dialog_search_row_rating_type_id;
+ saved_search_dialog_search_row_rating_type_id = g_type_register_static (SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW, "SavedSearchDialogSearchRowRating", &g_define_type_info, 0);
+ g_once_init_leave (&saved_search_dialog_search_row_rating_type_id__volatile, saved_search_dialog_search_row_rating_type_id);
+ }
+ return saved_search_dialog_search_row_rating_type_id__volatile;
+}
+
+
+static void _saved_search_dialog_search_row_date_on_changed_gtk_combo_box_changed (GtkComboBox* _sender, gpointer self) {
+#line 529 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ saved_search_dialog_search_row_date_on_changed ((SavedSearchDialogSearchRowDate*) self);
+#line 5216 "SavedSearchDialog.c"
+}
+
+
+static void _saved_search_dialog_search_row_date_on_one_clicked_gtk_button_clicked (GtkButton* _sender, gpointer self) {
+#line 512 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ saved_search_dialog_search_row_date_on_one_clicked ((SavedSearchDialogSearchRowDate*) self);
+#line 5223 "SavedSearchDialog.c"
+}
+
+
+static void _saved_search_dialog_search_row_date_on_two_clicked_gtk_button_clicked (GtkButton* _sender, gpointer self) {
+#line 514 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ saved_search_dialog_search_row_date_on_two_clicked ((SavedSearchDialogSearchRowDate*) self);
+#line 5230 "SavedSearchDialog.c"
+}
+
+
+static SavedSearchDialogSearchRowDate* saved_search_dialog_search_row_date_construct (GType object_type, SavedSearchDialogSearchRowContainer* parent) {
+ SavedSearchDialogSearchRowDate* self = NULL;
+ SavedSearchDialogSearchRowContainer* _tmp0_ = NULL;
+ SavedSearchDialogSearchRowContainer* _tmp1_ = NULL;
+ GtkComboBoxText* _tmp2_ = NULL;
+ GtkComboBoxText* _tmp3_ = NULL;
+ const gchar* _tmp4_ = NULL;
+ GtkComboBoxText* _tmp5_ = NULL;
+ const gchar* _tmp6_ = NULL;
+ GtkComboBoxText* _tmp7_ = NULL;
+ const gchar* _tmp8_ = NULL;
+ GtkComboBoxText* _tmp9_ = NULL;
+ const gchar* _tmp10_ = NULL;
+ GtkComboBoxText* _tmp11_ = NULL;
+ const gchar* _tmp12_ = NULL;
+ GtkComboBoxText* _tmp13_ = NULL;
+ GtkComboBoxText* _tmp14_ = NULL;
+ GtkCalendar* _tmp15_ = NULL;
+ GtkCalendar* _tmp16_ = NULL;
+ GtkButton* _tmp17_ = NULL;
+ GtkButton* _tmp18_ = NULL;
+ GtkButton* _tmp19_ = NULL;
+ GtkButton* _tmp20_ = NULL;
+ const gchar* _tmp21_ = NULL;
+ GtkLabel* _tmp22_ = NULL;
+ GtkBox* _tmp23_ = NULL;
+ GtkBox* _tmp24_ = NULL;
+ GtkComboBoxText* _tmp25_ = NULL;
+ GtkBox* _tmp26_ = NULL;
+ GtkButton* _tmp27_ = NULL;
+ GtkBox* _tmp28_ = NULL;
+ GtkLabel* _tmp29_ = NULL;
+ GtkBox* _tmp30_ = NULL;
+ GtkButton* _tmp31_ = NULL;
+ GtkBox* _tmp32_ = NULL;
+#line 495 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ g_return_val_if_fail (SAVED_SEARCH_DIALOG_IS_SEARCH_ROW_CONTAINER (parent), NULL);
+#line 495 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ self = (SavedSearchDialogSearchRowDate*) saved_search_dialog_search_row_construct (object_type);
+#line 496 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp0_ = parent;
+#line 496 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp1_ = _saved_search_dialog_search_row_container_ref0 (_tmp0_);
+#line 496 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _saved_search_dialog_search_row_container_unref0 (self->priv->parent);
+#line 496 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ self->priv->parent = _tmp1_;
+#line 499 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp2_ = (GtkComboBoxText*) gtk_combo_box_text_new ();
+#line 499 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ g_object_ref_sink (_tmp2_);
+#line 499 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _g_object_unref0 (self->priv->context);
+#line 499 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ self->priv->context = _tmp2_;
+#line 500 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp3_ = self->priv->context;
+#line 500 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp4_ = _ ("is exactly");
+#line 500 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ gtk_combo_box_text_append_text (_tmp3_, _tmp4_);
+#line 501 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp5_ = self->priv->context;
+#line 501 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp6_ = _ ("is after");
+#line 501 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ gtk_combo_box_text_append_text (_tmp5_, _tmp6_);
+#line 502 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp7_ = self->priv->context;
+#line 502 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp8_ = _ ("is before");
+#line 502 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ gtk_combo_box_text_append_text (_tmp7_, _tmp8_);
+#line 503 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp9_ = self->priv->context;
+#line 503 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp10_ = _ ("is between");
+#line 503 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ gtk_combo_box_text_append_text (_tmp9_, _tmp10_);
+#line 504 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp11_ = self->priv->context;
+#line 504 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp12_ = _ ("is not set");
+#line 504 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ gtk_combo_box_text_append_text (_tmp11_, _tmp12_);
+#line 505 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp13_ = self->priv->context;
+#line 505 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ gtk_combo_box_set_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp13_, gtk_combo_box_get_type (), GtkComboBox), 0);
+#line 506 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp14_ = self->priv->context;
+#line 506 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ g_signal_connect (G_TYPE_CHECK_INSTANCE_CAST (_tmp14_, gtk_combo_box_get_type (), GtkComboBox), "changed", (GCallback) _saved_search_dialog_search_row_date_on_changed_gtk_combo_box_changed, self);
+#line 508 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp15_ = (GtkCalendar*) gtk_calendar_new ();
+#line 508 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ g_object_ref_sink (_tmp15_);
+#line 508 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _g_object_unref0 (self->priv->cal_one);
+#line 508 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ self->priv->cal_one = _tmp15_;
+#line 509 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp16_ = (GtkCalendar*) gtk_calendar_new ();
+#line 509 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ g_object_ref_sink (_tmp16_);
+#line 509 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _g_object_unref0 (self->priv->cal_two);
+#line 509 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ self->priv->cal_two = _tmp16_;
+#line 511 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp17_ = (GtkButton*) gtk_button_new ();
+#line 511 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ g_object_ref_sink (_tmp17_);
+#line 511 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _g_object_unref0 (self->priv->label_one);
+#line 511 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ self->priv->label_one = _tmp17_;
+#line 512 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp18_ = self->priv->label_one;
+#line 512 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ g_signal_connect (_tmp18_, "clicked", (GCallback) _saved_search_dialog_search_row_date_on_one_clicked_gtk_button_clicked, self);
+#line 513 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp19_ = (GtkButton*) gtk_button_new ();
+#line 513 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ g_object_ref_sink (_tmp19_);
+#line 513 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _g_object_unref0 (self->priv->label_two);
+#line 513 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ self->priv->label_two = _tmp19_;
+#line 514 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp20_ = self->priv->label_two;
+#line 514 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ g_signal_connect (_tmp20_, "clicked", (GCallback) _saved_search_dialog_search_row_date_on_two_clicked_gtk_button_clicked, self);
+#line 516 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp21_ = _ ("and");
+#line 516 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp22_ = (GtkLabel*) gtk_label_new (_tmp21_);
+#line 516 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ g_object_ref_sink (_tmp22_);
+#line 516 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _g_object_unref0 (self->priv->and);
+#line 516 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ self->priv->and = _tmp22_;
+#line 518 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp23_ = (GtkBox*) gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 3);
+#line 518 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ g_object_ref_sink (_tmp23_);
+#line 518 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _g_object_unref0 (self->priv->box);
+#line 518 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ self->priv->box = _tmp23_;
+#line 519 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp24_ = self->priv->box;
+#line 519 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp25_ = self->priv->context;
+#line 519 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ gtk_box_pack_start (_tmp24_, G_TYPE_CHECK_INSTANCE_CAST (_tmp25_, gtk_widget_get_type (), GtkWidget), FALSE, FALSE, (guint) 0);
+#line 520 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp26_ = self->priv->box;
+#line 520 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp27_ = self->priv->label_one;
+#line 520 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ gtk_box_pack_start (_tmp26_, G_TYPE_CHECK_INSTANCE_CAST (_tmp27_, gtk_widget_get_type (), GtkWidget), FALSE, FALSE, (guint) 0);
+#line 521 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp28_ = self->priv->box;
+#line 521 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp29_ = self->priv->and;
+#line 521 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ gtk_box_pack_start (_tmp28_, G_TYPE_CHECK_INSTANCE_CAST (_tmp29_, gtk_widget_get_type (), GtkWidget), FALSE, FALSE, (guint) 0);
+#line 522 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp30_ = self->priv->box;
+#line 522 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp31_ = self->priv->label_two;
+#line 522 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ gtk_box_pack_start (_tmp30_, G_TYPE_CHECK_INSTANCE_CAST (_tmp31_, gtk_widget_get_type (), GtkWidget), FALSE, FALSE, (guint) 0);
+#line 524 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp32_ = self->priv->box;
+#line 524 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ gtk_widget_show_all (G_TYPE_CHECK_INSTANCE_CAST (_tmp32_, gtk_widget_get_type (), GtkWidget));
+#line 525 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ saved_search_dialog_search_row_date_update_date_labels (self);
+#line 495 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ return self;
+#line 5417 "SavedSearchDialog.c"
+}
+
+
+static SavedSearchDialogSearchRowDate* saved_search_dialog_search_row_date_new (SavedSearchDialogSearchRowContainer* parent) {
+#line 495 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ return saved_search_dialog_search_row_date_construct (SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW_DATE, parent);
+#line 5424 "SavedSearchDialog.c"
+}
+
+
+static void saved_search_dialog_search_row_date_update_date_labels (SavedSearchDialogSearchRowDate* self) {
+ SearchConditionDateContext c = 0;
+ GtkComboBoxText* _tmp0_ = NULL;
+ gint _tmp1_ = 0;
+ SearchConditionDateContext _tmp2_ = 0;
+ GtkButton* _tmp13_ = NULL;
+ GDateTime* _tmp14_ = NULL;
+ GDateTime* _tmp15_ = NULL;
+ gchar* _tmp16_ = NULL;
+ gchar* _tmp17_ = NULL;
+ GtkButton* _tmp18_ = NULL;
+ GDateTime* _tmp19_ = NULL;
+ GDateTime* _tmp20_ = NULL;
+ gchar* _tmp21_ = NULL;
+ gchar* _tmp22_ = NULL;
+#line 532 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ g_return_if_fail (SAVED_SEARCH_DIALOG_IS_SEARCH_ROW_DATE (self));
+#line 533 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp0_ = self->priv->context;
+#line 533 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp1_ = gtk_combo_box_get_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, gtk_combo_box_get_type (), GtkComboBox));
+#line 533 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ c = (SearchConditionDateContext) _tmp1_;
+#line 536 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp2_ = c;
+#line 536 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ if (_tmp2_ == SEARCH_CONDITION_DATE_CONTEXT_BETWEEN) {
+#line 5455 "SavedSearchDialog.c"
+ GtkButton* _tmp3_ = NULL;
+ GtkLabel* _tmp4_ = NULL;
+ GtkButton* _tmp5_ = NULL;
+#line 537 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp3_ = self->priv->label_one;
+#line 537 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ gtk_widget_show (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, gtk_widget_get_type (), GtkWidget));
+#line 538 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp4_ = self->priv->and;
+#line 538 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ gtk_widget_show (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, gtk_widget_get_type (), GtkWidget));
+#line 539 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp5_ = self->priv->label_two;
+#line 539 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ gtk_widget_show (G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, gtk_widget_get_type (), GtkWidget));
+#line 5471 "SavedSearchDialog.c"
+ } else {
+ SearchConditionDateContext _tmp6_ = 0;
+#line 540 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp6_ = c;
+#line 540 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ if (_tmp6_ == SEARCH_CONDITION_DATE_CONTEXT_IS_NOT_SET) {
+#line 5478 "SavedSearchDialog.c"
+ GtkButton* _tmp7_ = NULL;
+ GtkLabel* _tmp8_ = NULL;
+ GtkButton* _tmp9_ = NULL;
+#line 541 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp7_ = self->priv->label_one;
+#line 541 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ gtk_widget_hide (G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, gtk_widget_get_type (), GtkWidget));
+#line 542 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp8_ = self->priv->and;
+#line 542 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ gtk_widget_hide (G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, gtk_widget_get_type (), GtkWidget));
+#line 543 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp9_ = self->priv->label_two;
+#line 543 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ gtk_widget_hide (G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, gtk_widget_get_type (), GtkWidget));
+#line 5494 "SavedSearchDialog.c"
+ } else {
+ GtkButton* _tmp10_ = NULL;
+ GtkLabel* _tmp11_ = NULL;
+ GtkButton* _tmp12_ = NULL;
+#line 545 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp10_ = self->priv->label_one;
+#line 545 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ gtk_widget_show (G_TYPE_CHECK_INSTANCE_CAST (_tmp10_, gtk_widget_get_type (), GtkWidget));
+#line 546 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp11_ = self->priv->and;
+#line 546 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ gtk_widget_hide (G_TYPE_CHECK_INSTANCE_CAST (_tmp11_, gtk_widget_get_type (), GtkWidget));
+#line 547 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp12_ = self->priv->label_two;
+#line 547 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ gtk_widget_hide (G_TYPE_CHECK_INSTANCE_CAST (_tmp12_, gtk_widget_get_type (), GtkWidget));
+#line 5511 "SavedSearchDialog.c"
+ }
+ }
+#line 551 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp13_ = self->priv->label_one;
+#line 551 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp14_ = saved_search_dialog_search_row_date_get_date_one (self);
+#line 551 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp15_ = _tmp14_;
+#line 551 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp16_ = g_date_time_format (_tmp15_, SAVED_SEARCH_DIALOG_SEARCH_ROW_DATE_DATE_FORMAT);
+#line 551 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp17_ = _tmp16_;
+#line 551 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ gtk_button_set_label (_tmp13_, _tmp17_);
+#line 551 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _g_free0 (_tmp17_);
+#line 551 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _g_date_time_unref0 (_tmp15_);
+#line 552 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp18_ = self->priv->label_two;
+#line 552 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp19_ = saved_search_dialog_search_row_date_get_date_two (self);
+#line 552 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp20_ = _tmp19_;
+#line 552 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp21_ = g_date_time_format (_tmp20_, SAVED_SEARCH_DIALOG_SEARCH_ROW_DATE_DATE_FORMAT);
+#line 552 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp22_ = _tmp21_;
+#line 552 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ gtk_button_set_label (_tmp18_, _tmp22_);
+#line 552 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _g_free0 (_tmp22_);
+#line 552 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _g_date_time_unref0 (_tmp20_);
+#line 5546 "SavedSearchDialog.c"
+}
+
+
+static GtkWidget* saved_search_dialog_search_row_date_real_get_widget (SavedSearchDialogSearchRow* base) {
+ SavedSearchDialogSearchRowDate * self;
+ GtkWidget* result = NULL;
+ GtkBox* _tmp0_ = NULL;
+ GtkWidget* _tmp1_ = NULL;
+#line 555 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ self = G_TYPE_CHECK_INSTANCE_CAST (base, SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW_DATE, SavedSearchDialogSearchRowDate);
+#line 556 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp0_ = self->priv->box;
+#line 556 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp1_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, gtk_widget_get_type (), GtkWidget));
+#line 556 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ result = _tmp1_;
+#line 556 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ return result;
+#line 5565 "SavedSearchDialog.c"
+}
+
+
+static GDateTime* saved_search_dialog_search_row_date_get_date_one (SavedSearchDialogSearchRowDate* self) {
+ GDateTime* result = NULL;
+ GtkCalendar* _tmp0_ = NULL;
+ gint _tmp1_ = 0;
+ gint _tmp2_ = 0;
+ GtkCalendar* _tmp3_ = NULL;
+ gint _tmp4_ = 0;
+ gint _tmp5_ = 0;
+ GtkCalendar* _tmp6_ = NULL;
+ gint _tmp7_ = 0;
+ gint _tmp8_ = 0;
+ GDateTime* _tmp9_ = NULL;
+#line 559 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ g_return_val_if_fail (SAVED_SEARCH_DIALOG_IS_SEARCH_ROW_DATE (self), NULL);
+#line 560 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp0_ = self->priv->cal_one;
+#line 560 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ g_object_get (_tmp0_, "year", &_tmp1_, NULL);
+#line 560 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp2_ = _tmp1_;
+#line 560 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp3_ = self->priv->cal_one;
+#line 560 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ g_object_get (_tmp3_, "month", &_tmp4_, NULL);
+#line 560 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp5_ = _tmp4_;
+#line 560 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp6_ = self->priv->cal_one;
+#line 560 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ g_object_get (_tmp6_, "day", &_tmp7_, NULL);
+#line 560 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp8_ = _tmp7_;
+#line 560 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp9_ = g_date_time_new_local (_tmp2_, _tmp5_ + 1, _tmp8_, 0, 0, 0.0);
+#line 560 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ result = _tmp9_;
+#line 560 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ return result;
+#line 5607 "SavedSearchDialog.c"
+}
+
+
+static GDateTime* saved_search_dialog_search_row_date_get_date_two (SavedSearchDialogSearchRowDate* self) {
+ GDateTime* result = NULL;
+ GtkCalendar* _tmp0_ = NULL;
+ gint _tmp1_ = 0;
+ gint _tmp2_ = 0;
+ GtkCalendar* _tmp3_ = NULL;
+ gint _tmp4_ = 0;
+ gint _tmp5_ = 0;
+ GtkCalendar* _tmp6_ = NULL;
+ gint _tmp7_ = 0;
+ gint _tmp8_ = 0;
+ GDateTime* _tmp9_ = NULL;
+#line 563 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ g_return_val_if_fail (SAVED_SEARCH_DIALOG_IS_SEARCH_ROW_DATE (self), NULL);
+#line 564 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp0_ = self->priv->cal_two;
+#line 564 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ g_object_get (_tmp0_, "year", &_tmp1_, NULL);
+#line 564 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp2_ = _tmp1_;
+#line 564 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp3_ = self->priv->cal_two;
+#line 564 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ g_object_get (_tmp3_, "month", &_tmp4_, NULL);
+#line 564 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp5_ = _tmp4_;
+#line 564 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp6_ = self->priv->cal_two;
+#line 564 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ g_object_get (_tmp6_, "day", &_tmp7_, NULL);
+#line 564 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp8_ = _tmp7_;
+#line 564 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp9_ = g_date_time_new_local (_tmp2_, _tmp5_ + 1, _tmp8_, 0, 0, 0.0);
+#line 564 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ result = _tmp9_;
+#line 564 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ return result;
+#line 5649 "SavedSearchDialog.c"
+}
+
+
+static void saved_search_dialog_search_row_date_set_date_one (SavedSearchDialogSearchRowDate* self, GDateTime* date) {
+ GtkCalendar* _tmp0_ = NULL;
+ GDateTime* _tmp1_ = NULL;
+ gint _tmp2_ = 0;
+ GtkCalendar* _tmp3_ = NULL;
+ GDateTime* _tmp4_ = NULL;
+ gint _tmp5_ = 0;
+ GtkCalendar* _tmp6_ = NULL;
+ GDateTime* _tmp7_ = NULL;
+ gint _tmp8_ = 0;
+#line 567 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ g_return_if_fail (SAVED_SEARCH_DIALOG_IS_SEARCH_ROW_DATE (self));
+#line 567 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ g_return_if_fail (date != NULL);
+#line 568 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp0_ = self->priv->cal_one;
+#line 568 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp1_ = date;
+#line 568 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp2_ = g_date_time_get_day_of_month (_tmp1_);
+#line 568 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ g_object_set (_tmp0_, "day", _tmp2_, NULL);
+#line 569 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp3_ = self->priv->cal_one;
+#line 569 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp4_ = date;
+#line 569 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp5_ = g_date_time_get_month (_tmp4_);
+#line 569 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ g_object_set (_tmp3_, "month", _tmp5_ - 1, NULL);
+#line 570 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp6_ = self->priv->cal_one;
+#line 570 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp7_ = date;
+#line 570 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp8_ = g_date_time_get_year (_tmp7_);
+#line 570 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ g_object_set (_tmp6_, "year", _tmp8_, NULL);
+#line 5691 "SavedSearchDialog.c"
+}
+
+
+static void saved_search_dialog_search_row_date_set_date_two (SavedSearchDialogSearchRowDate* self, GDateTime* date) {
+ GtkCalendar* _tmp0_ = NULL;
+ GDateTime* _tmp1_ = NULL;
+ gint _tmp2_ = 0;
+ GtkCalendar* _tmp3_ = NULL;
+ GDateTime* _tmp4_ = NULL;
+ gint _tmp5_ = 0;
+ GtkCalendar* _tmp6_ = NULL;
+ GDateTime* _tmp7_ = NULL;
+ gint _tmp8_ = 0;
+#line 573 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ g_return_if_fail (SAVED_SEARCH_DIALOG_IS_SEARCH_ROW_DATE (self));
+#line 573 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ g_return_if_fail (date != NULL);
+#line 574 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp0_ = self->priv->cal_two;
+#line 574 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp1_ = date;
+#line 574 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp2_ = g_date_time_get_day_of_month (_tmp1_);
+#line 574 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ g_object_set (_tmp0_, "day", _tmp2_, NULL);
+#line 575 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp3_ = self->priv->cal_two;
+#line 575 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp4_ = date;
+#line 575 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp5_ = g_date_time_get_month (_tmp4_);
+#line 575 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ g_object_set (_tmp3_, "month", _tmp5_ - 1, NULL);
+#line 576 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp6_ = self->priv->cal_two;
+#line 576 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp7_ = date;
+#line 576 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp8_ = g_date_time_get_year (_tmp7_);
+#line 576 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ g_object_set (_tmp6_, "year", _tmp8_, NULL);
+#line 5733 "SavedSearchDialog.c"
+}
+
+
+static SearchCondition* saved_search_dialog_search_row_date_real_get_search_condition (SavedSearchDialogSearchRow* base) {
+ SavedSearchDialogSearchRowDate * self;
+ SearchCondition* result = NULL;
+ SearchConditionSearchType search_type = 0;
+ SavedSearchDialogSearchRowContainer* _tmp0_ = NULL;
+ SearchConditionSearchType _tmp1_ = 0;
+ SearchConditionDateContext search_context = 0;
+ GtkComboBoxText* _tmp2_ = NULL;
+ gint _tmp3_ = 0;
+ SearchConditionDate* c = NULL;
+ GDateTime* _tmp4_ = NULL;
+ GDateTime* _tmp5_ = NULL;
+ GDateTime* _tmp6_ = NULL;
+ GDateTime* _tmp7_ = NULL;
+ SearchConditionDate* _tmp8_ = NULL;
+ SearchConditionDate* _tmp9_ = NULL;
+#line 579 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ self = G_TYPE_CHECK_INSTANCE_CAST (base, SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW_DATE, SavedSearchDialogSearchRowDate);
+#line 580 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp0_ = self->priv->parent;
+#line 580 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp1_ = saved_search_dialog_search_row_container_get_search_type (_tmp0_);
+#line 580 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ search_type = _tmp1_;
+#line 581 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp2_ = self->priv->context;
+#line 581 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp3_ = gtk_combo_box_get_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, gtk_combo_box_get_type (), GtkComboBox));
+#line 581 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ search_context = (SearchConditionDateContext) _tmp3_;
+#line 582 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp4_ = saved_search_dialog_search_row_date_get_date_one (self);
+#line 582 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp5_ = _tmp4_;
+#line 582 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp6_ = saved_search_dialog_search_row_date_get_date_two (self);
+#line 582 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp7_ = _tmp6_;
+#line 582 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp8_ = search_condition_date_new (search_type, search_context, _tmp5_, _tmp7_);
+#line 582 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp9_ = _tmp8_;
+#line 582 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _g_date_time_unref0 (_tmp7_);
+#line 582 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _g_date_time_unref0 (_tmp5_);
+#line 582 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ c = _tmp9_;
+#line 584 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ result = G_TYPE_CHECK_INSTANCE_CAST (c, TYPE_SEARCH_CONDITION, SearchCondition);
+#line 584 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ return result;
+#line 5789 "SavedSearchDialog.c"
+}
+
+
+static void saved_search_dialog_search_row_date_real_populate (SavedSearchDialogSearchRow* base, SearchCondition* sc) {
+ SavedSearchDialogSearchRowDate * self;
+ SearchConditionDate* cond = NULL;
+ SearchCondition* _tmp0_ = NULL;
+ SearchConditionDate* _tmp1_ = NULL;
+ GtkComboBoxText* _tmp2_ = NULL;
+ SearchConditionDateContext _tmp3_ = 0;
+ SearchConditionDateContext _tmp4_ = 0;
+ GDateTime* _tmp5_ = NULL;
+ GDateTime* _tmp6_ = NULL;
+ GDateTime* _tmp7_ = NULL;
+ GDateTime* _tmp8_ = NULL;
+#line 587 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ self = G_TYPE_CHECK_INSTANCE_CAST (base, SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW_DATE, SavedSearchDialogSearchRowDate);
+#line 587 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ g_return_if_fail (IS_SEARCH_CONDITION (sc));
+#line 588 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp0_ = sc;
+#line 588 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp1_ = _search_condition_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp0_, TYPE_SEARCH_CONDITION_DATE) ? ((SearchConditionDate*) _tmp0_) : NULL);
+#line 588 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ cond = _tmp1_;
+#line 589 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _vala_assert (cond != NULL, "cond != null");
+#line 590 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp2_ = self->priv->context;
+#line 590 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp3_ = search_condition_date_get_context (cond);
+#line 590 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp4_ = _tmp3_;
+#line 590 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ gtk_combo_box_set_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, gtk_combo_box_get_type (), GtkComboBox), (gint) _tmp4_);
+#line 591 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp5_ = search_condition_date_get_date_one (cond);
+#line 591 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp6_ = _tmp5_;
+#line 591 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ saved_search_dialog_search_row_date_set_date_one (self, _tmp6_);
+#line 592 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp7_ = search_condition_date_get_date_two (cond);
+#line 592 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp8_ = _tmp7_;
+#line 592 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ saved_search_dialog_search_row_date_set_date_two (self, _tmp8_);
+#line 593 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ saved_search_dialog_search_row_date_update_date_labels (self);
+#line 587 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _search_condition_unref0 (cond);
+#line 5841 "SavedSearchDialog.c"
+}
+
+
+static gboolean saved_search_dialog_search_row_date_real_is_complete (SavedSearchDialogSearchRow* base) {
+ SavedSearchDialogSearchRowDate * self;
+ gboolean result = FALSE;
+#line 596 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ self = G_TYPE_CHECK_INSTANCE_CAST (base, SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW_DATE, SavedSearchDialogSearchRowDate);
+#line 597 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ result = TRUE;
+#line 597 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ return result;
+#line 5854 "SavedSearchDialog.c"
+}
+
+
+static void saved_search_dialog_search_row_date_on_changed (SavedSearchDialogSearchRowDate* self) {
+ SavedSearchDialogSearchRowContainer* _tmp0_ = NULL;
+ SavedSearchDialogSearchRowContainer* _tmp1_ = NULL;
+#line 600 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ g_return_if_fail (SAVED_SEARCH_DIALOG_IS_SEARCH_ROW_DATE (self));
+#line 601 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp0_ = self->priv->parent;
+#line 601 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp1_ = self->priv->parent;
+#line 601 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ g_signal_emit_by_name (_tmp0_, "changed", _tmp1_);
+#line 602 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ saved_search_dialog_search_row_date_update_date_labels (self);
+#line 5871 "SavedSearchDialog.c"
+}
+
+
+static Block9Data* block9_data_ref (Block9Data* _data9_) {
+#line 605 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ g_atomic_int_inc (&_data9_->_ref_count_);
+#line 605 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ return _data9_;
+#line 5880 "SavedSearchDialog.c"
+}
+
+
+static void block9_data_unref (void * _userdata_) {
+ Block9Data* _data9_;
+ _data9_ = (Block9Data*) _userdata_;
+#line 605 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ if (g_atomic_int_dec_and_test (&_data9_->_ref_count_)) {
+#line 5889 "SavedSearchDialog.c"
+ SavedSearchDialogSearchRowDate* self;
+#line 605 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ self = _data9_->self;
+#line 605 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _g_object_unref0 (_data9_->d);
+#line 605 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _saved_search_dialog_search_row_unref0 (self);
+#line 605 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ g_slice_free (Block9Data, _data9_);
+#line 5899 "SavedSearchDialog.c"
+ }
+}
+
+
+static void __lambda12_ (SavedSearchDialogSearchRowDate* self) {
+#line 616 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ saved_search_dialog_search_row_date_update_date_labels (self);
+#line 5907 "SavedSearchDialog.c"
+}
+
+
+static void ___lambda12__gtk_calendar_day_selected (GtkCalendar* _sender, gpointer self) {
+#line 616 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ __lambda12_ ((SavedSearchDialogSearchRowDate*) self);
+#line 5914 "SavedSearchDialog.c"
+}
+
+
+static void __lambda13_ (Block9Data* _data9_) {
+ SavedSearchDialogSearchRowDate* self;
+ GtkDialog* _tmp0_ = NULL;
+#line 617 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ self = _data9_->self;
+#line 618 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp0_ = _data9_->d;
+#line 618 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ gtk_dialog_response (_tmp0_, (gint) GTK_RESPONSE_ACCEPT);
+#line 5927 "SavedSearchDialog.c"
+}
+
+
+static void ___lambda13__gtk_calendar_day_selected_double_click (GtkCalendar* _sender, gpointer self) {
+#line 617 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ __lambda13_ (self);
+#line 5934 "SavedSearchDialog.c"
+}
+
+
+static void saved_search_dialog_search_row_date_popup_calendar (SavedSearchDialogSearchRowDate* self, GtkCalendar* cal) {
+ Block9Data* _data9_;
+ gint orig_day = 0;
+ GtkCalendar* _tmp0_ = NULL;
+ gint _tmp1_ = 0;
+ gint _tmp2_ = 0;
+ gint orig_month = 0;
+ GtkCalendar* _tmp3_ = NULL;
+ gint _tmp4_ = 0;
+ gint _tmp5_ = 0;
+ gint orig_year = 0;
+ GtkCalendar* _tmp6_ = NULL;
+ gint _tmp7_ = 0;
+ gint _tmp8_ = 0;
+ GtkDialog* _tmp9_ = NULL;
+ GtkDialog* _tmp10_ = NULL;
+ GtkDialog* _tmp11_ = NULL;
+ GtkDialog* _tmp12_ = NULL;
+ GtkDialog* _tmp13_ = NULL;
+ GtkBox* _tmp14_ = NULL;
+ GtkCalendar* _tmp15_ = NULL;
+ gulong id_1 = 0UL;
+ GtkCalendar* _tmp16_ = NULL;
+ gulong _tmp17_ = 0UL;
+ gulong id_2 = 0UL;
+ GtkCalendar* _tmp18_ = NULL;
+ gulong _tmp19_ = 0UL;
+ GtkDialog* _tmp20_ = NULL;
+ gint res = 0;
+ GtkDialog* _tmp21_ = NULL;
+ gint _tmp22_ = 0;
+ gint _tmp23_ = 0;
+ GtkCalendar* _tmp30_ = NULL;
+ gulong _tmp31_ = 0UL;
+ GtkCalendar* _tmp32_ = NULL;
+ gulong _tmp33_ = 0UL;
+ GtkDialog* _tmp34_ = NULL;
+#line 605 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ g_return_if_fail (SAVED_SEARCH_DIALOG_IS_SEARCH_ROW_DATE (self));
+#line 605 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ g_return_if_fail (GTK_IS_CALENDAR (cal));
+#line 605 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _data9_ = g_slice_new0 (Block9Data);
+#line 605 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _data9_->_ref_count_ = 1;
+#line 605 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _data9_->self = saved_search_dialog_search_row_ref (self);
+#line 606 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp0_ = cal;
+#line 606 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ g_object_get (_tmp0_, "day", &_tmp1_, NULL);
+#line 606 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp2_ = _tmp1_;
+#line 606 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ orig_day = _tmp2_;
+#line 607 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp3_ = cal;
+#line 607 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ g_object_get (_tmp3_, "month", &_tmp4_, NULL);
+#line 607 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp5_ = _tmp4_;
+#line 607 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ orig_month = _tmp5_;
+#line 608 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp6_ = cal;
+#line 608 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ g_object_get (_tmp6_, "year", &_tmp7_, NULL);
+#line 608 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp8_ = _tmp7_;
+#line 608 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ orig_year = _tmp8_;
+#line 609 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp9_ = (GtkDialog*) gtk_dialog_new_with_buttons (NULL, NULL, GTK_DIALOG_MODAL, RESOURCES_CANCEL_LABEL, GTK_RESPONSE_REJECT, RESOURCES_OK_LABEL, GTK_RESPONSE_ACCEPT, NULL);
+#line 609 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ g_object_ref_sink (_tmp9_);
+#line 609 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _data9_->d = _tmp9_;
+#line 612 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp10_ = _data9_->d;
+#line 612 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ gtk_window_set_modal (G_TYPE_CHECK_INSTANCE_CAST (_tmp10_, gtk_window_get_type (), GtkWindow), TRUE);
+#line 613 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp11_ = _data9_->d;
+#line 613 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ gtk_window_set_resizable (G_TYPE_CHECK_INSTANCE_CAST (_tmp11_, gtk_window_get_type (), GtkWindow), FALSE);
+#line 614 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp12_ = _data9_->d;
+#line 614 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ gtk_window_set_decorated (G_TYPE_CHECK_INSTANCE_CAST (_tmp12_, gtk_window_get_type (), GtkWindow), FALSE);
+#line 615 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp13_ = _data9_->d;
+#line 615 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp14_ = (GtkBox*) gtk_dialog_get_content_area (_tmp13_);
+#line 615 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp15_ = cal;
+#line 615 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ gtk_container_add (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (_tmp14_, gtk_box_get_type (), GtkBox), gtk_container_get_type (), GtkContainer), G_TYPE_CHECK_INSTANCE_CAST (_tmp15_, gtk_widget_get_type (), GtkWidget));
+#line 616 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp16_ = cal;
+#line 616 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp17_ = g_signal_connect (_tmp16_, "day-selected", (GCallback) ___lambda12__gtk_calendar_day_selected, self);
+#line 616 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ id_1 = _tmp17_;
+#line 617 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp18_ = cal;
+#line 617 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp19_ = g_signal_connect_data (_tmp18_, "day-selected-double-click", (GCallback) ___lambda13__gtk_calendar_day_selected_double_click, block9_data_ref (_data9_), (GClosureNotify) block9_data_unref, 0);
+#line 617 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ id_2 = _tmp19_;
+#line 620 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp20_ = _data9_->d;
+#line 620 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ gtk_widget_show_all (G_TYPE_CHECK_INSTANCE_CAST (_tmp20_, gtk_widget_get_type (), GtkWidget));
+#line 621 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp21_ = _data9_->d;
+#line 621 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp22_ = gtk_dialog_run (_tmp21_);
+#line 621 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ res = _tmp22_;
+#line 622 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp23_ = res;
+#line 622 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ if (_tmp23_ != ((gint) GTK_RESPONSE_ACCEPT)) {
+#line 6061 "SavedSearchDialog.c"
+ GtkCalendar* _tmp24_ = NULL;
+ gint _tmp25_ = 0;
+ GtkCalendar* _tmp26_ = NULL;
+ gint _tmp27_ = 0;
+ GtkCalendar* _tmp28_ = NULL;
+ gint _tmp29_ = 0;
+#line 624 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp24_ = cal;
+#line 624 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp25_ = orig_day;
+#line 624 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ g_object_set (_tmp24_, "day", _tmp25_, NULL);
+#line 625 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp26_ = cal;
+#line 625 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp27_ = orig_month;
+#line 625 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ g_object_set (_tmp26_, "month", _tmp27_, NULL);
+#line 626 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp28_ = cal;
+#line 626 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp29_ = orig_year;
+#line 626 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ g_object_set (_tmp28_, "year", _tmp29_, NULL);
+#line 6086 "SavedSearchDialog.c"
+ }
+#line 628 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp30_ = cal;
+#line 628 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp31_ = id_1;
+#line 628 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ g_signal_handler_disconnect (G_TYPE_CHECK_INSTANCE_CAST (_tmp30_, G_TYPE_OBJECT, GObject), _tmp31_);
+#line 629 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp32_ = cal;
+#line 629 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp33_ = id_2;
+#line 629 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ g_signal_handler_disconnect (G_TYPE_CHECK_INSTANCE_CAST (_tmp32_, G_TYPE_OBJECT, GObject), _tmp33_);
+#line 630 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp34_ = _data9_->d;
+#line 630 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ gtk_widget_destroy (G_TYPE_CHECK_INSTANCE_CAST (_tmp34_, gtk_widget_get_type (), GtkWidget));
+#line 631 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ saved_search_dialog_search_row_date_update_date_labels (self);
+#line 605 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ block9_data_unref (_data9_);
+#line 605 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _data9_ = NULL;
+#line 6110 "SavedSearchDialog.c"
+}
+
+
+static void saved_search_dialog_search_row_date_on_one_clicked (SavedSearchDialogSearchRowDate* self) {
+ GtkCalendar* _tmp0_ = NULL;
+#line 634 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ g_return_if_fail (SAVED_SEARCH_DIALOG_IS_SEARCH_ROW_DATE (self));
+#line 635 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp0_ = self->priv->cal_one;
+#line 635 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ saved_search_dialog_search_row_date_popup_calendar (self, _tmp0_);
+#line 6122 "SavedSearchDialog.c"
+}
+
+
+static void saved_search_dialog_search_row_date_on_two_clicked (SavedSearchDialogSearchRowDate* self) {
+ GtkCalendar* _tmp0_ = NULL;
+#line 638 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ g_return_if_fail (SAVED_SEARCH_DIALOG_IS_SEARCH_ROW_DATE (self));
+#line 639 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp0_ = self->priv->cal_two;
+#line 639 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ saved_search_dialog_search_row_date_popup_calendar (self, _tmp0_);
+#line 6134 "SavedSearchDialog.c"
+}
+
+
+static void saved_search_dialog_search_row_date_class_init (SavedSearchDialogSearchRowDateClass * klass) {
+#line 483 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ saved_search_dialog_search_row_date_parent_class = g_type_class_peek_parent (klass);
+#line 483 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ ((SavedSearchDialogSearchRowClass *) klass)->finalize = saved_search_dialog_search_row_date_finalize;
+#line 483 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ g_type_class_add_private (klass, sizeof (SavedSearchDialogSearchRowDatePrivate));
+#line 483 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ ((SavedSearchDialogSearchRowClass *) klass)->get_widget = saved_search_dialog_search_row_date_real_get_widget;
+#line 483 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ ((SavedSearchDialogSearchRowClass *) klass)->get_search_condition = saved_search_dialog_search_row_date_real_get_search_condition;
+#line 483 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ ((SavedSearchDialogSearchRowClass *) klass)->populate = saved_search_dialog_search_row_date_real_populate;
+#line 483 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ ((SavedSearchDialogSearchRowClass *) klass)->is_complete = saved_search_dialog_search_row_date_real_is_complete;
+#line 6153 "SavedSearchDialog.c"
+}
+
+
+static void saved_search_dialog_search_row_date_instance_init (SavedSearchDialogSearchRowDate * self) {
+#line 483 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ self->priv = SAVED_SEARCH_DIALOG_SEARCH_ROW_DATE_GET_PRIVATE (self);
+#line 6160 "SavedSearchDialog.c"
+}
+
+
+static void saved_search_dialog_search_row_date_finalize (SavedSearchDialogSearchRow* obj) {
+ SavedSearchDialogSearchRowDate * self;
+ GtkComboBoxText* _tmp0_ = NULL;
+ guint _tmp1_ = 0U;
+#line 483 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ self = G_TYPE_CHECK_INSTANCE_CAST (obj, SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW_DATE, SavedSearchDialogSearchRowDate);
+#line 529 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp0_ = self->priv->context;
+#line 529 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ g_signal_parse_name ("changed", gtk_combo_box_get_type (), &_tmp1_, NULL, FALSE);
+#line 529 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ g_signal_handlers_disconnect_matched (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, gtk_combo_box_get_type (), GtkComboBox), G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp1_, 0, NULL, (GCallback) _saved_search_dialog_search_row_date_on_changed_gtk_combo_box_changed, self);
+#line 485 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _g_object_unref0 (self->priv->box);
+#line 486 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _g_object_unref0 (self->priv->context);
+#line 487 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _g_object_unref0 (self->priv->label_one);
+#line 488 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _g_object_unref0 (self->priv->label_two);
+#line 489 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _g_object_unref0 (self->priv->cal_one);
+#line 490 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _g_object_unref0 (self->priv->cal_two);
+#line 491 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _g_object_unref0 (self->priv->and);
+#line 493 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _saved_search_dialog_search_row_container_unref0 (self->priv->parent);
+#line 483 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ SAVED_SEARCH_DIALOG_SEARCH_ROW_CLASS (saved_search_dialog_search_row_date_parent_class)->finalize (obj);
+#line 6194 "SavedSearchDialog.c"
+}
+
+
+static GType saved_search_dialog_search_row_date_get_type (void) {
+ static volatile gsize saved_search_dialog_search_row_date_type_id__volatile = 0;
+ if (g_once_init_enter (&saved_search_dialog_search_row_date_type_id__volatile)) {
+ static const GTypeInfo g_define_type_info = { sizeof (SavedSearchDialogSearchRowDateClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) saved_search_dialog_search_row_date_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (SavedSearchDialogSearchRowDate), 0, (GInstanceInitFunc) saved_search_dialog_search_row_date_instance_init, NULL };
+ GType saved_search_dialog_search_row_date_type_id;
+ saved_search_dialog_search_row_date_type_id = g_type_register_static (SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW, "SavedSearchDialogSearchRowDate", &g_define_type_info, 0);
+ g_once_init_leave (&saved_search_dialog_search_row_date_type_id__volatile, saved_search_dialog_search_row_date_type_id);
+ }
+ return saved_search_dialog_search_row_date_type_id__volatile;
+}
+
+
+static void value_saved_search_dialog_init (GValue* value) {
+#line 8 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ value->data[0].v_pointer = NULL;
+#line 6213 "SavedSearchDialog.c"
+}
+
+
+static void value_saved_search_dialog_free_value (GValue* value) {
+#line 8 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ if (value->data[0].v_pointer) {
+#line 8 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ saved_search_dialog_unref (value->data[0].v_pointer);
+#line 6222 "SavedSearchDialog.c"
+ }
+}
+
+
+static void value_saved_search_dialog_copy_value (const GValue* src_value, GValue* dest_value) {
+#line 8 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ if (src_value->data[0].v_pointer) {
+#line 8 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ dest_value->data[0].v_pointer = saved_search_dialog_ref (src_value->data[0].v_pointer);
+#line 6232 "SavedSearchDialog.c"
+ } else {
+#line 8 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ dest_value->data[0].v_pointer = NULL;
+#line 6236 "SavedSearchDialog.c"
+ }
+}
+
+
+static gpointer value_saved_search_dialog_peek_pointer (const GValue* value) {
+#line 8 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ return value->data[0].v_pointer;
+#line 6244 "SavedSearchDialog.c"
+}
+
+
+static gchar* value_saved_search_dialog_collect_value (GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) {
+#line 8 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ if (collect_values[0].v_pointer) {
+#line 6251 "SavedSearchDialog.c"
+ SavedSearchDialog* object;
+ object = collect_values[0].v_pointer;
+#line 8 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ if (object->parent_instance.g_class == NULL) {
+#line 8 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL);
+#line 6258 "SavedSearchDialog.c"
+ } else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) {
+#line 8 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ return g_strconcat ("invalid object type `", g_type_name (G_TYPE_FROM_INSTANCE (object)), "' for value type `", G_VALUE_TYPE_NAME (value), "'", NULL);
+#line 6262 "SavedSearchDialog.c"
+ }
+#line 8 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ value->data[0].v_pointer = saved_search_dialog_ref (object);
+#line 6266 "SavedSearchDialog.c"
+ } else {
+#line 8 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ value->data[0].v_pointer = NULL;
+#line 6270 "SavedSearchDialog.c"
+ }
+#line 8 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ return NULL;
+#line 6274 "SavedSearchDialog.c"
+}
+
+
+static gchar* value_saved_search_dialog_lcopy_value (const GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) {
+ SavedSearchDialog** object_p;
+ object_p = collect_values[0].v_pointer;
+#line 8 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ if (!object_p) {
+#line 8 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value));
+#line 6285 "SavedSearchDialog.c"
+ }
+#line 8 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ if (!value->data[0].v_pointer) {
+#line 8 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ *object_p = NULL;
+#line 6291 "SavedSearchDialog.c"
+ } else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) {
+#line 8 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ *object_p = value->data[0].v_pointer;
+#line 6295 "SavedSearchDialog.c"
+ } else {
+#line 8 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ *object_p = saved_search_dialog_ref (value->data[0].v_pointer);
+#line 6299 "SavedSearchDialog.c"
+ }
+#line 8 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ return NULL;
+#line 6303 "SavedSearchDialog.c"
+}
+
+
+GParamSpec* param_spec_saved_search_dialog (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags) {
+ ParamSpecSavedSearchDialog* spec;
+#line 8 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ g_return_val_if_fail (g_type_is_a (object_type, TYPE_SAVED_SEARCH_DIALOG), NULL);
+#line 8 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags);
+#line 8 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ G_PARAM_SPEC (spec)->value_type = object_type;
+#line 8 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ return G_PARAM_SPEC (spec);
+#line 6317 "SavedSearchDialog.c"
+}
+
+
+gpointer value_get_saved_search_dialog (const GValue* value) {
+#line 8 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_SAVED_SEARCH_DIALOG), NULL);
+#line 8 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ return value->data[0].v_pointer;
+#line 6326 "SavedSearchDialog.c"
+}
+
+
+void value_set_saved_search_dialog (GValue* value, gpointer v_object) {
+ SavedSearchDialog* old;
+#line 8 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_SAVED_SEARCH_DIALOG));
+#line 8 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ old = value->data[0].v_pointer;
+#line 8 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ if (v_object) {
+#line 8 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_SAVED_SEARCH_DIALOG));
+#line 8 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value)));
+#line 8 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ value->data[0].v_pointer = v_object;
+#line 8 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ saved_search_dialog_ref (value->data[0].v_pointer);
+#line 6346 "SavedSearchDialog.c"
+ } else {
+#line 8 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ value->data[0].v_pointer = NULL;
+#line 6350 "SavedSearchDialog.c"
+ }
+#line 8 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ if (old) {
+#line 8 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ saved_search_dialog_unref (old);
+#line 6356 "SavedSearchDialog.c"
+ }
+}
+
+
+void value_take_saved_search_dialog (GValue* value, gpointer v_object) {
+ SavedSearchDialog* old;
+#line 8 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_SAVED_SEARCH_DIALOG));
+#line 8 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ old = value->data[0].v_pointer;
+#line 8 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ if (v_object) {
+#line 8 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_SAVED_SEARCH_DIALOG));
+#line 8 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value)));
+#line 8 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ value->data[0].v_pointer = v_object;
+#line 6375 "SavedSearchDialog.c"
+ } else {
+#line 8 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ value->data[0].v_pointer = NULL;
+#line 6379 "SavedSearchDialog.c"
+ }
+#line 8 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ if (old) {
+#line 8 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ saved_search_dialog_unref (old);
+#line 6385 "SavedSearchDialog.c"
+ }
+}
+
+
+static void saved_search_dialog_class_init (SavedSearchDialogClass * klass) {
+#line 8 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ saved_search_dialog_parent_class = g_type_class_peek_parent (klass);
+#line 8 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ ((SavedSearchDialogClass *) klass)->finalize = saved_search_dialog_finalize;
+#line 8 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ g_type_class_add_private (klass, sizeof (SavedSearchDialogPrivate));
+#line 6397 "SavedSearchDialog.c"
+}
+
+
+static void saved_search_dialog_instance_init (SavedSearchDialog * self) {
+ GeeArrayList* _tmp0_ = NULL;
+#line 8 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ self->priv = SAVED_SEARCH_DIALOG_GET_PRIVATE (self);
+#line 649 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp0_ = gee_array_list_new (SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW_CONTAINER, (GBoxedCopyFunc) saved_search_dialog_search_row_container_ref, saved_search_dialog_search_row_container_unref, NULL, NULL, NULL);
+#line 649 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ self->priv->row_list = _tmp0_;
+#line 650 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ self->priv->edit_mode = FALSE;
+#line 651 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ self->priv->previous_search = NULL;
+#line 652 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ self->priv->valid = FALSE;
+#line 8 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ self->ref_count = 1;
+#line 6417 "SavedSearchDialog.c"
+}
+
+
+static void saved_search_dialog_finalize (SavedSearchDialog* obj) {
+ SavedSearchDialog * self;
+ GtkEntry* _tmp0_ = NULL;
+ guint _tmp1_ = 0U;
+#line 8 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_SAVED_SEARCH_DIALOG, SavedSearchDialog);
+#line 8 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ g_signal_handlers_destroy (self);
+#line 690 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _tmp0_ = self->priv->search_title;
+#line 690 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ g_signal_parse_name ("changed", GTK_TYPE_EDITABLE, &_tmp1_, NULL, FALSE);
+#line 690 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ g_signal_handlers_disconnect_matched (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GTK_TYPE_EDITABLE, GtkEditable), G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp1_, 0, NULL, (GCallback) _saved_search_dialog_on_title_changed_gtk_editable_changed, self);
+#line 643 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _g_object_unref0 (self->priv->builder);
+#line 644 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _g_object_unref0 (self->priv->dialog);
+#line 645 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _g_object_unref0 (self->priv->add_criteria);
+#line 646 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _g_object_unref0 (self->priv->operator);
+#line 647 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _g_object_unref0 (self->priv->row_box);
+#line 648 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _g_object_unref0 (self->priv->search_title);
+#line 649 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _g_object_unref0 (self->priv->row_list);
+#line 651 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ _g_object_unref0 (self->priv->previous_search);
+#line 6451 "SavedSearchDialog.c"
+}
+
+
+GType saved_search_dialog_get_type (void) {
+ static volatile gsize saved_search_dialog_type_id__volatile = 0;
+ if (g_once_init_enter (&saved_search_dialog_type_id__volatile)) {
+ static const GTypeValueTable g_define_type_value_table = { value_saved_search_dialog_init, value_saved_search_dialog_free_value, value_saved_search_dialog_copy_value, value_saved_search_dialog_peek_pointer, "p", value_saved_search_dialog_collect_value, "p", value_saved_search_dialog_lcopy_value };
+ static const GTypeInfo g_define_type_info = { sizeof (SavedSearchDialogClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) saved_search_dialog_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (SavedSearchDialog), 0, (GInstanceInitFunc) saved_search_dialog_instance_init, &g_define_type_value_table };
+ static const GTypeFundamentalInfo g_define_type_fundamental_info = { (G_TYPE_FLAG_CLASSED | G_TYPE_FLAG_INSTANTIATABLE | G_TYPE_FLAG_DERIVABLE | G_TYPE_FLAG_DEEP_DERIVABLE) };
+ GType saved_search_dialog_type_id;
+ saved_search_dialog_type_id = g_type_register_fundamental (g_type_fundamental_next (), "SavedSearchDialog", &g_define_type_info, &g_define_type_fundamental_info, 0);
+ g_once_init_leave (&saved_search_dialog_type_id__volatile, saved_search_dialog_type_id);
+ }
+ return saved_search_dialog_type_id__volatile;
+}
+
+
+gpointer saved_search_dialog_ref (gpointer instance) {
+ SavedSearchDialog* self;
+ self = instance;
+#line 8 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ g_atomic_int_inc (&self->ref_count);
+#line 8 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ return instance;
+#line 6476 "SavedSearchDialog.c"
+}
+
+
+void saved_search_dialog_unref (gpointer instance) {
+ SavedSearchDialog* self;
+ self = instance;
+#line 8 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ if (g_atomic_int_dec_and_test (&self->ref_count)) {
+#line 8 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ SAVED_SEARCH_DIALOG_GET_CLASS (self)->finalize (self);
+#line 8 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
+ g_type_free_instance ((GTypeInstance *) self);
+#line 6489 "SavedSearchDialog.c"
+ }
+}
+
+
+
diff --git a/src/searches/SavedSearchDialog.vala b/src/searches/SavedSearchDialog.vala
index 7e0b3ec..1716a26 100644
--- a/src/searches/SavedSearchDialog.vala
+++ b/src/searches/SavedSearchDialog.vala
@@ -7,7 +7,7 @@
// This dialog displays a boolean search configuration.
public class SavedSearchDialog {
- // Conatins a search row, with a type selector and remove button.
+ // Contains a search row, with a type selector and remove button.
private class SearchRowContainer {
public signal void remove(SearchRowContainer this_row);
public signal void changed(SearchRowContainer this_row);
diff --git a/src/searches/SavedSearchPage.c b/src/searches/SavedSearchPage.c
new file mode 100644
index 0000000..a9aa029
--- /dev/null
+++ b/src/searches/SavedSearchPage.c
@@ -0,0 +1,1493 @@
+/* SavedSearchPage.c generated by valac 0.32.1, the Vala compiler
+ * generated from SavedSearchPage.vala, do not modify */
+
+/* Copyright 2016 Software Freedom Conservancy Inc.
+ *
+ * This software is licensed under the GNU LGPL (version 2.1 or later).
+ * See the COPYING file in this distribution.
+ */
+/* Source monitoring for saved searches.*/
+
+#include <glib.h>
+#include <glib-object.h>
+#include <gtk/gtk.h>
+#include <stdlib.h>
+#include <string.h>
+#include <gee.h>
+#include <gdk/gdk.h>
+#include <glib/gi18n-lib.h>
+
+
+#define TYPE_VIEW_MANAGER (view_manager_get_type ())
+#define VIEW_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_VIEW_MANAGER, ViewManager))
+#define VIEW_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_VIEW_MANAGER, ViewManagerClass))
+#define IS_VIEW_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_VIEW_MANAGER))
+#define IS_VIEW_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_VIEW_MANAGER))
+#define VIEW_MANAGER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_VIEW_MANAGER, ViewManagerClass))
+
+typedef struct _ViewManager ViewManager;
+typedef struct _ViewManagerClass ViewManagerClass;
+typedef struct _ViewManagerPrivate ViewManagerPrivate;
+
+#define TYPE_DATA_OBJECT (data_object_get_type ())
+#define DATA_OBJECT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATA_OBJECT, DataObject))
+#define DATA_OBJECT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATA_OBJECT, DataObjectClass))
+#define IS_DATA_OBJECT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATA_OBJECT))
+#define IS_DATA_OBJECT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATA_OBJECT))
+#define DATA_OBJECT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATA_OBJECT, DataObjectClass))
+
+typedef struct _DataObject DataObject;
+typedef struct _DataObjectClass DataObjectClass;
+
+#define TYPE_DATA_SOURCE (data_source_get_type ())
+#define DATA_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATA_SOURCE, DataSource))
+#define DATA_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATA_SOURCE, DataSourceClass))
+#define IS_DATA_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATA_SOURCE))
+#define IS_DATA_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATA_SOURCE))
+#define DATA_SOURCE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATA_SOURCE, DataSourceClass))
+
+typedef struct _DataSource DataSource;
+typedef struct _DataSourceClass DataSourceClass;
+
+#define TYPE_DATA_VIEW (data_view_get_type ())
+#define DATA_VIEW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATA_VIEW, DataView))
+#define DATA_VIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATA_VIEW, DataViewClass))
+#define IS_DATA_VIEW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATA_VIEW))
+#define IS_DATA_VIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATA_VIEW))
+#define DATA_VIEW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATA_VIEW, DataViewClass))
+
+typedef struct _DataView DataView;
+typedef struct _DataViewClass DataViewClass;
+
+#define TYPE_COLLECTION_VIEW_MANAGER (collection_view_manager_get_type ())
+#define COLLECTION_VIEW_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_COLLECTION_VIEW_MANAGER, CollectionViewManager))
+#define COLLECTION_VIEW_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_COLLECTION_VIEW_MANAGER, CollectionViewManagerClass))
+#define IS_COLLECTION_VIEW_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_COLLECTION_VIEW_MANAGER))
+#define IS_COLLECTION_VIEW_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_COLLECTION_VIEW_MANAGER))
+#define COLLECTION_VIEW_MANAGER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_COLLECTION_VIEW_MANAGER, CollectionViewManagerClass))
+
+typedef struct _CollectionViewManager CollectionViewManager;
+typedef struct _CollectionViewManagerClass CollectionViewManagerClass;
+typedef struct _CollectionViewManagerPrivate CollectionViewManagerPrivate;
+
+#define TYPE_SAVED_SEARCH_MANAGER (saved_search_manager_get_type ())
+#define SAVED_SEARCH_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SAVED_SEARCH_MANAGER, SavedSearchManager))
+#define SAVED_SEARCH_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SAVED_SEARCH_MANAGER, SavedSearchManagerClass))
+#define IS_SAVED_SEARCH_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SAVED_SEARCH_MANAGER))
+#define IS_SAVED_SEARCH_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SAVED_SEARCH_MANAGER))
+#define SAVED_SEARCH_MANAGER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SAVED_SEARCH_MANAGER, SavedSearchManagerClass))
+
+typedef struct _SavedSearchManager SavedSearchManager;
+typedef struct _SavedSearchManagerClass SavedSearchManagerClass;
+typedef struct _SavedSearchManagerPrivate SavedSearchManagerPrivate;
+
+#define TYPE_SAVED_SEARCH (saved_search_get_type ())
+#define SAVED_SEARCH(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SAVED_SEARCH, SavedSearch))
+#define SAVED_SEARCH_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SAVED_SEARCH, SavedSearchClass))
+#define IS_SAVED_SEARCH(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SAVED_SEARCH))
+#define IS_SAVED_SEARCH_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SAVED_SEARCH))
+#define SAVED_SEARCH_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SAVED_SEARCH, SavedSearchClass))
+
+typedef struct _SavedSearch SavedSearch;
+typedef struct _SavedSearchClass SavedSearchClass;
+#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL)))
+
+#define TYPE_PAGE (page_get_type ())
+#define PAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PAGE, Page))
+#define PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PAGE, PageClass))
+#define IS_PAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PAGE))
+#define IS_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PAGE))
+#define PAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PAGE, PageClass))
+
+typedef struct _Page Page;
+typedef struct _PageClass PageClass;
+
+#define TYPE_CHECKERBOARD_PAGE (checkerboard_page_get_type ())
+#define CHECKERBOARD_PAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_CHECKERBOARD_PAGE, CheckerboardPage))
+#define CHECKERBOARD_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_CHECKERBOARD_PAGE, CheckerboardPageClass))
+#define IS_CHECKERBOARD_PAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_CHECKERBOARD_PAGE))
+#define IS_CHECKERBOARD_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_CHECKERBOARD_PAGE))
+#define CHECKERBOARD_PAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_CHECKERBOARD_PAGE, CheckerboardPageClass))
+
+typedef struct _CheckerboardPage CheckerboardPage;
+typedef struct _CheckerboardPageClass CheckerboardPageClass;
+
+#define TYPE_MEDIA_PAGE (media_page_get_type ())
+#define MEDIA_PAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MEDIA_PAGE, MediaPage))
+#define MEDIA_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MEDIA_PAGE, MediaPageClass))
+#define IS_MEDIA_PAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MEDIA_PAGE))
+#define IS_MEDIA_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MEDIA_PAGE))
+#define MEDIA_PAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MEDIA_PAGE, MediaPageClass))
+
+typedef struct _MediaPage MediaPage;
+typedef struct _MediaPageClass MediaPageClass;
+
+#define TYPE_COLLECTION_PAGE (collection_page_get_type ())
+#define COLLECTION_PAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_COLLECTION_PAGE, CollectionPage))
+#define COLLECTION_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_COLLECTION_PAGE, CollectionPageClass))
+#define IS_COLLECTION_PAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_COLLECTION_PAGE))
+#define IS_COLLECTION_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_COLLECTION_PAGE))
+#define COLLECTION_PAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_COLLECTION_PAGE, CollectionPageClass))
+
+typedef struct _CollectionPage CollectionPage;
+typedef struct _CollectionPageClass CollectionPageClass;
+
+#define TYPE_SAVED_SEARCH_PAGE (saved_search_page_get_type ())
+#define SAVED_SEARCH_PAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SAVED_SEARCH_PAGE, SavedSearchPage))
+#define SAVED_SEARCH_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SAVED_SEARCH_PAGE, SavedSearchPageClass))
+#define IS_SAVED_SEARCH_PAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SAVED_SEARCH_PAGE))
+#define IS_SAVED_SEARCH_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SAVED_SEARCH_PAGE))
+#define SAVED_SEARCH_PAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SAVED_SEARCH_PAGE, SavedSearchPageClass))
+
+typedef struct _SavedSearchPage SavedSearchPage;
+typedef struct _SavedSearchPageClass SavedSearchPageClass;
+
+#define TYPE_THUMBNAIL_SOURCE (thumbnail_source_get_type ())
+#define THUMBNAIL_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_THUMBNAIL_SOURCE, ThumbnailSource))
+#define THUMBNAIL_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_THUMBNAIL_SOURCE, ThumbnailSourceClass))
+#define IS_THUMBNAIL_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_THUMBNAIL_SOURCE))
+#define IS_THUMBNAIL_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_THUMBNAIL_SOURCE))
+#define THUMBNAIL_SOURCE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_THUMBNAIL_SOURCE, ThumbnailSourceClass))
+
+typedef struct _ThumbnailSource ThumbnailSource;
+typedef struct _ThumbnailSourceClass ThumbnailSourceClass;
+
+#define TYPE_MEDIA_SOURCE (media_source_get_type ())
+#define MEDIA_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MEDIA_SOURCE, MediaSource))
+#define MEDIA_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MEDIA_SOURCE, MediaSourceClass))
+#define IS_MEDIA_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MEDIA_SOURCE))
+#define IS_MEDIA_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MEDIA_SOURCE))
+#define MEDIA_SOURCE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MEDIA_SOURCE, MediaSourceClass))
+
+typedef struct _MediaSource MediaSource;
+typedef struct _MediaSourceClass MediaSourceClass;
+typedef struct _PagePrivate PagePrivate;
+
+#define TYPE_PAGE_WINDOW (page_window_get_type ())
+#define PAGE_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PAGE_WINDOW, PageWindow))
+#define PAGE_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PAGE_WINDOW, PageWindowClass))
+#define IS_PAGE_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PAGE_WINDOW))
+#define IS_PAGE_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PAGE_WINDOW))
+#define PAGE_WINDOW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PAGE_WINDOW, PageWindowClass))
+
+typedef struct _PageWindow PageWindow;
+typedef struct _PageWindowClass PageWindowClass;
+
+#define TYPE_FULLSCREEN_WINDOW (fullscreen_window_get_type ())
+#define FULLSCREEN_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_FULLSCREEN_WINDOW, FullscreenWindow))
+#define FULLSCREEN_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_FULLSCREEN_WINDOW, FullscreenWindowClass))
+#define IS_FULLSCREEN_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_FULLSCREEN_WINDOW))
+#define IS_FULLSCREEN_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_FULLSCREEN_WINDOW))
+#define FULLSCREEN_WINDOW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_FULLSCREEN_WINDOW, FullscreenWindowClass))
+
+typedef struct _FullscreenWindow FullscreenWindow;
+typedef struct _FullscreenWindowClass FullscreenWindowClass;
+
+#define TYPE_INJECTION_GROUP (injection_group_get_type ())
+#define INJECTION_GROUP(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_INJECTION_GROUP, InjectionGroup))
+#define INJECTION_GROUP_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_INJECTION_GROUP, InjectionGroupClass))
+#define IS_INJECTION_GROUP(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_INJECTION_GROUP))
+#define IS_INJECTION_GROUP_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_INJECTION_GROUP))
+#define INJECTION_GROUP_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_INJECTION_GROUP, InjectionGroupClass))
+
+typedef struct _InjectionGroup InjectionGroup;
+typedef struct _InjectionGroupClass InjectionGroupClass;
+typedef struct _CheckerboardPagePrivate CheckerboardPagePrivate;
+
+#define TYPE_THUMBNAIL_VIEW (thumbnail_view_get_type ())
+#define THUMBNAIL_VIEW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_THUMBNAIL_VIEW, ThumbnailView))
+#define THUMBNAIL_VIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_THUMBNAIL_VIEW, ThumbnailViewClass))
+#define IS_THUMBNAIL_VIEW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_THUMBNAIL_VIEW))
+#define IS_THUMBNAIL_VIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_THUMBNAIL_VIEW))
+#define THUMBNAIL_VIEW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_THUMBNAIL_VIEW, ThumbnailViewClass))
+
+typedef struct _ThumbnailView ThumbnailView;
+typedef struct _ThumbnailViewClass ThumbnailViewClass;
+
+#define TYPE_CHECKERBOARD_ITEM (checkerboard_item_get_type ())
+#define CHECKERBOARD_ITEM(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_CHECKERBOARD_ITEM, CheckerboardItem))
+#define CHECKERBOARD_ITEM_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_CHECKERBOARD_ITEM, CheckerboardItemClass))
+#define IS_CHECKERBOARD_ITEM(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_CHECKERBOARD_ITEM))
+#define IS_CHECKERBOARD_ITEM_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_CHECKERBOARD_ITEM))
+#define CHECKERBOARD_ITEM_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_CHECKERBOARD_ITEM, CheckerboardItemClass))
+
+typedef struct _CheckerboardItem CheckerboardItem;
+typedef struct _CheckerboardItemClass CheckerboardItemClass;
+
+#define CHECKERBOARD_PAGE_TYPE_ACTIVATOR (checkerboard_page_activator_get_type ())
+
+#define CHECKERBOARD_PAGE_TYPE_KEYBOARD_MODIFIERS (checkerboard_page_keyboard_modifiers_get_type ())
+typedef struct _CheckerboardPageKeyboardModifiers CheckerboardPageKeyboardModifiers;
+
+#define TYPE_VIEW_FILTER (view_filter_get_type ())
+#define VIEW_FILTER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_VIEW_FILTER, ViewFilter))
+#define VIEW_FILTER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_VIEW_FILTER, ViewFilterClass))
+#define IS_VIEW_FILTER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_VIEW_FILTER))
+#define IS_VIEW_FILTER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_VIEW_FILTER))
+#define VIEW_FILTER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_VIEW_FILTER, ViewFilterClass))
+
+typedef struct _ViewFilter ViewFilter;
+typedef struct _ViewFilterClass ViewFilterClass;
+
+#define TYPE_SEARCH_VIEW_FILTER (search_view_filter_get_type ())
+#define SEARCH_VIEW_FILTER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SEARCH_VIEW_FILTER, SearchViewFilter))
+#define SEARCH_VIEW_FILTER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SEARCH_VIEW_FILTER, SearchViewFilterClass))
+#define IS_SEARCH_VIEW_FILTER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SEARCH_VIEW_FILTER))
+#define IS_SEARCH_VIEW_FILTER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SEARCH_VIEW_FILTER))
+#define SEARCH_VIEW_FILTER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SEARCH_VIEW_FILTER, SearchViewFilterClass))
+
+typedef struct _SearchViewFilter SearchViewFilter;
+typedef struct _SearchViewFilterClass SearchViewFilterClass;
+
+#define CORE_TYPE_TRACKER (core_tracker_get_type ())
+#define CORE_TRACKER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), CORE_TYPE_TRACKER, CoreTracker))
+#define CORE_TRACKER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), CORE_TYPE_TRACKER, CoreTrackerClass))
+#define CORE_IS_TRACKER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), CORE_TYPE_TRACKER))
+#define CORE_IS_TRACKER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), CORE_TYPE_TRACKER))
+#define CORE_TRACKER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), CORE_TYPE_TRACKER, CoreTrackerClass))
+
+typedef struct _CoreTracker CoreTracker;
+typedef struct _CoreTrackerClass CoreTrackerClass;
+
+#define CORE_TYPE_VIEW_TRACKER (core_view_tracker_get_type ())
+#define CORE_VIEW_TRACKER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), CORE_TYPE_VIEW_TRACKER, CoreViewTracker))
+#define CORE_VIEW_TRACKER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), CORE_TYPE_VIEW_TRACKER, CoreViewTrackerClass))
+#define CORE_IS_VIEW_TRACKER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), CORE_TYPE_VIEW_TRACKER))
+#define CORE_IS_VIEW_TRACKER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), CORE_TYPE_VIEW_TRACKER))
+#define CORE_VIEW_TRACKER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), CORE_TYPE_VIEW_TRACKER, CoreViewTrackerClass))
+
+typedef struct _CoreViewTracker CoreViewTracker;
+typedef struct _CoreViewTrackerClass CoreViewTrackerClass;
+typedef struct _MediaPagePrivate MediaPagePrivate;
+
+#define TYPE_RATING (rating_get_type ())
+
+#define TYPE_RAW_DEVELOPER (raw_developer_get_type ())
+typedef struct _CollectionPagePrivate CollectionPagePrivate;
+typedef struct _SavedSearchPagePrivate SavedSearchPagePrivate;
+#define _g_free0(var) (var = (g_free (var), NULL))
+
+#define TYPE_DATA_COLLECTION (data_collection_get_type ())
+#define DATA_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATA_COLLECTION, DataCollection))
+#define DATA_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATA_COLLECTION, DataCollectionClass))
+#define IS_DATA_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATA_COLLECTION))
+#define IS_DATA_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATA_COLLECTION))
+#define DATA_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATA_COLLECTION, DataCollectionClass))
+
+typedef struct _DataCollection DataCollection;
+typedef struct _DataCollectionClass DataCollectionClass;
+
+#define TYPE_SOURCE_COLLECTION (source_collection_get_type ())
+#define SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SOURCE_COLLECTION, SourceCollection))
+#define SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SOURCE_COLLECTION, SourceCollectionClass))
+#define IS_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SOURCE_COLLECTION))
+#define IS_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SOURCE_COLLECTION))
+#define SOURCE_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SOURCE_COLLECTION, SourceCollectionClass))
+
+typedef struct _SourceCollection SourceCollection;
+typedef struct _SourceCollectionClass SourceCollectionClass;
+
+#define TYPE_DATABASE_SOURCE_COLLECTION (database_source_collection_get_type ())
+#define DATABASE_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATABASE_SOURCE_COLLECTION, DatabaseSourceCollection))
+#define DATABASE_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATABASE_SOURCE_COLLECTION, DatabaseSourceCollectionClass))
+#define IS_DATABASE_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATABASE_SOURCE_COLLECTION))
+#define IS_DATABASE_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATABASE_SOURCE_COLLECTION))
+#define DATABASE_SOURCE_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATABASE_SOURCE_COLLECTION, DatabaseSourceCollectionClass))
+
+typedef struct _DatabaseSourceCollection DatabaseSourceCollection;
+typedef struct _DatabaseSourceCollectionClass DatabaseSourceCollectionClass;
+
+#define TYPE_MEDIA_SOURCE_COLLECTION (media_source_collection_get_type ())
+#define MEDIA_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollection))
+#define MEDIA_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollectionClass))
+#define IS_MEDIA_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MEDIA_SOURCE_COLLECTION))
+#define IS_MEDIA_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MEDIA_SOURCE_COLLECTION))
+#define MEDIA_SOURCE_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollectionClass))
+
+typedef struct _MediaSourceCollection MediaSourceCollection;
+typedef struct _MediaSourceCollectionClass MediaSourceCollectionClass;
+
+#define TYPE_MEDIA_COLLECTION_REGISTRY (media_collection_registry_get_type ())
+#define MEDIA_COLLECTION_REGISTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MEDIA_COLLECTION_REGISTRY, MediaCollectionRegistry))
+#define MEDIA_COLLECTION_REGISTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MEDIA_COLLECTION_REGISTRY, MediaCollectionRegistryClass))
+#define IS_MEDIA_COLLECTION_REGISTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MEDIA_COLLECTION_REGISTRY))
+#define IS_MEDIA_COLLECTION_REGISTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MEDIA_COLLECTION_REGISTRY))
+#define MEDIA_COLLECTION_REGISTRY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MEDIA_COLLECTION_REGISTRY, MediaCollectionRegistryClass))
+
+typedef struct _MediaCollectionRegistry MediaCollectionRegistry;
+typedef struct _MediaCollectionRegistryClass MediaCollectionRegistryClass;
+#define _media_collection_registry_unref0(var) ((var == NULL) ? NULL : (var = (media_collection_registry_unref (var), NULL)))
+
+#define TYPE_VIEW_COLLECTION (view_collection_get_type ())
+#define VIEW_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_VIEW_COLLECTION, ViewCollection))
+#define VIEW_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_VIEW_COLLECTION, ViewCollectionClass))
+#define IS_VIEW_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_VIEW_COLLECTION))
+#define IS_VIEW_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_VIEW_COLLECTION))
+#define VIEW_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_VIEW_COLLECTION, ViewCollectionClass))
+
+typedef struct _ViewCollection ViewCollection;
+typedef struct _ViewCollectionClass ViewCollectionClass;
+
+#define TYPE_ALTERATION (alteration_get_type ())
+#define ALTERATION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_ALTERATION, Alteration))
+#define ALTERATION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_ALTERATION, AlterationClass))
+#define IS_ALTERATION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_ALTERATION))
+#define IS_ALTERATION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_ALTERATION))
+#define ALTERATION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_ALTERATION, AlterationClass))
+
+typedef struct _Alteration Alteration;
+typedef struct _AlterationClass AlterationClass;
+
+#define VIEW_COLLECTION_TYPE_MONITOR (view_collection_monitor_get_type ())
+#define VIEW_COLLECTION_MONITOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VIEW_COLLECTION_TYPE_MONITOR, ViewCollectionMonitor))
+#define VIEW_COLLECTION_MONITOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VIEW_COLLECTION_TYPE_MONITOR, ViewCollectionMonitorClass))
+#define VIEW_COLLECTION_IS_MONITOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VIEW_COLLECTION_TYPE_MONITOR))
+#define VIEW_COLLECTION_IS_MONITOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VIEW_COLLECTION_TYPE_MONITOR))
+#define VIEW_COLLECTION_MONITOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VIEW_COLLECTION_TYPE_MONITOR, ViewCollectionMonitorClass))
+
+typedef struct _ViewCollectionMonitor ViewCollectionMonitor;
+typedef struct _ViewCollectionMonitorClass ViewCollectionMonitorClass;
+#define _view_collection_monitor_unref0(var) ((var == NULL) ? NULL : (var = (view_collection_monitor_unref (var), NULL)))
+#define _view_manager_unref0(var) ((var == NULL) ? NULL : (var = (view_manager_unref (var), NULL)))
+#define _data_collection_unref0(var) ((var == NULL) ? NULL : (var = (data_collection_unref (var), NULL)))
+
+#define TYPE_CONFIGURATION_FACADE (configuration_facade_get_type ())
+#define CONFIGURATION_FACADE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_CONFIGURATION_FACADE, ConfigurationFacade))
+#define CONFIGURATION_FACADE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_CONFIGURATION_FACADE, ConfigurationFacadeClass))
+#define IS_CONFIGURATION_FACADE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_CONFIGURATION_FACADE))
+#define IS_CONFIGURATION_FACADE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_CONFIGURATION_FACADE))
+#define CONFIGURATION_FACADE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_CONFIGURATION_FACADE, ConfigurationFacadeClass))
+
+typedef struct _ConfigurationFacade ConfigurationFacade;
+typedef struct _ConfigurationFacadeClass ConfigurationFacadeClass;
+
+#define CONFIG_TYPE_FACADE (config_facade_get_type ())
+#define CONFIG_FACADE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), CONFIG_TYPE_FACADE, ConfigFacade))
+#define CONFIG_FACADE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), CONFIG_TYPE_FACADE, ConfigFacadeClass))
+#define CONFIG_IS_FACADE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), CONFIG_TYPE_FACADE))
+#define CONFIG_IS_FACADE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), CONFIG_TYPE_FACADE))
+#define CONFIG_FACADE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), CONFIG_TYPE_FACADE, ConfigFacadeClass))
+
+typedef struct _ConfigFacade ConfigFacade;
+typedef struct _ConfigFacadeClass ConfigFacadeClass;
+
+#define TYPE_COMMAND_MANAGER (command_manager_get_type ())
+#define COMMAND_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_COMMAND_MANAGER, CommandManager))
+#define COMMAND_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_COMMAND_MANAGER, CommandManagerClass))
+#define IS_COMMAND_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_COMMAND_MANAGER))
+#define IS_COMMAND_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_COMMAND_MANAGER))
+#define COMMAND_MANAGER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_COMMAND_MANAGER, CommandManagerClass))
+
+typedef struct _CommandManager CommandManager;
+typedef struct _CommandManagerClass CommandManagerClass;
+
+#define TYPE_COMMAND (command_get_type ())
+#define COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_COMMAND, Command))
+#define COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_COMMAND, CommandClass))
+#define IS_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_COMMAND))
+#define IS_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_COMMAND))
+#define COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_COMMAND, CommandClass))
+
+typedef struct _Command Command;
+typedef struct _CommandClass CommandClass;
+
+#define TYPE_PAGE_COMMAND (page_command_get_type ())
+#define PAGE_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PAGE_COMMAND, PageCommand))
+#define PAGE_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PAGE_COMMAND, PageCommandClass))
+#define IS_PAGE_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PAGE_COMMAND))
+#define IS_PAGE_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PAGE_COMMAND))
+#define PAGE_COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PAGE_COMMAND, PageCommandClass))
+
+typedef struct _PageCommand PageCommand;
+typedef struct _PageCommandClass PageCommandClass;
+
+#define TYPE_SINGLE_DATA_SOURCE_COMMAND (single_data_source_command_get_type ())
+#define SINGLE_DATA_SOURCE_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SINGLE_DATA_SOURCE_COMMAND, SingleDataSourceCommand))
+#define SINGLE_DATA_SOURCE_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SINGLE_DATA_SOURCE_COMMAND, SingleDataSourceCommandClass))
+#define IS_SINGLE_DATA_SOURCE_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SINGLE_DATA_SOURCE_COMMAND))
+#define IS_SINGLE_DATA_SOURCE_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SINGLE_DATA_SOURCE_COMMAND))
+#define SINGLE_DATA_SOURCE_COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SINGLE_DATA_SOURCE_COMMAND, SingleDataSourceCommandClass))
+
+typedef struct _SingleDataSourceCommand SingleDataSourceCommand;
+typedef struct _SingleDataSourceCommandClass SingleDataSourceCommandClass;
+
+#define TYPE_DELETE_SAVED_SEARCH_COMMAND (delete_saved_search_command_get_type ())
+#define DELETE_SAVED_SEARCH_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DELETE_SAVED_SEARCH_COMMAND, DeleteSavedSearchCommand))
+#define DELETE_SAVED_SEARCH_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DELETE_SAVED_SEARCH_COMMAND, DeleteSavedSearchCommandClass))
+#define IS_DELETE_SAVED_SEARCH_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DELETE_SAVED_SEARCH_COMMAND))
+#define IS_DELETE_SAVED_SEARCH_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DELETE_SAVED_SEARCH_COMMAND))
+#define DELETE_SAVED_SEARCH_COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DELETE_SAVED_SEARCH_COMMAND, DeleteSavedSearchCommandClass))
+
+typedef struct _DeleteSavedSearchCommand DeleteSavedSearchCommand;
+typedef struct _DeleteSavedSearchCommandClass DeleteSavedSearchCommandClass;
+#define _command_manager_unref0(var) ((var == NULL) ? NULL : (var = (command_manager_unref (var), NULL)))
+
+#define TYPE_APP_WINDOW (app_window_get_type ())
+#define APP_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_APP_WINDOW, AppWindow))
+#define APP_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_APP_WINDOW, AppWindowClass))
+#define IS_APP_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_APP_WINDOW))
+#define IS_APP_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_APP_WINDOW))
+#define APP_WINDOW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_APP_WINDOW, AppWindowClass))
+
+typedef struct _AppWindow AppWindow;
+typedef struct _AppWindowClass AppWindowClass;
+
+#define TYPE_LIBRARY_WINDOW (library_window_get_type ())
+#define LIBRARY_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_LIBRARY_WINDOW, LibraryWindow))
+#define LIBRARY_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_LIBRARY_WINDOW, LibraryWindowClass))
+#define IS_LIBRARY_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_LIBRARY_WINDOW))
+#define IS_LIBRARY_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_LIBRARY_WINDOW))
+#define LIBRARY_WINDOW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_LIBRARY_WINDOW, LibraryWindowClass))
+
+typedef struct _LibraryWindow LibraryWindow;
+typedef struct _LibraryWindowClass LibraryWindowClass;
+
+#define TYPE_SAVED_SEARCH_DIALOG (saved_search_dialog_get_type ())
+#define SAVED_SEARCH_DIALOG(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SAVED_SEARCH_DIALOG, SavedSearchDialog))
+#define SAVED_SEARCH_DIALOG_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SAVED_SEARCH_DIALOG, SavedSearchDialogClass))
+#define IS_SAVED_SEARCH_DIALOG(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SAVED_SEARCH_DIALOG))
+#define IS_SAVED_SEARCH_DIALOG_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SAVED_SEARCH_DIALOG))
+#define SAVED_SEARCH_DIALOG_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SAVED_SEARCH_DIALOG, SavedSearchDialogClass))
+
+typedef struct _SavedSearchDialog SavedSearchDialog;
+typedef struct _SavedSearchDialogClass SavedSearchDialogClass;
+#define _saved_search_dialog_unref0(var) ((var == NULL) ? NULL : (var = (saved_search_dialog_unref (var), NULL)))
+
+struct _ViewManager {
+ GTypeInstance parent_instance;
+ volatile int ref_count;
+ ViewManagerPrivate * priv;
+};
+
+struct _ViewManagerClass {
+ GTypeClass parent_class;
+ void (*finalize) (ViewManager *self);
+ gboolean (*include_in_view) (ViewManager* self, DataSource* source);
+ DataView* (*create_view) (ViewManager* self, DataSource* source);
+};
+
+struct _CollectionViewManager {
+ ViewManager parent_instance;
+ CollectionViewManagerPrivate * priv;
+};
+
+struct _CollectionViewManagerClass {
+ ViewManagerClass parent_class;
+};
+
+struct _SavedSearchManager {
+ CollectionViewManager parent_instance;
+ SavedSearchManagerPrivate * priv;
+};
+
+struct _SavedSearchManagerClass {
+ CollectionViewManagerClass parent_class;
+};
+
+struct _SavedSearchManagerPrivate {
+ SavedSearch* search;
+};
+
+struct _Page {
+ GtkScrolledWindow parent_instance;
+ PagePrivate * priv;
+ GtkUIManager* ui;
+ GtkToolbar* toolbar;
+ gboolean in_view;
+};
+
+struct _PageClass {
+ GtkScrolledWindowClass parent_class;
+ void (*set_page_name) (Page* self, const gchar* page_name);
+ void (*set_container) (Page* self, GtkWindow* container);
+ void (*clear_container) (Page* self);
+ GtkMenuBar* (*get_menubar) (Page* self);
+ GtkWidget* (*get_page_ui_widget) (Page* self, const gchar* path);
+ GtkToolbar* (*get_toolbar) (Page* self);
+ GtkMenu* (*get_page_context_menu) (Page* self);
+ void (*switching_from) (Page* self);
+ void (*switched_to) (Page* self);
+ void (*ready) (Page* self);
+ void (*switching_to_fullscreen) (Page* self, FullscreenWindow* fsw);
+ void (*returning_from_fullscreen) (Page* self, FullscreenWindow* fsw);
+ void (*init_collect_ui_filenames) (Page* self, GeeList* ui_filenames);
+ GtkActionEntry* (*init_collect_action_entries) (Page* self, int* result_length1);
+ GtkToggleActionEntry* (*init_collect_toggle_action_entries) (Page* self, int* result_length1);
+ void (*register_radio_actions) (Page* self, GtkActionGroup* action_group);
+ InjectionGroup** (*init_collect_injection_groups) (Page* self, int* result_length1);
+ void (*init_actions) (Page* self, gint selected_count, gint count);
+ void (*update_actions) (Page* self, gint selected_count, gint count);
+ gboolean (*source_drag_failed) (Page* self, GdkDragContext* context, GtkDragResult drag_result);
+ gboolean (*on_left_click) (Page* self, GdkEventButton* event);
+ gboolean (*on_middle_click) (Page* self, GdkEventButton* event);
+ gboolean (*on_right_click) (Page* self, GdkEventButton* event);
+ gboolean (*on_left_released) (Page* self, GdkEventButton* event);
+ gboolean (*on_middle_released) (Page* self, GdkEventButton* event);
+ gboolean (*on_right_released) (Page* self, GdkEventButton* event);
+ gboolean (*on_ctrl_pressed) (Page* self, GdkEventKey* event);
+ gboolean (*on_ctrl_released) (Page* self, GdkEventKey* event);
+ gboolean (*on_alt_pressed) (Page* self, GdkEventKey* event);
+ gboolean (*on_alt_released) (Page* self, GdkEventKey* event);
+ gboolean (*on_shift_pressed) (Page* self, GdkEventKey* event);
+ gboolean (*on_shift_released) (Page* self, GdkEventKey* event);
+ gboolean (*on_super_pressed) (Page* self, GdkEventKey* event);
+ gboolean (*on_super_released) (Page* self, GdkEventKey* event);
+ gboolean (*on_app_key_pressed) (Page* self, GdkEventKey* event);
+ gboolean (*on_app_key_released) (Page* self, GdkEventKey* event);
+ void (*on_move) (Page* self, GdkRectangle* rect);
+ void (*on_move_start) (Page* self, GdkRectangle* rect);
+ void (*on_move_finished) (Page* self, GdkRectangle* rect);
+ void (*on_resize) (Page* self, GdkRectangle* rect);
+ void (*on_resize_start) (Page* self, GdkRectangle* rect);
+ void (*on_resize_finished) (Page* self, GdkRectangle* rect);
+ gboolean (*on_configure) (Page* self, GdkEventConfigure* event, GdkRectangle* rect);
+ gboolean (*on_motion) (Page* self, GdkEventMotion* event, gint x, gint y, GdkModifierType mask);
+ gboolean (*on_leave_notify_event) (Page* self);
+ gboolean (*on_mousewheel_up) (Page* self, GdkEventScroll* event);
+ gboolean (*on_mousewheel_down) (Page* self, GdkEventScroll* event);
+ gboolean (*on_mousewheel_left) (Page* self, GdkEventScroll* event);
+ gboolean (*on_mousewheel_right) (Page* self, GdkEventScroll* event);
+ gboolean (*on_context_keypress) (Page* self);
+ gboolean (*on_context_buttonpress) (Page* self, GdkEventButton* event);
+ gboolean (*on_context_invoked) (Page* self);
+ void (*set_page_cursor) (Page* self, GdkCursorType cursor_type);
+};
+
+typedef enum {
+ CHECKERBOARD_PAGE_ACTIVATOR_KEYBOARD,
+ CHECKERBOARD_PAGE_ACTIVATOR_MOUSE
+} CheckerboardPageActivator;
+
+struct _CheckerboardPageKeyboardModifiers {
+ gboolean ctrl_pressed;
+ gboolean alt_pressed;
+ gboolean shift_pressed;
+ gboolean super_pressed;
+};
+
+struct _CheckerboardPage {
+ Page parent_instance;
+ CheckerboardPagePrivate * priv;
+ CheckerboardItem* anchor;
+ CheckerboardItem* cursor;
+};
+
+struct _CheckerboardPageClass {
+ PageClass parent_class;
+ GtkMenu* (*get_item_context_menu) (CheckerboardPage* self);
+ gchar* (*get_view_empty_message) (CheckerboardPage* self);
+ gchar* (*get_filter_no_match_message) (CheckerboardPage* self);
+ void (*on_item_activated) (CheckerboardPage* self, CheckerboardItem* item, CheckerboardPageActivator activator, CheckerboardPageKeyboardModifiers* modifiers);
+ SearchViewFilter* (*get_search_view_filter) (CheckerboardPage* self);
+ CoreViewTracker* (*get_view_tracker) (CheckerboardPage* self);
+ gboolean (*on_mouse_over) (CheckerboardPage* self, CheckerboardItem* item, gint x, gint y, GdkModifierType mask);
+ void (*set_display_titles) (CheckerboardPage* self, gboolean display);
+ void (*set_display_comments) (CheckerboardPage* self, gboolean display);
+};
+
+typedef enum {
+ RATING_REJECTED = -1,
+ RATING_UNRATED = 0,
+ RATING_ONE = 1,
+ RATING_TWO = 2,
+ RATING_THREE = 3,
+ RATING_FOUR = 4,
+ RATING_FIVE = 5
+} Rating;
+
+typedef enum {
+ RAW_DEVELOPER_SHOTWELL = 0,
+ RAW_DEVELOPER_CAMERA,
+ RAW_DEVELOPER_EMBEDDED
+} RawDeveloper;
+
+struct _MediaPage {
+ CheckerboardPage parent_instance;
+ MediaPagePrivate * priv;
+};
+
+struct _MediaPageClass {
+ CheckerboardPageClass parent_class;
+ void (*on_zoom_changed) (MediaPage* self);
+ void (*on_export) (MediaPage* self);
+ void (*on_increase_size) (MediaPage* self);
+ void (*on_decrease_size) (MediaPage* self);
+ void (*on_increase_rating) (MediaPage* self);
+ void (*on_decrease_rating) (MediaPage* self);
+ void (*on_set_rating) (MediaPage* self, Rating rating);
+ void (*on_rate_rejected) (MediaPage* self);
+ void (*on_rate_unrated) (MediaPage* self);
+ void (*on_rate_one) (MediaPage* self);
+ void (*on_rate_two) (MediaPage* self);
+ void (*on_rate_three) (MediaPage* self);
+ void (*on_rate_four) (MediaPage* self);
+ void (*on_rate_five) (MediaPage* self);
+ void (*on_move_to_trash) (MediaPage* self);
+ void (*on_edit_title) (MediaPage* self);
+ void (*on_edit_comment) (MediaPage* self);
+ void (*on_display_titles) (MediaPage* self, GtkAction* action);
+ void (*on_display_comments) (MediaPage* self, GtkAction* action);
+ void (*on_display_ratings) (MediaPage* self, GtkAction* action);
+ void (*on_display_tags) (MediaPage* self, GtkAction* action);
+ void (*get_config_photos_sort) (MediaPage* self, gboolean* sort_order, gint* sort_by);
+ void (*set_config_photos_sort) (MediaPage* self, gboolean sort_order, gint sort_by);
+ void (*on_sort_changed) (MediaPage* self);
+ void (*developer_changed) (MediaPage* self, RawDeveloper rd);
+ DataView* (*create_thumbnail) (MediaPage* self, DataSource* source);
+};
+
+struct _CollectionPage {
+ MediaPage parent_instance;
+ CollectionPagePrivate * priv;
+};
+
+struct _CollectionPageClass {
+ MediaPageClass parent_class;
+};
+
+struct _SavedSearchPage {
+ CollectionPage parent_instance;
+ SavedSearchPagePrivate * priv;
+};
+
+struct _SavedSearchPageClass {
+ CollectionPageClass parent_class;
+};
+
+struct _SavedSearchPagePrivate {
+ SavedSearch* search;
+};
+
+typedef gboolean (*ProgressMonitor) (guint64 current, guint64 total, gboolean do_event_loop, void* user_data);
+
+static gpointer saved_search_manager_parent_class = NULL;
+static gpointer saved_search_page_parent_class = NULL;
+
+gpointer view_manager_ref (gpointer instance);
+void view_manager_unref (gpointer instance);
+GParamSpec* param_spec_view_manager (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
+void value_set_view_manager (GValue* value, gpointer v_object);
+void value_take_view_manager (GValue* value, gpointer v_object);
+gpointer value_get_view_manager (const GValue* value);
+GType view_manager_get_type (void) G_GNUC_CONST;
+GType data_object_get_type (void) G_GNUC_CONST;
+GType data_source_get_type (void) G_GNUC_CONST;
+GType data_view_get_type (void) G_GNUC_CONST;
+GType collection_view_manager_get_type (void) G_GNUC_CONST;
+GType saved_search_manager_get_type (void) G_GNUC_CONST;
+GType saved_search_get_type (void) G_GNUC_CONST;
+#define SAVED_SEARCH_MANAGER_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_SAVED_SEARCH_MANAGER, SavedSearchManagerPrivate))
+enum {
+ SAVED_SEARCH_MANAGER_DUMMY_PROPERTY
+};
+GType page_get_type (void) G_GNUC_CONST;
+GType checkerboard_page_get_type (void) G_GNUC_CONST;
+GType media_page_get_type (void) G_GNUC_CONST;
+GType collection_page_get_type (void) G_GNUC_CONST;
+GType saved_search_page_get_type (void) G_GNUC_CONST;
+SavedSearchManager* saved_search_manager_new (SavedSearchPage* owner, SavedSearch* search);
+SavedSearchManager* saved_search_manager_construct (GType object_type, SavedSearchPage* owner, SavedSearch* search);
+CollectionViewManager* collection_view_manager_new (CollectionPage* page);
+CollectionViewManager* collection_view_manager_construct (GType object_type, CollectionPage* page);
+static gboolean saved_search_manager_real_include_in_view (ViewManager* base, DataSource* source);
+GType thumbnail_source_get_type (void) G_GNUC_CONST;
+GType media_source_get_type (void) G_GNUC_CONST;
+gboolean saved_search_predicate (SavedSearch* self, MediaSource* source);
+static void saved_search_manager_finalize (ViewManager* obj);
+GType page_window_get_type (void) G_GNUC_CONST;
+GType fullscreen_window_get_type (void) G_GNUC_CONST;
+gpointer injection_group_ref (gpointer instance);
+void injection_group_unref (gpointer instance);
+GParamSpec* param_spec_injection_group (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
+void value_set_injection_group (GValue* value, gpointer v_object);
+void value_take_injection_group (GValue* value, gpointer v_object);
+gpointer value_get_injection_group (const GValue* value);
+GType injection_group_get_type (void) G_GNUC_CONST;
+GType thumbnail_view_get_type (void) G_GNUC_CONST;
+GType checkerboard_item_get_type (void) G_GNUC_CONST;
+GType checkerboard_page_activator_get_type (void) G_GNUC_CONST;
+GType checkerboard_page_keyboard_modifiers_get_type (void) G_GNUC_CONST;
+CheckerboardPageKeyboardModifiers* checkerboard_page_keyboard_modifiers_dup (const CheckerboardPageKeyboardModifiers* self);
+void checkerboard_page_keyboard_modifiers_free (CheckerboardPageKeyboardModifiers* self);
+gpointer view_filter_ref (gpointer instance);
+void view_filter_unref (gpointer instance);
+GParamSpec* param_spec_view_filter (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
+void value_set_view_filter (GValue* value, gpointer v_object);
+void value_take_view_filter (GValue* value, gpointer v_object);
+gpointer value_get_view_filter (const GValue* value);
+GType view_filter_get_type (void) G_GNUC_CONST;
+GType search_view_filter_get_type (void) G_GNUC_CONST;
+gpointer core_tracker_ref (gpointer instance);
+void core_tracker_unref (gpointer instance);
+GParamSpec* core_param_spec_tracker (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
+void core_value_set_tracker (GValue* value, gpointer v_object);
+void core_value_take_tracker (GValue* value, gpointer v_object);
+gpointer core_value_get_tracker (const GValue* value);
+GType core_tracker_get_type (void) G_GNUC_CONST;
+GType core_view_tracker_get_type (void) G_GNUC_CONST;
+GType rating_get_type (void) G_GNUC_CONST;
+GType raw_developer_get_type (void) G_GNUC_CONST;
+#define SAVED_SEARCH_PAGE_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_SAVED_SEARCH_PAGE, SavedSearchPagePrivate))
+enum {
+ SAVED_SEARCH_PAGE_DUMMY_PROPERTY
+};
+SavedSearchPage* saved_search_page_new (SavedSearch* search);
+SavedSearchPage* saved_search_page_construct (GType object_type, SavedSearch* search);
+gchar* data_object_get_name (DataObject* self);
+CollectionPage* collection_page_construct (GType object_type, const gchar* page_name);
+gpointer data_collection_ref (gpointer instance);
+void data_collection_unref (gpointer instance);
+GParamSpec* param_spec_data_collection (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
+void value_set_data_collection (GValue* value, gpointer v_object);
+void value_take_data_collection (GValue* value, gpointer v_object);
+gpointer value_get_data_collection (const GValue* value);
+GType data_collection_get_type (void) G_GNUC_CONST;
+GType source_collection_get_type (void) G_GNUC_CONST;
+GType database_source_collection_get_type (void) G_GNUC_CONST;
+GType media_source_collection_get_type (void) G_GNUC_CONST;
+gpointer media_collection_registry_ref (gpointer instance);
+void media_collection_registry_unref (gpointer instance);
+GParamSpec* param_spec_media_collection_registry (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
+void value_set_media_collection_registry (GValue* value, gpointer v_object);
+void value_take_media_collection_registry (GValue* value, gpointer v_object);
+gpointer value_get_media_collection_registry (const GValue* value);
+GType media_collection_registry_get_type (void) G_GNUC_CONST;
+MediaCollectionRegistry* media_collection_registry_get_instance (void);
+GeeCollection* media_collection_registry_get_all (MediaCollectionRegistry* self);
+GType view_collection_get_type (void) G_GNUC_CONST;
+ViewCollection* page_get_view (Page* self);
+gpointer alteration_ref (gpointer instance);
+void alteration_unref (gpointer instance);
+GParamSpec* param_spec_alteration (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
+void value_set_alteration (GValue* value, gpointer v_object);
+void value_take_alteration (GValue* value, gpointer v_object);
+gpointer value_get_alteration (const GValue* value);
+GType alteration_get_type (void) G_GNUC_CONST;
+gpointer view_collection_monitor_ref (gpointer instance);
+void view_collection_monitor_unref (gpointer instance);
+GParamSpec* view_collection_param_spec_monitor (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
+void view_collection_value_set_monitor (GValue* value, gpointer v_object);
+void view_collection_value_take_monitor (GValue* value, gpointer v_object);
+gpointer view_collection_value_get_monitor (const GValue* value);
+GType view_collection_monitor_get_type (void) G_GNUC_CONST;
+ViewCollectionMonitor* view_collection_monitor_source_collection (ViewCollection* self, SourceCollection* sources, ViewManager* manager, Alteration* prereq, GeeCollection* initial, ProgressMonitor progress_monitor, void* progress_monitor_target);
+void checkerboard_page_init_page_context_menu (CheckerboardPage* self, const gchar* path);
+static void saved_search_page_real_get_config_photos_sort (MediaPage* base, gboolean* sort_order, gint* sort_by);
+GType configuration_facade_get_type (void) G_GNUC_CONST;
+GType config_facade_get_type (void) G_GNUC_CONST;
+ConfigFacade* config_facade_get_instance (void);
+void configuration_facade_get_library_photos_sort (ConfigurationFacade* self, gboolean* sort_order, gint* sort_by);
+static void saved_search_page_real_set_config_photos_sort (MediaPage* base, gboolean sort_order, gint sort_by);
+void configuration_facade_set_library_photos_sort (ConfigurationFacade* self, gboolean sort_order, gint sort_by);
+static void saved_search_page_real_init_collect_ui_filenames (Page* base, GeeList* ui_filenames);
+void page_init_collect_ui_filenames (Page* self, GeeList* ui_filenames);
+static GtkActionEntry* saved_search_page_real_init_collect_action_entries (Page* base, int* result_length1);
+GtkActionEntry* page_init_collect_action_entries (Page* self, int* result_length1);
+#define TRANSLATABLE "translatable"
+static void saved_search_page_on_rename_search (SavedSearchPage* self);
+static void _saved_search_page_on_rename_search_gtk_action_callback (GtkAction* action, gpointer self);
+static void _vala_array_add147 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value);
+static void saved_search_page_on_edit_search (SavedSearchPage* self);
+static void _saved_search_page_on_edit_search_gtk_action_callback (GtkAction* action, gpointer self);
+static void _vala_array_add148 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value);
+static void saved_search_page_on_delete_search (SavedSearchPage* self);
+static void _saved_search_page_on_delete_search_gtk_action_callback (GtkAction* action, gpointer self);
+static void _vala_array_add149 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value);
+gboolean dialogs_confirm_delete_saved_search (SavedSearch* search);
+gpointer command_manager_ref (gpointer instance);
+void command_manager_unref (gpointer instance);
+GParamSpec* param_spec_command_manager (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
+void value_set_command_manager (GValue* value, gpointer v_object);
+void value_take_command_manager (GValue* value, gpointer v_object);
+gpointer value_get_command_manager (const GValue* value);
+GType command_manager_get_type (void) G_GNUC_CONST;
+CommandManager* app_window_get_command_manager (void);
+GType command_get_type (void) G_GNUC_CONST;
+void command_manager_execute (CommandManager* self, Command* command);
+DeleteSavedSearchCommand* delete_saved_search_command_new (SavedSearch* search);
+DeleteSavedSearchCommand* delete_saved_search_command_construct (GType object_type, SavedSearch* search);
+GType page_command_get_type (void) G_GNUC_CONST;
+GType single_data_source_command_get_type (void) G_GNUC_CONST;
+GType delete_saved_search_command_get_type (void) G_GNUC_CONST;
+GType app_window_get_type (void) G_GNUC_CONST;
+GType library_window_get_type (void) G_GNUC_CONST;
+LibraryWindow* library_window_get_app (void);
+void library_window_rename_search_in_sidebar (LibraryWindow* self, SavedSearch* search);
+gpointer saved_search_dialog_ref (gpointer instance);
+void saved_search_dialog_unref (gpointer instance);
+GParamSpec* param_spec_saved_search_dialog (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
+void value_set_saved_search_dialog (GValue* value, gpointer v_object);
+void value_take_saved_search_dialog (GValue* value, gpointer v_object);
+gpointer value_get_saved_search_dialog (const GValue* value);
+GType saved_search_dialog_get_type (void) G_GNUC_CONST;
+SavedSearchDialog* saved_search_dialog_new_edit_existing (SavedSearch* saved_search);
+SavedSearchDialog* saved_search_dialog_construct_edit_existing (GType object_type, SavedSearch* saved_search);
+void saved_search_dialog_show (SavedSearchDialog* self);
+static void saved_search_page_real_update_actions (Page* base, gint selected_count, gint count);
+void page_set_action_details (Page* self, const gchar* name, const gchar* label, const gchar* tooltip, gboolean sensitive);
+#define RESOURCES_RENAME_SEARCH_MENU _ ("Re_name...")
+#define RESOURCES_EDIT_SEARCH_MENU _ ("_Edit...")
+#define RESOURCES_DELETE_SEARCH_MENU _ ("_Delete")
+void page_update_actions (Page* self, gint selected_count, gint count);
+static void saved_search_page_finalize (GObject* obj);
+
+
+static gpointer _g_object_ref0 (gpointer self) {
+#line 12 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala"
+ return self ? g_object_ref (self) : NULL;
+#line 839 "SavedSearchPage.c"
+}
+
+
+SavedSearchManager* saved_search_manager_construct (GType object_type, SavedSearchPage* owner, SavedSearch* search) {
+ SavedSearchManager* self = NULL;
+ SavedSearchPage* _tmp0_ = NULL;
+ SavedSearch* _tmp1_ = NULL;
+ SavedSearch* _tmp2_ = NULL;
+#line 10 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala"
+ g_return_val_if_fail (IS_SAVED_SEARCH_PAGE (owner), NULL);
+#line 10 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala"
+ g_return_val_if_fail (IS_SAVED_SEARCH (search), NULL);
+#line 11 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala"
+ _tmp0_ = owner;
+#line 11 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala"
+ self = (SavedSearchManager*) collection_view_manager_construct (object_type, G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_COLLECTION_PAGE, CollectionPage));
+#line 12 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala"
+ _tmp1_ = search;
+#line 12 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala"
+ _tmp2_ = _g_object_ref0 (_tmp1_);
+#line 12 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala"
+ _g_object_unref0 (self->priv->search);
+#line 12 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala"
+ self->priv->search = _tmp2_;
+#line 10 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala"
+ return self;
+#line 866 "SavedSearchPage.c"
+}
+
+
+SavedSearchManager* saved_search_manager_new (SavedSearchPage* owner, SavedSearch* search) {
+#line 10 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala"
+ return saved_search_manager_construct (TYPE_SAVED_SEARCH_MANAGER, owner, search);
+#line 873 "SavedSearchPage.c"
+}
+
+
+static gboolean saved_search_manager_real_include_in_view (ViewManager* base, DataSource* source) {
+ SavedSearchManager * self;
+ gboolean result = FALSE;
+ SavedSearch* _tmp0_ = NULL;
+ DataSource* _tmp1_ = NULL;
+ gboolean _tmp2_ = FALSE;
+#line 15 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala"
+ self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_SAVED_SEARCH_MANAGER, SavedSearchManager);
+#line 15 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala"
+ g_return_val_if_fail (IS_DATA_SOURCE (source), FALSE);
+#line 16 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala"
+ _tmp0_ = self->priv->search;
+#line 16 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala"
+ _tmp1_ = source;
+#line 16 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala"
+ _tmp2_ = saved_search_predicate (_tmp0_, G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_MEDIA_SOURCE, MediaSource));
+#line 16 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala"
+ result = _tmp2_;
+#line 16 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala"
+ return result;
+#line 897 "SavedSearchPage.c"
+}
+
+
+static void saved_search_manager_class_init (SavedSearchManagerClass * klass) {
+#line 8 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala"
+ saved_search_manager_parent_class = g_type_class_peek_parent (klass);
+#line 8 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala"
+ ((ViewManagerClass *) klass)->finalize = saved_search_manager_finalize;
+#line 8 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala"
+ g_type_class_add_private (klass, sizeof (SavedSearchManagerPrivate));
+#line 8 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala"
+ ((ViewManagerClass *) klass)->include_in_view = saved_search_manager_real_include_in_view;
+#line 910 "SavedSearchPage.c"
+}
+
+
+static void saved_search_manager_instance_init (SavedSearchManager * self) {
+#line 8 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala"
+ self->priv = SAVED_SEARCH_MANAGER_GET_PRIVATE (self);
+#line 917 "SavedSearchPage.c"
+}
+
+
+static void saved_search_manager_finalize (ViewManager* obj) {
+ SavedSearchManager * self;
+#line 8 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala"
+ self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_SAVED_SEARCH_MANAGER, SavedSearchManager);
+#line 9 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala"
+ _g_object_unref0 (self->priv->search);
+#line 8 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala"
+ VIEW_MANAGER_CLASS (saved_search_manager_parent_class)->finalize (obj);
+#line 929 "SavedSearchPage.c"
+}
+
+
+GType saved_search_manager_get_type (void) {
+ static volatile gsize saved_search_manager_type_id__volatile = 0;
+ if (g_once_init_enter (&saved_search_manager_type_id__volatile)) {
+ static const GTypeInfo g_define_type_info = { sizeof (SavedSearchManagerClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) saved_search_manager_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (SavedSearchManager), 0, (GInstanceInitFunc) saved_search_manager_instance_init, NULL };
+ GType saved_search_manager_type_id;
+ saved_search_manager_type_id = g_type_register_static (TYPE_COLLECTION_VIEW_MANAGER, "SavedSearchManager", &g_define_type_info, 0);
+ g_once_init_leave (&saved_search_manager_type_id__volatile, saved_search_manager_type_id);
+ }
+ return saved_search_manager_type_id__volatile;
+}
+
+
+SavedSearchPage* saved_search_page_construct (GType object_type, SavedSearch* search) {
+ SavedSearchPage * self = NULL;
+ SavedSearch* _tmp0_ = NULL;
+ gchar* _tmp1_ = NULL;
+ gchar* _tmp2_ = NULL;
+ SavedSearch* _tmp3_ = NULL;
+ SavedSearch* _tmp4_ = NULL;
+#line 26 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala"
+ g_return_val_if_fail (IS_SAVED_SEARCH (search), NULL);
+#line 27 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala"
+ _tmp0_ = search;
+#line 27 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala"
+ _tmp1_ = data_object_get_name (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, TYPE_DATA_OBJECT, DataObject));
+#line 27 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala"
+ _tmp2_ = _tmp1_;
+#line 27 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala"
+ self = (SavedSearchPage*) collection_page_construct (object_type, _tmp2_);
+#line 27 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala"
+ _g_free0 (_tmp2_);
+#line 28 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala"
+ _tmp3_ = search;
+#line 28 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala"
+ _tmp4_ = _g_object_ref0 (_tmp3_);
+#line 28 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala"
+ _g_object_unref0 (self->priv->search);
+#line 28 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala"
+ self->priv->search = _tmp4_;
+#line 972 "SavedSearchPage.c"
+ {
+ GeeIterator* _sources_it = NULL;
+ MediaCollectionRegistry* _tmp5_ = NULL;
+ MediaCollectionRegistry* _tmp6_ = NULL;
+ GeeCollection* _tmp7_ = NULL;
+ GeeCollection* _tmp8_ = NULL;
+ GeeIterator* _tmp9_ = NULL;
+ GeeIterator* _tmp10_ = NULL;
+#line 31 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala"
+ _tmp5_ = media_collection_registry_get_instance ();
+#line 31 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala"
+ _tmp6_ = _tmp5_;
+#line 31 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala"
+ _tmp7_ = media_collection_registry_get_all (_tmp6_);
+#line 31 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala"
+ _tmp8_ = _tmp7_;
+#line 31 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala"
+ _tmp9_ = gee_iterable_iterator (G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, GEE_TYPE_ITERABLE, GeeIterable));
+#line 31 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala"
+ _tmp10_ = _tmp9_;
+#line 31 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala"
+ _g_object_unref0 (_tmp8_);
+#line 31 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala"
+ _media_collection_registry_unref0 (_tmp6_);
+#line 31 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala"
+ _sources_it = _tmp10_;
+#line 31 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala"
+ while (TRUE) {
+#line 1001 "SavedSearchPage.c"
+ GeeIterator* _tmp11_ = NULL;
+ gboolean _tmp12_ = FALSE;
+ MediaSourceCollection* sources = NULL;
+ GeeIterator* _tmp13_ = NULL;
+ gpointer _tmp14_ = NULL;
+ ViewCollection* _tmp15_ = NULL;
+ ViewCollection* _tmp16_ = NULL;
+ MediaSourceCollection* _tmp17_ = NULL;
+ SavedSearch* _tmp18_ = NULL;
+ SavedSearchManager* _tmp19_ = NULL;
+ SavedSearchManager* _tmp20_ = NULL;
+ ViewCollectionMonitor* _tmp21_ = NULL;
+ ViewCollectionMonitor* _tmp22_ = NULL;
+#line 31 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala"
+ _tmp11_ = _sources_it;
+#line 31 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala"
+ _tmp12_ = gee_iterator_next (_tmp11_);
+#line 31 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala"
+ if (!_tmp12_) {
+#line 31 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala"
+ break;
+#line 1023 "SavedSearchPage.c"
+ }
+#line 31 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala"
+ _tmp13_ = _sources_it;
+#line 31 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala"
+ _tmp14_ = gee_iterator_get (_tmp13_);
+#line 31 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala"
+ sources = (MediaSourceCollection*) _tmp14_;
+#line 32 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala"
+ _tmp15_ = page_get_view (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page));
+#line 32 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala"
+ _tmp16_ = _tmp15_;
+#line 32 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala"
+ _tmp17_ = sources;
+#line 32 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala"
+ _tmp18_ = search;
+#line 32 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala"
+ _tmp19_ = saved_search_manager_new (self, _tmp18_);
+#line 32 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala"
+ _tmp20_ = _tmp19_;
+#line 32 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala"
+ _tmp21_ = view_collection_monitor_source_collection (_tmp16_, G_TYPE_CHECK_INSTANCE_CAST (_tmp17_, TYPE_SOURCE_COLLECTION, SourceCollection), G_TYPE_CHECK_INSTANCE_CAST (_tmp20_, TYPE_VIEW_MANAGER, ViewManager), NULL, NULL, NULL, NULL);
+#line 32 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala"
+ _tmp22_ = _tmp21_;
+#line 32 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala"
+ _view_collection_monitor_unref0 (_tmp22_);
+#line 32 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala"
+ _view_manager_unref0 (_tmp20_);
+#line 32 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala"
+ _data_collection_unref0 (_tmp16_);
+#line 31 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala"
+ _data_collection_unref0 (sources);
+#line 1055 "SavedSearchPage.c"
+ }
+#line 31 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala"
+ _g_object_unref0 (_sources_it);
+#line 1059 "SavedSearchPage.c"
+ }
+#line 34 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala"
+ checkerboard_page_init_page_context_menu (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_CHECKERBOARD_PAGE, CheckerboardPage), "/SearchContextMenu");
+#line 26 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala"
+ return self;
+#line 1065 "SavedSearchPage.c"
+}
+
+
+SavedSearchPage* saved_search_page_new (SavedSearch* search) {
+#line 26 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala"
+ return saved_search_page_construct (TYPE_SAVED_SEARCH_PAGE, search);
+#line 1072 "SavedSearchPage.c"
+}
+
+
+static void saved_search_page_real_get_config_photos_sort (MediaPage* base, gboolean* sort_order, gint* sort_by) {
+ SavedSearchPage * self;
+ gboolean _vala_sort_order = FALSE;
+ gint _vala_sort_by = 0;
+ ConfigFacade* _tmp0_ = NULL;
+ ConfigFacade* _tmp1_ = NULL;
+ gboolean _tmp2_ = FALSE;
+ gint _tmp3_ = 0;
+#line 37 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala"
+ self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_SAVED_SEARCH_PAGE, SavedSearchPage);
+#line 38 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala"
+ _tmp0_ = config_facade_get_instance ();
+#line 38 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala"
+ _tmp1_ = _tmp0_;
+#line 38 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala"
+ configuration_facade_get_library_photos_sort (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade), &_tmp2_, &_tmp3_);
+#line 38 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala"
+ _vala_sort_order = _tmp2_;
+#line 38 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala"
+ _vala_sort_by = _tmp3_;
+#line 38 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala"
+ _g_object_unref0 (_tmp1_);
+#line 37 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala"
+ if (sort_order) {
+#line 37 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala"
+ *sort_order = _vala_sort_order;
+#line 1102 "SavedSearchPage.c"
+ }
+#line 37 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala"
+ if (sort_by) {
+#line 37 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala"
+ *sort_by = _vala_sort_by;
+#line 1108 "SavedSearchPage.c"
+ }
+}
+
+
+static void saved_search_page_real_set_config_photos_sort (MediaPage* base, gboolean sort_order, gint sort_by) {
+ SavedSearchPage * self;
+ ConfigFacade* _tmp0_ = NULL;
+ ConfigFacade* _tmp1_ = NULL;
+ gboolean _tmp2_ = FALSE;
+ gint _tmp3_ = 0;
+#line 41 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala"
+ self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_SAVED_SEARCH_PAGE, SavedSearchPage);
+#line 42 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala"
+ _tmp0_ = config_facade_get_instance ();
+#line 42 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala"
+ _tmp1_ = _tmp0_;
+#line 42 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala"
+ _tmp2_ = sort_order;
+#line 42 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala"
+ _tmp3_ = sort_by;
+#line 42 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala"
+ configuration_facade_set_library_photos_sort (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade), _tmp2_, _tmp3_);
+#line 42 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala"
+ _g_object_unref0 (_tmp1_);
+#line 1133 "SavedSearchPage.c"
+}
+
+
+static void saved_search_page_real_init_collect_ui_filenames (Page* base, GeeList* ui_filenames) {
+ SavedSearchPage * self;
+ GeeList* _tmp0_ = NULL;
+ GeeList* _tmp1_ = NULL;
+#line 45 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala"
+ self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_SAVED_SEARCH_PAGE, SavedSearchPage);
+#line 45 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala"
+ g_return_if_fail (GEE_IS_LIST (ui_filenames));
+#line 46 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala"
+ _tmp0_ = ui_filenames;
+#line 46 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala"
+ PAGE_CLASS (saved_search_page_parent_class)->init_collect_ui_filenames (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_COLLECTION_PAGE, CollectionPage), TYPE_PAGE, Page), _tmp0_);
+#line 47 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala"
+ _tmp1_ = ui_filenames;
+#line 47 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala"
+ gee_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, GEE_TYPE_COLLECTION, GeeCollection), "savedsearch.ui");
+#line 1153 "SavedSearchPage.c"
+}
+
+
+static void _saved_search_page_on_rename_search_gtk_action_callback (GtkAction* action, gpointer self) {
+#line 53 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala"
+ saved_search_page_on_rename_search ((SavedSearchPage*) self);
+#line 1160 "SavedSearchPage.c"
+}
+
+
+static void _vala_array_add147 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value) {
+#line 54 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala"
+ if ((*length) == (*size)) {
+#line 54 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala"
+ *size = (*size) ? (2 * (*size)) : 4;
+#line 54 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala"
+ *array = g_renew (GtkActionEntry, *array, *size);
+#line 1171 "SavedSearchPage.c"
+ }
+#line 54 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala"
+ (*array)[(*length)++] = *value;
+#line 1175 "SavedSearchPage.c"
+}
+
+
+static void _saved_search_page_on_edit_search_gtk_action_callback (GtkAction* action, gpointer self) {
+#line 56 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala"
+ saved_search_page_on_edit_search ((SavedSearchPage*) self);
+#line 1182 "SavedSearchPage.c"
+}
+
+
+static void _vala_array_add148 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value) {
+#line 57 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala"
+ if ((*length) == (*size)) {
+#line 57 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala"
+ *size = (*size) ? (2 * (*size)) : 4;
+#line 57 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala"
+ *array = g_renew (GtkActionEntry, *array, *size);
+#line 1193 "SavedSearchPage.c"
+ }
+#line 57 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala"
+ (*array)[(*length)++] = *value;
+#line 1197 "SavedSearchPage.c"
+}
+
+
+static void _saved_search_page_on_delete_search_gtk_action_callback (GtkAction* action, gpointer self) {
+#line 59 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala"
+ saved_search_page_on_delete_search ((SavedSearchPage*) self);
+#line 1204 "SavedSearchPage.c"
+}
+
+
+static void _vala_array_add149 (GtkActionEntry** array, int* length, int* size, const GtkActionEntry* value) {
+#line 60 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala"
+ if ((*length) == (*size)) {
+#line 60 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala"
+ *size = (*size) ? (2 * (*size)) : 4;
+#line 60 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala"
+ *array = g_renew (GtkActionEntry, *array, *size);
+#line 1215 "SavedSearchPage.c"
+ }
+#line 60 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala"
+ (*array)[(*length)++] = *value;
+#line 1219 "SavedSearchPage.c"
+}
+
+
+static GtkActionEntry* saved_search_page_real_init_collect_action_entries (Page* base, int* result_length1) {
+ SavedSearchPage * self;
+ GtkActionEntry* result = NULL;
+ GtkActionEntry* actions = NULL;
+ gint _tmp0_ = 0;
+ GtkActionEntry* _tmp1_ = NULL;
+ gint actions_length1 = 0;
+ gint _actions_size_ = 0;
+ GtkActionEntry rename_search = {0};
+ GtkActionEntry _tmp2_ = {0};
+ GtkActionEntry* _tmp3_ = NULL;
+ gint _tmp3__length1 = 0;
+ GtkActionEntry _tmp4_ = {0};
+ GtkActionEntry edit_search = {0};
+ GtkActionEntry _tmp5_ = {0};
+ GtkActionEntry* _tmp6_ = NULL;
+ gint _tmp6__length1 = 0;
+ GtkActionEntry _tmp7_ = {0};
+ GtkActionEntry delete_search = {0};
+ GtkActionEntry _tmp8_ = {0};
+ GtkActionEntry* _tmp9_ = NULL;
+ gint _tmp9__length1 = 0;
+ GtkActionEntry _tmp10_ = {0};
+ GtkActionEntry* _tmp11_ = NULL;
+ gint _tmp11__length1 = 0;
+#line 50 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala"
+ self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_SAVED_SEARCH_PAGE, SavedSearchPage);
+#line 51 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala"
+ _tmp1_ = PAGE_CLASS (saved_search_page_parent_class)->init_collect_action_entries (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_COLLECTION_PAGE, CollectionPage), TYPE_PAGE, Page), &_tmp0_);
+#line 51 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala"
+ actions = _tmp1_;
+#line 51 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala"
+ actions_length1 = _tmp0_;
+#line 51 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala"
+ _actions_size_ = actions_length1;
+#line 53 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala"
+ _tmp2_.name = "RenameSearch";
+#line 53 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala"
+ _tmp2_.stock_id = NULL;
+#line 53 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala"
+ _tmp2_.label = TRANSLATABLE;
+#line 53 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala"
+ _tmp2_.accelerator = NULL;
+#line 53 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala"
+ _tmp2_.tooltip = NULL;
+#line 53 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala"
+ _tmp2_.callback = (GCallback) _saved_search_page_on_rename_search_gtk_action_callback;
+#line 53 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala"
+ rename_search = _tmp2_;
+#line 54 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala"
+ _tmp3_ = actions;
+#line 54 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala"
+ _tmp3__length1 = actions_length1;
+#line 54 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala"
+ _tmp4_ = rename_search;
+#line 54 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala"
+ _vala_array_add147 (&actions, &actions_length1, &_actions_size_, &_tmp4_);
+#line 56 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala"
+ _tmp5_.name = "EditSearch";
+#line 56 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala"
+ _tmp5_.stock_id = NULL;
+#line 56 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala"
+ _tmp5_.label = TRANSLATABLE;
+#line 56 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala"
+ _tmp5_.accelerator = NULL;
+#line 56 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala"
+ _tmp5_.tooltip = NULL;
+#line 56 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala"
+ _tmp5_.callback = (GCallback) _saved_search_page_on_edit_search_gtk_action_callback;
+#line 56 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala"
+ edit_search = _tmp5_;
+#line 57 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala"
+ _tmp6_ = actions;
+#line 57 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala"
+ _tmp6__length1 = actions_length1;
+#line 57 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala"
+ _tmp7_ = edit_search;
+#line 57 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala"
+ _vala_array_add148 (&actions, &actions_length1, &_actions_size_, &_tmp7_);
+#line 59 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala"
+ _tmp8_.name = "DeleteSearch";
+#line 59 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala"
+ _tmp8_.stock_id = NULL;
+#line 59 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala"
+ _tmp8_.label = TRANSLATABLE;
+#line 59 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala"
+ _tmp8_.accelerator = NULL;
+#line 59 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala"
+ _tmp8_.tooltip = NULL;
+#line 59 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala"
+ _tmp8_.callback = (GCallback) _saved_search_page_on_delete_search_gtk_action_callback;
+#line 59 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala"
+ delete_search = _tmp8_;
+#line 60 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala"
+ _tmp9_ = actions;
+#line 60 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala"
+ _tmp9__length1 = actions_length1;
+#line 60 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala"
+ _tmp10_ = delete_search;
+#line 60 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala"
+ _vala_array_add149 (&actions, &actions_length1, &_actions_size_, &_tmp10_);
+#line 62 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala"
+ _tmp11_ = actions;
+#line 62 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala"
+ _tmp11__length1 = actions_length1;
+#line 62 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala"
+ if (result_length1) {
+#line 62 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala"
+ *result_length1 = _tmp11__length1;
+#line 1332 "SavedSearchPage.c"
+ }
+#line 62 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala"
+ result = _tmp11_;
+#line 62 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala"
+ return result;
+#line 1338 "SavedSearchPage.c"
+}
+
+
+static void saved_search_page_on_delete_search (SavedSearchPage* self) {
+ SavedSearch* _tmp0_ = NULL;
+ gboolean _tmp1_ = FALSE;
+#line 65 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala"
+ g_return_if_fail (IS_SAVED_SEARCH_PAGE (self));
+#line 66 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala"
+ _tmp0_ = self->priv->search;
+#line 66 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala"
+ _tmp1_ = dialogs_confirm_delete_saved_search (_tmp0_);
+#line 66 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala"
+ if (_tmp1_) {
+#line 1353 "SavedSearchPage.c"
+ CommandManager* _tmp2_ = NULL;
+ CommandManager* _tmp3_ = NULL;
+ SavedSearch* _tmp4_ = NULL;
+ DeleteSavedSearchCommand* _tmp5_ = NULL;
+ DeleteSavedSearchCommand* _tmp6_ = NULL;
+#line 67 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala"
+ _tmp2_ = app_window_get_command_manager ();
+#line 67 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala"
+ _tmp3_ = _tmp2_;
+#line 67 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala"
+ _tmp4_ = self->priv->search;
+#line 67 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala"
+ _tmp5_ = delete_saved_search_command_new (_tmp4_);
+#line 67 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala"
+ _tmp6_ = _tmp5_;
+#line 67 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala"
+ command_manager_execute (_tmp3_, G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, TYPE_COMMAND, Command));
+#line 67 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala"
+ _g_object_unref0 (_tmp6_);
+#line 67 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala"
+ _command_manager_unref0 (_tmp3_);
+#line 1375 "SavedSearchPage.c"
+ }
+}
+
+
+static void saved_search_page_on_rename_search (SavedSearchPage* self) {
+ LibraryWindow* _tmp0_ = NULL;
+ LibraryWindow* _tmp1_ = NULL;
+ SavedSearch* _tmp2_ = NULL;
+#line 70 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala"
+ g_return_if_fail (IS_SAVED_SEARCH_PAGE (self));
+#line 71 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala"
+ _tmp0_ = library_window_get_app ();
+#line 71 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala"
+ _tmp1_ = _tmp0_;
+#line 71 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala"
+ _tmp2_ = self->priv->search;
+#line 71 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala"
+ library_window_rename_search_in_sidebar (_tmp1_, _tmp2_);
+#line 71 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala"
+ _g_object_unref0 (_tmp1_);
+#line 1396 "SavedSearchPage.c"
+}
+
+
+static void saved_search_page_on_edit_search (SavedSearchPage* self) {
+ SavedSearchDialog* ssd = NULL;
+ SavedSearch* _tmp0_ = NULL;
+ SavedSearchDialog* _tmp1_ = NULL;
+#line 74 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala"
+ g_return_if_fail (IS_SAVED_SEARCH_PAGE (self));
+#line 75 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala"
+ _tmp0_ = self->priv->search;
+#line 75 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala"
+ _tmp1_ = saved_search_dialog_new_edit_existing (_tmp0_);
+#line 75 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala"
+ ssd = _tmp1_;
+#line 76 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala"
+ saved_search_dialog_show (ssd);
+#line 74 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala"
+ _saved_search_dialog_unref0 (ssd);
+#line 1416 "SavedSearchPage.c"
+}
+
+
+static void saved_search_page_real_update_actions (Page* base, gint selected_count, gint count) {
+ SavedSearchPage * self;
+ gint _tmp0_ = 0;
+ gint _tmp1_ = 0;
+#line 79 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala"
+ self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_SAVED_SEARCH_PAGE, SavedSearchPage);
+#line 80 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala"
+ page_set_action_details (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "RenameSearch", RESOURCES_RENAME_SEARCH_MENU, NULL, TRUE);
+#line 83 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala"
+ page_set_action_details (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "EditSearch", RESOURCES_EDIT_SEARCH_MENU, NULL, TRUE);
+#line 86 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala"
+ page_set_action_details (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_PAGE, Page), "DeleteSearch", RESOURCES_DELETE_SEARCH_MENU, NULL, TRUE);
+#line 89 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala"
+ _tmp0_ = selected_count;
+#line 89 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala"
+ _tmp1_ = count;
+#line 89 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala"
+ PAGE_CLASS (saved_search_page_parent_class)->update_actions (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_COLLECTION_PAGE, CollectionPage), TYPE_PAGE, Page), _tmp0_, _tmp1_);
+#line 1438 "SavedSearchPage.c"
+}
+
+
+static void saved_search_page_class_init (SavedSearchPageClass * klass) {
+#line 21 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala"
+ saved_search_page_parent_class = g_type_class_peek_parent (klass);
+#line 21 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala"
+ g_type_class_add_private (klass, sizeof (SavedSearchPagePrivate));
+#line 21 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala"
+ ((MediaPageClass *) klass)->get_config_photos_sort = saved_search_page_real_get_config_photos_sort;
+#line 21 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala"
+ ((MediaPageClass *) klass)->set_config_photos_sort = saved_search_page_real_set_config_photos_sort;
+#line 21 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala"
+ ((PageClass *) klass)->init_collect_ui_filenames = saved_search_page_real_init_collect_ui_filenames;
+#line 21 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala"
+ ((PageClass *) klass)->init_collect_action_entries = saved_search_page_real_init_collect_action_entries;
+#line 21 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala"
+ ((PageClass *) klass)->update_actions = saved_search_page_real_update_actions;
+#line 21 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala"
+ G_OBJECT_CLASS (klass)->finalize = saved_search_page_finalize;
+#line 1459 "SavedSearchPage.c"
+}
+
+
+static void saved_search_page_instance_init (SavedSearchPage * self) {
+#line 21 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala"
+ self->priv = SAVED_SEARCH_PAGE_GET_PRIVATE (self);
+#line 1466 "SavedSearchPage.c"
+}
+
+
+static void saved_search_page_finalize (GObject* obj) {
+ SavedSearchPage * self;
+#line 21 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala"
+ self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_SAVED_SEARCH_PAGE, SavedSearchPage);
+#line 24 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala"
+ _g_object_unref0 (self->priv->search);
+#line 21 "/home/jens/Source/shotwell/src/searches/SavedSearchPage.vala"
+ G_OBJECT_CLASS (saved_search_page_parent_class)->finalize (obj);
+#line 1478 "SavedSearchPage.c"
+}
+
+
+GType saved_search_page_get_type (void) {
+ static volatile gsize saved_search_page_type_id__volatile = 0;
+ if (g_once_init_enter (&saved_search_page_type_id__volatile)) {
+ static const GTypeInfo g_define_type_info = { sizeof (SavedSearchPageClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) saved_search_page_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (SavedSearchPage), 0, (GInstanceInitFunc) saved_search_page_instance_init, NULL };
+ GType saved_search_page_type_id;
+ saved_search_page_type_id = g_type_register_static (TYPE_COLLECTION_PAGE, "SavedSearchPage", &g_define_type_info, 0);
+ g_once_init_leave (&saved_search_page_type_id__volatile, saved_search_page_type_id);
+ }
+ return saved_search_page_type_id__volatile;
+}
+
+
+
diff --git a/src/searches/SearchBoolean.c b/src/searches/SearchBoolean.c
new file mode 100644
index 0000000..b182916
--- /dev/null
+++ b/src/searches/SearchBoolean.c
@@ -0,0 +1,6902 @@
+/* SearchBoolean.c generated by valac 0.32.1, the Vala compiler
+ * generated from SearchBoolean.vala, do not modify */
+
+/* Copyright 2016 Software Freedom Conservancy Inc.
+ *
+ * This software is licensed under the GNU LGPL (version 2.1 or later).
+ * See the COPYING file in this distribution.
+ */
+/* For specifying whether a search should be ORed (any) or ANDed (all).*/
+
+#include <glib.h>
+#include <glib-object.h>
+#include <stdlib.h>
+#include <string.h>
+#include <glib/gi18n-lib.h>
+#include <gee.h>
+#include <time.h>
+#include <gtk/gtk.h>
+#include <gobject/gvaluecollector.h>
+
+
+#define TYPE_SEARCH_OPERATOR (search_operator_get_type ())
+
+#define TYPE_SEARCH_CONDITION (search_condition_get_type ())
+#define SEARCH_CONDITION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SEARCH_CONDITION, SearchCondition))
+#define SEARCH_CONDITION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SEARCH_CONDITION, SearchConditionClass))
+#define IS_SEARCH_CONDITION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SEARCH_CONDITION))
+#define IS_SEARCH_CONDITION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SEARCH_CONDITION))
+#define SEARCH_CONDITION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SEARCH_CONDITION, SearchConditionClass))
+
+typedef struct _SearchCondition SearchCondition;
+typedef struct _SearchConditionClass SearchConditionClass;
+typedef struct _SearchConditionPrivate SearchConditionPrivate;
+
+#define TYPE_DATA_OBJECT (data_object_get_type ())
+#define DATA_OBJECT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATA_OBJECT, DataObject))
+#define DATA_OBJECT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATA_OBJECT, DataObjectClass))
+#define IS_DATA_OBJECT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATA_OBJECT))
+#define IS_DATA_OBJECT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATA_OBJECT))
+#define DATA_OBJECT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATA_OBJECT, DataObjectClass))
+
+typedef struct _DataObject DataObject;
+typedef struct _DataObjectClass DataObjectClass;
+
+#define TYPE_DATA_SOURCE (data_source_get_type ())
+#define DATA_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATA_SOURCE, DataSource))
+#define DATA_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATA_SOURCE, DataSourceClass))
+#define IS_DATA_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATA_SOURCE))
+#define IS_DATA_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATA_SOURCE))
+#define DATA_SOURCE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATA_SOURCE, DataSourceClass))
+
+typedef struct _DataSource DataSource;
+typedef struct _DataSourceClass DataSourceClass;
+
+#define TYPE_THUMBNAIL_SOURCE (thumbnail_source_get_type ())
+#define THUMBNAIL_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_THUMBNAIL_SOURCE, ThumbnailSource))
+#define THUMBNAIL_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_THUMBNAIL_SOURCE, ThumbnailSourceClass))
+#define IS_THUMBNAIL_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_THUMBNAIL_SOURCE))
+#define IS_THUMBNAIL_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_THUMBNAIL_SOURCE))
+#define THUMBNAIL_SOURCE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_THUMBNAIL_SOURCE, ThumbnailSourceClass))
+
+typedef struct _ThumbnailSource ThumbnailSource;
+typedef struct _ThumbnailSourceClass ThumbnailSourceClass;
+
+#define TYPE_MEDIA_SOURCE (media_source_get_type ())
+#define MEDIA_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MEDIA_SOURCE, MediaSource))
+#define MEDIA_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MEDIA_SOURCE, MediaSourceClass))
+#define IS_MEDIA_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MEDIA_SOURCE))
+#define IS_MEDIA_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MEDIA_SOURCE))
+#define MEDIA_SOURCE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MEDIA_SOURCE, MediaSourceClass))
+
+typedef struct _MediaSource MediaSource;
+typedef struct _MediaSourceClass MediaSourceClass;
+
+#define SEARCH_CONDITION_TYPE_SEARCH_TYPE (search_condition_search_type_get_type ())
+typedef struct _ParamSpecSearchCondition ParamSpecSearchCondition;
+
+#define TYPE_SEARCH_CONDITION_TEXT (search_condition_text_get_type ())
+#define SEARCH_CONDITION_TEXT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SEARCH_CONDITION_TEXT, SearchConditionText))
+#define SEARCH_CONDITION_TEXT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SEARCH_CONDITION_TEXT, SearchConditionTextClass))
+#define IS_SEARCH_CONDITION_TEXT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SEARCH_CONDITION_TEXT))
+#define IS_SEARCH_CONDITION_TEXT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SEARCH_CONDITION_TEXT))
+#define SEARCH_CONDITION_TEXT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SEARCH_CONDITION_TEXT, SearchConditionTextClass))
+
+typedef struct _SearchConditionText SearchConditionText;
+typedef struct _SearchConditionTextClass SearchConditionTextClass;
+typedef struct _SearchConditionTextPrivate SearchConditionTextPrivate;
+
+#define SEARCH_CONDITION_TEXT_TYPE_CONTEXT (search_condition_text_context_get_type ())
+#define _g_free0(var) (var = (g_free (var), NULL))
+
+#define TYPE_TAG (tag_get_type ())
+#define TAG(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_TAG, Tag))
+#define TAG_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_TAG, TagClass))
+#define IS_TAG(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_TAG))
+#define IS_TAG_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_TAG))
+#define TAG_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_TAG, TagClass))
+
+typedef struct _Tag Tag;
+typedef struct _TagClass TagClass;
+
+#define TYPE_DATA_COLLECTION (data_collection_get_type ())
+#define DATA_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATA_COLLECTION, DataCollection))
+#define DATA_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATA_COLLECTION, DataCollectionClass))
+#define IS_DATA_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATA_COLLECTION))
+#define IS_DATA_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATA_COLLECTION))
+#define DATA_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATA_COLLECTION, DataCollectionClass))
+
+typedef struct _DataCollection DataCollection;
+typedef struct _DataCollectionClass DataCollectionClass;
+
+#define TYPE_SOURCE_COLLECTION (source_collection_get_type ())
+#define SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SOURCE_COLLECTION, SourceCollection))
+#define SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SOURCE_COLLECTION, SourceCollectionClass))
+#define IS_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SOURCE_COLLECTION))
+#define IS_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SOURCE_COLLECTION))
+#define SOURCE_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SOURCE_COLLECTION, SourceCollectionClass))
+
+typedef struct _SourceCollection SourceCollection;
+typedef struct _SourceCollectionClass SourceCollectionClass;
+
+#define TYPE_DATABASE_SOURCE_COLLECTION (database_source_collection_get_type ())
+#define DATABASE_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATABASE_SOURCE_COLLECTION, DatabaseSourceCollection))
+#define DATABASE_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATABASE_SOURCE_COLLECTION, DatabaseSourceCollectionClass))
+#define IS_DATABASE_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATABASE_SOURCE_COLLECTION))
+#define IS_DATABASE_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATABASE_SOURCE_COLLECTION))
+#define DATABASE_SOURCE_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATABASE_SOURCE_COLLECTION, DatabaseSourceCollectionClass))
+
+typedef struct _DatabaseSourceCollection DatabaseSourceCollection;
+typedef struct _DatabaseSourceCollectionClass DatabaseSourceCollectionClass;
+
+#define TYPE_CONTAINER_SOURCE_COLLECTION (container_source_collection_get_type ())
+#define CONTAINER_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_CONTAINER_SOURCE_COLLECTION, ContainerSourceCollection))
+#define CONTAINER_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_CONTAINER_SOURCE_COLLECTION, ContainerSourceCollectionClass))
+#define IS_CONTAINER_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_CONTAINER_SOURCE_COLLECTION))
+#define IS_CONTAINER_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_CONTAINER_SOURCE_COLLECTION))
+#define CONTAINER_SOURCE_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_CONTAINER_SOURCE_COLLECTION, ContainerSourceCollectionClass))
+
+typedef struct _ContainerSourceCollection ContainerSourceCollection;
+typedef struct _ContainerSourceCollectionClass ContainerSourceCollectionClass;
+
+#define TYPE_TAG_SOURCE_COLLECTION (tag_source_collection_get_type ())
+#define TAG_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_TAG_SOURCE_COLLECTION, TagSourceCollection))
+#define TAG_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_TAG_SOURCE_COLLECTION, TagSourceCollectionClass))
+#define IS_TAG_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_TAG_SOURCE_COLLECTION))
+#define IS_TAG_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_TAG_SOURCE_COLLECTION))
+#define TAG_SOURCE_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_TAG_SOURCE_COLLECTION, TagSourceCollectionClass))
+
+typedef struct _TagSourceCollection TagSourceCollection;
+typedef struct _TagSourceCollectionClass TagSourceCollectionClass;
+#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL)))
+
+#define TYPE_EVENT_SOURCE (event_source_get_type ())
+#define EVENT_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_EVENT_SOURCE, EventSource))
+#define EVENT_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_EVENT_SOURCE, EventSourceClass))
+#define IS_EVENT_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_EVENT_SOURCE))
+#define IS_EVENT_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_EVENT_SOURCE))
+#define EVENT_SOURCE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_EVENT_SOURCE, EventSourceClass))
+
+typedef struct _EventSource EventSource;
+typedef struct _EventSourceClass EventSourceClass;
+
+#define TYPE_EVENT (event_get_type ())
+#define EVENT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_EVENT, Event))
+#define EVENT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_EVENT, EventClass))
+#define IS_EVENT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_EVENT))
+#define IS_EVENT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_EVENT))
+#define EVENT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_EVENT, EventClass))
+
+typedef struct _Event Event;
+typedef struct _EventClass EventClass;
+
+#define TYPE_SEARCH_CONDITION_MEDIA_TYPE (search_condition_media_type_get_type ())
+#define SEARCH_CONDITION_MEDIA_TYPE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SEARCH_CONDITION_MEDIA_TYPE, SearchConditionMediaType))
+#define SEARCH_CONDITION_MEDIA_TYPE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SEARCH_CONDITION_MEDIA_TYPE, SearchConditionMediaTypeClass))
+#define IS_SEARCH_CONDITION_MEDIA_TYPE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SEARCH_CONDITION_MEDIA_TYPE))
+#define IS_SEARCH_CONDITION_MEDIA_TYPE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SEARCH_CONDITION_MEDIA_TYPE))
+#define SEARCH_CONDITION_MEDIA_TYPE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SEARCH_CONDITION_MEDIA_TYPE, SearchConditionMediaTypeClass))
+
+typedef struct _SearchConditionMediaType SearchConditionMediaType;
+typedef struct _SearchConditionMediaTypeClass SearchConditionMediaTypeClass;
+typedef struct _SearchConditionMediaTypePrivate SearchConditionMediaTypePrivate;
+
+#define SEARCH_CONDITION_MEDIA_TYPE_TYPE_MEDIA_TYPE (search_condition_media_type_media_type_get_type ())
+
+#define SEARCH_CONDITION_MEDIA_TYPE_TYPE_CONTEXT (search_condition_media_type_context_get_type ())
+
+#define TYPE_PHOTO_SOURCE (photo_source_get_type ())
+#define PHOTO_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PHOTO_SOURCE, PhotoSource))
+#define PHOTO_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PHOTO_SOURCE, PhotoSourceClass))
+#define IS_PHOTO_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PHOTO_SOURCE))
+#define IS_PHOTO_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PHOTO_SOURCE))
+#define PHOTO_SOURCE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PHOTO_SOURCE, PhotoSourceClass))
+
+typedef struct _PhotoSource PhotoSource;
+typedef struct _PhotoSourceClass PhotoSourceClass;
+
+#define TYPE_PHOTO (photo_get_type ())
+#define PHOTO(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PHOTO, Photo))
+#define PHOTO_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PHOTO, PhotoClass))
+#define IS_PHOTO(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PHOTO))
+#define IS_PHOTO_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PHOTO))
+#define PHOTO_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PHOTO, PhotoClass))
+
+typedef struct _Photo Photo;
+typedef struct _PhotoClass PhotoClass;
+
+#define TYPE_PHOTO_FILE_FORMAT (photo_file_format_get_type ())
+
+#define TYPE_VIDEO_SOURCE (video_source_get_type ())
+#define VIDEO_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_VIDEO_SOURCE, VideoSource))
+#define VIDEO_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_VIDEO_SOURCE, VideoSourceClass))
+#define IS_VIDEO_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_VIDEO_SOURCE))
+#define IS_VIDEO_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_VIDEO_SOURCE))
+#define VIDEO_SOURCE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_VIDEO_SOURCE, VideoSourceClass))
+
+typedef struct _VideoSource VideoSource;
+typedef struct _VideoSourceClass VideoSourceClass;
+
+#define TYPE_SEARCH_CONDITION_FLAGGED (search_condition_flagged_get_type ())
+#define SEARCH_CONDITION_FLAGGED(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SEARCH_CONDITION_FLAGGED, SearchConditionFlagged))
+#define SEARCH_CONDITION_FLAGGED_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SEARCH_CONDITION_FLAGGED, SearchConditionFlaggedClass))
+#define IS_SEARCH_CONDITION_FLAGGED(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SEARCH_CONDITION_FLAGGED))
+#define IS_SEARCH_CONDITION_FLAGGED_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SEARCH_CONDITION_FLAGGED))
+#define SEARCH_CONDITION_FLAGGED_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SEARCH_CONDITION_FLAGGED, SearchConditionFlaggedClass))
+
+typedef struct _SearchConditionFlagged SearchConditionFlagged;
+typedef struct _SearchConditionFlaggedClass SearchConditionFlaggedClass;
+typedef struct _SearchConditionFlaggedPrivate SearchConditionFlaggedPrivate;
+
+#define SEARCH_CONDITION_FLAGGED_TYPE_STATE (search_condition_flagged_state_get_type ())
+
+#define TYPE_FLAGGABLE (flaggable_get_type ())
+#define FLAGGABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_FLAGGABLE, Flaggable))
+#define IS_FLAGGABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_FLAGGABLE))
+#define FLAGGABLE_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), TYPE_FLAGGABLE, FlaggableIface))
+
+typedef struct _Flaggable Flaggable;
+typedef struct _FlaggableIface FlaggableIface;
+
+#define TYPE_SEARCH_CONDITION_MODIFIED (search_condition_modified_get_type ())
+#define SEARCH_CONDITION_MODIFIED(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SEARCH_CONDITION_MODIFIED, SearchConditionModified))
+#define SEARCH_CONDITION_MODIFIED_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SEARCH_CONDITION_MODIFIED, SearchConditionModifiedClass))
+#define IS_SEARCH_CONDITION_MODIFIED(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SEARCH_CONDITION_MODIFIED))
+#define IS_SEARCH_CONDITION_MODIFIED_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SEARCH_CONDITION_MODIFIED))
+#define SEARCH_CONDITION_MODIFIED_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SEARCH_CONDITION_MODIFIED, SearchConditionModifiedClass))
+
+typedef struct _SearchConditionModified SearchConditionModified;
+typedef struct _SearchConditionModifiedClass SearchConditionModifiedClass;
+typedef struct _SearchConditionModifiedPrivate SearchConditionModifiedPrivate;
+
+#define SEARCH_CONDITION_MODIFIED_TYPE_STATE (search_condition_modified_state_get_type ())
+
+#define SEARCH_CONDITION_MODIFIED_TYPE_CONTEXT (search_condition_modified_context_get_type ())
+
+#define TYPE_SEARCH_CONDITION_RATING (search_condition_rating_get_type ())
+#define SEARCH_CONDITION_RATING(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SEARCH_CONDITION_RATING, SearchConditionRating))
+#define SEARCH_CONDITION_RATING_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SEARCH_CONDITION_RATING, SearchConditionRatingClass))
+#define IS_SEARCH_CONDITION_RATING(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SEARCH_CONDITION_RATING))
+#define IS_SEARCH_CONDITION_RATING_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SEARCH_CONDITION_RATING))
+#define SEARCH_CONDITION_RATING_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SEARCH_CONDITION_RATING, SearchConditionRatingClass))
+
+typedef struct _SearchConditionRating SearchConditionRating;
+typedef struct _SearchConditionRatingClass SearchConditionRatingClass;
+typedef struct _SearchConditionRatingPrivate SearchConditionRatingPrivate;
+
+#define TYPE_RATING (rating_get_type ())
+
+#define SEARCH_CONDITION_RATING_TYPE_CONTEXT (search_condition_rating_context_get_type ())
+
+#define TYPE_SEARCH_CONDITION_DATE (search_condition_date_get_type ())
+#define SEARCH_CONDITION_DATE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SEARCH_CONDITION_DATE, SearchConditionDate))
+#define SEARCH_CONDITION_DATE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SEARCH_CONDITION_DATE, SearchConditionDateClass))
+#define IS_SEARCH_CONDITION_DATE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SEARCH_CONDITION_DATE))
+#define IS_SEARCH_CONDITION_DATE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SEARCH_CONDITION_DATE))
+#define SEARCH_CONDITION_DATE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SEARCH_CONDITION_DATE, SearchConditionDateClass))
+
+typedef struct _SearchConditionDate SearchConditionDate;
+typedef struct _SearchConditionDateClass SearchConditionDateClass;
+typedef struct _SearchConditionDatePrivate SearchConditionDatePrivate;
+
+#define SEARCH_CONDITION_DATE_TYPE_CONTEXT (search_condition_date_context_get_type ())
+#define _g_date_time_unref0(var) ((var == NULL) ? NULL : (var = (g_date_time_unref (var), NULL)))
+typedef struct _DataObjectPrivate DataObjectPrivate;
+
+#define TYPE_ALTERATION (alteration_get_type ())
+#define ALTERATION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_ALTERATION, Alteration))
+#define ALTERATION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_ALTERATION, AlterationClass))
+#define IS_ALTERATION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_ALTERATION))
+#define IS_ALTERATION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_ALTERATION))
+#define ALTERATION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_ALTERATION, AlterationClass))
+
+typedef struct _Alteration Alteration;
+typedef struct _AlterationClass AlterationClass;
+typedef struct _DataSourcePrivate DataSourcePrivate;
+
+#define TYPE_SOURCE_HOLDING_TANK (source_holding_tank_get_type ())
+#define SOURCE_HOLDING_TANK(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SOURCE_HOLDING_TANK, SourceHoldingTank))
+#define SOURCE_HOLDING_TANK_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SOURCE_HOLDING_TANK, SourceHoldingTankClass))
+#define IS_SOURCE_HOLDING_TANK(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SOURCE_HOLDING_TANK))
+#define IS_SOURCE_HOLDING_TANK_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SOURCE_HOLDING_TANK))
+#define SOURCE_HOLDING_TANK_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SOURCE_HOLDING_TANK, SourceHoldingTankClass))
+
+typedef struct _SourceHoldingTank SourceHoldingTank;
+typedef struct _SourceHoldingTankClass SourceHoldingTankClass;
+
+#define TYPE_SOURCE_SNAPSHOT (source_snapshot_get_type ())
+#define SOURCE_SNAPSHOT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SOURCE_SNAPSHOT, SourceSnapshot))
+#define SOURCE_SNAPSHOT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SOURCE_SNAPSHOT, SourceSnapshotClass))
+#define IS_SOURCE_SNAPSHOT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SOURCE_SNAPSHOT))
+#define IS_SOURCE_SNAPSHOT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SOURCE_SNAPSHOT))
+#define SOURCE_SNAPSHOT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SOURCE_SNAPSHOT, SourceSnapshotClass))
+
+typedef struct _SourceSnapshot SourceSnapshot;
+typedef struct _SourceSnapshotClass SourceSnapshotClass;
+
+#define TYPE_SAVED_SEARCH (saved_search_get_type ())
+#define SAVED_SEARCH(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SAVED_SEARCH, SavedSearch))
+#define SAVED_SEARCH_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SAVED_SEARCH, SavedSearchClass))
+#define IS_SAVED_SEARCH(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SAVED_SEARCH))
+#define IS_SAVED_SEARCH_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SAVED_SEARCH))
+#define SAVED_SEARCH_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SAVED_SEARCH, SavedSearchClass))
+
+typedef struct _SavedSearch SavedSearch;
+typedef struct _SavedSearchClass SavedSearchClass;
+typedef struct _SavedSearchPrivate SavedSearchPrivate;
+
+#define TYPE_SAVED_SEARCH_ROW (saved_search_row_get_type ())
+#define SAVED_SEARCH_ROW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SAVED_SEARCH_ROW, SavedSearchRow))
+#define SAVED_SEARCH_ROW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SAVED_SEARCH_ROW, SavedSearchRowClass))
+#define IS_SAVED_SEARCH_ROW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SAVED_SEARCH_ROW))
+#define IS_SAVED_SEARCH_ROW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SAVED_SEARCH_ROW))
+#define SAVED_SEARCH_ROW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SAVED_SEARCH_ROW, SavedSearchRowClass))
+
+typedef struct _SavedSearchRow SavedSearchRow;
+typedef struct _SavedSearchRowClass SavedSearchRowClass;
+#define _saved_search_row_unref0(var) ((var == NULL) ? NULL : (var = (saved_search_row_unref (var), NULL)))
+typedef struct _SavedSearchRowPrivate SavedSearchRowPrivate;
+
+#define TYPE_SAVED_SEARCH_ID (saved_search_id_get_type ())
+typedef struct _SavedSearchID SavedSearchID;
+#define _search_condition_unref0(var) ((var == NULL) ? NULL : (var = (search_condition_unref (var), NULL)))
+
+#define TYPE_DATABASE_TABLE (database_table_get_type ())
+#define DATABASE_TABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATABASE_TABLE, DatabaseTable))
+#define DATABASE_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATABASE_TABLE, DatabaseTableClass))
+#define IS_DATABASE_TABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATABASE_TABLE))
+#define IS_DATABASE_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATABASE_TABLE))
+#define DATABASE_TABLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATABASE_TABLE, DatabaseTableClass))
+
+typedef struct _DatabaseTable DatabaseTable;
+typedef struct _DatabaseTableClass DatabaseTableClass;
+
+#define TYPE_SAVED_SEARCH_DB_TABLE (saved_search_db_table_get_type ())
+#define SAVED_SEARCH_DB_TABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SAVED_SEARCH_DB_TABLE, SavedSearchDBTable))
+#define SAVED_SEARCH_DB_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SAVED_SEARCH_DB_TABLE, SavedSearchDBTableClass))
+#define IS_SAVED_SEARCH_DB_TABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SAVED_SEARCH_DB_TABLE))
+#define IS_SAVED_SEARCH_DB_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SAVED_SEARCH_DB_TABLE))
+#define SAVED_SEARCH_DB_TABLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SAVED_SEARCH_DB_TABLE, SavedSearchDBTableClass))
+
+typedef struct _SavedSearchDBTable SavedSearchDBTable;
+typedef struct _SavedSearchDBTableClass SavedSearchDBTableClass;
+#define _database_table_unref0(var) ((var == NULL) ? NULL : (var = (database_table_unref (var), NULL)))
+#define _g_error_free0(var) ((var == NULL) ? NULL : (var = (g_error_free (var), NULL)))
+
+#define TYPE_SAVED_SEARCH_TABLE (saved_search_table_get_type ())
+#define SAVED_SEARCH_TABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SAVED_SEARCH_TABLE, SavedSearchTable))
+#define SAVED_SEARCH_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SAVED_SEARCH_TABLE, SavedSearchTableClass))
+#define IS_SAVED_SEARCH_TABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SAVED_SEARCH_TABLE))
+#define IS_SAVED_SEARCH_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SAVED_SEARCH_TABLE))
+#define SAVED_SEARCH_TABLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SAVED_SEARCH_TABLE, SavedSearchTableClass))
+
+typedef struct _SavedSearchTable SavedSearchTable;
+typedef struct _SavedSearchTableClass SavedSearchTableClass;
+#define _saved_search_table_unref0(var) ((var == NULL) ? NULL : (var = (saved_search_table_unref (var), NULL)))
+
+#define TYPE_PAGE_WINDOW (page_window_get_type ())
+#define PAGE_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PAGE_WINDOW, PageWindow))
+#define PAGE_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PAGE_WINDOW, PageWindowClass))
+#define IS_PAGE_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PAGE_WINDOW))
+#define IS_PAGE_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PAGE_WINDOW))
+#define PAGE_WINDOW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PAGE_WINDOW, PageWindowClass))
+
+typedef struct _PageWindow PageWindow;
+typedef struct _PageWindowClass PageWindowClass;
+
+#define TYPE_APP_WINDOW (app_window_get_type ())
+#define APP_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_APP_WINDOW, AppWindow))
+#define APP_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_APP_WINDOW, AppWindowClass))
+#define IS_APP_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_APP_WINDOW))
+#define IS_APP_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_APP_WINDOW))
+#define APP_WINDOW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_APP_WINDOW, AppWindowClass))
+
+typedef struct _AppWindow AppWindow;
+typedef struct _AppWindowClass AppWindowClass;
+
+#define TYPE_LIBRARY_WINDOW (library_window_get_type ())
+#define LIBRARY_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_LIBRARY_WINDOW, LibraryWindow))
+#define LIBRARY_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_LIBRARY_WINDOW, LibraryWindowClass))
+#define IS_LIBRARY_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_LIBRARY_WINDOW))
+#define IS_LIBRARY_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_LIBRARY_WINDOW))
+#define LIBRARY_WINDOW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_LIBRARY_WINDOW, LibraryWindowClass))
+
+typedef struct _LibraryWindow LibraryWindow;
+typedef struct _LibraryWindowClass LibraryWindowClass;
+typedef struct _SavedSearchTablePrivate SavedSearchTablePrivate;
+typedef struct _ParamSpecSavedSearchTable ParamSpecSavedSearchTable;
+
+typedef enum {
+ SEARCH_OPERATOR_ANY = 0,
+ SEARCH_OPERATOR_ALL,
+ SEARCH_OPERATOR_NONE
+} SearchOperator;
+
+struct _SearchCondition {
+ GTypeInstance parent_instance;
+ volatile int ref_count;
+ SearchConditionPrivate * priv;
+};
+
+struct _SearchConditionClass {
+ GTypeClass parent_class;
+ void (*finalize) (SearchCondition *self);
+ gboolean (*predicate) (SearchCondition* self, MediaSource* source);
+};
+
+typedef enum {
+ SEARCH_CONDITION_SEARCH_TYPE_ANY_TEXT = 0,
+ SEARCH_CONDITION_SEARCH_TYPE_TITLE,
+ SEARCH_CONDITION_SEARCH_TYPE_TAG,
+ SEARCH_CONDITION_SEARCH_TYPE_EVENT_NAME,
+ SEARCH_CONDITION_SEARCH_TYPE_FILE_NAME,
+ SEARCH_CONDITION_SEARCH_TYPE_MEDIA_TYPE,
+ SEARCH_CONDITION_SEARCH_TYPE_FLAG_STATE,
+ SEARCH_CONDITION_SEARCH_TYPE_MODIFIED_STATE,
+ SEARCH_CONDITION_SEARCH_TYPE_RATING,
+ SEARCH_CONDITION_SEARCH_TYPE_COMMENT,
+ SEARCH_CONDITION_SEARCH_TYPE_DATE
+} SearchConditionSearchType;
+
+struct _SearchConditionPrivate {
+ SearchConditionSearchType _search_type;
+};
+
+struct _ParamSpecSearchCondition {
+ GParamSpec parent_instance;
+};
+
+struct _SearchConditionText {
+ SearchCondition parent_instance;
+ SearchConditionTextPrivate * priv;
+};
+
+struct _SearchConditionTextClass {
+ SearchConditionClass parent_class;
+};
+
+typedef enum {
+ SEARCH_CONDITION_TEXT_CONTEXT_CONTAINS = 0,
+ SEARCH_CONDITION_TEXT_CONTEXT_IS_EXACTLY,
+ SEARCH_CONDITION_TEXT_CONTEXT_STARTS_WITH,
+ SEARCH_CONDITION_TEXT_CONTEXT_ENDS_WITH,
+ SEARCH_CONDITION_TEXT_CONTEXT_DOES_NOT_CONTAIN,
+ SEARCH_CONDITION_TEXT_CONTEXT_IS_NOT_SET,
+ SEARCH_CONDITION_TEXT_CONTEXT_IS_SET
+} SearchConditionTextContext;
+
+struct _SearchConditionTextPrivate {
+ gchar* _text;
+ SearchConditionTextContext _context;
+};
+
+struct _SearchConditionMediaType {
+ SearchCondition parent_instance;
+ SearchConditionMediaTypePrivate * priv;
+};
+
+struct _SearchConditionMediaTypeClass {
+ SearchConditionClass parent_class;
+};
+
+typedef enum {
+ SEARCH_CONDITION_MEDIA_TYPE_MEDIA_TYPE_PHOTO_ALL = 0,
+ SEARCH_CONDITION_MEDIA_TYPE_MEDIA_TYPE_PHOTO_RAW,
+ SEARCH_CONDITION_MEDIA_TYPE_MEDIA_TYPE_VIDEO
+} SearchConditionMediaTypeMediaType;
+
+typedef enum {
+ SEARCH_CONDITION_MEDIA_TYPE_CONTEXT_IS = 0,
+ SEARCH_CONDITION_MEDIA_TYPE_CONTEXT_IS_NOT
+} SearchConditionMediaTypeContext;
+
+struct _SearchConditionMediaTypePrivate {
+ SearchConditionMediaTypeMediaType _media_type;
+ SearchConditionMediaTypeContext _context;
+};
+
+typedef enum {
+ PHOTO_FILE_FORMAT_JFIF,
+ PHOTO_FILE_FORMAT_RAW,
+ PHOTO_FILE_FORMAT_PNG,
+ PHOTO_FILE_FORMAT_TIFF,
+ PHOTO_FILE_FORMAT_BMP,
+ PHOTO_FILE_FORMAT_UNKNOWN
+} PhotoFileFormat;
+
+struct _SearchConditionFlagged {
+ SearchCondition parent_instance;
+ SearchConditionFlaggedPrivate * priv;
+};
+
+struct _SearchConditionFlaggedClass {
+ SearchConditionClass parent_class;
+};
+
+typedef enum {
+ SEARCH_CONDITION_FLAGGED_STATE_FLAGGED = 0,
+ SEARCH_CONDITION_FLAGGED_STATE_UNFLAGGED
+} SearchConditionFlaggedState;
+
+struct _SearchConditionFlaggedPrivate {
+ SearchConditionFlaggedState _state;
+};
+
+struct _FlaggableIface {
+ GTypeInterface parent_iface;
+ gboolean (*is_flagged) (Flaggable* self);
+ void (*mark_flagged) (Flaggable* self);
+ void (*mark_unflagged) (Flaggable* self);
+};
+
+struct _SearchConditionModified {
+ SearchCondition parent_instance;
+ SearchConditionModifiedPrivate * priv;
+};
+
+struct _SearchConditionModifiedClass {
+ SearchConditionClass parent_class;
+};
+
+typedef enum {
+ SEARCH_CONDITION_MODIFIED_STATE_MODIFIED = 0,
+ SEARCH_CONDITION_MODIFIED_STATE_INTERNAL_CHANGES,
+ SEARCH_CONDITION_MODIFIED_STATE_EXTERNAL_CHANGES
+} SearchConditionModifiedState;
+
+typedef enum {
+ SEARCH_CONDITION_MODIFIED_CONTEXT_HAS = 0,
+ SEARCH_CONDITION_MODIFIED_CONTEXT_HAS_NO
+} SearchConditionModifiedContext;
+
+struct _SearchConditionModifiedPrivate {
+ SearchConditionModifiedState _state;
+ SearchConditionModifiedContext _context;
+};
+
+struct _SearchConditionRating {
+ SearchCondition parent_instance;
+ SearchConditionRatingPrivate * priv;
+};
+
+struct _SearchConditionRatingClass {
+ SearchConditionClass parent_class;
+};
+
+typedef enum {
+ RATING_REJECTED = -1,
+ RATING_UNRATED = 0,
+ RATING_ONE = 1,
+ RATING_TWO = 2,
+ RATING_THREE = 3,
+ RATING_FOUR = 4,
+ RATING_FIVE = 5
+} Rating;
+
+typedef enum {
+ SEARCH_CONDITION_RATING_CONTEXT_AND_HIGHER = 0,
+ SEARCH_CONDITION_RATING_CONTEXT_ONLY,
+ SEARCH_CONDITION_RATING_CONTEXT_AND_LOWER
+} SearchConditionRatingContext;
+
+struct _SearchConditionRatingPrivate {
+ Rating _rating;
+ SearchConditionRatingContext _context;
+};
+
+struct _SearchConditionDate {
+ SearchCondition parent_instance;
+ SearchConditionDatePrivate * priv;
+};
+
+struct _SearchConditionDateClass {
+ SearchConditionClass parent_class;
+};
+
+typedef enum {
+ SEARCH_CONDITION_DATE_CONTEXT_EXACT = 0,
+ SEARCH_CONDITION_DATE_CONTEXT_AFTER,
+ SEARCH_CONDITION_DATE_CONTEXT_BEFORE,
+ SEARCH_CONDITION_DATE_CONTEXT_BETWEEN,
+ SEARCH_CONDITION_DATE_CONTEXT_IS_NOT_SET
+} SearchConditionDateContext;
+
+struct _SearchConditionDatePrivate {
+ GDateTime* _date_one;
+ GDateTime* _date_two;
+ SearchConditionDateContext _context;
+};
+
+struct _DataObject {
+ GObject parent_instance;
+ DataObjectPrivate * priv;
+};
+
+struct _DataObjectClass {
+ GObjectClass parent_class;
+ void (*notify_altered) (DataObject* self, Alteration* alteration);
+ void (*notify_membership_changed) (DataObject* self, DataCollection* collection);
+ void (*notify_collection_property_set) (DataObject* self, const gchar* name, GValue* old, GValue* val);
+ void (*notify_collection_property_cleared) (DataObject* self, const gchar* name);
+ gchar* (*get_name) (DataObject* self);
+ gchar* (*to_string) (DataObject* self);
+};
+
+struct _DataSource {
+ DataObject parent_instance;
+ DataSourcePrivate * priv;
+};
+
+struct _DataSourceClass {
+ DataObjectClass parent_class;
+ void (*notify_held_in_tank) (DataSource* self, SourceHoldingTank* holding_tank);
+ void (*notify_unlinking) (DataSource* self, SourceCollection* collection);
+ void (*notify_unlinked) (DataSource* self);
+ void (*notify_relinking) (DataSource* self, SourceCollection* collection);
+ void (*notify_relinked) (DataSource* self);
+ gchar* (*get_typename) (DataSource* self);
+ gint64 (*get_instance_id) (DataSource* self);
+ gchar* (*get_source_id) (DataSource* self);
+ void (*commit_backlinks) (DataSource* self, SourceCollection* sources, const gchar* dehydrated);
+ SourceSnapshot* (*save_snapshot) (DataSource* self);
+ gboolean (*internal_delete_backing) (DataSource* self, GError** error);
+ gboolean (*equals) (DataSource* self, DataSource* source);
+ void (*destroy) (DataSource* self);
+ void (*unlinked) (DataSource* self, SourceCollection* sources);
+ void (*relinked) (DataSource* self, SourceCollection* sources);
+ void (*destroyed) (DataSource* self);
+};
+
+struct _SavedSearch {
+ DataSource parent_instance;
+ SavedSearchPrivate * priv;
+};
+
+struct _SavedSearchClass {
+ DataSourceClass parent_class;
+};
+
+struct _SavedSearchPrivate {
+ SavedSearchRow* row;
+};
+
+struct _SavedSearchID {
+ gint64 id;
+};
+
+struct _SavedSearchRow {
+ GTypeInstance parent_instance;
+ volatile int ref_count;
+ SavedSearchRowPrivate * priv;
+ SavedSearchID search_id;
+ gchar* name;
+ SearchOperator operator;
+ GeeList* conditions;
+};
+
+struct _SavedSearchRowClass {
+ GTypeClass parent_class;
+ void (*finalize) (SavedSearchRow *self);
+};
+
+typedef enum {
+ DATABASE_ERROR_ERROR,
+ DATABASE_ERROR_BACKING,
+ DATABASE_ERROR_MEMORY,
+ DATABASE_ERROR_ABORT,
+ DATABASE_ERROR_LIMITS,
+ DATABASE_ERROR_TYPESPEC
+} DatabaseError;
+#define DATABASE_ERROR database_error_quark ()
+struct _SavedSearchTable {
+ GTypeInstance parent_instance;
+ volatile int ref_count;
+ SavedSearchTablePrivate * priv;
+};
+
+struct _SavedSearchTableClass {
+ GTypeClass parent_class;
+ void (*finalize) (SavedSearchTable *self);
+};
+
+struct _SavedSearchTablePrivate {
+ GeeHashMap* search_map;
+};
+
+struct _ParamSpecSavedSearchTable {
+ GParamSpec parent_instance;
+};
+
+
+static gpointer search_condition_parent_class = NULL;
+static gpointer search_condition_text_parent_class = NULL;
+extern TagSourceCollection* tag_global;
+static gpointer search_condition_media_type_parent_class = NULL;
+static gpointer search_condition_flagged_parent_class = NULL;
+static gpointer search_condition_modified_parent_class = NULL;
+static gpointer search_condition_rating_parent_class = NULL;
+static gpointer search_condition_date_parent_class = NULL;
+static gpointer saved_search_parent_class = NULL;
+static gpointer saved_search_table_parent_class = NULL;
+static SavedSearchTable* saved_search_table_instance;
+static SavedSearchTable* saved_search_table_instance = NULL;
+
+GType search_operator_get_type (void) G_GNUC_CONST;
+gchar* search_operator_to_string (SearchOperator self);
+SearchOperator search_operator_from_string (const gchar* str);
+gpointer search_condition_ref (gpointer instance);
+void search_condition_unref (gpointer instance);
+GParamSpec* param_spec_search_condition (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
+void value_set_search_condition (GValue* value, gpointer v_object);
+void value_take_search_condition (GValue* value, gpointer v_object);
+gpointer value_get_search_condition (const GValue* value);
+GType search_condition_get_type (void) G_GNUC_CONST;
+GType data_object_get_type (void) G_GNUC_CONST;
+GType data_source_get_type (void) G_GNUC_CONST;
+GType thumbnail_source_get_type (void) G_GNUC_CONST;
+GType media_source_get_type (void) G_GNUC_CONST;
+GType search_condition_search_type_get_type (void) G_GNUC_CONST;
+#define SEARCH_CONDITION_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_SEARCH_CONDITION, SearchConditionPrivate))
+enum {
+ SEARCH_CONDITION_DUMMY_PROPERTY
+};
+SearchConditionSearchType* search_condition_search_type_as_array (int* result_length1);
+void search_condition_search_type_sort_array (SearchConditionSearchType** array, int* array_length1);
+static gint __lambda10_ (void* a, void* b);
+gint utf8_cs_compare (void* a, void* b);
+gchar* search_condition_search_type_display_text (SearchConditionSearchType self);
+static gint ___lambda10____compar_fn_t (void* key1, void* key2);
+gchar* search_condition_search_type_to_string (SearchConditionSearchType self);
+SearchConditionSearchType search_condition_search_type_from_string (const gchar* str);
+gboolean search_condition_predicate (SearchCondition* self, MediaSource* source);
+static gboolean search_condition_real_predicate (SearchCondition* self, MediaSource* source);
+SearchCondition* search_condition_construct (GType object_type);
+SearchConditionSearchType search_condition_get_search_type (SearchCondition* self);
+void search_condition_set_search_type (SearchCondition* self, SearchConditionSearchType value);
+static void search_condition_finalize (SearchCondition* obj);
+GType search_condition_text_get_type (void) G_GNUC_CONST;
+GType search_condition_text_context_get_type (void) G_GNUC_CONST;
+#define SEARCH_CONDITION_TEXT_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_SEARCH_CONDITION_TEXT, SearchConditionTextPrivate))
+enum {
+ SEARCH_CONDITION_TEXT_DUMMY_PROPERTY
+};
+gchar* search_condition_text_context_to_string (SearchConditionTextContext self);
+SearchConditionTextContext search_condition_text_context_from_string (const gchar* str);
+SearchConditionText* search_condition_text_new (SearchConditionSearchType search_type, const gchar* text, SearchConditionTextContext context);
+SearchConditionText* search_condition_text_construct (GType object_type, SearchConditionSearchType search_type, const gchar* text, SearchConditionTextContext context);
+gchar* string_remove_diacritics (const gchar* istring);
+static void search_condition_text_set_text (SearchConditionText* self, const gchar* value);
+static void search_condition_text_set_context (SearchConditionText* self, SearchConditionTextContext value);
+static gboolean search_condition_text_string_match (SearchConditionText* self, const gchar* needle, const gchar* haystack);
+SearchConditionTextContext search_condition_text_get_context (SearchConditionText* self);
+gboolean is_string_empty (const gchar* s);
+static gboolean search_condition_text_real_predicate (SearchCondition* base, MediaSource* source);
+gchar* media_source_get_title (MediaSource* self);
+const gchar* search_condition_text_get_text (SearchConditionText* self);
+GType tag_get_type (void) G_GNUC_CONST;
+gpointer data_collection_ref (gpointer instance);
+void data_collection_unref (gpointer instance);
+GParamSpec* param_spec_data_collection (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
+void value_set_data_collection (GValue* value, gpointer v_object);
+void value_take_data_collection (GValue* value, gpointer v_object);
+gpointer value_get_data_collection (const GValue* value);
+GType data_collection_get_type (void) G_GNUC_CONST;
+GType source_collection_get_type (void) G_GNUC_CONST;
+GType database_source_collection_get_type (void) G_GNUC_CONST;
+GType container_source_collection_get_type (void) G_GNUC_CONST;
+GType tag_source_collection_get_type (void) G_GNUC_CONST;
+GeeList* tag_source_collection_fetch_for_source (TagSourceCollection* self, MediaSource* source);
+gchar* tag_get_searchable_name (Tag* self);
+GType event_source_get_type (void) G_GNUC_CONST;
+GType event_get_type (void) G_GNUC_CONST;
+Event* media_source_get_event (MediaSource* self);
+gchar* data_object_get_name (DataObject* self);
+gchar* media_source_get_comment (MediaSource* self);
+gchar* media_source_get_basename (MediaSource* self);
+static void search_condition_text_finalize (SearchCondition* obj);
+GType search_condition_media_type_get_type (void) G_GNUC_CONST;
+GType search_condition_media_type_media_type_get_type (void) G_GNUC_CONST;
+GType search_condition_media_type_context_get_type (void) G_GNUC_CONST;
+#define SEARCH_CONDITION_MEDIA_TYPE_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_SEARCH_CONDITION_MEDIA_TYPE, SearchConditionMediaTypePrivate))
+enum {
+ SEARCH_CONDITION_MEDIA_TYPE_DUMMY_PROPERTY
+};
+gchar* search_condition_media_type_context_to_string (SearchConditionMediaTypeContext self);
+SearchConditionMediaTypeContext search_condition_media_type_context_from_string (const gchar* str);
+gchar* search_condition_media_type_media_type_to_string (SearchConditionMediaTypeMediaType self);
+SearchConditionMediaTypeMediaType search_condition_media_type_media_type_from_string (const gchar* str);
+SearchConditionMediaType* search_condition_media_type_new (SearchConditionSearchType search_type, SearchConditionMediaTypeContext context, SearchConditionMediaTypeMediaType media_type);
+SearchConditionMediaType* search_condition_media_type_construct (GType object_type, SearchConditionSearchType search_type, SearchConditionMediaTypeContext context, SearchConditionMediaTypeMediaType media_type);
+static void search_condition_media_type_set_context (SearchConditionMediaType* self, SearchConditionMediaTypeContext value);
+static void search_condition_media_type_set_media_type (SearchConditionMediaType* self, SearchConditionMediaTypeMediaType value);
+static gboolean search_condition_media_type_real_predicate (SearchCondition* base, MediaSource* source);
+SearchConditionMediaTypeMediaType search_condition_media_type_get_media_type (SearchConditionMediaType* self);
+GType photo_source_get_type (void) G_GNUC_CONST;
+GType photo_get_type (void) G_GNUC_CONST;
+SearchConditionMediaTypeContext search_condition_media_type_get_context (SearchConditionMediaType* self);
+GType photo_file_format_get_type (void) G_GNUC_CONST;
+PhotoFileFormat photo_get_master_file_format (Photo* self);
+GType video_source_get_type (void) G_GNUC_CONST;
+static void search_condition_media_type_finalize (SearchCondition* obj);
+GType search_condition_flagged_get_type (void) G_GNUC_CONST;
+GType search_condition_flagged_state_get_type (void) G_GNUC_CONST;
+#define SEARCH_CONDITION_FLAGGED_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_SEARCH_CONDITION_FLAGGED, SearchConditionFlaggedPrivate))
+enum {
+ SEARCH_CONDITION_FLAGGED_DUMMY_PROPERTY
+};
+gchar* search_condition_flagged_state_to_string (SearchConditionFlaggedState self);
+SearchConditionFlaggedState search_condition_flagged_state_from_string (const gchar* str);
+SearchConditionFlagged* search_condition_flagged_new (SearchConditionSearchType search_type, SearchConditionFlaggedState state);
+SearchConditionFlagged* search_condition_flagged_construct (GType object_type, SearchConditionSearchType search_type, SearchConditionFlaggedState state);
+static void search_condition_flagged_set_state (SearchConditionFlagged* self, SearchConditionFlaggedState value);
+static gboolean search_condition_flagged_real_predicate (SearchCondition* base, MediaSource* source);
+SearchConditionFlaggedState search_condition_flagged_get_state (SearchConditionFlagged* self);
+GType flaggable_get_type (void) G_GNUC_CONST;
+gboolean flaggable_is_flagged (Flaggable* self);
+static void search_condition_flagged_finalize (SearchCondition* obj);
+GType search_condition_modified_get_type (void) G_GNUC_CONST;
+GType search_condition_modified_state_get_type (void) G_GNUC_CONST;
+GType search_condition_modified_context_get_type (void) G_GNUC_CONST;
+#define SEARCH_CONDITION_MODIFIED_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_SEARCH_CONDITION_MODIFIED, SearchConditionModifiedPrivate))
+enum {
+ SEARCH_CONDITION_MODIFIED_DUMMY_PROPERTY
+};
+gchar* search_condition_modified_context_to_string (SearchConditionModifiedContext self);
+SearchConditionModifiedContext search_condition_modified_context_from_string (const gchar* str);
+gchar* search_condition_modified_state_to_string (SearchConditionModifiedState self);
+SearchConditionModifiedState search_condition_modified_state_from_string (const gchar* str);
+SearchConditionModified* search_condition_modified_new (SearchConditionSearchType search_type, SearchConditionModifiedContext context, SearchConditionModifiedState state);
+SearchConditionModified* search_condition_modified_construct (GType object_type, SearchConditionSearchType search_type, SearchConditionModifiedContext context, SearchConditionModifiedState state);
+static void search_condition_modified_set_context (SearchConditionModified* self, SearchConditionModifiedContext value);
+static void search_condition_modified_set_state (SearchConditionModified* self, SearchConditionModifiedState value);
+static gboolean search_condition_modified_real_predicate (SearchCondition* base, MediaSource* source);
+SearchConditionModifiedState search_condition_modified_get_state (SearchConditionModified* self);
+gboolean photo_has_transformations (Photo* self);
+gboolean photo_has_editable (Photo* self);
+SearchConditionModifiedContext search_condition_modified_get_context (SearchConditionModified* self);
+static void search_condition_modified_finalize (SearchCondition* obj);
+GType search_condition_rating_get_type (void) G_GNUC_CONST;
+GType rating_get_type (void) G_GNUC_CONST;
+GType search_condition_rating_context_get_type (void) G_GNUC_CONST;
+#define SEARCH_CONDITION_RATING_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_SEARCH_CONDITION_RATING, SearchConditionRatingPrivate))
+enum {
+ SEARCH_CONDITION_RATING_DUMMY_PROPERTY
+};
+gchar* search_condition_rating_context_to_string (SearchConditionRatingContext self);
+SearchConditionRatingContext search_condition_rating_context_from_string (const gchar* str);
+SearchConditionRating* search_condition_rating_new (SearchConditionSearchType search_type, Rating rating, SearchConditionRatingContext context);
+SearchConditionRating* search_condition_rating_construct (GType object_type, SearchConditionSearchType search_type, Rating rating, SearchConditionRatingContext context);
+static void search_condition_rating_set_rating (SearchConditionRating* self, Rating value);
+static void search_condition_rating_set_context (SearchConditionRating* self, SearchConditionRatingContext value);
+static gboolean search_condition_rating_real_predicate (SearchCondition* base, MediaSource* source);
+Rating media_source_get_rating (MediaSource* self);
+SearchConditionRatingContext search_condition_rating_get_context (SearchConditionRating* self);
+Rating search_condition_rating_get_rating (SearchConditionRating* self);
+static void search_condition_rating_finalize (SearchCondition* obj);
+GType search_condition_date_get_type (void) G_GNUC_CONST;
+GType search_condition_date_context_get_type (void) G_GNUC_CONST;
+#define SEARCH_CONDITION_DATE_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_SEARCH_CONDITION_DATE, SearchConditionDatePrivate))
+enum {
+ SEARCH_CONDITION_DATE_DUMMY_PROPERTY
+};
+gchar* search_condition_date_context_to_string (SearchConditionDateContext self);
+SearchConditionDateContext search_condition_date_context_from_string (const gchar* str);
+SearchConditionDate* search_condition_date_new (SearchConditionSearchType search_type, SearchConditionDateContext context, GDateTime* date_one, GDateTime* date_two);
+SearchConditionDate* search_condition_date_construct (GType object_type, SearchConditionSearchType search_type, SearchConditionDateContext context, GDateTime* date_one, GDateTime* date_two);
+static void search_condition_date_set_context (SearchConditionDate* self, SearchConditionDateContext value);
+static void search_condition_date_set_date_one (SearchConditionDate* self, GDateTime* value);
+static void search_condition_date_set_date_two (SearchConditionDate* self, GDateTime* value);
+static gboolean search_condition_date_real_predicate (SearchCondition* base, MediaSource* source);
+time_t media_source_get_exposure_time (MediaSource* self);
+SearchConditionDateContext search_condition_date_get_context (SearchConditionDate* self);
+GDateTime* search_condition_date_get_date_one (SearchConditionDate* self);
+GDateTime* search_condition_date_get_date_two (SearchConditionDate* self);
+static void search_condition_date_finalize (SearchCondition* obj);
+gpointer alteration_ref (gpointer instance);
+void alteration_unref (gpointer instance);
+GParamSpec* param_spec_alteration (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
+void value_set_alteration (GValue* value, gpointer v_object);
+void value_take_alteration (GValue* value, gpointer v_object);
+gpointer value_get_alteration (const GValue* value);
+GType alteration_get_type (void) G_GNUC_CONST;
+gpointer source_holding_tank_ref (gpointer instance);
+void source_holding_tank_unref (gpointer instance);
+GParamSpec* param_spec_source_holding_tank (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
+void value_set_source_holding_tank (GValue* value, gpointer v_object);
+void value_take_source_holding_tank (GValue* value, gpointer v_object);
+gpointer value_get_source_holding_tank (const GValue* value);
+GType source_holding_tank_get_type (void) G_GNUC_CONST;
+gpointer source_snapshot_ref (gpointer instance);
+void source_snapshot_unref (gpointer instance);
+GParamSpec* param_spec_source_snapshot (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
+void value_set_source_snapshot (GValue* value, gpointer v_object);
+void value_take_source_snapshot (GValue* value, gpointer v_object);
+gpointer value_get_source_snapshot (const GValue* value);
+GType source_snapshot_get_type (void) G_GNUC_CONST;
+GType saved_search_get_type (void) G_GNUC_CONST;
+gpointer saved_search_row_ref (gpointer instance);
+void saved_search_row_unref (gpointer instance);
+GParamSpec* param_spec_saved_search_row (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
+void value_set_saved_search_row (GValue* value, gpointer v_object);
+void value_take_saved_search_row (GValue* value, gpointer v_object);
+gpointer value_get_saved_search_row (const GValue* value);
+GType saved_search_row_get_type (void) G_GNUC_CONST;
+#define SAVED_SEARCH_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_SAVED_SEARCH, SavedSearchPrivate))
+enum {
+ SAVED_SEARCH_DUMMY_PROPERTY
+};
+#define SAVED_SEARCH_TYPENAME "saved_search"
+SavedSearch* saved_search_new (SavedSearchRow* row, gint64 object_id);
+SavedSearch* saved_search_construct (GType object_type, SavedSearchRow* row, gint64 object_id);
+DataSource* data_source_construct (GType object_type, gint64 object_id);
+static gchar* saved_search_real_get_name (DataObject* base);
+GType saved_search_id_get_type (void) G_GNUC_CONST;
+SavedSearchID* saved_search_id_dup (const SavedSearchID* self);
+void saved_search_id_free (SavedSearchID* self);
+static gchar* saved_search_real_to_string (DataObject* base);
+static gchar* saved_search_real_get_typename (DataSource* base);
+void saved_search_get_saved_search_id (SavedSearch* self, SavedSearchID* result);
+static gint64 saved_search_real_get_instance_id (DataSource* base);
+gint saved_search_compare_names (void* a, void* b);
+gint string_collated_compare (void* a, void* b);
+gboolean saved_search_predicate (SavedSearch* self, MediaSource* source);
+void saved_search_reconstitute (SavedSearch* self);
+gpointer database_table_ref (gpointer instance);
+void database_table_unref (gpointer instance);
+GParamSpec* param_spec_database_table (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
+void value_set_database_table (GValue* value, gpointer v_object);
+void value_take_database_table (GValue* value, gpointer v_object);
+gpointer value_get_database_table (const GValue* value);
+GType database_table_get_type (void) G_GNUC_CONST;
+GType saved_search_db_table_get_type (void) G_GNUC_CONST;
+SavedSearchDBTable* saved_search_db_table_get_instance (void);
+GQuark database_error_quark (void);
+void saved_search_db_table_create_from_row (SavedSearchDBTable* self, SavedSearchRow* row, SavedSearchID* result, GError** error);
+void app_window_database_error (GError* err);
+gpointer saved_search_table_ref (gpointer instance);
+void saved_search_table_unref (gpointer instance);
+GParamSpec* param_spec_saved_search_table (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
+void value_set_saved_search_table (GValue* value, gpointer v_object);
+void value_take_saved_search_table (GValue* value, gpointer v_object);
+gpointer value_get_saved_search_table (const GValue* value);
+GType saved_search_table_get_type (void) G_GNUC_CONST;
+SavedSearchTable* saved_search_table_get_instance (void);
+void saved_search_table_add_to_map (SavedSearchTable* self, SavedSearch* search);
+gchar* data_object_to_string (DataObject* self);
+gboolean saved_search_rename (SavedSearch* self, const gchar* new_name);
+gboolean saved_search_table_exists (SavedSearchTable* self, const gchar* search_name);
+void saved_search_db_table_rename (SavedSearchDBTable* self, SavedSearchID* search_id, const gchar* new_name, GError** error);
+void saved_search_table_remove_from_map (SavedSearchTable* self, SavedSearch* search);
+GType page_window_get_type (void) G_GNUC_CONST;
+GType app_window_get_type (void) G_GNUC_CONST;
+GType library_window_get_type (void) G_GNUC_CONST;
+LibraryWindow* library_window_get_app (void);
+void library_window_switch_to_saved_search (LibraryWindow* self, SavedSearch* search);
+GeeList* saved_search_get_conditions (SavedSearch* self);
+SearchOperator saved_search_get_operator (SavedSearch* self);
+static void saved_search_finalize (GObject* obj);
+#define SAVED_SEARCH_TABLE_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_SAVED_SEARCH_TABLE, SavedSearchTablePrivate))
+enum {
+ SAVED_SEARCH_TABLE_DUMMY_PROPERTY
+};
+static SavedSearchTable* saved_search_table_new (void);
+static SavedSearchTable* saved_search_table_construct (GType object_type);
+GeeList* saved_search_db_table_get_all_rows (SavedSearchDBTable* self, GError** error);
+#define DATA_OBJECT_INVALID_OBJECT_ID ((gint64) -1)
+GeeCollection* saved_search_table_get_all (SavedSearchTable* self);
+SavedSearch* saved_search_table_create (SavedSearchTable* self, const gchar* name, SearchOperator operator, GeeArrayList* conditions);
+SavedSearchRow* saved_search_db_table_add (SavedSearchDBTable* self, const gchar* name, SearchOperator operator, GeeArrayList* conditions, GError** error);
+void saved_search_table_remove (SavedSearchTable* self, SavedSearch* search);
+void saved_search_db_table_remove (SavedSearchDBTable* self, SavedSearchID* search_id, GError** error);
+GeeIterable* saved_search_table_get_saved_searches (SavedSearchTable* self);
+gint saved_search_table_get_count (SavedSearchTable* self);
+gchar* saved_search_table_generate_unique_name (SavedSearchTable* self);
+#define RESOURCES_DEFAULT_SAVED_SEARCH_NAME _ ("Saved Search")
+static void saved_search_table_finalize (SavedSearchTable* obj);
+
+
+gchar* search_operator_to_string (SearchOperator self) {
+ gchar* result = NULL;
+#line 14 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ switch (self) {
+#line 14 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ case SEARCH_OPERATOR_ANY:
+#line 1005 "SearchBoolean.c"
+ {
+ gchar* _tmp0_ = NULL;
+#line 16 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp0_ = g_strdup ("ANY");
+#line 16 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ result = _tmp0_;
+#line 16 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ return result;
+#line 1014 "SearchBoolean.c"
+ }
+#line 14 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ case SEARCH_OPERATOR_ALL:
+#line 1018 "SearchBoolean.c"
+ {
+ gchar* _tmp1_ = NULL;
+#line 19 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp1_ = g_strdup ("ALL");
+#line 19 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ result = _tmp1_;
+#line 19 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ return result;
+#line 1027 "SearchBoolean.c"
+ }
+#line 14 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ case SEARCH_OPERATOR_NONE:
+#line 1031 "SearchBoolean.c"
+ {
+ gchar* _tmp2_ = NULL;
+#line 22 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp2_ = g_strdup ("NONE");
+#line 22 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ result = _tmp2_;
+#line 22 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ return result;
+#line 1040 "SearchBoolean.c"
+ }
+ default:
+ {
+#line 25 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ g_error ("SearchBoolean.vala:25: unrecognized search operator enumeration value");
+#line 1046 "SearchBoolean.c"
+ }
+ }
+}
+
+
+SearchOperator search_operator_from_string (const gchar* str) {
+ SearchOperator result = 0;
+ const gchar* _tmp0_ = NULL;
+#line 29 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ g_return_val_if_fail (str != NULL, 0);
+#line 30 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp0_ = str;
+#line 30 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ if (g_strcmp0 (_tmp0_, "ANY") == 0) {
+#line 31 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ result = SEARCH_OPERATOR_ANY;
+#line 31 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ return result;
+#line 1065 "SearchBoolean.c"
+ } else {
+ const gchar* _tmp1_ = NULL;
+#line 33 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp1_ = str;
+#line 33 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ if (g_strcmp0 (_tmp1_, "ALL") == 0) {
+#line 34 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ result = SEARCH_OPERATOR_ALL;
+#line 34 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ return result;
+#line 1076 "SearchBoolean.c"
+ } else {
+ const gchar* _tmp2_ = NULL;
+#line 36 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp2_ = str;
+#line 36 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ if (g_strcmp0 (_tmp2_, "NONE") == 0) {
+#line 37 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ result = SEARCH_OPERATOR_NONE;
+#line 37 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ return result;
+#line 1087 "SearchBoolean.c"
+ } else {
+ const gchar* _tmp3_ = NULL;
+#line 40 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp3_ = str;
+#line 40 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ g_error ("SearchBoolean.vala:40: unrecognized search operator name: %s", _tmp3_);
+#line 1094 "SearchBoolean.c"
+ }
+ }
+ }
+}
+
+
+GType search_operator_get_type (void) {
+ static volatile gsize search_operator_type_id__volatile = 0;
+ if (g_once_init_enter (&search_operator_type_id__volatile)) {
+ static const GEnumValue values[] = {{SEARCH_OPERATOR_ANY, "SEARCH_OPERATOR_ANY", "any"}, {SEARCH_OPERATOR_ALL, "SEARCH_OPERATOR_ALL", "all"}, {SEARCH_OPERATOR_NONE, "SEARCH_OPERATOR_NONE", "none"}, {0, NULL, NULL}};
+ GType search_operator_type_id;
+ search_operator_type_id = g_enum_register_static ("SearchOperator", values);
+ g_once_init_leave (&search_operator_type_id__volatile, search_operator_type_id);
+ }
+ return search_operator_type_id__volatile;
+}
+
+
+SearchConditionSearchType* search_condition_search_type_as_array (int* result_length1) {
+ SearchConditionSearchType* result = NULL;
+ SearchConditionSearchType* _tmp0_ = NULL;
+ SearchConditionSearchType* _tmp1_ = NULL;
+ gint _tmp1__length1 = 0;
+#line 64 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp0_ = g_new0 (SearchConditionSearchType, 11);
+#line 64 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp0_[0] = SEARCH_CONDITION_SEARCH_TYPE_ANY_TEXT;
+#line 64 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp0_[1] = SEARCH_CONDITION_SEARCH_TYPE_TITLE;
+#line 64 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp0_[2] = SEARCH_CONDITION_SEARCH_TYPE_TAG;
+#line 64 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp0_[3] = SEARCH_CONDITION_SEARCH_TYPE_COMMENT;
+#line 64 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp0_[4] = SEARCH_CONDITION_SEARCH_TYPE_EVENT_NAME;
+#line 64 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp0_[5] = SEARCH_CONDITION_SEARCH_TYPE_FILE_NAME;
+#line 64 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp0_[6] = SEARCH_CONDITION_SEARCH_TYPE_MEDIA_TYPE;
+#line 64 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp0_[7] = SEARCH_CONDITION_SEARCH_TYPE_FLAG_STATE;
+#line 64 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp0_[8] = SEARCH_CONDITION_SEARCH_TYPE_MODIFIED_STATE;
+#line 64 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp0_[9] = SEARCH_CONDITION_SEARCH_TYPE_RATING;
+#line 64 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp0_[10] = SEARCH_CONDITION_SEARCH_TYPE_DATE;
+#line 64 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp1_ = _tmp0_;
+#line 64 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp1__length1 = 11;
+#line 64 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ if (result_length1) {
+#line 64 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ *result_length1 = _tmp1__length1;
+#line 1150 "SearchBoolean.c"
+ }
+#line 64 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ result = _tmp1_;
+#line 64 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ return result;
+#line 1156 "SearchBoolean.c"
+}
+
+
+static gint __lambda10_ (void* a, void* b) {
+ gint result = 0;
+ void* _tmp0_ = NULL;
+ gchar* _tmp1_ = NULL;
+ void* _tmp2_ = NULL;
+ gchar* _tmp3_ = NULL;
+ gint _tmp4_ = 0;
+#line 71 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp0_ = a;
+#line 71 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp1_ = search_condition_search_type_display_text (*((SearchConditionSearchType*) _tmp0_));
+#line 71 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp2_ = b;
+#line 71 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp3_ = search_condition_search_type_display_text (*((SearchConditionSearchType*) _tmp2_));
+#line 71 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp4_ = utf8_cs_compare (_tmp1_, _tmp3_);
+#line 71 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ result = _tmp4_;
+#line 71 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ return result;
+#line 1181 "SearchBoolean.c"
+}
+
+
+static gint ___lambda10____compar_fn_t (void* key1, void* key2) {
+ gint result;
+ result = __lambda10_ (key1, key2);
+#line 70 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ return result;
+#line 1190 "SearchBoolean.c"
+}
+
+
+void search_condition_search_type_sort_array (SearchConditionSearchType** array, int* array_length1) {
+ SearchConditionSearchType* _tmp0_ = NULL;
+ gint _tmp0__length1 = 0;
+ SearchConditionSearchType* _tmp1_ = NULL;
+ gint _tmp1__length1 = 0;
+#line 70 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp0_ = *array;
+#line 70 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp0__length1 = *array_length1;
+#line 70 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp1_ = *array;
+#line 70 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp1__length1 = *array_length1;
+#line 70 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ qsort (_tmp0_, (gsize) _tmp1__length1, (gsize) sizeof (SearchConditionSearchType), ___lambda10____compar_fn_t);
+#line 1209 "SearchBoolean.c"
+}
+
+
+gchar* search_condition_search_type_to_string (SearchConditionSearchType self) {
+ gchar* result = NULL;
+#line 77 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ switch (self) {
+#line 77 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ case SEARCH_CONDITION_SEARCH_TYPE_ANY_TEXT:
+#line 1219 "SearchBoolean.c"
+ {
+ gchar* _tmp0_ = NULL;
+#line 79 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp0_ = g_strdup ("ANY_TEXT");
+#line 79 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ result = _tmp0_;
+#line 79 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ return result;
+#line 1228 "SearchBoolean.c"
+ }
+#line 77 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ case SEARCH_CONDITION_SEARCH_TYPE_TITLE:
+#line 1232 "SearchBoolean.c"
+ {
+ gchar* _tmp1_ = NULL;
+#line 82 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp1_ = g_strdup ("TITLE");
+#line 82 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ result = _tmp1_;
+#line 82 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ return result;
+#line 1241 "SearchBoolean.c"
+ }
+#line 77 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ case SEARCH_CONDITION_SEARCH_TYPE_TAG:
+#line 1245 "SearchBoolean.c"
+ {
+ gchar* _tmp2_ = NULL;
+#line 85 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp2_ = g_strdup ("TAG");
+#line 85 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ result = _tmp2_;
+#line 85 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ return result;
+#line 1254 "SearchBoolean.c"
+ }
+#line 77 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ case SEARCH_CONDITION_SEARCH_TYPE_COMMENT:
+#line 1258 "SearchBoolean.c"
+ {
+ gchar* _tmp3_ = NULL;
+#line 88 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp3_ = g_strdup ("COMMENT");
+#line 88 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ result = _tmp3_;
+#line 88 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ return result;
+#line 1267 "SearchBoolean.c"
+ }
+#line 77 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ case SEARCH_CONDITION_SEARCH_TYPE_EVENT_NAME:
+#line 1271 "SearchBoolean.c"
+ {
+ gchar* _tmp4_ = NULL;
+#line 91 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp4_ = g_strdup ("EVENT_NAME");
+#line 91 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ result = _tmp4_;
+#line 91 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ return result;
+#line 1280 "SearchBoolean.c"
+ }
+#line 77 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ case SEARCH_CONDITION_SEARCH_TYPE_FILE_NAME:
+#line 1284 "SearchBoolean.c"
+ {
+ gchar* _tmp5_ = NULL;
+#line 94 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp5_ = g_strdup ("FILE_NAME");
+#line 94 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ result = _tmp5_;
+#line 94 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ return result;
+#line 1293 "SearchBoolean.c"
+ }
+#line 77 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ case SEARCH_CONDITION_SEARCH_TYPE_MEDIA_TYPE:
+#line 1297 "SearchBoolean.c"
+ {
+ gchar* _tmp6_ = NULL;
+#line 97 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp6_ = g_strdup ("MEDIA_TYPE");
+#line 97 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ result = _tmp6_;
+#line 97 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ return result;
+#line 1306 "SearchBoolean.c"
+ }
+#line 77 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ case SEARCH_CONDITION_SEARCH_TYPE_FLAG_STATE:
+#line 1310 "SearchBoolean.c"
+ {
+ gchar* _tmp7_ = NULL;
+#line 100 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp7_ = g_strdup ("FLAG_STATE");
+#line 100 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ result = _tmp7_;
+#line 100 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ return result;
+#line 1319 "SearchBoolean.c"
+ }
+#line 77 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ case SEARCH_CONDITION_SEARCH_TYPE_MODIFIED_STATE:
+#line 1323 "SearchBoolean.c"
+ {
+ gchar* _tmp8_ = NULL;
+#line 103 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp8_ = g_strdup ("MODIFIED_STATE");
+#line 103 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ result = _tmp8_;
+#line 103 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ return result;
+#line 1332 "SearchBoolean.c"
+ }
+#line 77 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ case SEARCH_CONDITION_SEARCH_TYPE_RATING:
+#line 1336 "SearchBoolean.c"
+ {
+ gchar* _tmp9_ = NULL;
+#line 106 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp9_ = g_strdup ("RATING");
+#line 106 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ result = _tmp9_;
+#line 106 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ return result;
+#line 1345 "SearchBoolean.c"
+ }
+#line 77 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ case SEARCH_CONDITION_SEARCH_TYPE_DATE:
+#line 1349 "SearchBoolean.c"
+ {
+ gchar* _tmp10_ = NULL;
+#line 109 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp10_ = g_strdup ("DATE");
+#line 109 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ result = _tmp10_;
+#line 109 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ return result;
+#line 1358 "SearchBoolean.c"
+ }
+ default:
+ {
+#line 112 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ g_error ("SearchBoolean.vala:112: unrecognized search type enumeration value");
+#line 1364 "SearchBoolean.c"
+ }
+ }
+}
+
+
+SearchConditionSearchType search_condition_search_type_from_string (const gchar* str) {
+ SearchConditionSearchType result = 0;
+ const gchar* _tmp0_ = NULL;
+#line 116 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ g_return_val_if_fail (str != NULL, 0);
+#line 117 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp0_ = str;
+#line 117 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ if (g_strcmp0 (_tmp0_, "ANY_TEXT") == 0) {
+#line 118 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ result = SEARCH_CONDITION_SEARCH_TYPE_ANY_TEXT;
+#line 118 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ return result;
+#line 1383 "SearchBoolean.c"
+ } else {
+ const gchar* _tmp1_ = NULL;
+#line 120 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp1_ = str;
+#line 120 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ if (g_strcmp0 (_tmp1_, "TITLE") == 0) {
+#line 121 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ result = SEARCH_CONDITION_SEARCH_TYPE_TITLE;
+#line 121 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ return result;
+#line 1394 "SearchBoolean.c"
+ } else {
+ const gchar* _tmp2_ = NULL;
+#line 123 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp2_ = str;
+#line 123 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ if (g_strcmp0 (_tmp2_, "TAG") == 0) {
+#line 124 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ result = SEARCH_CONDITION_SEARCH_TYPE_TAG;
+#line 124 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ return result;
+#line 1405 "SearchBoolean.c"
+ } else {
+ const gchar* _tmp3_ = NULL;
+#line 126 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp3_ = str;
+#line 126 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ if (g_strcmp0 (_tmp3_, "COMMENT") == 0) {
+#line 127 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ result = SEARCH_CONDITION_SEARCH_TYPE_COMMENT;
+#line 127 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ return result;
+#line 1416 "SearchBoolean.c"
+ } else {
+ const gchar* _tmp4_ = NULL;
+#line 129 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp4_ = str;
+#line 129 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ if (g_strcmp0 (_tmp4_, "EVENT_NAME") == 0) {
+#line 130 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ result = SEARCH_CONDITION_SEARCH_TYPE_EVENT_NAME;
+#line 130 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ return result;
+#line 1427 "SearchBoolean.c"
+ } else {
+ const gchar* _tmp5_ = NULL;
+#line 132 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp5_ = str;
+#line 132 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ if (g_strcmp0 (_tmp5_, "FILE_NAME") == 0) {
+#line 133 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ result = SEARCH_CONDITION_SEARCH_TYPE_FILE_NAME;
+#line 133 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ return result;
+#line 1438 "SearchBoolean.c"
+ } else {
+ const gchar* _tmp6_ = NULL;
+#line 135 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp6_ = str;
+#line 135 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ if (g_strcmp0 (_tmp6_, "MEDIA_TYPE") == 0) {
+#line 136 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ result = SEARCH_CONDITION_SEARCH_TYPE_MEDIA_TYPE;
+#line 136 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ return result;
+#line 1449 "SearchBoolean.c"
+ } else {
+ const gchar* _tmp7_ = NULL;
+#line 138 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp7_ = str;
+#line 138 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ if (g_strcmp0 (_tmp7_, "FLAG_STATE") == 0) {
+#line 139 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ result = SEARCH_CONDITION_SEARCH_TYPE_FLAG_STATE;
+#line 139 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ return result;
+#line 1460 "SearchBoolean.c"
+ } else {
+ const gchar* _tmp8_ = NULL;
+#line 141 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp8_ = str;
+#line 141 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ if (g_strcmp0 (_tmp8_, "MODIFIED_STATE") == 0) {
+#line 142 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ result = SEARCH_CONDITION_SEARCH_TYPE_MODIFIED_STATE;
+#line 142 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ return result;
+#line 1471 "SearchBoolean.c"
+ } else {
+ const gchar* _tmp9_ = NULL;
+#line 144 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp9_ = str;
+#line 144 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ if (g_strcmp0 (_tmp9_, "RATING") == 0) {
+#line 145 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ result = SEARCH_CONDITION_SEARCH_TYPE_RATING;
+#line 145 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ return result;
+#line 1482 "SearchBoolean.c"
+ } else {
+ const gchar* _tmp10_ = NULL;
+#line 147 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp10_ = str;
+#line 147 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ if (g_strcmp0 (_tmp10_, "DATE") == 0) {
+#line 148 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ result = SEARCH_CONDITION_SEARCH_TYPE_DATE;
+#line 148 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ return result;
+#line 1493 "SearchBoolean.c"
+ } else {
+ const gchar* _tmp11_ = NULL;
+#line 151 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp11_ = str;
+#line 151 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ g_error ("SearchBoolean.vala:151: unrecognized search type name: %s", _tmp11_);
+#line 1500 "SearchBoolean.c"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+}
+
+
+gchar* search_condition_search_type_display_text (SearchConditionSearchType self) {
+ gchar* result = NULL;
+#line 155 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ switch (self) {
+#line 155 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ case SEARCH_CONDITION_SEARCH_TYPE_ANY_TEXT:
+#line 1521 "SearchBoolean.c"
+ {
+ const gchar* _tmp0_ = NULL;
+ gchar* _tmp1_ = NULL;
+#line 157 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp0_ = _ ("Any text");
+#line 157 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp1_ = g_strdup (_tmp0_);
+#line 157 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ result = _tmp1_;
+#line 157 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ return result;
+#line 1533 "SearchBoolean.c"
+ }
+#line 155 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ case SEARCH_CONDITION_SEARCH_TYPE_TITLE:
+#line 1537 "SearchBoolean.c"
+ {
+ const gchar* _tmp2_ = NULL;
+ gchar* _tmp3_ = NULL;
+#line 160 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp2_ = _ ("Title");
+#line 160 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp3_ = g_strdup (_tmp2_);
+#line 160 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ result = _tmp3_;
+#line 160 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ return result;
+#line 1549 "SearchBoolean.c"
+ }
+#line 155 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ case SEARCH_CONDITION_SEARCH_TYPE_TAG:
+#line 1553 "SearchBoolean.c"
+ {
+ const gchar* _tmp4_ = NULL;
+ gchar* _tmp5_ = NULL;
+#line 163 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp4_ = _ ("Tag");
+#line 163 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp5_ = g_strdup (_tmp4_);
+#line 163 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ result = _tmp5_;
+#line 163 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ return result;
+#line 1565 "SearchBoolean.c"
+ }
+#line 155 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ case SEARCH_CONDITION_SEARCH_TYPE_COMMENT:
+#line 1569 "SearchBoolean.c"
+ {
+ const gchar* _tmp6_ = NULL;
+ gchar* _tmp7_ = NULL;
+#line 166 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp6_ = _ ("Comment");
+#line 166 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp7_ = g_strdup (_tmp6_);
+#line 166 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ result = _tmp7_;
+#line 166 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ return result;
+#line 1581 "SearchBoolean.c"
+ }
+#line 155 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ case SEARCH_CONDITION_SEARCH_TYPE_EVENT_NAME:
+#line 1585 "SearchBoolean.c"
+ {
+ const gchar* _tmp8_ = NULL;
+ gchar* _tmp9_ = NULL;
+#line 169 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp8_ = _ ("Event name");
+#line 169 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp9_ = g_strdup (_tmp8_);
+#line 169 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ result = _tmp9_;
+#line 169 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ return result;
+#line 1597 "SearchBoolean.c"
+ }
+#line 155 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ case SEARCH_CONDITION_SEARCH_TYPE_FILE_NAME:
+#line 1601 "SearchBoolean.c"
+ {
+ const gchar* _tmp10_ = NULL;
+ gchar* _tmp11_ = NULL;
+#line 172 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp10_ = _ ("File name");
+#line 172 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp11_ = g_strdup (_tmp10_);
+#line 172 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ result = _tmp11_;
+#line 172 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ return result;
+#line 1613 "SearchBoolean.c"
+ }
+#line 155 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ case SEARCH_CONDITION_SEARCH_TYPE_MEDIA_TYPE:
+#line 1617 "SearchBoolean.c"
+ {
+ const gchar* _tmp12_ = NULL;
+ gchar* _tmp13_ = NULL;
+#line 175 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp12_ = _ ("Media type");
+#line 175 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp13_ = g_strdup (_tmp12_);
+#line 175 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ result = _tmp13_;
+#line 175 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ return result;
+#line 1629 "SearchBoolean.c"
+ }
+#line 155 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ case SEARCH_CONDITION_SEARCH_TYPE_FLAG_STATE:
+#line 1633 "SearchBoolean.c"
+ {
+ const gchar* _tmp14_ = NULL;
+ gchar* _tmp15_ = NULL;
+#line 178 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp14_ = _ ("Flag state");
+#line 178 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp15_ = g_strdup (_tmp14_);
+#line 178 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ result = _tmp15_;
+#line 178 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ return result;
+#line 1645 "SearchBoolean.c"
+ }
+#line 155 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ case SEARCH_CONDITION_SEARCH_TYPE_MODIFIED_STATE:
+#line 1649 "SearchBoolean.c"
+ {
+ const gchar* _tmp16_ = NULL;
+ gchar* _tmp17_ = NULL;
+#line 181 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp16_ = _ ("Photo state");
+#line 181 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp17_ = g_strdup (_tmp16_);
+#line 181 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ result = _tmp17_;
+#line 181 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ return result;
+#line 1661 "SearchBoolean.c"
+ }
+#line 155 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ case SEARCH_CONDITION_SEARCH_TYPE_RATING:
+#line 1665 "SearchBoolean.c"
+ {
+ const gchar* _tmp18_ = NULL;
+ gchar* _tmp19_ = NULL;
+#line 184 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp18_ = _ ("Rating");
+#line 184 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp19_ = g_strdup (_tmp18_);
+#line 184 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ result = _tmp19_;
+#line 184 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ return result;
+#line 1677 "SearchBoolean.c"
+ }
+#line 155 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ case SEARCH_CONDITION_SEARCH_TYPE_DATE:
+#line 1681 "SearchBoolean.c"
+ {
+ const gchar* _tmp20_ = NULL;
+ gchar* _tmp21_ = NULL;
+#line 187 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp20_ = _ ("Date");
+#line 187 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp21_ = g_strdup (_tmp20_);
+#line 187 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ result = _tmp21_;
+#line 187 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ return result;
+#line 1693 "SearchBoolean.c"
+ }
+ default:
+ {
+#line 190 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ g_error ("SearchBoolean.vala:190: unrecognized search type enumeration value");
+#line 1699 "SearchBoolean.c"
+ }
+ }
+}
+
+
+GType search_condition_search_type_get_type (void) {
+ static volatile gsize search_condition_search_type_type_id__volatile = 0;
+ if (g_once_init_enter (&search_condition_search_type_type_id__volatile)) {
+ static const GEnumValue values[] = {{SEARCH_CONDITION_SEARCH_TYPE_ANY_TEXT, "SEARCH_CONDITION_SEARCH_TYPE_ANY_TEXT", "any-text"}, {SEARCH_CONDITION_SEARCH_TYPE_TITLE, "SEARCH_CONDITION_SEARCH_TYPE_TITLE", "title"}, {SEARCH_CONDITION_SEARCH_TYPE_TAG, "SEARCH_CONDITION_SEARCH_TYPE_TAG", "tag"}, {SEARCH_CONDITION_SEARCH_TYPE_EVENT_NAME, "SEARCH_CONDITION_SEARCH_TYPE_EVENT_NAME", "event-name"}, {SEARCH_CONDITION_SEARCH_TYPE_FILE_NAME, "SEARCH_CONDITION_SEARCH_TYPE_FILE_NAME", "file-name"}, {SEARCH_CONDITION_SEARCH_TYPE_MEDIA_TYPE, "SEARCH_CONDITION_SEARCH_TYPE_MEDIA_TYPE", "media-type"}, {SEARCH_CONDITION_SEARCH_TYPE_FLAG_STATE, "SEARCH_CONDITION_SEARCH_TYPE_FLAG_STATE", "flag-state"}, {SEARCH_CONDITION_SEARCH_TYPE_MODIFIED_STATE, "SEARCH_CONDITION_SEARCH_TYPE_MODIFIED_STATE", "modified-state"}, {SEARCH_CONDITION_SEARCH_TYPE_RATING, "SEARCH_CONDITION_SEARCH_TYPE_RATING", "rating"}, {SEARCH_CONDITION_SEARCH_TYPE_COMMENT, "SEARCH_CONDITION_SEARCH_TYPE_COMMENT", "comment"}, {SEARCH_CONDITION_SEARCH_TYPE_DATE, "SEARCH_CONDITION_SEARCH_TYPE_DATE", "date"}, {0, NULL, NULL}};
+ GType search_condition_search_type_type_id;
+ search_condition_search_type_type_id = g_enum_register_static ("SearchConditionSearchType", values);
+ g_once_init_leave (&search_condition_search_type_type_id__volatile, search_condition_search_type_type_id);
+ }
+ return search_condition_search_type_type_id__volatile;
+}
+
+
+static gboolean search_condition_real_predicate (SearchCondition* self, MediaSource* source) {
+#line 198 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ g_critical ("Type `%s' does not implement abstract method `search_condition_predicate'", g_type_name (G_TYPE_FROM_INSTANCE (self)));
+#line 198 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ return FALSE;
+#line 1722 "SearchBoolean.c"
+}
+
+
+gboolean search_condition_predicate (SearchCondition* self, MediaSource* source) {
+#line 198 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ g_return_val_if_fail (IS_SEARCH_CONDITION (self), FALSE);
+#line 198 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ return SEARCH_CONDITION_GET_CLASS (self)->predicate (self, source);
+#line 1731 "SearchBoolean.c"
+}
+
+
+SearchCondition* search_condition_construct (GType object_type) {
+ SearchCondition* self = NULL;
+#line 47 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ self = (SearchCondition*) g_type_create_instance (object_type);
+#line 47 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ return self;
+#line 1741 "SearchBoolean.c"
+}
+
+
+SearchConditionSearchType search_condition_get_search_type (SearchCondition* self) {
+ SearchConditionSearchType result;
+ SearchConditionSearchType _tmp0_ = 0;
+#line 195 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ g_return_val_if_fail (IS_SEARCH_CONDITION (self), 0);
+#line 195 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp0_ = self->priv->_search_type;
+#line 195 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ result = _tmp0_;
+#line 195 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ return result;
+#line 1756 "SearchBoolean.c"
+}
+
+
+void search_condition_set_search_type (SearchCondition* self, SearchConditionSearchType value) {
+ SearchConditionSearchType _tmp0_ = 0;
+#line 195 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ g_return_if_fail (IS_SEARCH_CONDITION (self));
+#line 195 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp0_ = value;
+#line 195 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ self->priv->_search_type = _tmp0_;
+#line 1768 "SearchBoolean.c"
+}
+
+
+static void value_search_condition_init (GValue* value) {
+#line 47 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ value->data[0].v_pointer = NULL;
+#line 1775 "SearchBoolean.c"
+}
+
+
+static void value_search_condition_free_value (GValue* value) {
+#line 47 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ if (value->data[0].v_pointer) {
+#line 47 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ search_condition_unref (value->data[0].v_pointer);
+#line 1784 "SearchBoolean.c"
+ }
+}
+
+
+static void value_search_condition_copy_value (const GValue* src_value, GValue* dest_value) {
+#line 47 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ if (src_value->data[0].v_pointer) {
+#line 47 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ dest_value->data[0].v_pointer = search_condition_ref (src_value->data[0].v_pointer);
+#line 1794 "SearchBoolean.c"
+ } else {
+#line 47 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ dest_value->data[0].v_pointer = NULL;
+#line 1798 "SearchBoolean.c"
+ }
+}
+
+
+static gpointer value_search_condition_peek_pointer (const GValue* value) {
+#line 47 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ return value->data[0].v_pointer;
+#line 1806 "SearchBoolean.c"
+}
+
+
+static gchar* value_search_condition_collect_value (GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) {
+#line 47 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ if (collect_values[0].v_pointer) {
+#line 1813 "SearchBoolean.c"
+ SearchCondition* object;
+ object = collect_values[0].v_pointer;
+#line 47 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ if (object->parent_instance.g_class == NULL) {
+#line 47 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL);
+#line 1820 "SearchBoolean.c"
+ } else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) {
+#line 47 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ return g_strconcat ("invalid object type `", g_type_name (G_TYPE_FROM_INSTANCE (object)), "' for value type `", G_VALUE_TYPE_NAME (value), "'", NULL);
+#line 1824 "SearchBoolean.c"
+ }
+#line 47 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ value->data[0].v_pointer = search_condition_ref (object);
+#line 1828 "SearchBoolean.c"
+ } else {
+#line 47 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ value->data[0].v_pointer = NULL;
+#line 1832 "SearchBoolean.c"
+ }
+#line 47 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ return NULL;
+#line 1836 "SearchBoolean.c"
+}
+
+
+static gchar* value_search_condition_lcopy_value (const GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) {
+ SearchCondition** object_p;
+ object_p = collect_values[0].v_pointer;
+#line 47 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ if (!object_p) {
+#line 47 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value));
+#line 1847 "SearchBoolean.c"
+ }
+#line 47 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ if (!value->data[0].v_pointer) {
+#line 47 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ *object_p = NULL;
+#line 1853 "SearchBoolean.c"
+ } else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) {
+#line 47 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ *object_p = value->data[0].v_pointer;
+#line 1857 "SearchBoolean.c"
+ } else {
+#line 47 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ *object_p = search_condition_ref (value->data[0].v_pointer);
+#line 1861 "SearchBoolean.c"
+ }
+#line 47 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ return NULL;
+#line 1865 "SearchBoolean.c"
+}
+
+
+GParamSpec* param_spec_search_condition (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags) {
+ ParamSpecSearchCondition* spec;
+#line 47 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ g_return_val_if_fail (g_type_is_a (object_type, TYPE_SEARCH_CONDITION), NULL);
+#line 47 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags);
+#line 47 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ G_PARAM_SPEC (spec)->value_type = object_type;
+#line 47 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ return G_PARAM_SPEC (spec);
+#line 1879 "SearchBoolean.c"
+}
+
+
+gpointer value_get_search_condition (const GValue* value) {
+#line 47 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_SEARCH_CONDITION), NULL);
+#line 47 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ return value->data[0].v_pointer;
+#line 1888 "SearchBoolean.c"
+}
+
+
+void value_set_search_condition (GValue* value, gpointer v_object) {
+ SearchCondition* old;
+#line 47 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_SEARCH_CONDITION));
+#line 47 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ old = value->data[0].v_pointer;
+#line 47 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ if (v_object) {
+#line 47 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_SEARCH_CONDITION));
+#line 47 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value)));
+#line 47 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ value->data[0].v_pointer = v_object;
+#line 47 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ search_condition_ref (value->data[0].v_pointer);
+#line 1908 "SearchBoolean.c"
+ } else {
+#line 47 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ value->data[0].v_pointer = NULL;
+#line 1912 "SearchBoolean.c"
+ }
+#line 47 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ if (old) {
+#line 47 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ search_condition_unref (old);
+#line 1918 "SearchBoolean.c"
+ }
+}
+
+
+void value_take_search_condition (GValue* value, gpointer v_object) {
+ SearchCondition* old;
+#line 47 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_SEARCH_CONDITION));
+#line 47 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ old = value->data[0].v_pointer;
+#line 47 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ if (v_object) {
+#line 47 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_SEARCH_CONDITION));
+#line 47 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value)));
+#line 47 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ value->data[0].v_pointer = v_object;
+#line 1937 "SearchBoolean.c"
+ } else {
+#line 47 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ value->data[0].v_pointer = NULL;
+#line 1941 "SearchBoolean.c"
+ }
+#line 47 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ if (old) {
+#line 47 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ search_condition_unref (old);
+#line 1947 "SearchBoolean.c"
+ }
+}
+
+
+static void search_condition_class_init (SearchConditionClass * klass) {
+#line 47 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ search_condition_parent_class = g_type_class_peek_parent (klass);
+#line 47 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ ((SearchConditionClass *) klass)->finalize = search_condition_finalize;
+#line 47 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ g_type_class_add_private (klass, sizeof (SearchConditionPrivate));
+#line 47 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ ((SearchConditionClass *) klass)->predicate = search_condition_real_predicate;
+#line 1961 "SearchBoolean.c"
+}
+
+
+static void search_condition_instance_init (SearchCondition * self) {
+#line 47 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ self->priv = SEARCH_CONDITION_GET_PRIVATE (self);
+#line 47 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ self->ref_count = 1;
+#line 1970 "SearchBoolean.c"
+}
+
+
+static void search_condition_finalize (SearchCondition* obj) {
+ SearchCondition * self;
+#line 47 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_SEARCH_CONDITION, SearchCondition);
+#line 47 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ g_signal_handlers_destroy (self);
+#line 1980 "SearchBoolean.c"
+}
+
+
+GType search_condition_get_type (void) {
+ static volatile gsize search_condition_type_id__volatile = 0;
+ if (g_once_init_enter (&search_condition_type_id__volatile)) {
+ static const GTypeValueTable g_define_type_value_table = { value_search_condition_init, value_search_condition_free_value, value_search_condition_copy_value, value_search_condition_peek_pointer, "p", value_search_condition_collect_value, "p", value_search_condition_lcopy_value };
+ static const GTypeInfo g_define_type_info = { sizeof (SearchConditionClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) search_condition_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (SearchCondition), 0, (GInstanceInitFunc) search_condition_instance_init, &g_define_type_value_table };
+ static const GTypeFundamentalInfo g_define_type_fundamental_info = { (G_TYPE_FLAG_CLASSED | G_TYPE_FLAG_INSTANTIATABLE | G_TYPE_FLAG_DERIVABLE | G_TYPE_FLAG_DEEP_DERIVABLE) };
+ GType search_condition_type_id;
+ search_condition_type_id = g_type_register_fundamental (g_type_fundamental_next (), "SearchCondition", &g_define_type_info, &g_define_type_fundamental_info, G_TYPE_FLAG_ABSTRACT);
+ g_once_init_leave (&search_condition_type_id__volatile, search_condition_type_id);
+ }
+ return search_condition_type_id__volatile;
+}
+
+
+gpointer search_condition_ref (gpointer instance) {
+ SearchCondition* self;
+ self = instance;
+#line 47 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ g_atomic_int_inc (&self->ref_count);
+#line 47 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ return instance;
+#line 2005 "SearchBoolean.c"
+}
+
+
+void search_condition_unref (gpointer instance) {
+ SearchCondition* self;
+ self = instance;
+#line 47 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ if (g_atomic_int_dec_and_test (&self->ref_count)) {
+#line 47 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ SEARCH_CONDITION_GET_CLASS (self)->finalize (self);
+#line 47 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ g_type_free_instance ((GTypeInstance *) self);
+#line 2018 "SearchBoolean.c"
+ }
+}
+
+
+gchar* search_condition_text_context_to_string (SearchConditionTextContext self) {
+ gchar* result = NULL;
+#line 213 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ switch (self) {
+#line 213 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ case SEARCH_CONDITION_TEXT_CONTEXT_CONTAINS:
+#line 2029 "SearchBoolean.c"
+ {
+ gchar* _tmp0_ = NULL;
+#line 215 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp0_ = g_strdup ("CONTAINS");
+#line 215 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ result = _tmp0_;
+#line 215 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ return result;
+#line 2038 "SearchBoolean.c"
+ }
+#line 213 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ case SEARCH_CONDITION_TEXT_CONTEXT_IS_EXACTLY:
+#line 2042 "SearchBoolean.c"
+ {
+ gchar* _tmp1_ = NULL;
+#line 218 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp1_ = g_strdup ("IS_EXACTLY");
+#line 218 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ result = _tmp1_;
+#line 218 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ return result;
+#line 2051 "SearchBoolean.c"
+ }
+#line 213 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ case SEARCH_CONDITION_TEXT_CONTEXT_STARTS_WITH:
+#line 2055 "SearchBoolean.c"
+ {
+ gchar* _tmp2_ = NULL;
+#line 221 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp2_ = g_strdup ("STARTS_WITH");
+#line 221 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ result = _tmp2_;
+#line 221 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ return result;
+#line 2064 "SearchBoolean.c"
+ }
+#line 213 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ case SEARCH_CONDITION_TEXT_CONTEXT_ENDS_WITH:
+#line 2068 "SearchBoolean.c"
+ {
+ gchar* _tmp3_ = NULL;
+#line 224 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp3_ = g_strdup ("ENDS_WITH");
+#line 224 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ result = _tmp3_;
+#line 224 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ return result;
+#line 2077 "SearchBoolean.c"
+ }
+#line 213 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ case SEARCH_CONDITION_TEXT_CONTEXT_DOES_NOT_CONTAIN:
+#line 2081 "SearchBoolean.c"
+ {
+ gchar* _tmp4_ = NULL;
+#line 227 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp4_ = g_strdup ("DOES_NOT_CONTAIN");
+#line 227 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ result = _tmp4_;
+#line 227 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ return result;
+#line 2090 "SearchBoolean.c"
+ }
+#line 213 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ case SEARCH_CONDITION_TEXT_CONTEXT_IS_NOT_SET:
+#line 2094 "SearchBoolean.c"
+ {
+ gchar* _tmp5_ = NULL;
+#line 230 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp5_ = g_strdup ("IS_NOT_SET");
+#line 230 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ result = _tmp5_;
+#line 230 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ return result;
+#line 2103 "SearchBoolean.c"
+ }
+#line 213 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ case SEARCH_CONDITION_TEXT_CONTEXT_IS_SET:
+#line 2107 "SearchBoolean.c"
+ {
+ gchar* _tmp6_ = NULL;
+#line 233 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp6_ = g_strdup ("IS_SET");
+#line 233 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ result = _tmp6_;
+#line 233 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ return result;
+#line 2116 "SearchBoolean.c"
+ }
+ default:
+ {
+#line 236 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ g_error ("SearchBoolean.vala:236: unrecognized text search context enumeration v" \
+"alue");
+#line 2122 "SearchBoolean.c"
+ }
+ }
+}
+
+
+SearchConditionTextContext search_condition_text_context_from_string (const gchar* str) {
+ SearchConditionTextContext result = 0;
+ const gchar* _tmp0_ = NULL;
+#line 240 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ g_return_val_if_fail (str != NULL, 0);
+#line 241 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp0_ = str;
+#line 241 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ if (g_strcmp0 (_tmp0_, "CONTAINS") == 0) {
+#line 242 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ result = SEARCH_CONDITION_TEXT_CONTEXT_CONTAINS;
+#line 242 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ return result;
+#line 2141 "SearchBoolean.c"
+ } else {
+ const gchar* _tmp1_ = NULL;
+#line 244 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp1_ = str;
+#line 244 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ if (g_strcmp0 (_tmp1_, "IS_EXACTLY") == 0) {
+#line 245 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ result = SEARCH_CONDITION_TEXT_CONTEXT_IS_EXACTLY;
+#line 245 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ return result;
+#line 2152 "SearchBoolean.c"
+ } else {
+ const gchar* _tmp2_ = NULL;
+#line 247 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp2_ = str;
+#line 247 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ if (g_strcmp0 (_tmp2_, "STARTS_WITH") == 0) {
+#line 248 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ result = SEARCH_CONDITION_TEXT_CONTEXT_STARTS_WITH;
+#line 248 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ return result;
+#line 2163 "SearchBoolean.c"
+ } else {
+ const gchar* _tmp3_ = NULL;
+#line 250 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp3_ = str;
+#line 250 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ if (g_strcmp0 (_tmp3_, "ENDS_WITH") == 0) {
+#line 251 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ result = SEARCH_CONDITION_TEXT_CONTEXT_ENDS_WITH;
+#line 251 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ return result;
+#line 2174 "SearchBoolean.c"
+ } else {
+ const gchar* _tmp4_ = NULL;
+#line 253 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp4_ = str;
+#line 253 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ if (g_strcmp0 (_tmp4_, "DOES_NOT_CONTAIN") == 0) {
+#line 254 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ result = SEARCH_CONDITION_TEXT_CONTEXT_DOES_NOT_CONTAIN;
+#line 254 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ return result;
+#line 2185 "SearchBoolean.c"
+ } else {
+ const gchar* _tmp5_ = NULL;
+#line 256 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp5_ = str;
+#line 256 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ if (g_strcmp0 (_tmp5_, "IS_NOT_SET") == 0) {
+#line 257 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ result = SEARCH_CONDITION_TEXT_CONTEXT_IS_NOT_SET;
+#line 257 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ return result;
+#line 2196 "SearchBoolean.c"
+ } else {
+ const gchar* _tmp6_ = NULL;
+#line 259 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp6_ = str;
+#line 259 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ if (g_strcmp0 (_tmp6_, "IS_SET") == 0) {
+#line 260 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ result = SEARCH_CONDITION_TEXT_CONTEXT_IS_SET;
+#line 260 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ return result;
+#line 2207 "SearchBoolean.c"
+ } else {
+ const gchar* _tmp7_ = NULL;
+#line 263 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp7_ = str;
+#line 263 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ g_error ("SearchBoolean.vala:263: unrecognized text search context name: %s", _tmp7_);
+#line 2214 "SearchBoolean.c"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+}
+
+
+GType search_condition_text_context_get_type (void) {
+ static volatile gsize search_condition_text_context_type_id__volatile = 0;
+ if (g_once_init_enter (&search_condition_text_context_type_id__volatile)) {
+ static const GEnumValue values[] = {{SEARCH_CONDITION_TEXT_CONTEXT_CONTAINS, "SEARCH_CONDITION_TEXT_CONTEXT_CONTAINS", "contains"}, {SEARCH_CONDITION_TEXT_CONTEXT_IS_EXACTLY, "SEARCH_CONDITION_TEXT_CONTEXT_IS_EXACTLY", "is-exactly"}, {SEARCH_CONDITION_TEXT_CONTEXT_STARTS_WITH, "SEARCH_CONDITION_TEXT_CONTEXT_STARTS_WITH", "starts-with"}, {SEARCH_CONDITION_TEXT_CONTEXT_ENDS_WITH, "SEARCH_CONDITION_TEXT_CONTEXT_ENDS_WITH", "ends-with"}, {SEARCH_CONDITION_TEXT_CONTEXT_DOES_NOT_CONTAIN, "SEARCH_CONDITION_TEXT_CONTEXT_DOES_NOT_CONTAIN", "does-not-contain"}, {SEARCH_CONDITION_TEXT_CONTEXT_IS_NOT_SET, "SEARCH_CONDITION_TEXT_CONTEXT_IS_NOT_SET", "is-not-set"}, {SEARCH_CONDITION_TEXT_CONTEXT_IS_SET, "SEARCH_CONDITION_TEXT_CONTEXT_IS_SET", "is-set"}, {0, NULL, NULL}};
+ GType search_condition_text_context_type_id;
+ search_condition_text_context_type_id = g_enum_register_static ("SearchConditionTextContext", values);
+ g_once_init_leave (&search_condition_text_context_type_id__volatile, search_condition_text_context_type_id);
+ }
+ return search_condition_text_context_type_id__volatile;
+}
+
+
+SearchConditionText* search_condition_text_construct (GType object_type, SearchConditionSearchType search_type, const gchar* text, SearchConditionTextContext context) {
+ SearchConditionText* self = NULL;
+ SearchConditionSearchType _tmp0_ = 0;
+ gchar* _tmp1_ = NULL;
+ const gchar* _tmp2_ = NULL;
+ SearchConditionTextContext _tmp8_ = 0;
+#line 273 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ self = (SearchConditionText*) search_condition_construct (object_type);
+#line 274 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp0_ = search_type;
+#line 274 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ search_condition_set_search_type (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SEARCH_CONDITION, SearchCondition), _tmp0_);
+#line 275 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp2_ = text;
+#line 275 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ if (_tmp2_ != NULL) {
+#line 2253 "SearchBoolean.c"
+ const gchar* _tmp3_ = NULL;
+ gchar* _tmp4_ = NULL;
+ gchar* _tmp5_ = NULL;
+ gchar* _tmp6_ = NULL;
+#line 275 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp3_ = text;
+#line 275 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp4_ = g_utf8_strdown (_tmp3_, (gssize) -1);
+#line 275 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp5_ = _tmp4_;
+#line 275 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp6_ = string_remove_diacritics (_tmp5_);
+#line 275 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _g_free0 (_tmp1_);
+#line 275 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp1_ = _tmp6_;
+#line 275 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _g_free0 (_tmp5_);
+#line 2272 "SearchBoolean.c"
+ } else {
+ gchar* _tmp7_ = NULL;
+#line 275 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp7_ = g_strdup ("");
+#line 275 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _g_free0 (_tmp1_);
+#line 275 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp1_ = _tmp7_;
+#line 2281 "SearchBoolean.c"
+ }
+#line 275 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ search_condition_text_set_text (self, _tmp1_);
+#line 276 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp8_ = context;
+#line 276 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ search_condition_text_set_context (self, _tmp8_);
+#line 273 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _g_free0 (_tmp1_);
+#line 273 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ return self;
+#line 2293 "SearchBoolean.c"
+}
+
+
+SearchConditionText* search_condition_text_new (SearchConditionSearchType search_type, const gchar* text, SearchConditionTextContext context) {
+#line 273 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ return search_condition_text_construct (TYPE_SEARCH_CONDITION_TEXT, search_type, text, context);
+#line 2300 "SearchBoolean.c"
+}
+
+
+static gboolean string_contains (const gchar* self, const gchar* needle) {
+ gboolean result = FALSE;
+ const gchar* _tmp0_ = NULL;
+ gchar* _tmp1_ = NULL;
+#line 1376 "/usr/share/vala-0.32/vapi/glib-2.0.vapi"
+ g_return_val_if_fail (self != NULL, FALSE);
+#line 1376 "/usr/share/vala-0.32/vapi/glib-2.0.vapi"
+ g_return_val_if_fail (needle != NULL, FALSE);
+#line 1377 "/usr/share/vala-0.32/vapi/glib-2.0.vapi"
+ _tmp0_ = needle;
+#line 1377 "/usr/share/vala-0.32/vapi/glib-2.0.vapi"
+ _tmp1_ = strstr ((gchar*) self, (gchar*) _tmp0_);
+#line 1377 "/usr/share/vala-0.32/vapi/glib-2.0.vapi"
+ result = _tmp1_ != NULL;
+#line 1377 "/usr/share/vala-0.32/vapi/glib-2.0.vapi"
+ return result;
+#line 2320 "SearchBoolean.c"
+}
+
+
+static gboolean search_condition_text_string_match (SearchConditionText* self, const gchar* needle, const gchar* haystack) {
+ gboolean result = FALSE;
+ SearchConditionTextContext _tmp0_ = 0;
+#line 280 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ g_return_val_if_fail (IS_SEARCH_CONDITION_TEXT (self), FALSE);
+#line 280 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ g_return_val_if_fail (needle != NULL, FALSE);
+#line 281 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp0_ = self->priv->_context;
+#line 281 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ switch (_tmp0_) {
+#line 281 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ case SEARCH_CONDITION_TEXT_CONTEXT_CONTAINS:
+#line 281 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ case SEARCH_CONDITION_TEXT_CONTEXT_DOES_NOT_CONTAIN:
+#line 2339 "SearchBoolean.c"
+ {
+ gboolean _tmp1_ = FALSE;
+ const gchar* _tmp2_ = NULL;
+ gboolean _tmp3_ = FALSE;
+#line 284 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp2_ = haystack;
+#line 284 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp3_ = is_string_empty (_tmp2_);
+#line 284 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ if (!_tmp3_) {
+#line 2350 "SearchBoolean.c"
+ const gchar* _tmp4_ = NULL;
+ const gchar* _tmp5_ = NULL;
+ gboolean _tmp6_ = FALSE;
+#line 284 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp4_ = haystack;
+#line 284 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp5_ = needle;
+#line 284 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp6_ = string_contains (_tmp4_, _tmp5_);
+#line 284 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp1_ = _tmp6_;
+#line 2362 "SearchBoolean.c"
+ } else {
+#line 284 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp1_ = FALSE;
+#line 2366 "SearchBoolean.c"
+ }
+#line 284 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ result = _tmp1_;
+#line 284 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ return result;
+#line 2372 "SearchBoolean.c"
+ }
+#line 281 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ case SEARCH_CONDITION_TEXT_CONTEXT_IS_EXACTLY:
+#line 2376 "SearchBoolean.c"
+ {
+ gboolean _tmp7_ = FALSE;
+ const gchar* _tmp8_ = NULL;
+ gboolean _tmp9_ = FALSE;
+#line 287 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp8_ = haystack;
+#line 287 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp9_ = is_string_empty (_tmp8_);
+#line 287 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ if (!_tmp9_) {
+#line 2387 "SearchBoolean.c"
+ const gchar* _tmp10_ = NULL;
+ const gchar* _tmp11_ = NULL;
+#line 287 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp10_ = haystack;
+#line 287 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp11_ = needle;
+#line 287 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp7_ = g_strcmp0 (_tmp10_, _tmp11_) == 0;
+#line 2396 "SearchBoolean.c"
+ } else {
+#line 287 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp7_ = FALSE;
+#line 2400 "SearchBoolean.c"
+ }
+#line 287 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ result = _tmp7_;
+#line 287 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ return result;
+#line 2406 "SearchBoolean.c"
+ }
+#line 281 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ case SEARCH_CONDITION_TEXT_CONTEXT_STARTS_WITH:
+#line 2410 "SearchBoolean.c"
+ {
+ gboolean _tmp12_ = FALSE;
+ const gchar* _tmp13_ = NULL;
+ gboolean _tmp14_ = FALSE;
+#line 290 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp13_ = haystack;
+#line 290 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp14_ = is_string_empty (_tmp13_);
+#line 290 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ if (!_tmp14_) {
+#line 2421 "SearchBoolean.c"
+ const gchar* _tmp15_ = NULL;
+ const gchar* _tmp16_ = NULL;
+ gboolean _tmp17_ = FALSE;
+#line 290 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp15_ = haystack;
+#line 290 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp16_ = needle;
+#line 290 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp17_ = g_str_has_prefix (_tmp15_, _tmp16_);
+#line 290 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp12_ = _tmp17_;
+#line 2433 "SearchBoolean.c"
+ } else {
+#line 290 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp12_ = FALSE;
+#line 2437 "SearchBoolean.c"
+ }
+#line 290 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ result = _tmp12_;
+#line 290 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ return result;
+#line 2443 "SearchBoolean.c"
+ }
+#line 281 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ case SEARCH_CONDITION_TEXT_CONTEXT_ENDS_WITH:
+#line 2447 "SearchBoolean.c"
+ {
+ gboolean _tmp18_ = FALSE;
+ const gchar* _tmp19_ = NULL;
+ gboolean _tmp20_ = FALSE;
+#line 293 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp19_ = haystack;
+#line 293 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp20_ = is_string_empty (_tmp19_);
+#line 293 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ if (!_tmp20_) {
+#line 2458 "SearchBoolean.c"
+ const gchar* _tmp21_ = NULL;
+ const gchar* _tmp22_ = NULL;
+ gboolean _tmp23_ = FALSE;
+#line 293 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp21_ = haystack;
+#line 293 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp22_ = needle;
+#line 293 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp23_ = g_str_has_suffix (_tmp21_, _tmp22_);
+#line 293 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp18_ = _tmp23_;
+#line 2470 "SearchBoolean.c"
+ } else {
+#line 293 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp18_ = FALSE;
+#line 2474 "SearchBoolean.c"
+ }
+#line 293 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ result = _tmp18_;
+#line 293 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ return result;
+#line 2480 "SearchBoolean.c"
+ }
+#line 281 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ case SEARCH_CONDITION_TEXT_CONTEXT_IS_NOT_SET:
+#line 2484 "SearchBoolean.c"
+ {
+ const gchar* _tmp24_ = NULL;
+ gboolean _tmp25_ = FALSE;
+#line 296 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp24_ = haystack;
+#line 296 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp25_ = is_string_empty (_tmp24_);
+#line 296 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ result = _tmp25_;
+#line 296 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ return result;
+#line 2496 "SearchBoolean.c"
+ }
+#line 281 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ case SEARCH_CONDITION_TEXT_CONTEXT_IS_SET:
+#line 2500 "SearchBoolean.c"
+ {
+ const gchar* _tmp26_ = NULL;
+ gboolean _tmp27_ = FALSE;
+#line 299 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp26_ = haystack;
+#line 299 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp27_ = is_string_empty (_tmp26_);
+#line 299 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ result = !_tmp27_;
+#line 299 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ return result;
+#line 2512 "SearchBoolean.c"
+ }
+ default:
+#line 281 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ break;
+#line 2517 "SearchBoolean.c"
+ }
+#line 302 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ result = FALSE;
+#line 302 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ return result;
+#line 2523 "SearchBoolean.c"
+}
+
+
+static gpointer _g_object_ref0 (gpointer self) {
+#line 321 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ return self ? g_object_ref (self) : NULL;
+#line 2530 "SearchBoolean.c"
+}
+
+
+static gboolean search_condition_text_real_predicate (SearchCondition* base, MediaSource* source) {
+ SearchConditionText * self;
+ gboolean result = FALSE;
+ gboolean ret = FALSE;
+ gboolean _tmp0_ = FALSE;
+ SearchConditionSearchType _tmp1_ = 0;
+ SearchConditionSearchType _tmp2_ = 0;
+ gboolean _tmp21_ = FALSE;
+ SearchConditionSearchType _tmp22_ = 0;
+ SearchConditionSearchType _tmp23_ = 0;
+ gboolean _tmp52_ = FALSE;
+ SearchConditionSearchType _tmp53_ = 0;
+ SearchConditionSearchType _tmp54_ = 0;
+ gboolean _tmp75_ = FALSE;
+ SearchConditionSearchType _tmp76_ = 0;
+ SearchConditionSearchType _tmp77_ = 0;
+ gboolean _tmp91_ = FALSE;
+ SearchConditionSearchType _tmp92_ = 0;
+ SearchConditionSearchType _tmp93_ = 0;
+ gboolean _tmp106_ = FALSE;
+ SearchConditionTextContext _tmp107_ = 0;
+#line 306 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_SEARCH_CONDITION_TEXT, SearchConditionText);
+#line 306 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ g_return_val_if_fail (IS_MEDIA_SOURCE (source), FALSE);
+#line 307 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ ret = FALSE;
+#line 310 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp1_ = search_condition_get_search_type (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SEARCH_CONDITION, SearchCondition));
+#line 310 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp2_ = _tmp1_;
+#line 310 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ if (SEARCH_CONDITION_SEARCH_TYPE_ANY_TEXT == _tmp2_) {
+#line 310 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp0_ = TRUE;
+#line 2569 "SearchBoolean.c"
+ } else {
+ SearchConditionSearchType _tmp3_ = 0;
+ SearchConditionSearchType _tmp4_ = 0;
+#line 310 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp3_ = search_condition_get_search_type (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SEARCH_CONDITION, SearchCondition));
+#line 310 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp4_ = _tmp3_;
+#line 310 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp0_ = SEARCH_CONDITION_SEARCH_TYPE_TITLE == _tmp4_;
+#line 2579 "SearchBoolean.c"
+ }
+#line 310 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ if (_tmp0_) {
+#line 2583 "SearchBoolean.c"
+ gchar* _tmp5_ = NULL;
+ MediaSource* _tmp6_ = NULL;
+ gchar* _tmp7_ = NULL;
+ gchar* _tmp8_ = NULL;
+ gboolean _tmp9_ = FALSE;
+ gchar* title = NULL;
+ gchar* _tmp16_ = NULL;
+ gboolean _tmp17_ = FALSE;
+ const gchar* _tmp18_ = NULL;
+ const gchar* _tmp19_ = NULL;
+ gboolean _tmp20_ = FALSE;
+#line 311 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp6_ = source;
+#line 311 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp7_ = media_source_get_title (_tmp6_);
+#line 311 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp8_ = _tmp7_;
+#line 311 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp9_ = NULL != _tmp8_;
+#line 311 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _g_free0 (_tmp8_);
+#line 311 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ if (_tmp9_) {
+#line 2607 "SearchBoolean.c"
+ MediaSource* _tmp10_ = NULL;
+ gchar* _tmp11_ = NULL;
+ gchar* _tmp12_ = NULL;
+ gchar* _tmp13_ = NULL;
+ gchar* _tmp14_ = NULL;
+ gchar* _tmp15_ = NULL;
+#line 312 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp10_ = source;
+#line 312 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp11_ = media_source_get_title (_tmp10_);
+#line 312 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp12_ = _tmp11_;
+#line 312 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp13_ = g_utf8_strdown (_tmp12_, (gssize) -1);
+#line 312 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp14_ = _tmp13_;
+#line 312 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp15_ = string_remove_diacritics (_tmp14_);
+#line 312 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _g_free0 (_tmp5_);
+#line 312 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp5_ = _tmp15_;
+#line 312 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _g_free0 (_tmp14_);
+#line 312 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _g_free0 (_tmp12_);
+#line 2634 "SearchBoolean.c"
+ } else {
+#line 312 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _g_free0 (_tmp5_);
+#line 312 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp5_ = NULL;
+#line 2640 "SearchBoolean.c"
+ }
+#line 311 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp16_ = g_strdup (_tmp5_);
+#line 311 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ title = _tmp16_;
+#line 313 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp17_ = ret;
+#line 313 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp18_ = self->priv->_text;
+#line 313 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp19_ = title;
+#line 313 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp20_ = search_condition_text_string_match (self, _tmp18_, _tmp19_);
+#line 313 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ ret = _tmp17_ | _tmp20_;
+#line 310 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _g_free0 (title);
+#line 310 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _g_free0 (_tmp5_);
+#line 2660 "SearchBoolean.c"
+ }
+#line 317 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp22_ = search_condition_get_search_type (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SEARCH_CONDITION, SearchCondition));
+#line 317 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp23_ = _tmp22_;
+#line 317 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ if (SEARCH_CONDITION_SEARCH_TYPE_ANY_TEXT == _tmp23_) {
+#line 317 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp21_ = TRUE;
+#line 2670 "SearchBoolean.c"
+ } else {
+ SearchConditionSearchType _tmp24_ = 0;
+ SearchConditionSearchType _tmp25_ = 0;
+#line 317 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp24_ = search_condition_get_search_type (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SEARCH_CONDITION, SearchCondition));
+#line 317 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp25_ = _tmp24_;
+#line 317 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp21_ = SEARCH_CONDITION_SEARCH_TYPE_TAG == _tmp25_;
+#line 2680 "SearchBoolean.c"
+ }
+#line 317 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ if (_tmp21_) {
+#line 2684 "SearchBoolean.c"
+ GeeList* tag_list = NULL;
+ TagSourceCollection* _tmp26_ = NULL;
+ MediaSource* _tmp27_ = NULL;
+ GeeList* _tmp28_ = NULL;
+ GeeList* _tmp29_ = NULL;
+#line 318 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp26_ = tag_global;
+#line 318 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp27_ = source;
+#line 318 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp28_ = tag_source_collection_fetch_for_source (_tmp26_, _tmp27_);
+#line 318 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ tag_list = _tmp28_;
+#line 319 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp29_ = tag_list;
+#line 319 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ if (NULL != _tmp29_) {
+#line 2702 "SearchBoolean.c"
+ gchar* itag = NULL;
+ {
+ GeeList* _tag_list = NULL;
+ GeeList* _tmp30_ = NULL;
+ GeeList* _tmp31_ = NULL;
+ gint _tag_size = 0;
+ GeeList* _tmp32_ = NULL;
+ gint _tmp33_ = 0;
+ gint _tmp34_ = 0;
+ gint _tag_index = 0;
+#line 321 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp30_ = tag_list;
+#line 321 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp31_ = _g_object_ref0 (_tmp30_);
+#line 321 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tag_list = _tmp31_;
+#line 321 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp32_ = _tag_list;
+#line 321 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp33_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp32_, GEE_TYPE_COLLECTION, GeeCollection));
+#line 321 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp34_ = _tmp33_;
+#line 321 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tag_size = _tmp34_;
+#line 321 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tag_index = -1;
+#line 321 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ while (TRUE) {
+#line 2731 "SearchBoolean.c"
+ gint _tmp35_ = 0;
+ gint _tmp36_ = 0;
+ gint _tmp37_ = 0;
+ Tag* tag = NULL;
+ GeeList* _tmp38_ = NULL;
+ gint _tmp39_ = 0;
+ gpointer _tmp40_ = NULL;
+ Tag* _tmp41_ = NULL;
+ gchar* _tmp42_ = NULL;
+ gchar* _tmp43_ = NULL;
+ gchar* _tmp44_ = NULL;
+ gboolean _tmp45_ = FALSE;
+ const gchar* _tmp46_ = NULL;
+ const gchar* _tmp47_ = NULL;
+ gboolean _tmp48_ = FALSE;
+#line 321 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp35_ = _tag_index;
+#line 321 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tag_index = _tmp35_ + 1;
+#line 321 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp36_ = _tag_index;
+#line 321 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp37_ = _tag_size;
+#line 321 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ if (!(_tmp36_ < _tmp37_)) {
+#line 321 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ break;
+#line 2759 "SearchBoolean.c"
+ }
+#line 321 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp38_ = _tag_list;
+#line 321 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp39_ = _tag_index;
+#line 321 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp40_ = gee_list_get (_tmp38_, _tmp39_);
+#line 321 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ tag = (Tag*) _tmp40_;
+#line 322 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp41_ = tag;
+#line 322 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp42_ = tag_get_searchable_name (_tmp41_);
+#line 322 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp43_ = _tmp42_;
+#line 322 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp44_ = g_utf8_strdown (_tmp43_, (gssize) -1);
+#line 322 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _g_free0 (itag);
+#line 322 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ itag = _tmp44_;
+#line 322 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _g_free0 (_tmp43_);
+#line 323 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp45_ = ret;
+#line 323 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp46_ = self->priv->_text;
+#line 323 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp47_ = itag;
+#line 323 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp48_ = search_condition_text_string_match (self, _tmp46_, _tmp47_);
+#line 323 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ ret = _tmp45_ | _tmp48_;
+#line 321 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _g_object_unref0 (tag);
+#line 2795 "SearchBoolean.c"
+ }
+#line 321 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _g_object_unref0 (_tag_list);
+#line 2799 "SearchBoolean.c"
+ }
+#line 319 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _g_free0 (itag);
+#line 2803 "SearchBoolean.c"
+ } else {
+ gboolean _tmp49_ = FALSE;
+ const gchar* _tmp50_ = NULL;
+ gboolean _tmp51_ = FALSE;
+#line 326 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp49_ = ret;
+#line 326 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp50_ = self->priv->_text;
+#line 326 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp51_ = search_condition_text_string_match (self, _tmp50_, NULL);
+#line 326 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ ret = _tmp49_ | _tmp51_;
+#line 2816 "SearchBoolean.c"
+ }
+#line 317 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _g_object_unref0 (tag_list);
+#line 2820 "SearchBoolean.c"
+ }
+#line 331 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp53_ = search_condition_get_search_type (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SEARCH_CONDITION, SearchCondition));
+#line 331 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp54_ = _tmp53_;
+#line 331 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ if (SEARCH_CONDITION_SEARCH_TYPE_ANY_TEXT == _tmp54_) {
+#line 331 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp52_ = TRUE;
+#line 2830 "SearchBoolean.c"
+ } else {
+ SearchConditionSearchType _tmp55_ = 0;
+ SearchConditionSearchType _tmp56_ = 0;
+#line 331 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp55_ = search_condition_get_search_type (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SEARCH_CONDITION, SearchCondition));
+#line 331 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp56_ = _tmp55_;
+#line 331 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp52_ = SEARCH_CONDITION_SEARCH_TYPE_EVENT_NAME == _tmp56_;
+#line 2840 "SearchBoolean.c"
+ }
+#line 331 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ if (_tmp52_) {
+#line 2844 "SearchBoolean.c"
+ gchar* _tmp57_ = NULL;
+ MediaSource* _tmp58_ = NULL;
+ Event* _tmp59_ = NULL;
+ Event* _tmp60_ = NULL;
+ gboolean _tmp61_ = FALSE;
+ gchar* event_name = NULL;
+ gchar* _tmp70_ = NULL;
+ gboolean _tmp71_ = FALSE;
+ const gchar* _tmp72_ = NULL;
+ const gchar* _tmp73_ = NULL;
+ gboolean _tmp74_ = FALSE;
+#line 332 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp58_ = source;
+#line 332 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp59_ = media_source_get_event (_tmp58_);
+#line 332 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp60_ = _tmp59_;
+#line 332 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp61_ = NULL != _tmp60_;
+#line 332 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _g_object_unref0 (_tmp60_);
+#line 332 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ if (_tmp61_) {
+#line 2868 "SearchBoolean.c"
+ MediaSource* _tmp62_ = NULL;
+ Event* _tmp63_ = NULL;
+ Event* _tmp64_ = NULL;
+ gchar* _tmp65_ = NULL;
+ gchar* _tmp66_ = NULL;
+ gchar* _tmp67_ = NULL;
+ gchar* _tmp68_ = NULL;
+ gchar* _tmp69_ = NULL;
+#line 333 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp62_ = source;
+#line 333 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp63_ = media_source_get_event (_tmp62_);
+#line 333 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp64_ = _tmp63_;
+#line 333 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp65_ = data_object_get_name (G_TYPE_CHECK_INSTANCE_CAST (_tmp64_, TYPE_DATA_OBJECT, DataObject));
+#line 333 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp66_ = _tmp65_;
+#line 333 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp67_ = g_utf8_strdown (_tmp66_, (gssize) -1);
+#line 333 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp68_ = _tmp67_;
+#line 333 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp69_ = string_remove_diacritics (_tmp68_);
+#line 333 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _g_free0 (_tmp57_);
+#line 333 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp57_ = _tmp69_;
+#line 333 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _g_free0 (_tmp68_);
+#line 333 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _g_free0 (_tmp66_);
+#line 333 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _g_object_unref0 (_tmp64_);
+#line 2903 "SearchBoolean.c"
+ } else {
+#line 333 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _g_free0 (_tmp57_);
+#line 333 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp57_ = NULL;
+#line 2909 "SearchBoolean.c"
+ }
+#line 332 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp70_ = g_strdup (_tmp57_);
+#line 332 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ event_name = _tmp70_;
+#line 334 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp71_ = ret;
+#line 334 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp72_ = self->priv->_text;
+#line 334 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp73_ = event_name;
+#line 334 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp74_ = search_condition_text_string_match (self, _tmp72_, _tmp73_);
+#line 334 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ ret = _tmp71_ | _tmp74_;
+#line 331 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _g_free0 (event_name);
+#line 331 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _g_free0 (_tmp57_);
+#line 2929 "SearchBoolean.c"
+ }
+#line 338 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp76_ = search_condition_get_search_type (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SEARCH_CONDITION, SearchCondition));
+#line 338 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp77_ = _tmp76_;
+#line 338 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ if (SEARCH_CONDITION_SEARCH_TYPE_ANY_TEXT == _tmp77_) {
+#line 338 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp75_ = TRUE;
+#line 2939 "SearchBoolean.c"
+ } else {
+ SearchConditionSearchType _tmp78_ = 0;
+ SearchConditionSearchType _tmp79_ = 0;
+#line 338 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp78_ = search_condition_get_search_type (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SEARCH_CONDITION, SearchCondition));
+#line 338 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp79_ = _tmp78_;
+#line 338 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp75_ = SEARCH_CONDITION_SEARCH_TYPE_COMMENT == _tmp79_;
+#line 2949 "SearchBoolean.c"
+ }
+#line 338 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ if (_tmp75_) {
+#line 2953 "SearchBoolean.c"
+ gchar* comment = NULL;
+ MediaSource* _tmp80_ = NULL;
+ gchar* _tmp81_ = NULL;
+ const gchar* _tmp82_ = NULL;
+#line 339 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp80_ = source;
+#line 339 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp81_ = media_source_get_comment (_tmp80_);
+#line 339 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ comment = _tmp81_;
+#line 340 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp82_ = comment;
+#line 340 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ if (NULL != _tmp82_) {
+#line 2968 "SearchBoolean.c"
+ gboolean _tmp83_ = FALSE;
+ const gchar* _tmp84_ = NULL;
+ const gchar* _tmp85_ = NULL;
+ gchar* _tmp86_ = NULL;
+ gchar* _tmp87_ = NULL;
+ gchar* _tmp88_ = NULL;
+ gchar* _tmp89_ = NULL;
+ gboolean _tmp90_ = FALSE;
+#line 341 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp83_ = ret;
+#line 341 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp84_ = self->priv->_text;
+#line 341 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp85_ = comment;
+#line 341 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp86_ = g_utf8_strdown (_tmp85_, (gssize) -1);
+#line 341 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp87_ = _tmp86_;
+#line 341 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp88_ = string_remove_diacritics (_tmp87_);
+#line 341 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp89_ = _tmp88_;
+#line 341 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp90_ = search_condition_text_string_match (self, _tmp84_, _tmp89_);
+#line 341 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ ret = _tmp83_ | _tmp90_;
+#line 341 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _g_free0 (_tmp89_);
+#line 341 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _g_free0 (_tmp87_);
+#line 2999 "SearchBoolean.c"
+ }
+#line 338 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _g_free0 (comment);
+#line 3003 "SearchBoolean.c"
+ }
+#line 345 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp92_ = search_condition_get_search_type (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SEARCH_CONDITION, SearchCondition));
+#line 345 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp93_ = _tmp92_;
+#line 345 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ if (SEARCH_CONDITION_SEARCH_TYPE_ANY_TEXT == _tmp93_) {
+#line 345 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp91_ = TRUE;
+#line 3013 "SearchBoolean.c"
+ } else {
+ SearchConditionSearchType _tmp94_ = 0;
+ SearchConditionSearchType _tmp95_ = 0;
+#line 345 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp94_ = search_condition_get_search_type (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SEARCH_CONDITION, SearchCondition));
+#line 345 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp95_ = _tmp94_;
+#line 345 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp91_ = SEARCH_CONDITION_SEARCH_TYPE_FILE_NAME == _tmp95_;
+#line 3023 "SearchBoolean.c"
+ }
+#line 345 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ if (_tmp91_) {
+#line 3027 "SearchBoolean.c"
+ gboolean _tmp96_ = FALSE;
+ const gchar* _tmp97_ = NULL;
+ MediaSource* _tmp98_ = NULL;
+ gchar* _tmp99_ = NULL;
+ gchar* _tmp100_ = NULL;
+ gchar* _tmp101_ = NULL;
+ gchar* _tmp102_ = NULL;
+ gchar* _tmp103_ = NULL;
+ gchar* _tmp104_ = NULL;
+ gboolean _tmp105_ = FALSE;
+#line 346 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp96_ = ret;
+#line 346 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp97_ = self->priv->_text;
+#line 346 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp98_ = source;
+#line 346 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp99_ = media_source_get_basename (_tmp98_);
+#line 346 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp100_ = _tmp99_;
+#line 346 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp101_ = g_utf8_strdown (_tmp100_, (gssize) -1);
+#line 346 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp102_ = _tmp101_;
+#line 346 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp103_ = string_remove_diacritics (_tmp102_);
+#line 346 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp104_ = _tmp103_;
+#line 346 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp105_ = search_condition_text_string_match (self, _tmp97_, _tmp104_);
+#line 346 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ ret = _tmp96_ | _tmp105_;
+#line 346 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _g_free0 (_tmp104_);
+#line 346 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _g_free0 (_tmp102_);
+#line 346 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _g_free0 (_tmp100_);
+#line 3066 "SearchBoolean.c"
+ }
+#line 349 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp107_ = self->priv->_context;
+#line 349 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ if (_tmp107_ == SEARCH_CONDITION_TEXT_CONTEXT_DOES_NOT_CONTAIN) {
+#line 3072 "SearchBoolean.c"
+ gboolean _tmp108_ = FALSE;
+#line 349 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp108_ = ret;
+#line 349 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp106_ = !_tmp108_;
+#line 3078 "SearchBoolean.c"
+ } else {
+ gboolean _tmp109_ = FALSE;
+#line 349 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp109_ = ret;
+#line 349 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp106_ = _tmp109_;
+#line 3085 "SearchBoolean.c"
+ }
+#line 349 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ result = _tmp106_;
+#line 349 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ return result;
+#line 3091 "SearchBoolean.c"
+}
+
+
+const gchar* search_condition_text_get_text (SearchConditionText* self) {
+ const gchar* result;
+ const gchar* _tmp0_ = NULL;
+#line 268 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ g_return_val_if_fail (IS_SEARCH_CONDITION_TEXT (self), NULL);
+#line 268 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp0_ = self->priv->_text;
+#line 268 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ result = _tmp0_;
+#line 268 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ return result;
+#line 3106 "SearchBoolean.c"
+}
+
+
+static void search_condition_text_set_text (SearchConditionText* self, const gchar* value) {
+ const gchar* _tmp0_ = NULL;
+ gchar* _tmp1_ = NULL;
+#line 268 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ g_return_if_fail (IS_SEARCH_CONDITION_TEXT (self));
+#line 268 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp0_ = value;
+#line 268 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp1_ = g_strdup (_tmp0_);
+#line 268 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _g_free0 (self->priv->_text);
+#line 268 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ self->priv->_text = _tmp1_;
+#line 3123 "SearchBoolean.c"
+}
+
+
+SearchConditionTextContext search_condition_text_get_context (SearchConditionText* self) {
+ SearchConditionTextContext result;
+ SearchConditionTextContext _tmp0_ = 0;
+#line 271 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ g_return_val_if_fail (IS_SEARCH_CONDITION_TEXT (self), 0);
+#line 271 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp0_ = self->priv->_context;
+#line 271 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ result = _tmp0_;
+#line 271 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ return result;
+#line 3138 "SearchBoolean.c"
+}
+
+
+static void search_condition_text_set_context (SearchConditionText* self, SearchConditionTextContext value) {
+ SearchConditionTextContext _tmp0_ = 0;
+#line 271 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ g_return_if_fail (IS_SEARCH_CONDITION_TEXT (self));
+#line 271 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp0_ = value;
+#line 271 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ self->priv->_context = _tmp0_;
+#line 3150 "SearchBoolean.c"
+}
+
+
+static void search_condition_text_class_init (SearchConditionTextClass * klass) {
+#line 202 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ search_condition_text_parent_class = g_type_class_peek_parent (klass);
+#line 202 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ ((SearchConditionClass *) klass)->finalize = search_condition_text_finalize;
+#line 202 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ g_type_class_add_private (klass, sizeof (SearchConditionTextPrivate));
+#line 202 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ ((SearchConditionClass *) klass)->predicate = search_condition_text_real_predicate;
+#line 3163 "SearchBoolean.c"
+}
+
+
+static void search_condition_text_instance_init (SearchConditionText * self) {
+#line 202 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ self->priv = SEARCH_CONDITION_TEXT_GET_PRIVATE (self);
+#line 3170 "SearchBoolean.c"
+}
+
+
+static void search_condition_text_finalize (SearchCondition* obj) {
+ SearchConditionText * self;
+#line 202 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_SEARCH_CONDITION_TEXT, SearchConditionText);
+#line 268 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _g_free0 (self->priv->_text);
+#line 202 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ SEARCH_CONDITION_CLASS (search_condition_text_parent_class)->finalize (obj);
+#line 3182 "SearchBoolean.c"
+}
+
+
+GType search_condition_text_get_type (void) {
+ static volatile gsize search_condition_text_type_id__volatile = 0;
+ if (g_once_init_enter (&search_condition_text_type_id__volatile)) {
+ static const GTypeInfo g_define_type_info = { sizeof (SearchConditionTextClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) search_condition_text_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (SearchConditionText), 0, (GInstanceInitFunc) search_condition_text_instance_init, NULL };
+ GType search_condition_text_type_id;
+ search_condition_text_type_id = g_type_register_static (TYPE_SEARCH_CONDITION, "SearchConditionText", &g_define_type_info, 0);
+ g_once_init_leave (&search_condition_text_type_id__volatile, search_condition_text_type_id);
+ }
+ return search_condition_text_type_id__volatile;
+}
+
+
+gchar* search_condition_media_type_context_to_string (SearchConditionMediaTypeContext self) {
+ gchar* result = NULL;
+#line 360 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ switch (self) {
+#line 360 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ case SEARCH_CONDITION_MEDIA_TYPE_CONTEXT_IS:
+#line 3204 "SearchBoolean.c"
+ {
+ gchar* _tmp0_ = NULL;
+#line 362 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp0_ = g_strdup ("IS");
+#line 362 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ result = _tmp0_;
+#line 362 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ return result;
+#line 3213 "SearchBoolean.c"
+ }
+#line 360 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ case SEARCH_CONDITION_MEDIA_TYPE_CONTEXT_IS_NOT:
+#line 3217 "SearchBoolean.c"
+ {
+ gchar* _tmp1_ = NULL;
+#line 365 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp1_ = g_strdup ("IS_NOT");
+#line 365 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ result = _tmp1_;
+#line 365 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ return result;
+#line 3226 "SearchBoolean.c"
+ }
+ default:
+ {
+#line 368 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ g_error ("SearchBoolean.vala:368: unrecognized media search context enumeration " \
+"value");
+#line 3232 "SearchBoolean.c"
+ }
+ }
+}
+
+
+SearchConditionMediaTypeContext search_condition_media_type_context_from_string (const gchar* str) {
+ SearchConditionMediaTypeContext result = 0;
+ const gchar* _tmp0_ = NULL;
+#line 372 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ g_return_val_if_fail (str != NULL, 0);
+#line 373 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp0_ = str;
+#line 373 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ if (g_strcmp0 (_tmp0_, "IS") == 0) {
+#line 374 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ result = SEARCH_CONDITION_MEDIA_TYPE_CONTEXT_IS;
+#line 374 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ return result;
+#line 3251 "SearchBoolean.c"
+ } else {
+ const gchar* _tmp1_ = NULL;
+#line 376 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp1_ = str;
+#line 376 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ if (g_strcmp0 (_tmp1_, "IS_NOT") == 0) {
+#line 377 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ result = SEARCH_CONDITION_MEDIA_TYPE_CONTEXT_IS_NOT;
+#line 377 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ return result;
+#line 3262 "SearchBoolean.c"
+ } else {
+ const gchar* _tmp2_ = NULL;
+#line 380 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp2_ = str;
+#line 380 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ g_error ("SearchBoolean.vala:380: unrecognized media search context name: %s", _tmp2_);
+#line 3269 "SearchBoolean.c"
+ }
+ }
+}
+
+
+GType search_condition_media_type_context_get_type (void) {
+ static volatile gsize search_condition_media_type_context_type_id__volatile = 0;
+ if (g_once_init_enter (&search_condition_media_type_context_type_id__volatile)) {
+ static const GEnumValue values[] = {{SEARCH_CONDITION_MEDIA_TYPE_CONTEXT_IS, "SEARCH_CONDITION_MEDIA_TYPE_CONTEXT_IS", "is"}, {SEARCH_CONDITION_MEDIA_TYPE_CONTEXT_IS_NOT, "SEARCH_CONDITION_MEDIA_TYPE_CONTEXT_IS_NOT", "is-not"}, {0, NULL, NULL}};
+ GType search_condition_media_type_context_type_id;
+ search_condition_media_type_context_type_id = g_enum_register_static ("SearchConditionMediaTypeContext", values);
+ g_once_init_leave (&search_condition_media_type_context_type_id__volatile, search_condition_media_type_context_type_id);
+ }
+ return search_condition_media_type_context_type_id__volatile;
+}
+
+
+gchar* search_condition_media_type_media_type_to_string (SearchConditionMediaTypeMediaType self) {
+ gchar* result = NULL;
+#line 390 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ switch (self) {
+#line 390 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ case SEARCH_CONDITION_MEDIA_TYPE_MEDIA_TYPE_PHOTO_ALL:
+#line 3293 "SearchBoolean.c"
+ {
+ gchar* _tmp0_ = NULL;
+#line 392 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp0_ = g_strdup ("PHOTO_ALL");
+#line 392 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ result = _tmp0_;
+#line 392 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ return result;
+#line 3302 "SearchBoolean.c"
+ }
+#line 390 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ case SEARCH_CONDITION_MEDIA_TYPE_MEDIA_TYPE_PHOTO_RAW:
+#line 3306 "SearchBoolean.c"
+ {
+ gchar* _tmp1_ = NULL;
+#line 395 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp1_ = g_strdup ("PHOTO_RAW");
+#line 395 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ result = _tmp1_;
+#line 395 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ return result;
+#line 3315 "SearchBoolean.c"
+ }
+#line 390 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ case SEARCH_CONDITION_MEDIA_TYPE_MEDIA_TYPE_VIDEO:
+#line 3319 "SearchBoolean.c"
+ {
+ gchar* _tmp2_ = NULL;
+#line 398 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp2_ = g_strdup ("VIDEO");
+#line 398 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ result = _tmp2_;
+#line 398 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ return result;
+#line 3328 "SearchBoolean.c"
+ }
+ default:
+ {
+#line 401 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ g_error ("SearchBoolean.vala:401: unrecognized media search type enumeration val" \
+"ue");
+#line 3334 "SearchBoolean.c"
+ }
+ }
+}
+
+
+SearchConditionMediaTypeMediaType search_condition_media_type_media_type_from_string (const gchar* str) {
+ SearchConditionMediaTypeMediaType result = 0;
+ const gchar* _tmp0_ = NULL;
+#line 405 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ g_return_val_if_fail (str != NULL, 0);
+#line 406 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp0_ = str;
+#line 406 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ if (g_strcmp0 (_tmp0_, "PHOTO_ALL") == 0) {
+#line 407 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ result = SEARCH_CONDITION_MEDIA_TYPE_MEDIA_TYPE_PHOTO_ALL;
+#line 407 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ return result;
+#line 3353 "SearchBoolean.c"
+ } else {
+ const gchar* _tmp1_ = NULL;
+#line 409 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp1_ = str;
+#line 409 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ if (g_strcmp0 (_tmp1_, "PHOTO_RAW") == 0) {
+#line 410 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ result = SEARCH_CONDITION_MEDIA_TYPE_MEDIA_TYPE_PHOTO_RAW;
+#line 410 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ return result;
+#line 3364 "SearchBoolean.c"
+ } else {
+ const gchar* _tmp2_ = NULL;
+#line 412 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp2_ = str;
+#line 412 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ if (g_strcmp0 (_tmp2_, "VIDEO") == 0) {
+#line 413 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ result = SEARCH_CONDITION_MEDIA_TYPE_MEDIA_TYPE_VIDEO;
+#line 413 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ return result;
+#line 3375 "SearchBoolean.c"
+ } else {
+ const gchar* _tmp3_ = NULL;
+#line 416 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp3_ = str;
+#line 416 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ g_error ("SearchBoolean.vala:416: unrecognized media search type name: %s", _tmp3_);
+#line 3382 "SearchBoolean.c"
+ }
+ }
+ }
+}
+
+
+GType search_condition_media_type_media_type_get_type (void) {
+ static volatile gsize search_condition_media_type_media_type_type_id__volatile = 0;
+ if (g_once_init_enter (&search_condition_media_type_media_type_type_id__volatile)) {
+ static const GEnumValue values[] = {{SEARCH_CONDITION_MEDIA_TYPE_MEDIA_TYPE_PHOTO_ALL, "SEARCH_CONDITION_MEDIA_TYPE_MEDIA_TYPE_PHOTO_ALL", "photo-all"}, {SEARCH_CONDITION_MEDIA_TYPE_MEDIA_TYPE_PHOTO_RAW, "SEARCH_CONDITION_MEDIA_TYPE_MEDIA_TYPE_PHOTO_RAW", "photo-raw"}, {SEARCH_CONDITION_MEDIA_TYPE_MEDIA_TYPE_VIDEO, "SEARCH_CONDITION_MEDIA_TYPE_MEDIA_TYPE_VIDEO", "video"}, {0, NULL, NULL}};
+ GType search_condition_media_type_media_type_type_id;
+ search_condition_media_type_media_type_type_id = g_enum_register_static ("SearchConditionMediaTypeMediaType", values);
+ g_once_init_leave (&search_condition_media_type_media_type_type_id__volatile, search_condition_media_type_media_type_type_id);
+ }
+ return search_condition_media_type_media_type_type_id__volatile;
+}
+
+
+SearchConditionMediaType* search_condition_media_type_construct (GType object_type, SearchConditionSearchType search_type, SearchConditionMediaTypeContext context, SearchConditionMediaTypeMediaType media_type) {
+ SearchConditionMediaType* self = NULL;
+ SearchConditionSearchType _tmp0_ = 0;
+ SearchConditionMediaTypeContext _tmp1_ = 0;
+ SearchConditionMediaTypeMediaType _tmp2_ = 0;
+#line 426 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ self = (SearchConditionMediaType*) search_condition_construct (object_type);
+#line 427 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp0_ = search_type;
+#line 427 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ search_condition_set_search_type (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SEARCH_CONDITION, SearchCondition), _tmp0_);
+#line 428 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp1_ = context;
+#line 428 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ search_condition_media_type_set_context (self, _tmp1_);
+#line 429 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp2_ = media_type;
+#line 429 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ search_condition_media_type_set_media_type (self, _tmp2_);
+#line 426 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ return self;
+#line 3422 "SearchBoolean.c"
+}
+
+
+SearchConditionMediaType* search_condition_media_type_new (SearchConditionSearchType search_type, SearchConditionMediaTypeContext context, SearchConditionMediaTypeMediaType media_type) {
+#line 426 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ return search_condition_media_type_construct (TYPE_SEARCH_CONDITION_MEDIA_TYPE, search_type, context, media_type);
+#line 3429 "SearchBoolean.c"
+}
+
+
+static gboolean search_condition_media_type_real_predicate (SearchCondition* base, MediaSource* source) {
+ SearchConditionMediaType * self;
+ gboolean result = FALSE;
+ SearchConditionMediaTypeMediaType _tmp0_ = 0;
+#line 433 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_SEARCH_CONDITION_MEDIA_TYPE, SearchConditionMediaType);
+#line 433 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ g_return_val_if_fail (IS_MEDIA_SOURCE (source), FALSE);
+#line 436 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp0_ = self->priv->_media_type;
+#line 436 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ switch (_tmp0_) {
+#line 436 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ case SEARCH_CONDITION_MEDIA_TYPE_MEDIA_TYPE_PHOTO_ALL:
+#line 3447 "SearchBoolean.c"
+ {
+ MediaSource* _tmp1_ = NULL;
+#line 438 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp1_ = source;
+#line 438 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ if (G_TYPE_CHECK_INSTANCE_TYPE (_tmp1_, TYPE_PHOTO)) {
+#line 3454 "SearchBoolean.c"
+ SearchConditionMediaTypeContext _tmp2_ = 0;
+#line 439 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp2_ = self->priv->_context;
+#line 439 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ result = _tmp2_ == SEARCH_CONDITION_MEDIA_TYPE_CONTEXT_IS;
+#line 439 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ return result;
+#line 3462 "SearchBoolean.c"
+ } else {
+ SearchConditionMediaTypeContext _tmp3_ = 0;
+#line 441 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp3_ = self->priv->_context;
+#line 441 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ result = _tmp3_ == SEARCH_CONDITION_MEDIA_TYPE_CONTEXT_IS_NOT;
+#line 441 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ return result;
+#line 3471 "SearchBoolean.c"
+ }
+ }
+#line 436 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ case SEARCH_CONDITION_MEDIA_TYPE_MEDIA_TYPE_PHOTO_RAW:
+#line 3476 "SearchBoolean.c"
+ {
+ gboolean _tmp4_ = FALSE;
+ MediaSource* _tmp5_ = NULL;
+#line 444 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp5_ = source;
+#line 444 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ if (G_TYPE_CHECK_INSTANCE_TYPE (_tmp5_, TYPE_PHOTO)) {
+#line 3484 "SearchBoolean.c"
+ MediaSource* _tmp6_ = NULL;
+ PhotoFileFormat _tmp7_ = 0;
+#line 444 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp6_ = source;
+#line 444 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp7_ = photo_get_master_file_format (G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, TYPE_PHOTO, Photo));
+#line 444 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp4_ = _tmp7_ == PHOTO_FILE_FORMAT_RAW;
+#line 3493 "SearchBoolean.c"
+ } else {
+#line 444 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp4_ = FALSE;
+#line 3497 "SearchBoolean.c"
+ }
+#line 444 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ if (_tmp4_) {
+#line 3501 "SearchBoolean.c"
+ SearchConditionMediaTypeContext _tmp8_ = 0;
+#line 445 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp8_ = self->priv->_context;
+#line 445 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ result = _tmp8_ == SEARCH_CONDITION_MEDIA_TYPE_CONTEXT_IS;
+#line 445 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ return result;
+#line 3509 "SearchBoolean.c"
+ } else {
+ SearchConditionMediaTypeContext _tmp9_ = 0;
+#line 447 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp9_ = self->priv->_context;
+#line 447 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ result = _tmp9_ == SEARCH_CONDITION_MEDIA_TYPE_CONTEXT_IS_NOT;
+#line 447 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ return result;
+#line 3518 "SearchBoolean.c"
+ }
+ }
+#line 436 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ case SEARCH_CONDITION_MEDIA_TYPE_MEDIA_TYPE_VIDEO:
+#line 3523 "SearchBoolean.c"
+ {
+ MediaSource* _tmp10_ = NULL;
+#line 450 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp10_ = source;
+#line 450 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ if (G_TYPE_CHECK_INSTANCE_TYPE (_tmp10_, TYPE_VIDEO_SOURCE)) {
+#line 3530 "SearchBoolean.c"
+ SearchConditionMediaTypeContext _tmp11_ = 0;
+#line 451 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp11_ = self->priv->_context;
+#line 451 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ result = _tmp11_ == SEARCH_CONDITION_MEDIA_TYPE_CONTEXT_IS;
+#line 451 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ return result;
+#line 3538 "SearchBoolean.c"
+ } else {
+ SearchConditionMediaTypeContext _tmp12_ = 0;
+#line 453 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp12_ = self->priv->_context;
+#line 453 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ result = _tmp12_ == SEARCH_CONDITION_MEDIA_TYPE_CONTEXT_IS_NOT;
+#line 453 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ return result;
+#line 3547 "SearchBoolean.c"
+ }
+ }
+ default:
+ {
+#line 456 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ g_error ("SearchBoolean.vala:456: unrecognized media search type enumeration val" \
+"ue");
+#line 3554 "SearchBoolean.c"
+ }
+ }
+}
+
+
+SearchConditionMediaTypeMediaType search_condition_media_type_get_media_type (SearchConditionMediaType* self) {
+ SearchConditionMediaTypeMediaType result;
+ SearchConditionMediaTypeMediaType _tmp0_ = 0;
+#line 421 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ g_return_val_if_fail (IS_SEARCH_CONDITION_MEDIA_TYPE (self), 0);
+#line 421 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp0_ = self->priv->_media_type;
+#line 421 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ result = _tmp0_;
+#line 421 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ return result;
+#line 3571 "SearchBoolean.c"
+}
+
+
+static void search_condition_media_type_set_media_type (SearchConditionMediaType* self, SearchConditionMediaTypeMediaType value) {
+ SearchConditionMediaTypeMediaType _tmp0_ = 0;
+#line 421 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ g_return_if_fail (IS_SEARCH_CONDITION_MEDIA_TYPE (self));
+#line 421 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp0_ = value;
+#line 421 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ self->priv->_media_type = _tmp0_;
+#line 3583 "SearchBoolean.c"
+}
+
+
+SearchConditionMediaTypeContext search_condition_media_type_get_context (SearchConditionMediaType* self) {
+ SearchConditionMediaTypeContext result;
+ SearchConditionMediaTypeContext _tmp0_ = 0;
+#line 424 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ g_return_val_if_fail (IS_SEARCH_CONDITION_MEDIA_TYPE (self), 0);
+#line 424 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp0_ = self->priv->_context;
+#line 424 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ result = _tmp0_;
+#line 424 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ return result;
+#line 3598 "SearchBoolean.c"
+}
+
+
+static void search_condition_media_type_set_context (SearchConditionMediaType* self, SearchConditionMediaTypeContext value) {
+ SearchConditionMediaTypeContext _tmp0_ = 0;
+#line 424 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ g_return_if_fail (IS_SEARCH_CONDITION_MEDIA_TYPE (self));
+#line 424 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp0_ = value;
+#line 424 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ self->priv->_context = _tmp0_;
+#line 3610 "SearchBoolean.c"
+}
+
+
+static void search_condition_media_type_class_init (SearchConditionMediaTypeClass * klass) {
+#line 354 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ search_condition_media_type_parent_class = g_type_class_peek_parent (klass);
+#line 354 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ ((SearchConditionClass *) klass)->finalize = search_condition_media_type_finalize;
+#line 354 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ g_type_class_add_private (klass, sizeof (SearchConditionMediaTypePrivate));
+#line 354 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ ((SearchConditionClass *) klass)->predicate = search_condition_media_type_real_predicate;
+#line 3623 "SearchBoolean.c"
+}
+
+
+static void search_condition_media_type_instance_init (SearchConditionMediaType * self) {
+#line 354 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ self->priv = SEARCH_CONDITION_MEDIA_TYPE_GET_PRIVATE (self);
+#line 3630 "SearchBoolean.c"
+}
+
+
+static void search_condition_media_type_finalize (SearchCondition* obj) {
+ SearchConditionMediaType * self;
+#line 354 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_SEARCH_CONDITION_MEDIA_TYPE, SearchConditionMediaType);
+#line 354 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ SEARCH_CONDITION_CLASS (search_condition_media_type_parent_class)->finalize (obj);
+#line 3640 "SearchBoolean.c"
+}
+
+
+GType search_condition_media_type_get_type (void) {
+ static volatile gsize search_condition_media_type_type_id__volatile = 0;
+ if (g_once_init_enter (&search_condition_media_type_type_id__volatile)) {
+ static const GTypeInfo g_define_type_info = { sizeof (SearchConditionMediaTypeClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) search_condition_media_type_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (SearchConditionMediaType), 0, (GInstanceInitFunc) search_condition_media_type_instance_init, NULL };
+ GType search_condition_media_type_type_id;
+ search_condition_media_type_type_id = g_type_register_static (TYPE_SEARCH_CONDITION, "SearchConditionMediaType", &g_define_type_info, 0);
+ g_once_init_leave (&search_condition_media_type_type_id__volatile, search_condition_media_type_type_id);
+ }
+ return search_condition_media_type_type_id__volatile;
+}
+
+
+gchar* search_condition_flagged_state_to_string (SearchConditionFlaggedState self) {
+ gchar* result = NULL;
+#line 468 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ switch (self) {
+#line 468 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ case SEARCH_CONDITION_FLAGGED_STATE_FLAGGED:
+#line 3662 "SearchBoolean.c"
+ {
+ gchar* _tmp0_ = NULL;
+#line 470 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp0_ = g_strdup ("FLAGGED");
+#line 470 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ result = _tmp0_;
+#line 470 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ return result;
+#line 3671 "SearchBoolean.c"
+ }
+#line 468 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ case SEARCH_CONDITION_FLAGGED_STATE_UNFLAGGED:
+#line 3675 "SearchBoolean.c"
+ {
+ gchar* _tmp1_ = NULL;
+#line 473 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp1_ = g_strdup ("UNFLAGGED");
+#line 473 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ result = _tmp1_;
+#line 473 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ return result;
+#line 3684 "SearchBoolean.c"
+ }
+ default:
+ {
+#line 476 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ g_error ("SearchBoolean.vala:476: unrecognized flagged search state enumeration " \
+"value");
+#line 3690 "SearchBoolean.c"
+ }
+ }
+}
+
+
+SearchConditionFlaggedState search_condition_flagged_state_from_string (const gchar* str) {
+ SearchConditionFlaggedState result = 0;
+ const gchar* _tmp0_ = NULL;
+#line 480 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ g_return_val_if_fail (str != NULL, 0);
+#line 481 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp0_ = str;
+#line 481 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ if (g_strcmp0 (_tmp0_, "FLAGGED") == 0) {
+#line 482 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ result = SEARCH_CONDITION_FLAGGED_STATE_FLAGGED;
+#line 482 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ return result;
+#line 3709 "SearchBoolean.c"
+ } else {
+ const gchar* _tmp1_ = NULL;
+#line 484 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp1_ = str;
+#line 484 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ if (g_strcmp0 (_tmp1_, "UNFLAGGED") == 0) {
+#line 485 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ result = SEARCH_CONDITION_FLAGGED_STATE_UNFLAGGED;
+#line 485 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ return result;
+#line 3720 "SearchBoolean.c"
+ } else {
+ const gchar* _tmp2_ = NULL;
+#line 488 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp2_ = str;
+#line 488 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ g_error ("SearchBoolean.vala:488: unrecognized flagged search state name: %s", _tmp2_);
+#line 3727 "SearchBoolean.c"
+ }
+ }
+}
+
+
+GType search_condition_flagged_state_get_type (void) {
+ static volatile gsize search_condition_flagged_state_type_id__volatile = 0;
+ if (g_once_init_enter (&search_condition_flagged_state_type_id__volatile)) {
+ static const GEnumValue values[] = {{SEARCH_CONDITION_FLAGGED_STATE_FLAGGED, "SEARCH_CONDITION_FLAGGED_STATE_FLAGGED", "flagged"}, {SEARCH_CONDITION_FLAGGED_STATE_UNFLAGGED, "SEARCH_CONDITION_FLAGGED_STATE_UNFLAGGED", "unflagged"}, {0, NULL, NULL}};
+ GType search_condition_flagged_state_type_id;
+ search_condition_flagged_state_type_id = g_enum_register_static ("SearchConditionFlaggedState", values);
+ g_once_init_leave (&search_condition_flagged_state_type_id__volatile, search_condition_flagged_state_type_id);
+ }
+ return search_condition_flagged_state_type_id__volatile;
+}
+
+
+SearchConditionFlagged* search_condition_flagged_construct (GType object_type, SearchConditionSearchType search_type, SearchConditionFlaggedState state) {
+ SearchConditionFlagged* self = NULL;
+ SearchConditionSearchType _tmp0_ = 0;
+ SearchConditionFlaggedState _tmp1_ = 0;
+#line 495 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ self = (SearchConditionFlagged*) search_condition_construct (object_type);
+#line 496 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp0_ = search_type;
+#line 496 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ search_condition_set_search_type (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SEARCH_CONDITION, SearchCondition), _tmp0_);
+#line 497 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp1_ = state;
+#line 497 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ search_condition_flagged_set_state (self, _tmp1_);
+#line 495 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ return self;
+#line 3761 "SearchBoolean.c"
+}
+
+
+SearchConditionFlagged* search_condition_flagged_new (SearchConditionSearchType search_type, SearchConditionFlaggedState state) {
+#line 495 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ return search_condition_flagged_construct (TYPE_SEARCH_CONDITION_FLAGGED, search_type, state);
+#line 3768 "SearchBoolean.c"
+}
+
+
+static gboolean search_condition_flagged_real_predicate (SearchCondition* base, MediaSource* source) {
+ SearchConditionFlagged * self;
+ gboolean result = FALSE;
+ SearchConditionFlaggedState _tmp0_ = 0;
+#line 501 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_SEARCH_CONDITION_FLAGGED, SearchConditionFlagged);
+#line 501 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ g_return_val_if_fail (IS_MEDIA_SOURCE (source), FALSE);
+#line 502 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp0_ = self->priv->_state;
+#line 502 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ if (_tmp0_ == SEARCH_CONDITION_FLAGGED_STATE_FLAGGED) {
+#line 3784 "SearchBoolean.c"
+ MediaSource* _tmp1_ = NULL;
+ gboolean _tmp2_ = FALSE;
+#line 503 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp1_ = source;
+#line 503 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp2_ = flaggable_is_flagged (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_FLAGGABLE, Flaggable));
+#line 503 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ result = _tmp2_;
+#line 503 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ return result;
+#line 3795 "SearchBoolean.c"
+ } else {
+ SearchConditionFlaggedState _tmp3_ = 0;
+#line 504 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp3_ = self->priv->_state;
+#line 504 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ if (_tmp3_ == SEARCH_CONDITION_FLAGGED_STATE_UNFLAGGED) {
+#line 3802 "SearchBoolean.c"
+ MediaSource* _tmp4_ = NULL;
+ gboolean _tmp5_ = FALSE;
+#line 505 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp4_ = source;
+#line 505 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp5_ = flaggable_is_flagged (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, TYPE_FLAGGABLE, Flaggable));
+#line 505 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ result = !_tmp5_;
+#line 505 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ return result;
+#line 3813 "SearchBoolean.c"
+ } else {
+#line 507 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ g_error ("SearchBoolean.vala:507: unrecognized flagged search state");
+#line 3817 "SearchBoolean.c"
+ }
+ }
+}
+
+
+SearchConditionFlaggedState search_condition_flagged_get_state (SearchConditionFlagged* self) {
+ SearchConditionFlaggedState result;
+ SearchConditionFlaggedState _tmp0_ = 0;
+#line 493 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ g_return_val_if_fail (IS_SEARCH_CONDITION_FLAGGED (self), 0);
+#line 493 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp0_ = self->priv->_state;
+#line 493 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ result = _tmp0_;
+#line 493 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ return result;
+#line 3834 "SearchBoolean.c"
+}
+
+
+static void search_condition_flagged_set_state (SearchConditionFlagged* self, SearchConditionFlaggedState value) {
+ SearchConditionFlaggedState _tmp0_ = 0;
+#line 493 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ g_return_if_fail (IS_SEARCH_CONDITION_FLAGGED (self));
+#line 493 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp0_ = value;
+#line 493 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ self->priv->_state = _tmp0_;
+#line 3846 "SearchBoolean.c"
+}
+
+
+static void search_condition_flagged_class_init (SearchConditionFlaggedClass * klass) {
+#line 462 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ search_condition_flagged_parent_class = g_type_class_peek_parent (klass);
+#line 462 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ ((SearchConditionClass *) klass)->finalize = search_condition_flagged_finalize;
+#line 462 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ g_type_class_add_private (klass, sizeof (SearchConditionFlaggedPrivate));
+#line 462 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ ((SearchConditionClass *) klass)->predicate = search_condition_flagged_real_predicate;
+#line 3859 "SearchBoolean.c"
+}
+
+
+static void search_condition_flagged_instance_init (SearchConditionFlagged * self) {
+#line 462 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ self->priv = SEARCH_CONDITION_FLAGGED_GET_PRIVATE (self);
+#line 3866 "SearchBoolean.c"
+}
+
+
+static void search_condition_flagged_finalize (SearchCondition* obj) {
+ SearchConditionFlagged * self;
+#line 462 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_SEARCH_CONDITION_FLAGGED, SearchConditionFlagged);
+#line 462 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ SEARCH_CONDITION_CLASS (search_condition_flagged_parent_class)->finalize (obj);
+#line 3876 "SearchBoolean.c"
+}
+
+
+GType search_condition_flagged_get_type (void) {
+ static volatile gsize search_condition_flagged_type_id__volatile = 0;
+ if (g_once_init_enter (&search_condition_flagged_type_id__volatile)) {
+ static const GTypeInfo g_define_type_info = { sizeof (SearchConditionFlaggedClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) search_condition_flagged_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (SearchConditionFlagged), 0, (GInstanceInitFunc) search_condition_flagged_instance_init, NULL };
+ GType search_condition_flagged_type_id;
+ search_condition_flagged_type_id = g_type_register_static (TYPE_SEARCH_CONDITION, "SearchConditionFlagged", &g_define_type_info, 0);
+ g_once_init_leave (&search_condition_flagged_type_id__volatile, search_condition_flagged_type_id);
+ }
+ return search_condition_flagged_type_id__volatile;
+}
+
+
+gchar* search_condition_modified_context_to_string (SearchConditionModifiedContext self) {
+ gchar* result = NULL;
+#line 520 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ switch (self) {
+#line 520 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ case SEARCH_CONDITION_MODIFIED_CONTEXT_HAS:
+#line 3898 "SearchBoolean.c"
+ {
+ gchar* _tmp0_ = NULL;
+#line 522 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp0_ = g_strdup ("HAS");
+#line 522 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ result = _tmp0_;
+#line 522 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ return result;
+#line 3907 "SearchBoolean.c"
+ }
+#line 520 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ case SEARCH_CONDITION_MODIFIED_CONTEXT_HAS_NO:
+#line 3911 "SearchBoolean.c"
+ {
+ gchar* _tmp1_ = NULL;
+#line 525 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp1_ = g_strdup ("HAS_NO");
+#line 525 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ result = _tmp1_;
+#line 525 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ return result;
+#line 3920 "SearchBoolean.c"
+ }
+ default:
+ {
+#line 528 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ g_error ("SearchBoolean.vala:528: unrecognized modified search context enumerati" \
+"on value");
+#line 3926 "SearchBoolean.c"
+ }
+ }
+}
+
+
+SearchConditionModifiedContext search_condition_modified_context_from_string (const gchar* str) {
+ SearchConditionModifiedContext result = 0;
+ const gchar* _tmp0_ = NULL;
+#line 532 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ g_return_val_if_fail (str != NULL, 0);
+#line 533 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp0_ = str;
+#line 533 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ if (g_strcmp0 (_tmp0_, "HAS") == 0) {
+#line 534 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ result = SEARCH_CONDITION_MODIFIED_CONTEXT_HAS;
+#line 534 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ return result;
+#line 3945 "SearchBoolean.c"
+ } else {
+ const gchar* _tmp1_ = NULL;
+#line 536 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp1_ = str;
+#line 536 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ if (g_strcmp0 (_tmp1_, "HAS_NO") == 0) {
+#line 537 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ result = SEARCH_CONDITION_MODIFIED_CONTEXT_HAS_NO;
+#line 537 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ return result;
+#line 3956 "SearchBoolean.c"
+ } else {
+ const gchar* _tmp2_ = NULL;
+#line 540 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp2_ = str;
+#line 540 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ g_error ("SearchBoolean.vala:540: unrecognized modified search context name: %s", _tmp2_);
+#line 3963 "SearchBoolean.c"
+ }
+ }
+}
+
+
+GType search_condition_modified_context_get_type (void) {
+ static volatile gsize search_condition_modified_context_type_id__volatile = 0;
+ if (g_once_init_enter (&search_condition_modified_context_type_id__volatile)) {
+ static const GEnumValue values[] = {{SEARCH_CONDITION_MODIFIED_CONTEXT_HAS, "SEARCH_CONDITION_MODIFIED_CONTEXT_HAS", "has"}, {SEARCH_CONDITION_MODIFIED_CONTEXT_HAS_NO, "SEARCH_CONDITION_MODIFIED_CONTEXT_HAS_NO", "has-no"}, {0, NULL, NULL}};
+ GType search_condition_modified_context_type_id;
+ search_condition_modified_context_type_id = g_enum_register_static ("SearchConditionModifiedContext", values);
+ g_once_init_leave (&search_condition_modified_context_type_id__volatile, search_condition_modified_context_type_id);
+ }
+ return search_condition_modified_context_type_id__volatile;
+}
+
+
+gchar* search_condition_modified_state_to_string (SearchConditionModifiedState self) {
+ gchar* result = NULL;
+#line 550 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ switch (self) {
+#line 550 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ case SEARCH_CONDITION_MODIFIED_STATE_MODIFIED:
+#line 3987 "SearchBoolean.c"
+ {
+ gchar* _tmp0_ = NULL;
+#line 552 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp0_ = g_strdup ("MODIFIED");
+#line 552 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ result = _tmp0_;
+#line 552 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ return result;
+#line 3996 "SearchBoolean.c"
+ }
+#line 550 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ case SEARCH_CONDITION_MODIFIED_STATE_INTERNAL_CHANGES:
+#line 4000 "SearchBoolean.c"
+ {
+ gchar* _tmp1_ = NULL;
+#line 555 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp1_ = g_strdup ("INTERNAL_CHANGES");
+#line 555 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ result = _tmp1_;
+#line 555 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ return result;
+#line 4009 "SearchBoolean.c"
+ }
+#line 550 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ case SEARCH_CONDITION_MODIFIED_STATE_EXTERNAL_CHANGES:
+#line 4013 "SearchBoolean.c"
+ {
+ gchar* _tmp2_ = NULL;
+#line 558 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp2_ = g_strdup ("EXTERNAL_CHANGES");
+#line 558 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ result = _tmp2_;
+#line 558 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ return result;
+#line 4022 "SearchBoolean.c"
+ }
+ default:
+ {
+#line 561 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ g_error ("SearchBoolean.vala:561: unrecognized modified search state enumeration" \
+" value");
+#line 4028 "SearchBoolean.c"
+ }
+ }
+}
+
+
+SearchConditionModifiedState search_condition_modified_state_from_string (const gchar* str) {
+ SearchConditionModifiedState result = 0;
+ const gchar* _tmp0_ = NULL;
+#line 565 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ g_return_val_if_fail (str != NULL, 0);
+#line 566 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp0_ = str;
+#line 566 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ if (g_strcmp0 (_tmp0_, "MODIFIED") == 0) {
+#line 567 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ result = SEARCH_CONDITION_MODIFIED_STATE_MODIFIED;
+#line 567 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ return result;
+#line 4047 "SearchBoolean.c"
+ } else {
+ const gchar* _tmp1_ = NULL;
+#line 569 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp1_ = str;
+#line 569 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ if (g_strcmp0 (_tmp1_, "INTERNAL_CHANGES") == 0) {
+#line 570 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ result = SEARCH_CONDITION_MODIFIED_STATE_INTERNAL_CHANGES;
+#line 570 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ return result;
+#line 4058 "SearchBoolean.c"
+ } else {
+ const gchar* _tmp2_ = NULL;
+#line 572 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp2_ = str;
+#line 572 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ if (g_strcmp0 (_tmp2_, "EXTERNAL_CHANGES") == 0) {
+#line 573 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ result = SEARCH_CONDITION_MODIFIED_STATE_EXTERNAL_CHANGES;
+#line 573 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ return result;
+#line 4069 "SearchBoolean.c"
+ } else {
+ const gchar* _tmp3_ = NULL;
+#line 576 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp3_ = str;
+#line 576 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ g_error ("SearchBoolean.vala:576: unrecognized modified search state name: %s", _tmp3_);
+#line 4076 "SearchBoolean.c"
+ }
+ }
+ }
+}
+
+
+GType search_condition_modified_state_get_type (void) {
+ static volatile gsize search_condition_modified_state_type_id__volatile = 0;
+ if (g_once_init_enter (&search_condition_modified_state_type_id__volatile)) {
+ static const GEnumValue values[] = {{SEARCH_CONDITION_MODIFIED_STATE_MODIFIED, "SEARCH_CONDITION_MODIFIED_STATE_MODIFIED", "modified"}, {SEARCH_CONDITION_MODIFIED_STATE_INTERNAL_CHANGES, "SEARCH_CONDITION_MODIFIED_STATE_INTERNAL_CHANGES", "internal-changes"}, {SEARCH_CONDITION_MODIFIED_STATE_EXTERNAL_CHANGES, "SEARCH_CONDITION_MODIFIED_STATE_EXTERNAL_CHANGES", "external-changes"}, {0, NULL, NULL}};
+ GType search_condition_modified_state_type_id;
+ search_condition_modified_state_type_id = g_enum_register_static ("SearchConditionModifiedState", values);
+ g_once_init_leave (&search_condition_modified_state_type_id__volatile, search_condition_modified_state_type_id);
+ }
+ return search_condition_modified_state_type_id__volatile;
+}
+
+
+SearchConditionModified* search_condition_modified_construct (GType object_type, SearchConditionSearchType search_type, SearchConditionModifiedContext context, SearchConditionModifiedState state) {
+ SearchConditionModified* self = NULL;
+ SearchConditionSearchType _tmp0_ = 0;
+ SearchConditionModifiedContext _tmp1_ = 0;
+ SearchConditionModifiedState _tmp2_ = 0;
+#line 586 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ self = (SearchConditionModified*) search_condition_construct (object_type);
+#line 587 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp0_ = search_type;
+#line 587 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ search_condition_set_search_type (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SEARCH_CONDITION, SearchCondition), _tmp0_);
+#line 588 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp1_ = context;
+#line 588 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ search_condition_modified_set_context (self, _tmp1_);
+#line 589 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp2_ = state;
+#line 589 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ search_condition_modified_set_state (self, _tmp2_);
+#line 586 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ return self;
+#line 4116 "SearchBoolean.c"
+}
+
+
+SearchConditionModified* search_condition_modified_new (SearchConditionSearchType search_type, SearchConditionModifiedContext context, SearchConditionModifiedState state) {
+#line 586 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ return search_condition_modified_construct (TYPE_SEARCH_CONDITION_MODIFIED, search_type, context, state);
+#line 4123 "SearchBoolean.c"
+}
+
+
+static gboolean search_condition_modified_real_predicate (SearchCondition* base, MediaSource* source) {
+ SearchConditionModified * self;
+ gboolean result = FALSE;
+ Photo* photo = NULL;
+ MediaSource* _tmp0_ = NULL;
+ Photo* _tmp1_ = NULL;
+ Photo* _tmp2_ = NULL;
+ gboolean match = FALSE;
+ SearchConditionModifiedState _tmp3_ = 0;
+ gboolean _tmp15_ = FALSE;
+#line 593 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_SEARCH_CONDITION_MODIFIED, SearchConditionModified);
+#line 593 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ g_return_val_if_fail (IS_MEDIA_SOURCE (source), FALSE);
+#line 595 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp0_ = source;
+#line 595 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp1_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp0_, TYPE_PHOTO) ? ((Photo*) _tmp0_) : NULL);
+#line 595 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ photo = _tmp1_;
+#line 596 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp2_ = photo;
+#line 596 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ if (_tmp2_ == NULL) {
+#line 597 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ result = FALSE;
+#line 597 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _g_object_unref0 (photo);
+#line 597 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ return result;
+#line 4157 "SearchBoolean.c"
+ }
+#line 600 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp3_ = self->priv->_state;
+#line 600 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ if (_tmp3_ == SEARCH_CONDITION_MODIFIED_STATE_MODIFIED) {
+#line 4163 "SearchBoolean.c"
+ gboolean _tmp4_ = FALSE;
+ Photo* _tmp5_ = NULL;
+ gboolean _tmp6_ = FALSE;
+#line 601 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp5_ = photo;
+#line 601 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp6_ = photo_has_transformations (_tmp5_);
+#line 601 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ if (_tmp6_) {
+#line 601 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp4_ = TRUE;
+#line 4175 "SearchBoolean.c"
+ } else {
+ Photo* _tmp7_ = NULL;
+ gboolean _tmp8_ = FALSE;
+#line 601 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp7_ = photo;
+#line 601 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp8_ = photo_has_editable (_tmp7_);
+#line 601 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp4_ = _tmp8_;
+#line 4185 "SearchBoolean.c"
+ }
+#line 601 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ match = _tmp4_;
+#line 4189 "SearchBoolean.c"
+ } else {
+ SearchConditionModifiedState _tmp9_ = 0;
+#line 602 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp9_ = self->priv->_state;
+#line 602 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ if (_tmp9_ == SEARCH_CONDITION_MODIFIED_STATE_INTERNAL_CHANGES) {
+#line 4196 "SearchBoolean.c"
+ Photo* _tmp10_ = NULL;
+ gboolean _tmp11_ = FALSE;
+#line 603 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp10_ = photo;
+#line 603 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp11_ = photo_has_transformations (_tmp10_);
+#line 603 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ match = _tmp11_;
+#line 4205 "SearchBoolean.c"
+ } else {
+ SearchConditionModifiedState _tmp12_ = 0;
+#line 604 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp12_ = self->priv->_state;
+#line 604 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ if (_tmp12_ == SEARCH_CONDITION_MODIFIED_STATE_EXTERNAL_CHANGES) {
+#line 4212 "SearchBoolean.c"
+ Photo* _tmp13_ = NULL;
+ gboolean _tmp14_ = FALSE;
+#line 605 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp13_ = photo;
+#line 605 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp14_ = photo_has_editable (_tmp13_);
+#line 605 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ match = _tmp14_;
+#line 4221 "SearchBoolean.c"
+ } else {
+#line 607 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ g_error ("SearchBoolean.vala:607: unrecognized modified search state");
+#line 4225 "SearchBoolean.c"
+ }
+ }
+ }
+#line 609 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp15_ = match;
+#line 609 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ if (_tmp15_) {
+#line 4233 "SearchBoolean.c"
+ SearchConditionModifiedContext _tmp16_ = 0;
+#line 610 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp16_ = self->priv->_context;
+#line 610 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ result = _tmp16_ == SEARCH_CONDITION_MODIFIED_CONTEXT_HAS;
+#line 610 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _g_object_unref0 (photo);
+#line 610 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ return result;
+#line 4243 "SearchBoolean.c"
+ } else {
+ SearchConditionModifiedContext _tmp17_ = 0;
+#line 612 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp17_ = self->priv->_context;
+#line 612 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ result = _tmp17_ == SEARCH_CONDITION_MODIFIED_CONTEXT_HAS_NO;
+#line 612 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _g_object_unref0 (photo);
+#line 612 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ return result;
+#line 4254 "SearchBoolean.c"
+ }
+#line 593 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _g_object_unref0 (photo);
+#line 4258 "SearchBoolean.c"
+}
+
+
+SearchConditionModifiedState search_condition_modified_get_state (SearchConditionModified* self) {
+ SearchConditionModifiedState result;
+ SearchConditionModifiedState _tmp0_ = 0;
+#line 581 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ g_return_val_if_fail (IS_SEARCH_CONDITION_MODIFIED (self), 0);
+#line 581 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp0_ = self->priv->_state;
+#line 581 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ result = _tmp0_;
+#line 581 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ return result;
+#line 4273 "SearchBoolean.c"
+}
+
+
+static void search_condition_modified_set_state (SearchConditionModified* self, SearchConditionModifiedState value) {
+ SearchConditionModifiedState _tmp0_ = 0;
+#line 581 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ g_return_if_fail (IS_SEARCH_CONDITION_MODIFIED (self));
+#line 581 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp0_ = value;
+#line 581 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ self->priv->_state = _tmp0_;
+#line 4285 "SearchBoolean.c"
+}
+
+
+SearchConditionModifiedContext search_condition_modified_get_context (SearchConditionModified* self) {
+ SearchConditionModifiedContext result;
+ SearchConditionModifiedContext _tmp0_ = 0;
+#line 584 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ g_return_val_if_fail (IS_SEARCH_CONDITION_MODIFIED (self), 0);
+#line 584 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp0_ = self->priv->_context;
+#line 584 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ result = _tmp0_;
+#line 584 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ return result;
+#line 4300 "SearchBoolean.c"
+}
+
+
+static void search_condition_modified_set_context (SearchConditionModified* self, SearchConditionModifiedContext value) {
+ SearchConditionModifiedContext _tmp0_ = 0;
+#line 584 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ g_return_if_fail (IS_SEARCH_CONDITION_MODIFIED (self));
+#line 584 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp0_ = value;
+#line 584 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ self->priv->_context = _tmp0_;
+#line 4312 "SearchBoolean.c"
+}
+
+
+static void search_condition_modified_class_init (SearchConditionModifiedClass * klass) {
+#line 513 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ search_condition_modified_parent_class = g_type_class_peek_parent (klass);
+#line 513 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ ((SearchConditionClass *) klass)->finalize = search_condition_modified_finalize;
+#line 513 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ g_type_class_add_private (klass, sizeof (SearchConditionModifiedPrivate));
+#line 513 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ ((SearchConditionClass *) klass)->predicate = search_condition_modified_real_predicate;
+#line 4325 "SearchBoolean.c"
+}
+
+
+static void search_condition_modified_instance_init (SearchConditionModified * self) {
+#line 513 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ self->priv = SEARCH_CONDITION_MODIFIED_GET_PRIVATE (self);
+#line 4332 "SearchBoolean.c"
+}
+
+
+static void search_condition_modified_finalize (SearchCondition* obj) {
+ SearchConditionModified * self;
+#line 513 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_SEARCH_CONDITION_MODIFIED, SearchConditionModified);
+#line 513 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ SEARCH_CONDITION_CLASS (search_condition_modified_parent_class)->finalize (obj);
+#line 4342 "SearchBoolean.c"
+}
+
+
+GType search_condition_modified_get_type (void) {
+ static volatile gsize search_condition_modified_type_id__volatile = 0;
+ if (g_once_init_enter (&search_condition_modified_type_id__volatile)) {
+ static const GTypeInfo g_define_type_info = { sizeof (SearchConditionModifiedClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) search_condition_modified_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (SearchConditionModified), 0, (GInstanceInitFunc) search_condition_modified_instance_init, NULL };
+ GType search_condition_modified_type_id;
+ search_condition_modified_type_id = g_type_register_static (TYPE_SEARCH_CONDITION, "SearchConditionModified", &g_define_type_info, 0);
+ g_once_init_leave (&search_condition_modified_type_id__volatile, search_condition_modified_type_id);
+ }
+ return search_condition_modified_type_id__volatile;
+}
+
+
+gchar* search_condition_rating_context_to_string (SearchConditionRatingContext self) {
+ gchar* result = NULL;
+#line 625 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ switch (self) {
+#line 625 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ case SEARCH_CONDITION_RATING_CONTEXT_AND_HIGHER:
+#line 4364 "SearchBoolean.c"
+ {
+ gchar* _tmp0_ = NULL;
+#line 627 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp0_ = g_strdup ("AND_HIGHER");
+#line 627 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ result = _tmp0_;
+#line 627 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ return result;
+#line 4373 "SearchBoolean.c"
+ }
+#line 625 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ case SEARCH_CONDITION_RATING_CONTEXT_ONLY:
+#line 4377 "SearchBoolean.c"
+ {
+ gchar* _tmp1_ = NULL;
+#line 630 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp1_ = g_strdup ("ONLY");
+#line 630 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ result = _tmp1_;
+#line 630 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ return result;
+#line 4386 "SearchBoolean.c"
+ }
+#line 625 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ case SEARCH_CONDITION_RATING_CONTEXT_AND_LOWER:
+#line 4390 "SearchBoolean.c"
+ {
+ gchar* _tmp2_ = NULL;
+#line 633 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp2_ = g_strdup ("AND_LOWER");
+#line 633 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ result = _tmp2_;
+#line 633 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ return result;
+#line 4399 "SearchBoolean.c"
+ }
+ default:
+ {
+#line 636 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ g_error ("SearchBoolean.vala:636: unrecognized rating search context enumeration" \
+" value");
+#line 4405 "SearchBoolean.c"
+ }
+ }
+}
+
+
+SearchConditionRatingContext search_condition_rating_context_from_string (const gchar* str) {
+ SearchConditionRatingContext result = 0;
+ const gchar* _tmp0_ = NULL;
+#line 640 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ g_return_val_if_fail (str != NULL, 0);
+#line 641 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp0_ = str;
+#line 641 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ if (g_strcmp0 (_tmp0_, "AND_HIGHER") == 0) {
+#line 642 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ result = SEARCH_CONDITION_RATING_CONTEXT_AND_HIGHER;
+#line 642 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ return result;
+#line 4424 "SearchBoolean.c"
+ } else {
+ const gchar* _tmp1_ = NULL;
+#line 644 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp1_ = str;
+#line 644 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ if (g_strcmp0 (_tmp1_, "ONLY") == 0) {
+#line 645 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ result = SEARCH_CONDITION_RATING_CONTEXT_ONLY;
+#line 645 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ return result;
+#line 4435 "SearchBoolean.c"
+ } else {
+ const gchar* _tmp2_ = NULL;
+#line 647 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp2_ = str;
+#line 647 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ if (g_strcmp0 (_tmp2_, "AND_LOWER") == 0) {
+#line 648 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ result = SEARCH_CONDITION_RATING_CONTEXT_AND_LOWER;
+#line 648 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ return result;
+#line 4446 "SearchBoolean.c"
+ } else {
+ const gchar* _tmp3_ = NULL;
+#line 651 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp3_ = str;
+#line 651 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ g_error ("SearchBoolean.vala:651: unrecognized rating search context name: %s", _tmp3_);
+#line 4453 "SearchBoolean.c"
+ }
+ }
+ }
+}
+
+
+GType search_condition_rating_context_get_type (void) {
+ static volatile gsize search_condition_rating_context_type_id__volatile = 0;
+ if (g_once_init_enter (&search_condition_rating_context_type_id__volatile)) {
+ static const GEnumValue values[] = {{SEARCH_CONDITION_RATING_CONTEXT_AND_HIGHER, "SEARCH_CONDITION_RATING_CONTEXT_AND_HIGHER", "and-higher"}, {SEARCH_CONDITION_RATING_CONTEXT_ONLY, "SEARCH_CONDITION_RATING_CONTEXT_ONLY", "only"}, {SEARCH_CONDITION_RATING_CONTEXT_AND_LOWER, "SEARCH_CONDITION_RATING_CONTEXT_AND_LOWER", "and-lower"}, {0, NULL, NULL}};
+ GType search_condition_rating_context_type_id;
+ search_condition_rating_context_type_id = g_enum_register_static ("SearchConditionRatingContext", values);
+ g_once_init_leave (&search_condition_rating_context_type_id__volatile, search_condition_rating_context_type_id);
+ }
+ return search_condition_rating_context_type_id__volatile;
+}
+
+
+SearchConditionRating* search_condition_rating_construct (GType object_type, SearchConditionSearchType search_type, Rating rating, SearchConditionRatingContext context) {
+ SearchConditionRating* self = NULL;
+ SearchConditionSearchType _tmp0_ = 0;
+ Rating _tmp1_ = 0;
+ SearchConditionRatingContext _tmp2_ = 0;
+#line 661 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ self = (SearchConditionRating*) search_condition_construct (object_type);
+#line 662 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp0_ = search_type;
+#line 662 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ search_condition_set_search_type (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SEARCH_CONDITION, SearchCondition), _tmp0_);
+#line 663 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp1_ = rating;
+#line 663 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ search_condition_rating_set_rating (self, _tmp1_);
+#line 664 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp2_ = context;
+#line 664 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ search_condition_rating_set_context (self, _tmp2_);
+#line 661 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ return self;
+#line 4493 "SearchBoolean.c"
+}
+
+
+SearchConditionRating* search_condition_rating_new (SearchConditionSearchType search_type, Rating rating, SearchConditionRatingContext context) {
+#line 661 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ return search_condition_rating_construct (TYPE_SEARCH_CONDITION_RATING, search_type, rating, context);
+#line 4500 "SearchBoolean.c"
+}
+
+
+static gboolean search_condition_rating_real_predicate (SearchCondition* base, MediaSource* source) {
+ SearchConditionRating * self;
+ gboolean result = FALSE;
+ Rating source_rating = 0;
+ MediaSource* _tmp0_ = NULL;
+ Rating _tmp1_ = 0;
+ SearchConditionRatingContext _tmp2_ = 0;
+#line 668 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_SEARCH_CONDITION_RATING, SearchConditionRating);
+#line 668 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ g_return_val_if_fail (IS_MEDIA_SOURCE (source), FALSE);
+#line 669 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp0_ = source;
+#line 669 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp1_ = media_source_get_rating (_tmp0_);
+#line 669 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ source_rating = _tmp1_;
+#line 670 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp2_ = self->priv->_context;
+#line 670 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ if (_tmp2_ == SEARCH_CONDITION_RATING_CONTEXT_AND_HIGHER) {
+#line 4525 "SearchBoolean.c"
+ Rating _tmp3_ = 0;
+ Rating _tmp4_ = 0;
+#line 671 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp3_ = source_rating;
+#line 671 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp4_ = self->priv->_rating;
+#line 671 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ result = _tmp3_ >= _tmp4_;
+#line 671 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ return result;
+#line 4536 "SearchBoolean.c"
+ } else {
+ SearchConditionRatingContext _tmp5_ = 0;
+#line 672 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp5_ = self->priv->_context;
+#line 672 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ if (_tmp5_ == SEARCH_CONDITION_RATING_CONTEXT_ONLY) {
+#line 4543 "SearchBoolean.c"
+ Rating _tmp6_ = 0;
+ Rating _tmp7_ = 0;
+#line 673 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp6_ = source_rating;
+#line 673 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp7_ = self->priv->_rating;
+#line 673 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ result = _tmp6_ == _tmp7_;
+#line 673 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ return result;
+#line 4554 "SearchBoolean.c"
+ } else {
+ SearchConditionRatingContext _tmp8_ = 0;
+#line 674 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp8_ = self->priv->_context;
+#line 674 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ if (_tmp8_ == SEARCH_CONDITION_RATING_CONTEXT_AND_LOWER) {
+#line 4561 "SearchBoolean.c"
+ Rating _tmp9_ = 0;
+ Rating _tmp10_ = 0;
+#line 675 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp9_ = source_rating;
+#line 675 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp10_ = self->priv->_rating;
+#line 675 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ result = _tmp9_ <= _tmp10_;
+#line 675 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ return result;
+#line 4572 "SearchBoolean.c"
+ } else {
+#line 677 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ g_error ("SearchBoolean.vala:677: unknown rating search context");
+#line 4576 "SearchBoolean.c"
+ }
+ }
+ }
+}
+
+
+Rating search_condition_rating_get_rating (SearchConditionRating* self) {
+ Rating result;
+ Rating _tmp0_ = 0;
+#line 656 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ g_return_val_if_fail (IS_SEARCH_CONDITION_RATING (self), 0);
+#line 656 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp0_ = self->priv->_rating;
+#line 656 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ result = _tmp0_;
+#line 656 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ return result;
+#line 4594 "SearchBoolean.c"
+}
+
+
+static void search_condition_rating_set_rating (SearchConditionRating* self, Rating value) {
+ Rating _tmp0_ = 0;
+#line 656 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ g_return_if_fail (IS_SEARCH_CONDITION_RATING (self));
+#line 656 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp0_ = value;
+#line 656 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ self->priv->_rating = _tmp0_;
+#line 4606 "SearchBoolean.c"
+}
+
+
+SearchConditionRatingContext search_condition_rating_get_context (SearchConditionRating* self) {
+ SearchConditionRatingContext result;
+ SearchConditionRatingContext _tmp0_ = 0;
+#line 659 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ g_return_val_if_fail (IS_SEARCH_CONDITION_RATING (self), 0);
+#line 659 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp0_ = self->priv->_context;
+#line 659 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ result = _tmp0_;
+#line 659 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ return result;
+#line 4621 "SearchBoolean.c"
+}
+
+
+static void search_condition_rating_set_context (SearchConditionRating* self, SearchConditionRatingContext value) {
+ SearchConditionRatingContext _tmp0_ = 0;
+#line 659 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ g_return_if_fail (IS_SEARCH_CONDITION_RATING (self));
+#line 659 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp0_ = value;
+#line 659 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ self->priv->_context = _tmp0_;
+#line 4633 "SearchBoolean.c"
+}
+
+
+static void search_condition_rating_class_init (SearchConditionRatingClass * klass) {
+#line 618 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ search_condition_rating_parent_class = g_type_class_peek_parent (klass);
+#line 618 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ ((SearchConditionClass *) klass)->finalize = search_condition_rating_finalize;
+#line 618 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ g_type_class_add_private (klass, sizeof (SearchConditionRatingPrivate));
+#line 618 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ ((SearchConditionClass *) klass)->predicate = search_condition_rating_real_predicate;
+#line 4646 "SearchBoolean.c"
+}
+
+
+static void search_condition_rating_instance_init (SearchConditionRating * self) {
+#line 618 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ self->priv = SEARCH_CONDITION_RATING_GET_PRIVATE (self);
+#line 4653 "SearchBoolean.c"
+}
+
+
+static void search_condition_rating_finalize (SearchCondition* obj) {
+ SearchConditionRating * self;
+#line 618 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_SEARCH_CONDITION_RATING, SearchConditionRating);
+#line 618 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ SEARCH_CONDITION_CLASS (search_condition_rating_parent_class)->finalize (obj);
+#line 4663 "SearchBoolean.c"
+}
+
+
+GType search_condition_rating_get_type (void) {
+ static volatile gsize search_condition_rating_type_id__volatile = 0;
+ if (g_once_init_enter (&search_condition_rating_type_id__volatile)) {
+ static const GTypeInfo g_define_type_info = { sizeof (SearchConditionRatingClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) search_condition_rating_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (SearchConditionRating), 0, (GInstanceInitFunc) search_condition_rating_instance_init, NULL };
+ GType search_condition_rating_type_id;
+ search_condition_rating_type_id = g_type_register_static (TYPE_SEARCH_CONDITION, "SearchConditionRating", &g_define_type_info, 0);
+ g_once_init_leave (&search_condition_rating_type_id__volatile, search_condition_rating_type_id);
+ }
+ return search_condition_rating_type_id__volatile;
+}
+
+
+gchar* search_condition_date_context_to_string (SearchConditionDateContext self) {
+ gchar* result = NULL;
+#line 692 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ switch (self) {
+#line 692 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ case SEARCH_CONDITION_DATE_CONTEXT_EXACT:
+#line 4685 "SearchBoolean.c"
+ {
+ gchar* _tmp0_ = NULL;
+#line 694 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp0_ = g_strdup ("EXACT");
+#line 694 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ result = _tmp0_;
+#line 694 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ return result;
+#line 4694 "SearchBoolean.c"
+ }
+#line 692 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ case SEARCH_CONDITION_DATE_CONTEXT_AFTER:
+#line 4698 "SearchBoolean.c"
+ {
+ gchar* _tmp1_ = NULL;
+#line 697 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp1_ = g_strdup ("AFTER");
+#line 697 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ result = _tmp1_;
+#line 697 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ return result;
+#line 4707 "SearchBoolean.c"
+ }
+#line 692 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ case SEARCH_CONDITION_DATE_CONTEXT_BEFORE:
+#line 4711 "SearchBoolean.c"
+ {
+ gchar* _tmp2_ = NULL;
+#line 700 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp2_ = g_strdup ("BEFORE");
+#line 700 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ result = _tmp2_;
+#line 700 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ return result;
+#line 4720 "SearchBoolean.c"
+ }
+#line 692 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ case SEARCH_CONDITION_DATE_CONTEXT_BETWEEN:
+#line 4724 "SearchBoolean.c"
+ {
+ gchar* _tmp3_ = NULL;
+#line 703 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp3_ = g_strdup ("BETWEEN");
+#line 703 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ result = _tmp3_;
+#line 703 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ return result;
+#line 4733 "SearchBoolean.c"
+ }
+#line 692 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ case SEARCH_CONDITION_DATE_CONTEXT_IS_NOT_SET:
+#line 4737 "SearchBoolean.c"
+ {
+ gchar* _tmp4_ = NULL;
+#line 706 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp4_ = g_strdup ("IS_NOT_SET");
+#line 706 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ result = _tmp4_;
+#line 706 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ return result;
+#line 4746 "SearchBoolean.c"
+ }
+ default:
+ {
+#line 709 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ g_error ("SearchBoolean.vala:709: unrecognized date search context enumeration v" \
+"alue");
+#line 4752 "SearchBoolean.c"
+ }
+ }
+}
+
+
+SearchConditionDateContext search_condition_date_context_from_string (const gchar* str) {
+ SearchConditionDateContext result = 0;
+ const gchar* _tmp0_ = NULL;
+ const gchar* _tmp1_ = NULL;
+#line 713 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ g_return_val_if_fail (str != NULL, 0);
+#line 714 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp0_ = str;
+#line 714 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ if (g_strcmp0 (_tmp0_, "EXACT") == 0) {
+#line 715 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ result = SEARCH_CONDITION_DATE_CONTEXT_EXACT;
+#line 715 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ return result;
+#line 4772 "SearchBoolean.c"
+ }
+#line 717 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp1_ = str;
+#line 717 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ if (g_strcmp0 (_tmp1_, "AFTER") == 0) {
+#line 718 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ result = SEARCH_CONDITION_DATE_CONTEXT_AFTER;
+#line 718 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ return result;
+#line 4782 "SearchBoolean.c"
+ } else {
+ const gchar* _tmp2_ = NULL;
+#line 720 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp2_ = str;
+#line 720 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ if (g_strcmp0 (_tmp2_, "BEFORE") == 0) {
+#line 721 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ result = SEARCH_CONDITION_DATE_CONTEXT_BEFORE;
+#line 721 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ return result;
+#line 4793 "SearchBoolean.c"
+ } else {
+ const gchar* _tmp3_ = NULL;
+#line 723 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp3_ = str;
+#line 723 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ if (g_strcmp0 (_tmp3_, "BETWEEN") == 0) {
+#line 724 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ result = SEARCH_CONDITION_DATE_CONTEXT_BETWEEN;
+#line 724 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ return result;
+#line 4804 "SearchBoolean.c"
+ } else {
+ const gchar* _tmp4_ = NULL;
+#line 726 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp4_ = str;
+#line 726 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ if (g_strcmp0 (_tmp4_, "IS_NOT_SET") == 0) {
+#line 727 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ result = SEARCH_CONDITION_DATE_CONTEXT_IS_NOT_SET;
+#line 727 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ return result;
+#line 4815 "SearchBoolean.c"
+ } else {
+ const gchar* _tmp5_ = NULL;
+#line 730 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp5_ = str;
+#line 730 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ g_error ("SearchBoolean.vala:730: unrecognized date search context name: %s", _tmp5_);
+#line 4822 "SearchBoolean.c"
+ }
+ }
+ }
+ }
+}
+
+
+GType search_condition_date_context_get_type (void) {
+ static volatile gsize search_condition_date_context_type_id__volatile = 0;
+ if (g_once_init_enter (&search_condition_date_context_type_id__volatile)) {
+ static const GEnumValue values[] = {{SEARCH_CONDITION_DATE_CONTEXT_EXACT, "SEARCH_CONDITION_DATE_CONTEXT_EXACT", "exact"}, {SEARCH_CONDITION_DATE_CONTEXT_AFTER, "SEARCH_CONDITION_DATE_CONTEXT_AFTER", "after"}, {SEARCH_CONDITION_DATE_CONTEXT_BEFORE, "SEARCH_CONDITION_DATE_CONTEXT_BEFORE", "before"}, {SEARCH_CONDITION_DATE_CONTEXT_BETWEEN, "SEARCH_CONDITION_DATE_CONTEXT_BETWEEN", "between"}, {SEARCH_CONDITION_DATE_CONTEXT_IS_NOT_SET, "SEARCH_CONDITION_DATE_CONTEXT_IS_NOT_SET", "is-not-set"}, {0, NULL, NULL}};
+ GType search_condition_date_context_type_id;
+ search_condition_date_context_type_id = g_enum_register_static ("SearchConditionDateContext", values);
+ g_once_init_leave (&search_condition_date_context_type_id__volatile, search_condition_date_context_type_id);
+ }
+ return search_condition_date_context_type_id__volatile;
+}
+
+
+SearchConditionDate* search_condition_date_construct (GType object_type, SearchConditionSearchType search_type, SearchConditionDateContext context, GDateTime* date_one, GDateTime* date_two) {
+ SearchConditionDate* self = NULL;
+ SearchConditionSearchType _tmp0_ = 0;
+ SearchConditionDateContext _tmp1_ = 0;
+ gboolean _tmp2_ = FALSE;
+ SearchConditionDateContext _tmp3_ = 0;
+#line 741 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ g_return_val_if_fail (date_one != NULL, NULL);
+#line 741 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ g_return_val_if_fail (date_two != NULL, NULL);
+#line 741 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ self = (SearchConditionDate*) search_condition_construct (object_type);
+#line 743 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp0_ = search_type;
+#line 743 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ search_condition_set_search_type (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_SEARCH_CONDITION, SearchCondition), _tmp0_);
+#line 744 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp1_ = context;
+#line 744 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ search_condition_date_set_context (self, _tmp1_);
+#line 745 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp3_ = context;
+#line 745 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ if (_tmp3_ != SEARCH_CONDITION_DATE_CONTEXT_BETWEEN) {
+#line 745 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp2_ = TRUE;
+#line 4868 "SearchBoolean.c"
+ } else {
+ GDateTime* _tmp4_ = NULL;
+ GDateTime* _tmp5_ = NULL;
+ gint _tmp6_ = 0;
+#line 745 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp4_ = date_two;
+#line 745 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp5_ = date_one;
+#line 745 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp6_ = g_date_time_compare (_tmp4_, _tmp5_);
+#line 745 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp2_ = _tmp6_ >= 1;
+#line 4881 "SearchBoolean.c"
+ }
+#line 745 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ if (_tmp2_) {
+#line 4885 "SearchBoolean.c"
+ GDateTime* _tmp7_ = NULL;
+ GDateTime* _tmp8_ = NULL;
+#line 746 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp7_ = date_one;
+#line 746 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ search_condition_date_set_date_one (self, _tmp7_);
+#line 747 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp8_ = date_two;
+#line 747 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ search_condition_date_set_date_two (self, _tmp8_);
+#line 4896 "SearchBoolean.c"
+ } else {
+ GDateTime* _tmp9_ = NULL;
+ GDateTime* _tmp10_ = NULL;
+#line 749 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp9_ = date_two;
+#line 749 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ search_condition_date_set_date_one (self, _tmp9_);
+#line 750 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp10_ = date_one;
+#line 750 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ search_condition_date_set_date_two (self, _tmp10_);
+#line 4908 "SearchBoolean.c"
+ }
+#line 741 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ return self;
+#line 4912 "SearchBoolean.c"
+}
+
+
+SearchConditionDate* search_condition_date_new (SearchConditionSearchType search_type, SearchConditionDateContext context, GDateTime* date_one, GDateTime* date_two) {
+#line 741 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ return search_condition_date_construct (TYPE_SEARCH_CONDITION_DATE, search_type, context, date_one, date_two);
+#line 4919 "SearchBoolean.c"
+}
+
+
+static gboolean search_condition_date_real_predicate (SearchCondition* base, MediaSource* source) {
+ SearchConditionDate * self;
+ gboolean result = FALSE;
+ time_t exposure_time = 0;
+ MediaSource* _tmp0_ = NULL;
+ time_t _tmp1_ = 0;
+ time_t _tmp2_ = 0;
+ GDateTime* dt = NULL;
+ time_t _tmp4_ = 0;
+ GDateTime* _tmp5_ = NULL;
+ SearchConditionDateContext _tmp6_ = 0;
+#line 756 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_SEARCH_CONDITION_DATE, SearchConditionDate);
+#line 756 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ g_return_val_if_fail (IS_MEDIA_SOURCE (source), FALSE);
+#line 757 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp0_ = source;
+#line 757 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp1_ = media_source_get_exposure_time (_tmp0_);
+#line 757 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ exposure_time = _tmp1_;
+#line 758 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp2_ = exposure_time;
+#line 758 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ if (_tmp2_ == ((time_t) 0)) {
+#line 4948 "SearchBoolean.c"
+ SearchConditionDateContext _tmp3_ = 0;
+#line 759 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp3_ = self->priv->_context;
+#line 759 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ result = _tmp3_ == SEARCH_CONDITION_DATE_CONTEXT_IS_NOT_SET;
+#line 759 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ return result;
+#line 4956 "SearchBoolean.c"
+ }
+#line 761 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp4_ = exposure_time;
+#line 761 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp5_ = g_date_time_new_from_unix_local ((gint64) _tmp4_);
+#line 761 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ dt = _tmp5_;
+#line 762 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp6_ = self->priv->_context;
+#line 762 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ switch (_tmp6_) {
+#line 762 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ case SEARCH_CONDITION_DATE_CONTEXT_EXACT:
+#line 4970 "SearchBoolean.c"
+ {
+ GDateTime* second = NULL;
+ GDateTime* _tmp7_ = NULL;
+ GDateTime* _tmp8_ = NULL;
+ gboolean _tmp9_ = FALSE;
+ GDateTime* _tmp10_ = NULL;
+ GDateTime* _tmp11_ = NULL;
+ gint _tmp12_ = 0;
+#line 764 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp7_ = self->priv->_date_one;
+#line 764 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp8_ = g_date_time_add_days (_tmp7_, 1);
+#line 764 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ second = _tmp8_;
+#line 765 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp10_ = dt;
+#line 765 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp11_ = self->priv->_date_one;
+#line 765 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp12_ = g_date_time_compare (_tmp10_, _tmp11_);
+#line 765 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ if (_tmp12_ >= 0) {
+#line 4993 "SearchBoolean.c"
+ GDateTime* _tmp13_ = NULL;
+ GDateTime* _tmp14_ = NULL;
+ gint _tmp15_ = 0;
+#line 765 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp13_ = dt;
+#line 765 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp14_ = second;
+#line 765 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp15_ = g_date_time_compare (_tmp13_, _tmp14_);
+#line 765 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp9_ = _tmp15_ < 0;
+#line 5005 "SearchBoolean.c"
+ } else {
+#line 765 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp9_ = FALSE;
+#line 5009 "SearchBoolean.c"
+ }
+#line 765 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ result = _tmp9_;
+#line 765 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _g_date_time_unref0 (second);
+#line 765 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _g_date_time_unref0 (dt);
+#line 765 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ return result;
+#line 5019 "SearchBoolean.c"
+ }
+#line 762 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ case SEARCH_CONDITION_DATE_CONTEXT_AFTER:
+#line 5023 "SearchBoolean.c"
+ {
+ GDateTime* _tmp16_ = NULL;
+ GDateTime* _tmp17_ = NULL;
+ gint _tmp18_ = 0;
+#line 768 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp16_ = dt;
+#line 768 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp17_ = self->priv->_date_one;
+#line 768 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp18_ = g_date_time_compare (_tmp16_, _tmp17_);
+#line 768 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ result = _tmp18_ >= 0;
+#line 768 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _g_date_time_unref0 (dt);
+#line 768 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ return result;
+#line 5040 "SearchBoolean.c"
+ }
+#line 762 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ case SEARCH_CONDITION_DATE_CONTEXT_BEFORE:
+#line 5044 "SearchBoolean.c"
+ {
+ GDateTime* _tmp19_ = NULL;
+ GDateTime* _tmp20_ = NULL;
+ gint _tmp21_ = 0;
+#line 771 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp19_ = dt;
+#line 771 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp20_ = self->priv->_date_one;
+#line 771 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp21_ = g_date_time_compare (_tmp19_, _tmp20_);
+#line 771 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ result = _tmp21_ <= 0;
+#line 771 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _g_date_time_unref0 (dt);
+#line 771 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ return result;
+#line 5061 "SearchBoolean.c"
+ }
+#line 762 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ case SEARCH_CONDITION_DATE_CONTEXT_BETWEEN:
+#line 5065 "SearchBoolean.c"
+ {
+ GDateTime* second = NULL;
+ GDateTime* _tmp22_ = NULL;
+ GDateTime* _tmp23_ = NULL;
+ gboolean _tmp24_ = FALSE;
+ GDateTime* _tmp25_ = NULL;
+ GDateTime* _tmp26_ = NULL;
+ gint _tmp27_ = 0;
+#line 774 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp22_ = self->priv->_date_two;
+#line 774 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp23_ = g_date_time_add_days (_tmp22_, 1);
+#line 774 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ second = _tmp23_;
+#line 775 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp25_ = dt;
+#line 775 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp26_ = self->priv->_date_one;
+#line 775 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp27_ = g_date_time_compare (_tmp25_, _tmp26_);
+#line 775 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ if (_tmp27_ >= 0) {
+#line 5088 "SearchBoolean.c"
+ GDateTime* _tmp28_ = NULL;
+ GDateTime* _tmp29_ = NULL;
+ gint _tmp30_ = 0;
+#line 775 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp28_ = dt;
+#line 775 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp29_ = second;
+#line 775 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp30_ = g_date_time_compare (_tmp28_, _tmp29_);
+#line 775 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp24_ = _tmp30_ < 0;
+#line 5100 "SearchBoolean.c"
+ } else {
+#line 775 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp24_ = FALSE;
+#line 5104 "SearchBoolean.c"
+ }
+#line 775 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ result = _tmp24_;
+#line 775 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _g_date_time_unref0 (second);
+#line 775 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _g_date_time_unref0 (dt);
+#line 775 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ return result;
+#line 5114 "SearchBoolean.c"
+ }
+#line 762 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ case SEARCH_CONDITION_DATE_CONTEXT_IS_NOT_SET:
+#line 5118 "SearchBoolean.c"
+ {
+#line 778 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ result = FALSE;
+#line 778 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _g_date_time_unref0 (dt);
+#line 778 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ return result;
+#line 5126 "SearchBoolean.c"
+ }
+ default:
+ {
+#line 781 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ g_error ("SearchBoolean.vala:781: unrecognized date search context enumeration v" \
+"alue");
+#line 5132 "SearchBoolean.c"
+ }
+ }
+#line 756 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _g_date_time_unref0 (dt);
+#line 5137 "SearchBoolean.c"
+}
+
+
+GDateTime* search_condition_date_get_date_one (SearchConditionDate* self) {
+ GDateTime* result;
+ GDateTime* _tmp0_ = NULL;
+#line 735 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ g_return_val_if_fail (IS_SEARCH_CONDITION_DATE (self), NULL);
+#line 735 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp0_ = self->priv->_date_one;
+#line 735 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ result = _tmp0_;
+#line 735 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ return result;
+#line 5152 "SearchBoolean.c"
+}
+
+
+static gpointer _g_date_time_ref0 (gpointer self) {
+#line 735 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ return self ? g_date_time_ref (self) : NULL;
+#line 5159 "SearchBoolean.c"
+}
+
+
+static void search_condition_date_set_date_one (SearchConditionDate* self, GDateTime* value) {
+ GDateTime* _tmp0_ = NULL;
+ GDateTime* _tmp1_ = NULL;
+#line 735 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ g_return_if_fail (IS_SEARCH_CONDITION_DATE (self));
+#line 735 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp0_ = value;
+#line 735 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp1_ = _g_date_time_ref0 (_tmp0_);
+#line 735 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _g_date_time_unref0 (self->priv->_date_one);
+#line 735 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ self->priv->_date_one = _tmp1_;
+#line 5176 "SearchBoolean.c"
+}
+
+
+GDateTime* search_condition_date_get_date_two (SearchConditionDate* self) {
+ GDateTime* result;
+ GDateTime* _tmp0_ = NULL;
+#line 736 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ g_return_val_if_fail (IS_SEARCH_CONDITION_DATE (self), NULL);
+#line 736 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp0_ = self->priv->_date_two;
+#line 736 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ result = _tmp0_;
+#line 736 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ return result;
+#line 5191 "SearchBoolean.c"
+}
+
+
+static void search_condition_date_set_date_two (SearchConditionDate* self, GDateTime* value) {
+ GDateTime* _tmp0_ = NULL;
+ GDateTime* _tmp1_ = NULL;
+#line 736 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ g_return_if_fail (IS_SEARCH_CONDITION_DATE (self));
+#line 736 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp0_ = value;
+#line 736 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp1_ = _g_date_time_ref0 (_tmp0_);
+#line 736 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _g_date_time_unref0 (self->priv->_date_two);
+#line 736 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ self->priv->_date_two = _tmp1_;
+#line 5208 "SearchBoolean.c"
+}
+
+
+SearchConditionDateContext search_condition_date_get_context (SearchConditionDate* self) {
+ SearchConditionDateContext result;
+ SearchConditionDateContext _tmp0_ = 0;
+#line 739 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ g_return_val_if_fail (IS_SEARCH_CONDITION_DATE (self), 0);
+#line 739 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp0_ = self->priv->_context;
+#line 739 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ result = _tmp0_;
+#line 739 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ return result;
+#line 5223 "SearchBoolean.c"
+}
+
+
+static void search_condition_date_set_context (SearchConditionDate* self, SearchConditionDateContext value) {
+ SearchConditionDateContext _tmp0_ = 0;
+#line 739 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ g_return_if_fail (IS_SEARCH_CONDITION_DATE (self));
+#line 739 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp0_ = value;
+#line 739 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ self->priv->_context = _tmp0_;
+#line 5235 "SearchBoolean.c"
+}
+
+
+static void search_condition_date_class_init (SearchConditionDateClass * klass) {
+#line 683 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ search_condition_date_parent_class = g_type_class_peek_parent (klass);
+#line 683 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ ((SearchConditionClass *) klass)->finalize = search_condition_date_finalize;
+#line 683 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ g_type_class_add_private (klass, sizeof (SearchConditionDatePrivate));
+#line 683 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ ((SearchConditionClass *) klass)->predicate = search_condition_date_real_predicate;
+#line 5248 "SearchBoolean.c"
+}
+
+
+static void search_condition_date_instance_init (SearchConditionDate * self) {
+#line 683 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ self->priv = SEARCH_CONDITION_DATE_GET_PRIVATE (self);
+#line 5255 "SearchBoolean.c"
+}
+
+
+static void search_condition_date_finalize (SearchCondition* obj) {
+ SearchConditionDate * self;
+#line 683 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_SEARCH_CONDITION_DATE, SearchConditionDate);
+#line 735 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _g_date_time_unref0 (self->priv->_date_one);
+#line 736 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _g_date_time_unref0 (self->priv->_date_two);
+#line 683 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ SEARCH_CONDITION_CLASS (search_condition_date_parent_class)->finalize (obj);
+#line 5269 "SearchBoolean.c"
+}
+
+
+GType search_condition_date_get_type (void) {
+ static volatile gsize search_condition_date_type_id__volatile = 0;
+ if (g_once_init_enter (&search_condition_date_type_id__volatile)) {
+ static const GTypeInfo g_define_type_info = { sizeof (SearchConditionDateClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) search_condition_date_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (SearchConditionDate), 0, (GInstanceInitFunc) search_condition_date_instance_init, NULL };
+ GType search_condition_date_type_id;
+ search_condition_date_type_id = g_type_register_static (TYPE_SEARCH_CONDITION, "SearchConditionDate", &g_define_type_info, 0);
+ g_once_init_leave (&search_condition_date_type_id__volatile, search_condition_date_type_id);
+ }
+ return search_condition_date_type_id__volatile;
+}
+
+
+static gpointer _saved_search_row_ref0 (gpointer self) {
+#line 797 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ return self ? saved_search_row_ref (self) : NULL;
+#line 5288 "SearchBoolean.c"
+}
+
+
+SavedSearch* saved_search_construct (GType object_type, SavedSearchRow* row, gint64 object_id) {
+ SavedSearch * self = NULL;
+ gint64 _tmp0_ = 0LL;
+ SavedSearchRow* _tmp1_ = NULL;
+ SavedSearchRow* _tmp2_ = NULL;
+#line 794 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ g_return_val_if_fail (IS_SAVED_SEARCH_ROW (row), NULL);
+#line 795 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp0_ = object_id;
+#line 795 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ self = (SavedSearch*) data_source_construct (object_type, _tmp0_);
+#line 797 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp1_ = row;
+#line 797 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp2_ = _saved_search_row_ref0 (_tmp1_);
+#line 797 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _saved_search_row_unref0 (self->priv->row);
+#line 797 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ self->priv->row = _tmp2_;
+#line 794 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ return self;
+#line 5313 "SearchBoolean.c"
+}
+
+
+SavedSearch* saved_search_new (SavedSearchRow* row, gint64 object_id) {
+#line 794 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ return saved_search_construct (TYPE_SAVED_SEARCH, row, object_id);
+#line 5320 "SearchBoolean.c"
+}
+
+
+static gchar* saved_search_real_get_name (DataObject* base) {
+ SavedSearch * self;
+ gchar* result = NULL;
+ SavedSearchRow* _tmp0_ = NULL;
+ const gchar* _tmp1_ = NULL;
+ gchar* _tmp2_ = NULL;
+#line 800 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_SAVED_SEARCH, SavedSearch);
+#line 801 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp0_ = self->priv->row;
+#line 801 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp1_ = _tmp0_->name;
+#line 801 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp2_ = g_strdup (_tmp1_);
+#line 801 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ result = _tmp2_;
+#line 801 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ return result;
+#line 5342 "SearchBoolean.c"
+}
+
+
+static gchar* saved_search_real_to_string (DataObject* base) {
+ SavedSearch * self;
+ gchar* result = NULL;
+ gchar* _tmp0_ = NULL;
+ gchar* _tmp1_ = NULL;
+ gchar* _tmp2_ = NULL;
+ gchar* _tmp3_ = NULL;
+#line 804 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_SAVED_SEARCH, SavedSearch);
+#line 805 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp0_ = data_object_get_name (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_OBJECT, DataObject));
+#line 805 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp1_ = _tmp0_;
+#line 805 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp2_ = g_strconcat ("SavedSearch ", _tmp1_, NULL);
+#line 805 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp3_ = _tmp2_;
+#line 805 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _g_free0 (_tmp1_);
+#line 805 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ result = _tmp3_;
+#line 805 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ return result;
+#line 5369 "SearchBoolean.c"
+}
+
+
+static gchar* saved_search_real_get_typename (DataSource* base) {
+ SavedSearch * self;
+ gchar* result = NULL;
+ gchar* _tmp0_ = NULL;
+#line 808 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_SAVED_SEARCH, SavedSearch);
+#line 809 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp0_ = g_strdup (SAVED_SEARCH_TYPENAME);
+#line 809 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ result = _tmp0_;
+#line 809 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ return result;
+#line 5385 "SearchBoolean.c"
+}
+
+
+void saved_search_get_saved_search_id (SavedSearch* self, SavedSearchID* result) {
+ SavedSearchRow* _tmp0_ = NULL;
+ SavedSearchID _tmp1_ = {0};
+#line 812 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ g_return_if_fail (IS_SAVED_SEARCH (self));
+#line 813 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp0_ = self->priv->row;
+#line 813 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp1_ = _tmp0_->search_id;
+#line 813 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ *result = _tmp1_;
+#line 813 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ return;
+#line 5402 "SearchBoolean.c"
+}
+
+
+static gint64 saved_search_real_get_instance_id (DataSource* base) {
+ SavedSearch * self;
+ gint64 result = 0LL;
+ SavedSearchID _tmp0_ = {0};
+ gint64 _tmp1_ = 0LL;
+#line 816 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ self = G_TYPE_CHECK_INSTANCE_CAST (base, TYPE_SAVED_SEARCH, SavedSearch);
+#line 817 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ saved_search_get_saved_search_id (self, &_tmp0_);
+#line 817 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp1_ = _tmp0_.id;
+#line 817 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ result = _tmp1_;
+#line 817 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ return result;
+#line 5421 "SearchBoolean.c"
+}
+
+
+gint saved_search_compare_names (void* a, void* b) {
+ gint result = 0;
+ SavedSearch* asearch = NULL;
+ void* _tmp0_ = NULL;
+ SavedSearch* bsearch = NULL;
+ void* _tmp1_ = NULL;
+ gchar* _tmp2_ = NULL;
+ gchar* _tmp3_ = NULL;
+ gint _tmp4_ = 0;
+#line 821 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp0_ = a;
+#line 821 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ asearch = (SavedSearch*) _tmp0_;
+#line 822 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp1_ = b;
+#line 822 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ bsearch = (SavedSearch*) _tmp1_;
+#line 824 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp2_ = data_object_get_name (G_TYPE_CHECK_INSTANCE_CAST (asearch, TYPE_DATA_OBJECT, DataObject));
+#line 824 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp3_ = data_object_get_name (G_TYPE_CHECK_INSTANCE_CAST (bsearch, TYPE_DATA_OBJECT, DataObject));
+#line 824 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp4_ = string_collated_compare (_tmp2_, _tmp3_);
+#line 824 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ result = _tmp4_;
+#line 824 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ return result;
+#line 5452 "SearchBoolean.c"
+}
+
+
+gboolean saved_search_predicate (SavedSearch* self, MediaSource* source) {
+ gboolean result = FALSE;
+ gboolean ret = FALSE;
+ gboolean _tmp0_ = FALSE;
+ SavedSearchRow* _tmp1_ = NULL;
+ SearchOperator _tmp2_ = 0;
+#line 827 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ g_return_val_if_fail (IS_SAVED_SEARCH (self), FALSE);
+#line 827 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ g_return_val_if_fail (IS_MEDIA_SOURCE (source), FALSE);
+#line 829 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp1_ = self->priv->row;
+#line 829 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp2_ = _tmp1_->operator;
+#line 829 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ if (SEARCH_OPERATOR_ALL == _tmp2_) {
+#line 829 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp0_ = TRUE;
+#line 5474 "SearchBoolean.c"
+ } else {
+ SavedSearchRow* _tmp3_ = NULL;
+ SearchOperator _tmp4_ = 0;
+#line 829 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp3_ = self->priv->row;
+#line 829 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp4_ = _tmp3_->operator;
+#line 829 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp0_ = SEARCH_OPERATOR_NONE == _tmp4_;
+#line 5484 "SearchBoolean.c"
+ }
+#line 829 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ if (_tmp0_) {
+#line 830 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ ret = TRUE;
+#line 5490 "SearchBoolean.c"
+ } else {
+#line 832 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ ret = FALSE;
+#line 5494 "SearchBoolean.c"
+ }
+ {
+ GeeList* _c_list = NULL;
+ SavedSearchRow* _tmp5_ = NULL;
+ GeeList* _tmp6_ = NULL;
+ GeeList* _tmp7_ = NULL;
+ gint _c_size = 0;
+ GeeList* _tmp8_ = NULL;
+ gint _tmp9_ = 0;
+ gint _tmp10_ = 0;
+ gint _c_index = 0;
+#line 834 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp5_ = self->priv->row;
+#line 834 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp6_ = _tmp5_->conditions;
+#line 834 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp7_ = _g_object_ref0 (_tmp6_);
+#line 834 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _c_list = _tmp7_;
+#line 834 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp8_ = _c_list;
+#line 834 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp9_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, GEE_TYPE_COLLECTION, GeeCollection));
+#line 834 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp10_ = _tmp9_;
+#line 834 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _c_size = _tmp10_;
+#line 834 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _c_index = -1;
+#line 834 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ while (TRUE) {
+#line 5526 "SearchBoolean.c"
+ gint _tmp11_ = 0;
+ gint _tmp12_ = 0;
+ gint _tmp13_ = 0;
+ SearchCondition* c = NULL;
+ GeeList* _tmp14_ = NULL;
+ gint _tmp15_ = 0;
+ gpointer _tmp16_ = NULL;
+ SavedSearchRow* _tmp17_ = NULL;
+ SearchOperator _tmp18_ = 0;
+#line 834 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp11_ = _c_index;
+#line 834 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _c_index = _tmp11_ + 1;
+#line 834 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp12_ = _c_index;
+#line 834 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp13_ = _c_size;
+#line 834 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ if (!(_tmp12_ < _tmp13_)) {
+#line 834 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ break;
+#line 5548 "SearchBoolean.c"
+ }
+#line 834 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp14_ = _c_list;
+#line 834 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp15_ = _c_index;
+#line 834 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp16_ = gee_list_get (_tmp14_, _tmp15_);
+#line 834 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ c = (SearchCondition*) _tmp16_;
+#line 835 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp17_ = self->priv->row;
+#line 835 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp18_ = _tmp17_->operator;
+#line 835 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ if (SEARCH_OPERATOR_ALL == _tmp18_) {
+#line 5564 "SearchBoolean.c"
+ gboolean _tmp19_ = FALSE;
+ SearchCondition* _tmp20_ = NULL;
+ MediaSource* _tmp21_ = NULL;
+ gboolean _tmp22_ = FALSE;
+#line 836 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp19_ = ret;
+#line 836 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp20_ = c;
+#line 836 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp21_ = source;
+#line 836 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp22_ = search_condition_predicate (_tmp20_, _tmp21_);
+#line 836 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ ret = _tmp19_ & _tmp22_;
+#line 5579 "SearchBoolean.c"
+ } else {
+ SavedSearchRow* _tmp23_ = NULL;
+ SearchOperator _tmp24_ = 0;
+#line 837 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp23_ = self->priv->row;
+#line 837 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp24_ = _tmp23_->operator;
+#line 837 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ if (SEARCH_OPERATOR_ANY == _tmp24_) {
+#line 5589 "SearchBoolean.c"
+ gboolean _tmp25_ = FALSE;
+ SearchCondition* _tmp26_ = NULL;
+ MediaSource* _tmp27_ = NULL;
+ gboolean _tmp28_ = FALSE;
+#line 838 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp25_ = ret;
+#line 838 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp26_ = c;
+#line 838 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp27_ = source;
+#line 838 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp28_ = search_condition_predicate (_tmp26_, _tmp27_);
+#line 838 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ ret = _tmp25_ | _tmp28_;
+#line 5604 "SearchBoolean.c"
+ } else {
+ SavedSearchRow* _tmp29_ = NULL;
+ SearchOperator _tmp30_ = 0;
+#line 839 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp29_ = self->priv->row;
+#line 839 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp30_ = _tmp29_->operator;
+#line 839 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ if (SEARCH_OPERATOR_NONE == _tmp30_) {
+#line 5614 "SearchBoolean.c"
+ gboolean _tmp31_ = FALSE;
+ SearchCondition* _tmp32_ = NULL;
+ MediaSource* _tmp33_ = NULL;
+ gboolean _tmp34_ = FALSE;
+#line 840 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp31_ = ret;
+#line 840 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp32_ = c;
+#line 840 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp33_ = source;
+#line 840 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp34_ = search_condition_predicate (_tmp32_, _tmp33_);
+#line 840 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ ret = _tmp31_ & (!_tmp34_);
+#line 5629 "SearchBoolean.c"
+ }
+ }
+ }
+#line 834 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _search_condition_unref0 (c);
+#line 5635 "SearchBoolean.c"
+ }
+#line 834 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _g_object_unref0 (_c_list);
+#line 5639 "SearchBoolean.c"
+ }
+#line 842 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ result = ret;
+#line 842 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ return result;
+#line 5645 "SearchBoolean.c"
+}
+
+
+void saved_search_reconstitute (SavedSearch* self) {
+ SavedSearchTable* _tmp8_ = NULL;
+ SavedSearchTable* _tmp9_ = NULL;
+ gchar* _tmp10_ = NULL;
+ gchar* _tmp11_ = NULL;
+ GError * _inner_error_ = NULL;
+#line 845 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ g_return_if_fail (IS_SAVED_SEARCH (self));
+#line 5657 "SearchBoolean.c"
+ {
+ SavedSearchID _tmp0_ = {0};
+ SavedSearchDBTable* _tmp1_ = NULL;
+ SavedSearchDBTable* _tmp2_ = NULL;
+ SavedSearchRow* _tmp3_ = NULL;
+ SavedSearchID _tmp4_ = {0};
+ SavedSearchID _tmp5_ = {0};
+ SavedSearchRow* _tmp6_ = NULL;
+#line 847 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp1_ = saved_search_db_table_get_instance ();
+#line 847 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp2_ = _tmp1_;
+#line 847 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp3_ = self->priv->row;
+#line 847 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ saved_search_db_table_create_from_row (_tmp2_, _tmp3_, &_tmp4_, &_inner_error_);
+#line 847 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp5_ = _tmp4_;
+#line 847 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _database_table_unref0 (_tmp2_);
+#line 847 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp0_ = _tmp5_;
+#line 847 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ if (G_UNLIKELY (_inner_error_ != NULL)) {
+#line 847 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ if (_inner_error_->domain == DATABASE_ERROR) {
+#line 5684 "SearchBoolean.c"
+ goto __catch74_database_error;
+ }
+#line 847 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ g_critical ("file %s: line %d: unexpected error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
+#line 847 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ g_clear_error (&_inner_error_);
+#line 847 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ return;
+#line 5693 "SearchBoolean.c"
+ }
+#line 847 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp6_ = self->priv->row;
+#line 847 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp6_->search_id = _tmp0_;
+#line 5699 "SearchBoolean.c"
+ }
+ goto __finally74;
+ __catch74_database_error:
+ {
+ GError* err = NULL;
+ GError* _tmp7_ = NULL;
+#line 846 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ err = _inner_error_;
+#line 846 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _inner_error_ = NULL;
+#line 849 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp7_ = err;
+#line 849 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ app_window_database_error (_tmp7_);
+#line 846 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _g_error_free0 (err);
+#line 5716 "SearchBoolean.c"
+ }
+ __finally74:
+#line 846 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ if (G_UNLIKELY (_inner_error_ != NULL)) {
+#line 846 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
+#line 846 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ g_clear_error (&_inner_error_);
+#line 846 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ return;
+#line 5727 "SearchBoolean.c"
+ }
+#line 852 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp8_ = saved_search_table_get_instance ();
+#line 852 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp9_ = _tmp8_;
+#line 852 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ saved_search_table_add_to_map (_tmp9_, self);
+#line 852 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _saved_search_table_unref0 (_tmp9_);
+#line 853 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp10_ = data_object_to_string (G_TYPE_CHECK_INSTANCE_CAST (self, TYPE_DATA_OBJECT, DataObject));
+#line 853 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp11_ = _tmp10_;
+#line 853 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ g_debug ("SearchBoolean.vala:853: Reconstituted %s", _tmp11_);
+#line 853 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _g_free0 (_tmp11_);
+#line 5745 "SearchBoolean.c"
+}
+
+
+gboolean saved_search_rename (SavedSearch* self, const gchar* new_name) {
+ gboolean result = FALSE;
+ const gchar* _tmp0_ = NULL;
+ gboolean _tmp1_ = FALSE;
+ SavedSearchTable* _tmp2_ = NULL;
+ SavedSearchTable* _tmp3_ = NULL;
+ const gchar* _tmp4_ = NULL;
+ gboolean _tmp5_ = FALSE;
+ gboolean _tmp6_ = FALSE;
+ SavedSearchTable* _tmp13_ = NULL;
+ SavedSearchTable* _tmp14_ = NULL;
+ SavedSearchRow* _tmp15_ = NULL;
+ const gchar* _tmp16_ = NULL;
+ gchar* _tmp17_ = NULL;
+ SavedSearchTable* _tmp18_ = NULL;
+ SavedSearchTable* _tmp19_ = NULL;
+ LibraryWindow* _tmp20_ = NULL;
+ LibraryWindow* _tmp21_ = NULL;
+ GError * _inner_error_ = NULL;
+#line 857 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ g_return_val_if_fail (IS_SAVED_SEARCH (self), FALSE);
+#line 857 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ g_return_val_if_fail (new_name != NULL, FALSE);
+#line 858 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp0_ = new_name;
+#line 858 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp1_ = is_string_empty (_tmp0_);
+#line 858 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ if (_tmp1_) {
+#line 859 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ result = FALSE;
+#line 859 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ return result;
+#line 5782 "SearchBoolean.c"
+ }
+#line 861 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp2_ = saved_search_table_get_instance ();
+#line 861 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp3_ = _tmp2_;
+#line 861 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp4_ = new_name;
+#line 861 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp5_ = saved_search_table_exists (_tmp3_, _tmp4_);
+#line 861 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp6_ = _tmp5_;
+#line 861 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _saved_search_table_unref0 (_tmp3_);
+#line 861 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ if (_tmp6_) {
+#line 862 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ result = FALSE;
+#line 862 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ return result;
+#line 5802 "SearchBoolean.c"
+ }
+ {
+ SavedSearchDBTable* _tmp7_ = NULL;
+ SavedSearchDBTable* _tmp8_ = NULL;
+ SavedSearchRow* _tmp9_ = NULL;
+ SavedSearchID _tmp10_ = {0};
+ const gchar* _tmp11_ = NULL;
+#line 865 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp7_ = saved_search_db_table_get_instance ();
+#line 865 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp8_ = _tmp7_;
+#line 865 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp9_ = self->priv->row;
+#line 865 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp10_ = _tmp9_->search_id;
+#line 865 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp11_ = new_name;
+#line 865 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ saved_search_db_table_rename (_tmp8_, &_tmp10_, _tmp11_, &_inner_error_);
+#line 865 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _database_table_unref0 (_tmp8_);
+#line 865 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ if (G_UNLIKELY (_inner_error_ != NULL)) {
+#line 865 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ if (_inner_error_->domain == DATABASE_ERROR) {
+#line 5828 "SearchBoolean.c"
+ goto __catch75_database_error;
+ }
+#line 865 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ g_critical ("file %s: line %d: unexpected error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
+#line 865 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ g_clear_error (&_inner_error_);
+#line 865 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ return FALSE;
+#line 5837 "SearchBoolean.c"
+ }
+ }
+ goto __finally75;
+ __catch75_database_error:
+ {
+ GError* err = NULL;
+ GError* _tmp12_ = NULL;
+#line 864 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ err = _inner_error_;
+#line 864 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _inner_error_ = NULL;
+#line 867 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp12_ = err;
+#line 867 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ app_window_database_error (_tmp12_);
+#line 868 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ result = FALSE;
+#line 868 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _g_error_free0 (err);
+#line 868 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ return result;
+#line 5859 "SearchBoolean.c"
+ }
+ __finally75:
+#line 864 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ if (G_UNLIKELY (_inner_error_ != NULL)) {
+#line 864 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
+#line 864 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ g_clear_error (&_inner_error_);
+#line 864 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ return FALSE;
+#line 5870 "SearchBoolean.c"
+ }
+#line 871 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp13_ = saved_search_table_get_instance ();
+#line 871 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp14_ = _tmp13_;
+#line 871 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ saved_search_table_remove_from_map (_tmp14_, self);
+#line 871 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _saved_search_table_unref0 (_tmp14_);
+#line 872 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp15_ = self->priv->row;
+#line 872 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp16_ = new_name;
+#line 872 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp17_ = g_strdup (_tmp16_);
+#line 872 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _g_free0 (_tmp15_->name);
+#line 872 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp15_->name = _tmp17_;
+#line 873 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp18_ = saved_search_table_get_instance ();
+#line 873 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp19_ = _tmp18_;
+#line 873 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ saved_search_table_add_to_map (_tmp19_, self);
+#line 873 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _saved_search_table_unref0 (_tmp19_);
+#line 875 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp20_ = library_window_get_app ();
+#line 875 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp21_ = _tmp20_;
+#line 875 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ library_window_switch_to_saved_search (_tmp21_, self);
+#line 875 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _g_object_unref0 (_tmp21_);
+#line 876 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ result = TRUE;
+#line 876 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ return result;
+#line 5910 "SearchBoolean.c"
+}
+
+
+GeeList* saved_search_get_conditions (SavedSearch* self) {
+ GeeList* result = NULL;
+ SavedSearchRow* _tmp0_ = NULL;
+ GeeList* _tmp1_ = NULL;
+ GeeList* _tmp2_ = NULL;
+ GeeList* _tmp3_ = NULL;
+#line 879 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ g_return_val_if_fail (IS_SAVED_SEARCH (self), NULL);
+#line 880 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp0_ = self->priv->row;
+#line 880 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp1_ = _tmp0_->conditions;
+#line 880 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp2_ = gee_list_get_read_only_view (_tmp1_);
+#line 880 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp3_ = _tmp2_;
+#line 880 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ result = _tmp3_;
+#line 880 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ return result;
+#line 5934 "SearchBoolean.c"
+}
+
+
+SearchOperator saved_search_get_operator (SavedSearch* self) {
+ SearchOperator result = 0;
+ SavedSearchRow* _tmp0_ = NULL;
+ SearchOperator _tmp1_ = 0;
+#line 883 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ g_return_val_if_fail (IS_SAVED_SEARCH (self), 0);
+#line 884 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp0_ = self->priv->row;
+#line 884 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp1_ = _tmp0_->operator;
+#line 884 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ result = _tmp1_;
+#line 884 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ return result;
+#line 5952 "SearchBoolean.c"
+}
+
+
+static void saved_search_class_init (SavedSearchClass * klass) {
+#line 788 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ saved_search_parent_class = g_type_class_peek_parent (klass);
+#line 788 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ g_type_class_add_private (klass, sizeof (SavedSearchPrivate));
+#line 788 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ ((DataObjectClass *) klass)->get_name = saved_search_real_get_name;
+#line 788 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ ((DataObjectClass *) klass)->to_string = saved_search_real_to_string;
+#line 788 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ ((DataSourceClass *) klass)->get_typename = saved_search_real_get_typename;
+#line 788 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ ((DataSourceClass *) klass)->get_instance_id = saved_search_real_get_instance_id;
+#line 788 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ G_OBJECT_CLASS (klass)->finalize = saved_search_finalize;
+#line 5971 "SearchBoolean.c"
+}
+
+
+static void saved_search_instance_init (SavedSearch * self) {
+#line 788 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ self->priv = SAVED_SEARCH_GET_PRIVATE (self);
+#line 5978 "SearchBoolean.c"
+}
+
+
+static void saved_search_finalize (GObject* obj) {
+ SavedSearch * self;
+#line 788 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_SAVED_SEARCH, SavedSearch);
+#line 792 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _saved_search_row_unref0 (self->priv->row);
+#line 788 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ G_OBJECT_CLASS (saved_search_parent_class)->finalize (obj);
+#line 5990 "SearchBoolean.c"
+}
+
+
+GType saved_search_get_type (void) {
+ static volatile gsize saved_search_type_id__volatile = 0;
+ if (g_once_init_enter (&saved_search_type_id__volatile)) {
+ static const GTypeInfo g_define_type_info = { sizeof (SavedSearchClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) saved_search_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (SavedSearch), 0, (GInstanceInitFunc) saved_search_instance_init, NULL };
+ GType saved_search_type_id;
+ saved_search_type_id = g_type_register_static (TYPE_DATA_SOURCE, "SavedSearch", &g_define_type_info, 0);
+ g_once_init_leave (&saved_search_type_id__volatile, saved_search_type_id);
+ }
+ return saved_search_type_id__volatile;
+}
+
+
+static SavedSearchTable* saved_search_table_construct (GType object_type) {
+ SavedSearchTable* self = NULL;
+ GError * _inner_error_ = NULL;
+#line 897 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ self = (SavedSearchTable*) g_type_create_instance (object_type);
+#line 6011 "SearchBoolean.c"
+ {
+ GeeList* _tmp0_ = NULL;
+ SavedSearchDBTable* _tmp1_ = NULL;
+ SavedSearchDBTable* _tmp2_ = NULL;
+ GeeList* _tmp3_ = NULL;
+ GeeList* _tmp4_ = NULL;
+#line 900 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp1_ = saved_search_db_table_get_instance ();
+#line 900 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp2_ = _tmp1_;
+#line 900 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp3_ = saved_search_db_table_get_all_rows (_tmp2_, &_inner_error_);
+#line 900 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp4_ = _tmp3_;
+#line 900 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _database_table_unref0 (_tmp2_);
+#line 900 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp0_ = _tmp4_;
+#line 900 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ if (G_UNLIKELY (_inner_error_ != NULL)) {
+#line 900 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ if (_inner_error_->domain == DATABASE_ERROR) {
+#line 6034 "SearchBoolean.c"
+ goto __catch76_database_error;
+ }
+#line 900 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ g_critical ("file %s: line %d: unexpected error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
+#line 900 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ g_clear_error (&_inner_error_);
+#line 900 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ return NULL;
+#line 6043 "SearchBoolean.c"
+ }
+ {
+ GeeList* _row_list = NULL;
+ GeeList* _tmp5_ = NULL;
+ gint _row_size = 0;
+ GeeList* _tmp6_ = NULL;
+ gint _tmp7_ = 0;
+ gint _tmp8_ = 0;
+ gint _row_index = 0;
+#line 900 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp5_ = _tmp0_;
+#line 900 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp0_ = NULL;
+#line 900 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _row_list = _tmp5_;
+#line 900 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp6_ = _row_list;
+#line 900 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp7_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, GEE_TYPE_COLLECTION, GeeCollection));
+#line 900 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp8_ = _tmp7_;
+#line 900 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _row_size = _tmp8_;
+#line 900 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _row_index = -1;
+#line 900 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ while (TRUE) {
+#line 6071 "SearchBoolean.c"
+ gint _tmp9_ = 0;
+ gint _tmp10_ = 0;
+ gint _tmp11_ = 0;
+ SavedSearchRow* row = NULL;
+ GeeList* _tmp12_ = NULL;
+ gint _tmp13_ = 0;
+ gpointer _tmp14_ = NULL;
+ SavedSearchRow* _tmp15_ = NULL;
+ SavedSearch* _tmp16_ = NULL;
+ SavedSearch* _tmp17_ = NULL;
+#line 900 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp9_ = _row_index;
+#line 900 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _row_index = _tmp9_ + 1;
+#line 900 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp10_ = _row_index;
+#line 900 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp11_ = _row_size;
+#line 900 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ if (!(_tmp10_ < _tmp11_)) {
+#line 900 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ break;
+#line 6094 "SearchBoolean.c"
+ }
+#line 900 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp12_ = _row_list;
+#line 900 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp13_ = _row_index;
+#line 900 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp14_ = gee_list_get (_tmp12_, _tmp13_);
+#line 900 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ row = (SavedSearchRow*) _tmp14_;
+#line 901 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp15_ = row;
+#line 901 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp16_ = saved_search_new (_tmp15_, DATA_OBJECT_INVALID_OBJECT_ID);
+#line 901 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp17_ = _tmp16_;
+#line 901 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ saved_search_table_add_to_map (self, _tmp17_);
+#line 901 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _g_object_unref0 (_tmp17_);
+#line 900 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _saved_search_row_unref0 (row);
+#line 6116 "SearchBoolean.c"
+ }
+#line 900 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _g_object_unref0 (_row_list);
+#line 6120 "SearchBoolean.c"
+ }
+#line 899 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _g_object_unref0 (_tmp0_);
+#line 6124 "SearchBoolean.c"
+ }
+ goto __finally76;
+ __catch76_database_error:
+ {
+ GError* err = NULL;
+ GError* _tmp18_ = NULL;
+#line 899 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ err = _inner_error_;
+#line 899 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _inner_error_ = NULL;
+#line 903 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp18_ = err;
+#line 903 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ app_window_database_error (_tmp18_);
+#line 899 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _g_error_free0 (err);
+#line 6141 "SearchBoolean.c"
+ }
+ __finally76:
+#line 899 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ if (G_UNLIKELY (_inner_error_ != NULL)) {
+#line 899 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
+#line 899 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ g_clear_error (&_inner_error_);
+#line 899 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ return NULL;
+#line 6152 "SearchBoolean.c"
+ }
+#line 897 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ return self;
+#line 6156 "SearchBoolean.c"
+}
+
+
+static SavedSearchTable* saved_search_table_new (void) {
+#line 897 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ return saved_search_table_construct (TYPE_SAVED_SEARCH_TABLE);
+#line 6163 "SearchBoolean.c"
+}
+
+
+static gpointer _saved_search_table_ref0 (gpointer self) {
+#line 912 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ return self ? saved_search_table_ref (self) : NULL;
+#line 6170 "SearchBoolean.c"
+}
+
+
+SavedSearchTable* saved_search_table_get_instance (void) {
+ SavedSearchTable* result = NULL;
+ SavedSearchTable* _tmp0_ = NULL;
+ SavedSearchTable* _tmp2_ = NULL;
+ SavedSearchTable* _tmp3_ = NULL;
+#line 909 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp0_ = saved_search_table_instance;
+#line 909 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ if (_tmp0_ == NULL) {
+#line 6183 "SearchBoolean.c"
+ SavedSearchTable* _tmp1_ = NULL;
+#line 910 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp1_ = saved_search_table_new ();
+#line 910 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _saved_search_table_unref0 (saved_search_table_instance);
+#line 910 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ saved_search_table_instance = _tmp1_;
+#line 6191 "SearchBoolean.c"
+ }
+#line 912 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp2_ = saved_search_table_instance;
+#line 912 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp3_ = _saved_search_table_ref0 (_tmp2_);
+#line 912 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ result = _tmp3_;
+#line 912 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ return result;
+#line 6201 "SearchBoolean.c"
+}
+
+
+GeeCollection* saved_search_table_get_all (SavedSearchTable* self) {
+ GeeCollection* result = NULL;
+ GeeHashMap* _tmp0_ = NULL;
+ GeeCollection* _tmp1_ = NULL;
+ GeeCollection* _tmp2_ = NULL;
+#line 915 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ g_return_val_if_fail (IS_SAVED_SEARCH_TABLE (self), NULL);
+#line 916 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp0_ = self->priv->search_map;
+#line 916 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp1_ = gee_abstract_map_get_values (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_MAP, GeeMap));
+#line 916 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp2_ = _tmp1_;
+#line 916 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ result = _tmp2_;
+#line 916 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ return result;
+#line 6222 "SearchBoolean.c"
+}
+
+
+SavedSearch* saved_search_table_create (SavedSearchTable* self, const gchar* name, SearchOperator operator, GeeArrayList* conditions) {
+ SavedSearch* result = NULL;
+ SavedSearch* search = NULL;
+ SavedSearch* _tmp10_ = NULL;
+ LibraryWindow* _tmp11_ = NULL;
+ LibraryWindow* _tmp12_ = NULL;
+ SavedSearch* _tmp13_ = NULL;
+ GError * _inner_error_ = NULL;
+#line 921 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ g_return_val_if_fail (IS_SAVED_SEARCH_TABLE (self), NULL);
+#line 921 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ g_return_val_if_fail (name != NULL, NULL);
+#line 921 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ g_return_val_if_fail (GEE_IS_ARRAY_LIST (conditions), NULL);
+#line 923 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ search = NULL;
+#line 6242 "SearchBoolean.c"
+ {
+ SavedSearchRow* _tmp0_ = NULL;
+ SavedSearchDBTable* _tmp1_ = NULL;
+ SavedSearchDBTable* _tmp2_ = NULL;
+ const gchar* _tmp3_ = NULL;
+ SearchOperator _tmp4_ = 0;
+ GeeArrayList* _tmp5_ = NULL;
+ SavedSearchRow* _tmp6_ = NULL;
+ SavedSearchRow* _tmp7_ = NULL;
+ SavedSearch* _tmp8_ = NULL;
+#line 926 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp1_ = saved_search_db_table_get_instance ();
+#line 926 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp2_ = _tmp1_;
+#line 926 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp3_ = name;
+#line 926 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp4_ = operator;
+#line 926 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp5_ = conditions;
+#line 926 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp6_ = saved_search_db_table_add (_tmp2_, _tmp3_, _tmp4_, _tmp5_, &_inner_error_);
+#line 926 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp7_ = _tmp6_;
+#line 926 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _database_table_unref0 (_tmp2_);
+#line 926 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp0_ = _tmp7_;
+#line 926 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ if (G_UNLIKELY (_inner_error_ != NULL)) {
+#line 926 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ if (_inner_error_->domain == DATABASE_ERROR) {
+#line 6275 "SearchBoolean.c"
+ goto __catch77_database_error;
+ }
+#line 926 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _g_object_unref0 (search);
+#line 926 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ g_critical ("file %s: line %d: unexpected error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
+#line 926 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ g_clear_error (&_inner_error_);
+#line 926 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ return NULL;
+#line 6286 "SearchBoolean.c"
+ }
+#line 926 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp8_ = saved_search_new (_tmp0_, DATA_OBJECT_INVALID_OBJECT_ID);
+#line 926 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _g_object_unref0 (search);
+#line 926 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ search = _tmp8_;
+#line 925 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _saved_search_row_unref0 (_tmp0_);
+#line 6296 "SearchBoolean.c"
+ }
+ goto __finally77;
+ __catch77_database_error:
+ {
+ GError* err = NULL;
+ GError* _tmp9_ = NULL;
+#line 925 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ err = _inner_error_;
+#line 925 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _inner_error_ = NULL;
+#line 928 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp9_ = err;
+#line 928 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ app_window_database_error (_tmp9_);
+#line 925 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _g_error_free0 (err);
+#line 6313 "SearchBoolean.c"
+ }
+ __finally77:
+#line 925 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ if (G_UNLIKELY (_inner_error_ != NULL)) {
+#line 925 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _g_object_unref0 (search);
+#line 925 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
+#line 925 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ g_clear_error (&_inner_error_);
+#line 925 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ return NULL;
+#line 6326 "SearchBoolean.c"
+ }
+#line 932 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp10_ = search;
+#line 932 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ saved_search_table_add_to_map (self, _tmp10_);
+#line 933 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp11_ = library_window_get_app ();
+#line 933 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp12_ = _tmp11_;
+#line 933 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp13_ = search;
+#line 933 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ library_window_switch_to_saved_search (_tmp12_, _tmp13_);
+#line 933 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _g_object_unref0 (_tmp12_);
+#line 934 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ result = search;
+#line 934 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ return result;
+#line 6346 "SearchBoolean.c"
+}
+
+
+void saved_search_table_remove (SavedSearchTable* self, SavedSearch* search) {
+ SavedSearch* _tmp5_ = NULL;
+ GError * _inner_error_ = NULL;
+#line 938 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ g_return_if_fail (IS_SAVED_SEARCH_TABLE (self));
+#line 938 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ g_return_if_fail (IS_SAVED_SEARCH (search));
+#line 6357 "SearchBoolean.c"
+ {
+ SavedSearchDBTable* _tmp0_ = NULL;
+ SavedSearchDBTable* _tmp1_ = NULL;
+ SavedSearch* _tmp2_ = NULL;
+ SavedSearchID _tmp3_ = {0};
+#line 940 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp0_ = saved_search_db_table_get_instance ();
+#line 940 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp1_ = _tmp0_;
+#line 940 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp2_ = search;
+#line 940 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ saved_search_get_saved_search_id (_tmp2_, &_tmp3_);
+#line 940 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ saved_search_db_table_remove (_tmp1_, &_tmp3_, &_inner_error_);
+#line 940 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _database_table_unref0 (_tmp1_);
+#line 940 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ if (G_UNLIKELY (_inner_error_ != NULL)) {
+#line 940 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ if (_inner_error_->domain == DATABASE_ERROR) {
+#line 6379 "SearchBoolean.c"
+ goto __catch78_database_error;
+ }
+#line 940 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ g_critical ("file %s: line %d: unexpected error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
+#line 940 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ g_clear_error (&_inner_error_);
+#line 940 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ return;
+#line 6388 "SearchBoolean.c"
+ }
+ }
+ goto __finally78;
+ __catch78_database_error:
+ {
+ GError* err = NULL;
+ GError* _tmp4_ = NULL;
+#line 939 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ err = _inner_error_;
+#line 939 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _inner_error_ = NULL;
+#line 942 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp4_ = err;
+#line 942 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ app_window_database_error (_tmp4_);
+#line 939 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _g_error_free0 (err);
+#line 6406 "SearchBoolean.c"
+ }
+ __finally78:
+#line 939 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ if (G_UNLIKELY (_inner_error_ != NULL)) {
+#line 939 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
+#line 939 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ g_clear_error (&_inner_error_);
+#line 939 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ return;
+#line 6417 "SearchBoolean.c"
+ }
+#line 945 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp5_ = search;
+#line 945 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ saved_search_table_remove_from_map (self, _tmp5_);
+#line 6423 "SearchBoolean.c"
+}
+
+
+void saved_search_table_add_to_map (SavedSearchTable* self, SavedSearch* search) {
+ GeeHashMap* _tmp0_ = NULL;
+ SavedSearch* _tmp1_ = NULL;
+ gchar* _tmp2_ = NULL;
+ gchar* _tmp3_ = NULL;
+ SavedSearch* _tmp4_ = NULL;
+ SavedSearch* _tmp5_ = NULL;
+#line 948 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ g_return_if_fail (IS_SAVED_SEARCH_TABLE (self));
+#line 948 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ g_return_if_fail (IS_SAVED_SEARCH (search));
+#line 949 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp0_ = self->priv->search_map;
+#line 949 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp1_ = search;
+#line 949 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp2_ = data_object_get_name (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_DATA_OBJECT, DataObject));
+#line 949 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp3_ = _tmp2_;
+#line 949 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp4_ = search;
+#line 949 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ gee_abstract_map_set (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp3_, _tmp4_);
+#line 949 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _g_free0 (_tmp3_);
+#line 950 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp5_ = search;
+#line 950 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ g_signal_emit_by_name (self, "search-added", _tmp5_);
+#line 6456 "SearchBoolean.c"
+}
+
+
+void saved_search_table_remove_from_map (SavedSearchTable* self, SavedSearch* search) {
+ GeeHashMap* _tmp0_ = NULL;
+ SavedSearch* _tmp1_ = NULL;
+ gchar* _tmp2_ = NULL;
+ gchar* _tmp3_ = NULL;
+ SavedSearch* _tmp4_ = NULL;
+#line 953 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ g_return_if_fail (IS_SAVED_SEARCH_TABLE (self));
+#line 953 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ g_return_if_fail (IS_SAVED_SEARCH (search));
+#line 954 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp0_ = self->priv->search_map;
+#line 954 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp1_ = search;
+#line 954 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp2_ = data_object_get_name (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, TYPE_DATA_OBJECT, DataObject));
+#line 954 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp3_ = _tmp2_;
+#line 954 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ gee_abstract_map_unset (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp3_, NULL);
+#line 954 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _g_free0 (_tmp3_);
+#line 955 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp4_ = search;
+#line 955 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ g_signal_emit_by_name (self, "search-removed", _tmp4_);
+#line 6486 "SearchBoolean.c"
+}
+
+
+GeeIterable* saved_search_table_get_saved_searches (SavedSearchTable* self) {
+ GeeIterable* result = NULL;
+ GeeHashMap* _tmp0_ = NULL;
+ GeeCollection* _tmp1_ = NULL;
+ GeeCollection* _tmp2_ = NULL;
+#line 958 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ g_return_val_if_fail (IS_SAVED_SEARCH_TABLE (self), NULL);
+#line 959 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp0_ = self->priv->search_map;
+#line 959 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp1_ = gee_abstract_map_get_values (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_MAP, GeeMap));
+#line 959 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp2_ = _tmp1_;
+#line 959 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ result = G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, GEE_TYPE_ITERABLE, GeeIterable);
+#line 959 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ return result;
+#line 6507 "SearchBoolean.c"
+}
+
+
+gint saved_search_table_get_count (SavedSearchTable* self) {
+ gint result = 0;
+ GeeHashMap* _tmp0_ = NULL;
+ gint _tmp1_ = 0;
+ gint _tmp2_ = 0;
+#line 962 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ g_return_val_if_fail (IS_SAVED_SEARCH_TABLE (self), 0);
+#line 963 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp0_ = self->priv->search_map;
+#line 963 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp1_ = gee_abstract_map_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_MAP, GeeMap));
+#line 963 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp2_ = _tmp1_;
+#line 963 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ result = _tmp2_;
+#line 963 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ return result;
+#line 6528 "SearchBoolean.c"
+}
+
+
+gboolean saved_search_table_exists (SavedSearchTable* self, const gchar* search_name) {
+ gboolean result = FALSE;
+ GeeHashMap* _tmp0_ = NULL;
+ const gchar* _tmp1_ = NULL;
+ gboolean _tmp2_ = FALSE;
+#line 966 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ g_return_val_if_fail (IS_SAVED_SEARCH_TABLE (self), FALSE);
+#line 966 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ g_return_val_if_fail (search_name != NULL, FALSE);
+#line 967 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp0_ = self->priv->search_map;
+#line 967 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp1_ = search_name;
+#line 967 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp2_ = gee_abstract_map_has_key (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp1_);
+#line 967 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ result = _tmp2_;
+#line 967 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ return result;
+#line 6551 "SearchBoolean.c"
+}
+
+
+gchar* saved_search_table_generate_unique_name (SavedSearchTable* self) {
+ gchar* result = NULL;
+ gchar* _tmp7_ = NULL;
+#line 971 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ g_return_val_if_fail (IS_SAVED_SEARCH_TABLE (self), NULL);
+#line 6560 "SearchBoolean.c"
+ {
+ gint ctr = 0;
+#line 972 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ ctr = 1;
+#line 6565 "SearchBoolean.c"
+ {
+ gboolean _tmp0_ = FALSE;
+#line 972 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp0_ = TRUE;
+#line 972 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ while (TRUE) {
+#line 6572 "SearchBoolean.c"
+ gint _tmp2_ = 0;
+ gchar* name = NULL;
+ gint _tmp3_ = 0;
+ gchar* _tmp4_ = NULL;
+ const gchar* _tmp5_ = NULL;
+ gboolean _tmp6_ = FALSE;
+#line 972 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ if (!_tmp0_) {
+#line 6581 "SearchBoolean.c"
+ gint _tmp1_ = 0;
+#line 972 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp1_ = ctr;
+#line 972 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ ctr = _tmp1_ + 1;
+#line 6587 "SearchBoolean.c"
+ }
+#line 972 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp0_ = FALSE;
+#line 972 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp2_ = ctr;
+#line 972 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ if (!(_tmp2_ < G_MAXINT)) {
+#line 972 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ break;
+#line 6597 "SearchBoolean.c"
+ }
+#line 973 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp3_ = ctr;
+#line 973 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp4_ = g_strdup_printf ("%s %d", RESOURCES_DEFAULT_SAVED_SEARCH_NAME, _tmp3_);
+#line 973 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ name = _tmp4_;
+#line 975 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp5_ = name;
+#line 975 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp6_ = saved_search_table_exists (self, _tmp5_);
+#line 975 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ if (!_tmp6_) {
+#line 976 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ result = name;
+#line 976 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ return result;
+#line 6615 "SearchBoolean.c"
+ }
+#line 972 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _g_free0 (name);
+#line 6619 "SearchBoolean.c"
+ }
+ }
+ }
+#line 978 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp7_ = g_strdup ("");
+#line 978 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ result = _tmp7_;
+#line 978 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ return result;
+#line 6629 "SearchBoolean.c"
+}
+
+
+static void value_saved_search_table_init (GValue* value) {
+#line 890 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ value->data[0].v_pointer = NULL;
+#line 6636 "SearchBoolean.c"
+}
+
+
+static void value_saved_search_table_free_value (GValue* value) {
+#line 890 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ if (value->data[0].v_pointer) {
+#line 890 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ saved_search_table_unref (value->data[0].v_pointer);
+#line 6645 "SearchBoolean.c"
+ }
+}
+
+
+static void value_saved_search_table_copy_value (const GValue* src_value, GValue* dest_value) {
+#line 890 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ if (src_value->data[0].v_pointer) {
+#line 890 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ dest_value->data[0].v_pointer = saved_search_table_ref (src_value->data[0].v_pointer);
+#line 6655 "SearchBoolean.c"
+ } else {
+#line 890 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ dest_value->data[0].v_pointer = NULL;
+#line 6659 "SearchBoolean.c"
+ }
+}
+
+
+static gpointer value_saved_search_table_peek_pointer (const GValue* value) {
+#line 890 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ return value->data[0].v_pointer;
+#line 6667 "SearchBoolean.c"
+}
+
+
+static gchar* value_saved_search_table_collect_value (GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) {
+#line 890 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ if (collect_values[0].v_pointer) {
+#line 6674 "SearchBoolean.c"
+ SavedSearchTable* object;
+ object = collect_values[0].v_pointer;
+#line 890 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ if (object->parent_instance.g_class == NULL) {
+#line 890 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL);
+#line 6681 "SearchBoolean.c"
+ } else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) {
+#line 890 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ return g_strconcat ("invalid object type `", g_type_name (G_TYPE_FROM_INSTANCE (object)), "' for value type `", G_VALUE_TYPE_NAME (value), "'", NULL);
+#line 6685 "SearchBoolean.c"
+ }
+#line 890 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ value->data[0].v_pointer = saved_search_table_ref (object);
+#line 6689 "SearchBoolean.c"
+ } else {
+#line 890 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ value->data[0].v_pointer = NULL;
+#line 6693 "SearchBoolean.c"
+ }
+#line 890 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ return NULL;
+#line 6697 "SearchBoolean.c"
+}
+
+
+static gchar* value_saved_search_table_lcopy_value (const GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) {
+ SavedSearchTable** object_p;
+ object_p = collect_values[0].v_pointer;
+#line 890 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ if (!object_p) {
+#line 890 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value));
+#line 6708 "SearchBoolean.c"
+ }
+#line 890 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ if (!value->data[0].v_pointer) {
+#line 890 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ *object_p = NULL;
+#line 6714 "SearchBoolean.c"
+ } else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) {
+#line 890 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ *object_p = value->data[0].v_pointer;
+#line 6718 "SearchBoolean.c"
+ } else {
+#line 890 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ *object_p = saved_search_table_ref (value->data[0].v_pointer);
+#line 6722 "SearchBoolean.c"
+ }
+#line 890 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ return NULL;
+#line 6726 "SearchBoolean.c"
+}
+
+
+GParamSpec* param_spec_saved_search_table (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags) {
+ ParamSpecSavedSearchTable* spec;
+#line 890 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ g_return_val_if_fail (g_type_is_a (object_type, TYPE_SAVED_SEARCH_TABLE), NULL);
+#line 890 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags);
+#line 890 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ G_PARAM_SPEC (spec)->value_type = object_type;
+#line 890 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ return G_PARAM_SPEC (spec);
+#line 6740 "SearchBoolean.c"
+}
+
+
+gpointer value_get_saved_search_table (const GValue* value) {
+#line 890 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_SAVED_SEARCH_TABLE), NULL);
+#line 890 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ return value->data[0].v_pointer;
+#line 6749 "SearchBoolean.c"
+}
+
+
+void value_set_saved_search_table (GValue* value, gpointer v_object) {
+ SavedSearchTable* old;
+#line 890 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_SAVED_SEARCH_TABLE));
+#line 890 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ old = value->data[0].v_pointer;
+#line 890 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ if (v_object) {
+#line 890 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_SAVED_SEARCH_TABLE));
+#line 890 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value)));
+#line 890 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ value->data[0].v_pointer = v_object;
+#line 890 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ saved_search_table_ref (value->data[0].v_pointer);
+#line 6769 "SearchBoolean.c"
+ } else {
+#line 890 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ value->data[0].v_pointer = NULL;
+#line 6773 "SearchBoolean.c"
+ }
+#line 890 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ if (old) {
+#line 890 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ saved_search_table_unref (old);
+#line 6779 "SearchBoolean.c"
+ }
+}
+
+
+void value_take_saved_search_table (GValue* value, gpointer v_object) {
+ SavedSearchTable* old;
+#line 890 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_SAVED_SEARCH_TABLE));
+#line 890 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ old = value->data[0].v_pointer;
+#line 890 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ if (v_object) {
+#line 890 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_SAVED_SEARCH_TABLE));
+#line 890 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value)));
+#line 890 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ value->data[0].v_pointer = v_object;
+#line 6798 "SearchBoolean.c"
+ } else {
+#line 890 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ value->data[0].v_pointer = NULL;
+#line 6802 "SearchBoolean.c"
+ }
+#line 890 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ if (old) {
+#line 890 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ saved_search_table_unref (old);
+#line 6808 "SearchBoolean.c"
+ }
+}
+
+
+static void saved_search_table_class_init (SavedSearchTableClass * klass) {
+#line 890 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ saved_search_table_parent_class = g_type_class_peek_parent (klass);
+#line 890 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ ((SavedSearchTableClass *) klass)->finalize = saved_search_table_finalize;
+#line 890 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ g_type_class_add_private (klass, sizeof (SavedSearchTablePrivate));
+#line 890 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ g_signal_new ("search_added", TYPE_SAVED_SEARCH_TABLE, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_marshal_VOID__OBJECT, G_TYPE_NONE, 1, TYPE_SAVED_SEARCH);
+#line 890 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ g_signal_new ("search_removed", TYPE_SAVED_SEARCH_TABLE, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_marshal_VOID__OBJECT, G_TYPE_NONE, 1, TYPE_SAVED_SEARCH);
+#line 6824 "SearchBoolean.c"
+}
+
+
+static void saved_search_table_instance_init (SavedSearchTable * self) {
+ GeeHashMap* _tmp0_ = NULL;
+#line 890 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ self->priv = SAVED_SEARCH_TABLE_GET_PRIVATE (self);
+#line 892 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _tmp0_ = gee_hash_map_new (G_TYPE_STRING, (GBoxedCopyFunc) g_strdup, g_free, TYPE_SAVED_SEARCH, (GBoxedCopyFunc) g_object_ref, g_object_unref, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);
+#line 892 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ self->priv->search_map = _tmp0_;
+#line 890 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ self->ref_count = 1;
+#line 6838 "SearchBoolean.c"
+}
+
+
+static void saved_search_table_finalize (SavedSearchTable* obj) {
+ SavedSearchTable * self;
+#line 890 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_SAVED_SEARCH_TABLE, SavedSearchTable);
+#line 890 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ g_signal_handlers_destroy (self);
+#line 892 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ _g_object_unref0 (self->priv->search_map);
+#line 6850 "SearchBoolean.c"
+}
+
+
+GType saved_search_table_get_type (void) {
+ static volatile gsize saved_search_table_type_id__volatile = 0;
+ if (g_once_init_enter (&saved_search_table_type_id__volatile)) {
+ static const GTypeValueTable g_define_type_value_table = { value_saved_search_table_init, value_saved_search_table_free_value, value_saved_search_table_copy_value, value_saved_search_table_peek_pointer, "p", value_saved_search_table_collect_value, "p", value_saved_search_table_lcopy_value };
+ static const GTypeInfo g_define_type_info = { sizeof (SavedSearchTableClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) saved_search_table_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (SavedSearchTable), 0, (GInstanceInitFunc) saved_search_table_instance_init, &g_define_type_value_table };
+ static const GTypeFundamentalInfo g_define_type_fundamental_info = { (G_TYPE_FLAG_CLASSED | G_TYPE_FLAG_INSTANTIATABLE | G_TYPE_FLAG_DERIVABLE | G_TYPE_FLAG_DEEP_DERIVABLE) };
+ GType saved_search_table_type_id;
+ saved_search_table_type_id = g_type_register_fundamental (g_type_fundamental_next (), "SavedSearchTable", &g_define_type_info, &g_define_type_fundamental_info, 0);
+ g_once_init_leave (&saved_search_table_type_id__volatile, saved_search_table_type_id);
+ }
+ return saved_search_table_type_id__volatile;
+}
+
+
+gpointer saved_search_table_ref (gpointer instance) {
+ SavedSearchTable* self;
+ self = instance;
+#line 890 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ g_atomic_int_inc (&self->ref_count);
+#line 890 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ return instance;
+#line 6875 "SearchBoolean.c"
+}
+
+
+void saved_search_table_unref (gpointer instance) {
+ SavedSearchTable* self;
+ self = instance;
+#line 890 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ if (g_atomic_int_dec_and_test (&self->ref_count)) {
+#line 890 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ SAVED_SEARCH_TABLE_GET_CLASS (self)->finalize (self);
+#line 890 "/home/jens/Source/shotwell/src/searches/SearchBoolean.vala"
+ g_type_free_instance ((GTypeInstance *) self);
+#line 6888 "SearchBoolean.c"
+ }
+}
+
+
+
diff --git a/src/searches/Searches.c b/src/searches/Searches.c
new file mode 100644
index 0000000..1ab6b90
--- /dev/null
+++ b/src/searches/Searches.c
@@ -0,0 +1,49 @@
+/* Searches.c generated by valac 0.32.1, the Vala compiler
+ * generated from Searches.vala, do not modify */
+
+/* Copyright 2016 Software Freedom Conservancy Inc.
+ *
+ * This software is licensed under the GNU Lesser General Public License
+ * (version 2.1 or later). See the COPYING file in this distribution.
+ */
+/* This file is the master unit file for the Searches unit. It should be edited to include
+ * whatever code is deemed necessary.
+ *
+ * The init() and terminate() methods are mandatory.
+ *
+ * If the unit needs to be configured prior to initialization, add the proper parameters to
+ * the preconfigure() method, implement it, and ensure in init() that it's been called.
+ */
+
+#include <glib.h>
+#include <glib-object.h>
+
+
+
+
+void searches_preconfigure (void);
+void searches_init (GError** error);
+void searches_sidebar_entry_init (void);
+void searches_terminate (void);
+void searches_sidebar_entry_terminate (void);
+
+
+void searches_preconfigure (void) {
+}
+
+
+void searches_init (GError** error) {
+#line 23 "/home/jens/Source/shotwell/src/searches/Searches.vala"
+ searches_sidebar_entry_init ();
+#line 39 "Searches.c"
+}
+
+
+void searches_terminate (void) {
+#line 27 "/home/jens/Source/shotwell/src/searches/Searches.vala"
+ searches_sidebar_entry_terminate ();
+#line 46 "Searches.c"
+}
+
+
+
diff --git a/src/searches/mk/searches.mk b/src/searches/mk/searches.mk
deleted file mode 100644
index 6df4b5d..0000000
--- a/src/searches/mk/searches.mk
+++ /dev/null
@@ -1,31 +0,0 @@
-
-# UNIT_NAME is the Vala namespace. A file named UNIT_NAME.vala must be in this directory with
-# a init() and terminate() function declared in the namespace.
-UNIT_NAME := Searches
-
-# UNIT_DIR should match the subdirectory the files are located in. Generally UNIT_NAME in all
-# lowercase. The name of this file should be UNIT_DIR.mk.
-UNIT_DIR := searches
-
-# All Vala files in the unit should be listed here with no subdirectory prefix.
-#
-# NOTE: Do *not* include the unit's master file, i.e. UNIT_NAME.vala.
-UNIT_FILES := \
- Branch.vala \
- SearchBoolean.vala \
- SavedSearchPage.vala \
- SavedSearchDialog.vala
-
-# Any unit this unit relies upon (and should be initialized before it's initialized) should
-# be listed here using its Vala namespace.
-#
-# NOTE: All units are assumed to rely upon the unit-unit. Do not include that here.
-UNIT_USES :=
-
-# List any additional files that are used in the build process as a part of this unit that should
-# be packaged in the tarball. File names should be relative to the unit's home directory.
-UNIT_RC :=
-
-# unitize.mk must be called at the end of each UNIT_DIR.mk file.
-include unitize.mk
-