/* 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"
	}
}