/* SavedSearchDialog.c generated by valac 0.36.6, 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 <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;
enum  {
	SAVED_SEARCH_DIALOG_SEARCH_ROW_CONTAINER_REMOVE_SIGNAL,
	SAVED_SEARCH_DIALOG_SEARCH_ROW_CONTAINER_CHANGED_SIGNAL,
	SAVED_SEARCH_DIALOG_SEARCH_ROW_CONTAINER_LAST_SIGNAL
};
static guint saved_search_dialog_search_row_container_signals[SAVED_SEARCH_DIALOG_SEARCH_ROW_CONTAINER_LAST_SIGNAL] = {0};
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 _Block10Data Block10Data;
#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 {
	GtkDialog parent_instance;
	SavedSearchDialogPrivate * priv;
};

struct _SavedSearchDialogClass {
	GtkDialogClass parent_class;
};

struct _SavedSearchDialogPrivate {
	GtkButton* add_criteria;
	GtkComboBoxText* operator;
	GtkEntry* search_title;
	GtkListBox* row_listbox;
	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;
	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 _Block10Data {
	int _ref_count_;
	SavedSearchDialogSearchRowDate* self;
	GtkDialog* d;
};


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;

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
};
SavedSearchDialog* saved_search_dialog_new (void);
SavedSearchDialog* saved_search_dialog_construct (GType object_type);
gint resources_use_header_bar (void);
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);
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 void saved_search_dialog_on_add_criteria (SavedSearchDialog* self);
static void _saved_search_dialog_on_add_criteria_gtk_button_clicked (GtkButton* _sender, gpointer self);
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);
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 void saved_search_dialog_search_row_container_on_removed (SavedSearchDialogSearchRowContainer* self);
static void _saved_search_dialog_search_row_container_on_removed_gtk_button_clicked (GtkButton* _sender, 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 Block10Data* block10_data_ref (Block10Data* _data10_);
static void block10_data_unref (void * _userdata_);
#define RESOURCES_CANCEL_LABEL _ ("_Cancel")
#define RESOURCES_OK_LABEL _ ("_OK")
static void __lambda14_ (SavedSearchDialogSearchRowDate* self);
static void ___lambda14__gtk_calendar_day_selected (GtkCalendar* _sender, gpointer self);
static void __lambda15_ (Block10Data* _data10_);
static void ___lambda15__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 (GObject * obj);


SavedSearchDialog* saved_search_dialog_construct (GType object_type) {
	SavedSearchDialog * self = NULL;
	gint _tmp0_;
	GtkEntry* _tmp1_;
	SavedSearchTable* _tmp2_;
	SavedSearchTable* _tmp3_;
	gchar* _tmp4_;
	gchar* _tmp5_;
	GtkEntry* _tmp6_;
	GeeArrayList* _tmp7_;
	gpointer _tmp8_;
	SavedSearchDialogSearchRowContainer* _tmp9_;
#line 657 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp0_ = resources_use_header_bar ();
#line 657 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	self = (SavedSearchDialog*) g_object_new (object_type, "use-header-bar", _tmp0_, NULL);
#line 659 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	saved_search_dialog_setup_dialog (self);
#line 662 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp1_ = self->priv->search_title;
#line 662 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp2_ = saved_search_table_get_instance ();
#line 662 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp3_ = _tmp2_;
#line 662 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp4_ = saved_search_table_generate_unique_name (_tmp3_);
#line 662 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp5_ = _tmp4_;
#line 662 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	gtk_entry_set_text (_tmp1_, _tmp5_);
#line 662 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_g_free0 (_tmp5_);
#line 662 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_saved_search_table_unref0 (_tmp3_);
#line 663 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp6_ = self->priv->search_title;
#line 663 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	gtk_editable_select_region (G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, GTK_TYPE_EDITABLE, GtkEditable), 0, -1);
#line 666 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	saved_search_dialog_add_text_search (self);
#line 667 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp7_ = self->priv->row_list;
#line 667 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp8_ = gee_abstract_list_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, GEE_TYPE_ABSTRACT_LIST, GeeAbstractList), 0);
#line 667 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp9_ = (SavedSearchDialogSearchRowContainer*) _tmp8_;
#line 667 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	saved_search_dialog_search_row_container_allow_removal (_tmp9_, FALSE);
#line 667 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_saved_search_dialog_search_row_container_unref0 (_tmp9_);
#line 669 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	gtk_widget_show_all (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_widget_get_type (), GtkWidget));
#line 670 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	saved_search_dialog_set_valid (self, FALSE);
#line 656 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	return self;
#line 870 "SavedSearchDialog.c"
}


SavedSearchDialog* saved_search_dialog_new (void) {
#line 656 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	return saved_search_dialog_construct (TYPE_SAVED_SEARCH_DIALOG);
#line 877 "SavedSearchDialog.c"
}


static gpointer _g_object_ref0 (gpointer self) {
#line 676 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	return self ? g_object_ref (self) : NULL;
#line 884 "SavedSearchDialog.c"
}


SavedSearchDialog* saved_search_dialog_construct_edit_existing (GType object_type, SavedSearch* saved_search) {
	SavedSearchDialog * self = NULL;
	gint _tmp0_;
	SavedSearch* _tmp1_;
	SavedSearch* _tmp2_;
	GtkComboBoxText* _tmp3_;
	SavedSearch* _tmp4_;
	SearchOperator _tmp5_;
	GtkEntry* _tmp6_;
	SavedSearch* _tmp7_;
	gchar* _tmp8_;
	gchar* _tmp9_;
	GeeArrayList* _tmp24_;
	gint _tmp25_;
	gint _tmp26_;
#line 673 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	g_return_val_if_fail (IS_SAVED_SEARCH (saved_search), NULL);
#line 674 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp0_ = resources_use_header_bar ();
#line 674 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	self = (SavedSearchDialog*) g_object_new (object_type, "use-header-bar", _tmp0_, NULL);
#line 676 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp1_ = saved_search;
#line 676 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp2_ = _g_object_ref0 (_tmp1_);
#line 676 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_g_object_unref0 (self->priv->previous_search);
#line 676 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	self->priv->previous_search = _tmp2_;
#line 677 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	self->priv->edit_mode = TRUE;
#line 678 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	saved_search_dialog_setup_dialog (self);
#line 680 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	gtk_widget_show_all (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_widget_get_type (), GtkWidget));
#line 683 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp3_ = self->priv->operator;
#line 683 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp4_ = saved_search;
#line 683 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp5_ = saved_search_get_operator (_tmp4_);
#line 683 "/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 684 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp6_ = self->priv->search_title;
#line 684 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp7_ = saved_search;
#line 684 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp8_ = data_object_get_name (G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, TYPE_DATA_OBJECT, DataObject));
#line 684 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp9_ = _tmp8_;
#line 684 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	gtk_entry_set_text (_tmp6_, _tmp9_);
#line 684 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_g_free0 (_tmp9_);
#line 943 "SavedSearchDialog.c"
	{
		GeeList* _sc_list = NULL;
		SavedSearch* _tmp10_;
		GeeList* _tmp11_;
		gint _sc_size = 0;
		GeeList* _tmp12_;
		gint _tmp13_;
		gint _tmp14_;
		gint _sc_index = 0;
#line 685 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
		_tmp10_ = saved_search;
#line 685 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
		_tmp11_ = saved_search_get_conditions (_tmp10_);
#line 685 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
		_sc_list = _tmp11_;
#line 685 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
		_tmp12_ = _sc_list;
#line 685 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
		_tmp13_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp12_, GEE_TYPE_COLLECTION, GeeCollection));
#line 685 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
		_tmp14_ = _tmp13_;
#line 685 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
		_sc_size = _tmp14_;
#line 685 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
		_sc_index = -1;
#line 685 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
		while (TRUE) {
#line 971 "SavedSearchDialog.c"
			gint _tmp15_;
			gint _tmp16_;
			gint _tmp17_;
			SearchCondition* sc = NULL;
			GeeList* _tmp18_;
			gint _tmp19_;
			gpointer _tmp20_;
			SearchCondition* _tmp21_;
			SavedSearchDialogSearchRowContainer* _tmp22_;
			SavedSearchDialogSearchRowContainer* _tmp23_;
#line 685 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
			_tmp15_ = _sc_index;
#line 685 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
			_sc_index = _tmp15_ + 1;
#line 685 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
			_tmp16_ = _sc_index;
#line 685 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
			_tmp17_ = _sc_size;
#line 685 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
			if (!(_tmp16_ < _tmp17_)) {
#line 685 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
				break;
#line 994 "SavedSearchDialog.c"
			}
#line 685 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
			_tmp18_ = _sc_list;
#line 685 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
			_tmp19_ = _sc_index;
#line 685 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
			_tmp20_ = gee_list_get (_tmp18_, _tmp19_);
#line 685 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
			sc = (SearchCondition*) _tmp20_;
#line 686 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
			_tmp21_ = sc;
#line 686 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
			_tmp22_ = saved_search_dialog_search_row_container_new_edit_existing (_tmp21_);
#line 686 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
			_tmp23_ = _tmp22_;
#line 686 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
			saved_search_dialog_add_row (self, _tmp23_);
#line 686 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
			_saved_search_dialog_search_row_container_unref0 (_tmp23_);
#line 685 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
			_search_condition_unref0 (sc);
#line 1016 "SavedSearchDialog.c"
		}
#line 685 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
		_g_object_unref0 (_sc_list);
#line 1020 "SavedSearchDialog.c"
	}
#line 689 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp24_ = self->priv->row_list;
#line 689 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp25_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp24_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection));
#line 689 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp26_ = _tmp25_;
#line 689 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	if (_tmp26_ == 1) {
#line 1030 "SavedSearchDialog.c"
		GeeArrayList* _tmp27_;
		gpointer _tmp28_;
		SavedSearchDialogSearchRowContainer* _tmp29_;
#line 690 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
		_tmp27_ = self->priv->row_list;
#line 690 "/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 690 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
		_tmp29_ = (SavedSearchDialogSearchRowContainer*) _tmp28_;
#line 690 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
		saved_search_dialog_search_row_container_allow_removal (_tmp29_, FALSE);
#line 690 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
		_saved_search_dialog_search_row_container_unref0 (_tmp29_);
#line 1044 "SavedSearchDialog.c"
	}
#line 692 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	saved_search_dialog_set_valid (self, TRUE);
#line 673 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	return self;
#line 1050 "SavedSearchDialog.c"
}


SavedSearchDialog* saved_search_dialog_new_edit_existing (SavedSearch* saved_search) {
#line 673 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	return saved_search_dialog_construct_edit_existing (TYPE_SAVED_SEARCH_DIALOG, saved_search);
#line 1057 "SavedSearchDialog.c"
}


static void _saved_search_dialog_on_response_gtk_dialog_response (GtkDialog* _sender, gint response_id, gpointer self) {
#line 698 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	saved_search_dialog_on_response ((SavedSearchDialog*) self, response_id);
#line 1064 "SavedSearchDialog.c"
}


static void _saved_search_dialog_on_add_criteria_gtk_button_clicked (GtkButton* _sender, gpointer self) {
#line 700 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	saved_search_dialog_on_add_criteria ((SavedSearchDialog*) self);
#line 1071 "SavedSearchDialog.c"
}


static void _saved_search_dialog_on_title_changed_gtk_editable_changed (GtkEditable* _sender, gpointer self) {
#line 702 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	saved_search_dialog_on_title_changed ((SavedSearchDialog*) self);
#line 1078 "SavedSearchDialog.c"
}


static void saved_search_dialog_setup_dialog (SavedSearchDialog* self) {
	AppWindow* _tmp0_;
	AppWindow* _tmp1_;
	GtkButton* _tmp2_;
	GtkEntry* _tmp3_;
#line 696 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	g_return_if_fail (IS_SAVED_SEARCH_DIALOG (self));
#line 697 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp0_ = app_window_get_instance ();
#line 697 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp1_ = _tmp0_;
#line 697 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	gtk_window_set_transient_for (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_window_get_type (), GtkWindow), G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, gtk_window_get_type (), GtkWindow));
#line 697 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_g_object_unref0 (_tmp1_);
#line 698 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_dialog_get_type (), GtkDialog), "response", (GCallback) _saved_search_dialog_on_response_gtk_dialog_response, self, 0);
#line 700 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp2_ = self->priv->add_criteria;
#line 700 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	g_signal_connect_object (_tmp2_, "clicked", (GCallback) _saved_search_dialog_on_add_criteria_gtk_button_clicked, self, 0);
#line 702 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp3_ = self->priv->search_title;
#line 702 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	g_signal_connect_object (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, GTK_TYPE_EDITABLE, GtkEditable), "changed", (GCallback) _saved_search_dialog_on_title_changed_gtk_editable_changed, self, 0);
#line 1107 "SavedSearchDialog.c"
}


void saved_search_dialog_show (SavedSearchDialog* self) {
#line 706 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	g_return_if_fail (IS_SAVED_SEARCH_DIALOG (self));
#line 707 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	gtk_dialog_run (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_dialog_get_type (), GtkDialog));
#line 708 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	gtk_widget_destroy (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_widget_get_type (), GtkWidget));
#line 1118 "SavedSearchDialog.c"
}


static void saved_search_dialog_on_add_criteria (SavedSearchDialog* self) {
#line 712 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	g_return_if_fail (IS_SAVED_SEARCH_DIALOG (self));
#line 713 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	saved_search_dialog_add_text_search (self);
#line 1127 "SavedSearchDialog.c"
}


static void saved_search_dialog_add_text_search (SavedSearchDialog* self) {
	SavedSearchDialogSearchRowContainer* text = NULL;
	SavedSearchDialogSearchRowContainer* _tmp0_;
#line 716 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	g_return_if_fail (IS_SAVED_SEARCH_DIALOG (self));
#line 717 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp0_ = saved_search_dialog_search_row_container_new ();
#line 717 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	text = _tmp0_;
#line 718 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	saved_search_dialog_add_row (self, text);
#line 716 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_saved_search_dialog_search_row_container_unref0 (text);
#line 1144 "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 727 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	saved_search_dialog_on_remove_row ((SavedSearchDialog*) self, this_row);
#line 1151 "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 728 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	saved_search_dialog_on_row_changed ((SavedSearchDialog*) self, this_row);
#line 1158 "SavedSearchDialog.c"
}


static void saved_search_dialog_add_row (SavedSearchDialog* self, SavedSearchDialogSearchRowContainer* row) {
	GeeArrayList* _tmp0_;
	gint _tmp1_;
	gint _tmp2_;
	GtkListBox* _tmp6_;
	SavedSearchDialogSearchRowContainer* _tmp7_;
	GtkWidget* _tmp8_;
	GtkWidget* _tmp9_;
	GeeArrayList* _tmp10_;
	SavedSearchDialogSearchRowContainer* _tmp11_;
	SavedSearchDialogSearchRowContainer* _tmp12_;
	SavedSearchDialogSearchRowContainer* _tmp13_;
	SavedSearchDialogSearchRowContainer* _tmp14_;
	gboolean _tmp15_;
#line 722 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	g_return_if_fail (IS_SAVED_SEARCH_DIALOG (self));
#line 722 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	g_return_if_fail (SAVED_SEARCH_DIALOG_IS_SEARCH_ROW_CONTAINER (row));
#line 723 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp0_ = self->priv->row_list;
#line 723 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp1_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection));
#line 723 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp2_ = _tmp1_;
#line 723 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	if (_tmp2_ == 1) {
#line 1188 "SavedSearchDialog.c"
		GeeArrayList* _tmp3_;
		gpointer _tmp4_;
		SavedSearchDialogSearchRowContainer* _tmp5_;
#line 724 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
		_tmp3_ = self->priv->row_list;
#line 724 "/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 724 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
		_tmp5_ = (SavedSearchDialogSearchRowContainer*) _tmp4_;
#line 724 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
		saved_search_dialog_search_row_container_allow_removal (_tmp5_, TRUE);
#line 724 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
		_saved_search_dialog_search_row_container_unref0 (_tmp5_);
#line 1202 "SavedSearchDialog.c"
	}
#line 725 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp6_ = self->priv->row_listbox;
#line 725 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp7_ = row;
#line 725 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp8_ = saved_search_dialog_search_row_container_get_widget (_tmp7_);
#line 725 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp9_ = _tmp8_;
#line 725 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	gtk_container_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, gtk_container_get_type (), GtkContainer), _tmp9_);
#line 725 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_g_object_unref0 (_tmp9_);
#line 726 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp10_ = self->priv->row_list;
#line 726 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp11_ = row;
#line 726 "/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 727 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp12_ = row;
#line 727 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	g_signal_connect_object (_tmp12_, "remove", (GCallback) _saved_search_dialog_on_remove_row_saved_search_dialog_search_row_container_remove, self, 0);
#line 728 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp13_ = row;
#line 728 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	g_signal_connect_object (_tmp13_, "changed", (GCallback) _saved_search_dialog_on_row_changed_saved_search_dialog_search_row_container_changed, self, 0);
#line 729 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp14_ = row;
#line 729 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp15_ = saved_search_dialog_search_row_container_is_complete (_tmp14_);
#line 729 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	saved_search_dialog_set_valid (self, _tmp15_);
#line 1236 "SavedSearchDialog.c"
}


static void saved_search_dialog_on_remove_row (SavedSearchDialog* self, SavedSearchDialogSearchRowContainer* row) {
	SavedSearchDialogSearchRowContainer* _tmp0_;
	guint _tmp1_;
	SavedSearchDialogSearchRowContainer* _tmp2_;
	guint _tmp3_;
	GtkListBox* _tmp4_;
	SavedSearchDialogSearchRowContainer* _tmp5_;
	GtkWidget* _tmp6_;
	GtkWidget* _tmp7_;
	GtkContainer* _tmp8_;
	GeeArrayList* _tmp9_;
	SavedSearchDialogSearchRowContainer* _tmp10_;
	GeeArrayList* _tmp11_;
	gint _tmp12_;
	gint _tmp13_;
#line 733 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	g_return_if_fail (IS_SAVED_SEARCH_DIALOG (self));
#line 733 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	g_return_if_fail (SAVED_SEARCH_DIALOG_IS_SEARCH_ROW_CONTAINER (row));
#line 734 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp0_ = row;
#line 734 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	g_signal_parse_name ("remove", SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW_CONTAINER, &_tmp1_, NULL, FALSE);
#line 734 "/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 735 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp2_ = row;
#line 735 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	g_signal_parse_name ("changed", SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW_CONTAINER, &_tmp3_, NULL, FALSE);
#line 735 "/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 736 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp4_ = self->priv->row_listbox;
#line 736 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp5_ = row;
#line 736 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp6_ = saved_search_dialog_search_row_container_get_widget (_tmp5_);
#line 736 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp7_ = _tmp6_;
#line 736 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp8_ = (GtkContainer*) gtk_widget_get_parent (_tmp7_);
#line 736 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	gtk_container_remove (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, gtk_container_get_type (), GtkContainer), G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, gtk_widget_get_type (), GtkWidget));
#line 736 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_g_object_unref0 (_tmp7_);
#line 737 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp9_ = self->priv->row_list;
#line 737 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp10_ = row;
#line 737 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	gee_abstract_collection_remove (G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp10_);
#line 738 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp11_ = self->priv->row_list;
#line 738 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp12_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp11_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection));
#line 738 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp13_ = _tmp12_;
#line 738 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	if (_tmp13_ == 1) {
#line 1299 "SavedSearchDialog.c"
		GeeArrayList* _tmp14_;
		gpointer _tmp15_;
		SavedSearchDialogSearchRowContainer* _tmp16_;
#line 739 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
		_tmp14_ = self->priv->row_list;
#line 739 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
		_tmp15_ = gee_abstract_list_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp14_, GEE_TYPE_ABSTRACT_LIST, GeeAbstractList), 0);
#line 739 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
		_tmp16_ = (SavedSearchDialogSearchRowContainer*) _tmp15_;
#line 739 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
		saved_search_dialog_search_row_container_allow_removal (_tmp16_, FALSE);
#line 739 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
		_saved_search_dialog_search_row_container_unref0 (_tmp16_);
#line 1313 "SavedSearchDialog.c"
	}
#line 740 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	saved_search_dialog_set_valid (self, TRUE);
#line 1317 "SavedSearchDialog.c"
}


static void saved_search_dialog_on_response (SavedSearchDialog* self, gint response_id) {
	gint _tmp0_;
#line 743 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	g_return_if_fail (IS_SAVED_SEARCH_DIALOG (self));
#line 744 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp0_ = response_id;
#line 744 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	if (_tmp0_ == ((gint) GTK_RESPONSE_OK)) {
#line 1329 "SavedSearchDialog.c"
		gboolean _tmp1_ = FALSE;
		SavedSearchTable* _tmp2_;
		SavedSearchTable* _tmp3_;
		GtkEntry* _tmp4_;
		const gchar* _tmp5_;
		gboolean _tmp6_;
		gboolean _tmp7_;
		gboolean _tmp19_;
		GeeArrayList* conditions = NULL;
		GeeArrayList* _tmp23_;
		SearchOperator search_operator = 0;
		GtkComboBoxText* _tmp39_;
		gint _tmp40_;
		SavedSearchTable* _tmp41_;
		SavedSearchTable* _tmp42_;
		GtkEntry* _tmp43_;
		const gchar* _tmp44_;
		SearchOperator _tmp45_;
		GeeArrayList* _tmp46_;
		SavedSearch* _tmp47_;
		SavedSearch* _tmp48_;
#line 745 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
		_tmp2_ = saved_search_table_get_instance ();
#line 745 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
		_tmp3_ = _tmp2_;
#line 745 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
		_tmp4_ = self->priv->search_title;
#line 745 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
		_tmp5_ = gtk_entry_get_text (_tmp4_);
#line 745 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
		_tmp6_ = saved_search_table_exists (_tmp3_, _tmp5_);
#line 745 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
		_tmp7_ = _tmp6_;
#line 745 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
		_saved_search_table_unref0 (_tmp3_);
#line 745 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
		if (_tmp7_) {
#line 1367 "SavedSearchDialog.c"
			gboolean _tmp8_ = FALSE;
			gboolean _tmp9_;
#line 746 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
			_tmp9_ = self->priv->edit_mode;
#line 746 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
			if (_tmp9_) {
#line 1374 "SavedSearchDialog.c"
				SavedSearch* _tmp10_;
				gchar* _tmp11_;
				gchar* _tmp12_;
				GtkEntry* _tmp13_;
				const gchar* _tmp14_;
#line 746 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
				_tmp10_ = self->priv->previous_search;
#line 746 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
				_tmp11_ = data_object_get_name (G_TYPE_CHECK_INSTANCE_CAST (_tmp10_, TYPE_DATA_OBJECT, DataObject));
#line 746 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
				_tmp12_ = _tmp11_;
#line 746 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
				_tmp13_ = self->priv->search_title;
#line 746 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
				_tmp14_ = gtk_entry_get_text (_tmp13_);
#line 746 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
				_tmp8_ = g_strcmp0 (_tmp12_, _tmp14_) == 0;
#line 746 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
				_g_free0 (_tmp12_);
#line 1394 "SavedSearchDialog.c"
			} else {
#line 746 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
				_tmp8_ = FALSE;
#line 1398 "SavedSearchDialog.c"
			}
#line 746 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
			_tmp1_ = !_tmp8_;
#line 1402 "SavedSearchDialog.c"
		} else {
#line 745 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
			_tmp1_ = FALSE;
#line 1406 "SavedSearchDialog.c"
		}
#line 745 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
		if (_tmp1_) {
#line 1410 "SavedSearchDialog.c"
			GtkEntry* _tmp15_;
			const gchar* _tmp16_;
			gchar* _tmp17_;
			gchar* _tmp18_;
#line 747 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
			_tmp15_ = self->priv->search_title;
#line 747 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
			_tmp16_ = gtk_entry_get_text (_tmp15_);
#line 747 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
			_tmp17_ = resources_rename_search_exists_message (_tmp16_);
#line 747 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
			_tmp18_ = _tmp17_;
#line 747 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
			app_window_error_message (_tmp18_, NULL);
#line 747 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
			_g_free0 (_tmp18_);
#line 748 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
			return;
#line 1429 "SavedSearchDialog.c"
		}
#line 751 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
		_tmp19_ = self->priv->edit_mode;
#line 751 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
		if (_tmp19_) {
#line 1435 "SavedSearchDialog.c"
			SavedSearchTable* _tmp20_;
			SavedSearchTable* _tmp21_;
			SavedSearch* _tmp22_;
#line 753 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
			_tmp20_ = saved_search_table_get_instance ();
#line 753 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
			_tmp21_ = _tmp20_;
#line 753 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
			_tmp22_ = self->priv->previous_search;
#line 753 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
			saved_search_table_remove (_tmp21_, _tmp22_);
#line 753 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
			_saved_search_table_unref0 (_tmp21_);
#line 1449 "SavedSearchDialog.c"
		}
#line 757 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
		_tmp23_ = gee_array_list_new (TYPE_SEARCH_CONDITION, (GBoxedCopyFunc) search_condition_ref, (GDestroyNotify) search_condition_unref, NULL, NULL, NULL);
#line 757 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
		conditions = _tmp23_;
#line 1455 "SavedSearchDialog.c"
		{
			GeeArrayList* _c_list = NULL;
			GeeArrayList* _tmp24_;
			GeeArrayList* _tmp25_;
			gint _c_size = 0;
			GeeArrayList* _tmp26_;
			gint _tmp27_;
			gint _tmp28_;
			gint _c_index = 0;
#line 758 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
			_tmp24_ = self->priv->row_list;
#line 758 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
			_tmp25_ = _g_object_ref0 (_tmp24_);
#line 758 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
			_c_list = _tmp25_;
#line 758 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
			_tmp26_ = _c_list;
#line 758 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
			_tmp27_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp26_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection));
#line 758 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
			_tmp28_ = _tmp27_;
#line 758 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
			_c_size = _tmp28_;
#line 758 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
			_c_index = -1;
#line 758 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
			while (TRUE) {
#line 1483 "SavedSearchDialog.c"
				gint _tmp29_;
				gint _tmp30_;
				gint _tmp31_;
				SavedSearchDialogSearchRowContainer* c = NULL;
				GeeArrayList* _tmp32_;
				gint _tmp33_;
				gpointer _tmp34_;
				GeeArrayList* _tmp35_;
				SavedSearchDialogSearchRowContainer* _tmp36_;
				SearchCondition* _tmp37_;
				SearchCondition* _tmp38_;
#line 758 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
				_tmp29_ = _c_index;
#line 758 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
				_c_index = _tmp29_ + 1;
#line 758 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
				_tmp30_ = _c_index;
#line 758 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
				_tmp31_ = _c_size;
#line 758 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
				if (!(_tmp30_ < _tmp31_)) {
#line 758 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
					break;
#line 1507 "SavedSearchDialog.c"
				}
#line 758 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
				_tmp32_ = _c_list;
#line 758 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
				_tmp33_ = _c_index;
#line 758 "/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 758 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
				c = (SavedSearchDialogSearchRowContainer*) _tmp34_;
#line 759 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
				_tmp35_ = conditions;
#line 759 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
				_tmp36_ = c;
#line 759 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
				_tmp37_ = saved_search_dialog_search_row_container_get_search_condition (_tmp36_);
#line 759 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
				_tmp38_ = _tmp37_;
#line 759 "/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 759 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
				_search_condition_unref0 (_tmp38_);
#line 758 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
				_saved_search_dialog_search_row_container_unref0 (c);
#line 1531 "SavedSearchDialog.c"
			}
#line 758 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
			_g_object_unref0 (_c_list);
#line 1535 "SavedSearchDialog.c"
		}
#line 763 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
		_tmp39_ = self->priv->operator;
#line 763 "/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 763 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
		search_operator = (SearchOperator) _tmp40_;
#line 764 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
		_tmp41_ = saved_search_table_get_instance ();
#line 764 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
		_tmp42_ = _tmp41_;
#line 764 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
		_tmp43_ = self->priv->search_title;
#line 764 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
		_tmp44_ = gtk_entry_get_text (_tmp43_);
#line 764 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
		_tmp45_ = search_operator;
#line 764 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
		_tmp46_ = conditions;
#line 764 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
		_tmp47_ = saved_search_table_create (_tmp42_, _tmp44_, _tmp45_, _tmp46_);
#line 764 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
		_tmp48_ = _tmp47_;
#line 764 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
		_g_object_unref0 (_tmp48_);
#line 764 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
		_saved_search_table_unref0 (_tmp42_);
#line 744 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
		_g_object_unref0 (conditions);
#line 1565 "SavedSearchDialog.c"
	}
}


static void saved_search_dialog_on_row_changed (SavedSearchDialog* self, SavedSearchDialogSearchRowContainer* row) {
	SavedSearchDialogSearchRowContainer* _tmp0_;
	gboolean _tmp1_;
#line 768 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	g_return_if_fail (IS_SAVED_SEARCH_DIALOG (self));
#line 768 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	g_return_if_fail (SAVED_SEARCH_DIALOG_IS_SEARCH_ROW_CONTAINER (row));
#line 769 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp0_ = row;
#line 769 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp1_ = saved_search_dialog_search_row_container_is_complete (_tmp0_);
#line 769 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	saved_search_dialog_set_valid (self, _tmp1_);
#line 1583 "SavedSearchDialog.c"
}


static void saved_search_dialog_on_title_changed (SavedSearchDialog* self) {
	gboolean _tmp0_;
#line 772 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	g_return_if_fail (IS_SAVED_SEARCH_DIALOG (self));
#line 773 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp0_ = saved_search_dialog_is_title_valid (self);
#line 773 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	saved_search_dialog_set_valid (self, _tmp0_);
#line 1595 "SavedSearchDialog.c"
}


static gchar* string_chomp (const gchar* self) {
	gchar* result = NULL;
	gchar* _result_ = NULL;
	gchar* _tmp0_;
	const gchar* _tmp1_;
#line 1218 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
	g_return_val_if_fail (self != NULL, NULL);
#line 1219 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
	_tmp0_ = g_strdup (self);
#line 1219 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
	_result_ = _tmp0_;
#line 1220 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
	_tmp1_ = _result_;
#line 1220 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
	g_strchomp (_tmp1_);
#line 1221 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
	result = _result_;
#line 1221 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
	return result;
#line 1618 "SavedSearchDialog.c"
}


static gboolean saved_search_dialog_is_title_valid (SavedSearchDialog* self) {
	gboolean result = FALSE;
	gboolean _tmp0_ = FALSE;
	gboolean _tmp1_ = FALSE;
	gboolean _tmp2_;
	GtkEntry* _tmp9_;
	const gchar* _tmp10_;
	gchar* _tmp11_;
	gchar* _tmp12_;
	gboolean _tmp13_;
	SavedSearchTable* _tmp14_;
	SavedSearchTable* _tmp15_;
	GtkEntry* _tmp16_;
	const gchar* _tmp17_;
	gboolean _tmp18_;
	gboolean _tmp19_;
#line 776 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	g_return_val_if_fail (IS_SAVED_SEARCH_DIALOG (self), FALSE);
#line 777 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp2_ = self->priv->edit_mode;
#line 777 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	if (_tmp2_) {
#line 1644 "SavedSearchDialog.c"
		SavedSearch* _tmp3_;
#line 777 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
		_tmp3_ = self->priv->previous_search;
#line 777 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
		_tmp1_ = _tmp3_ != NULL;
#line 1650 "SavedSearchDialog.c"
	} else {
#line 777 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
		_tmp1_ = FALSE;
#line 1654 "SavedSearchDialog.c"
	}
#line 777 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	if (_tmp1_) {
#line 1658 "SavedSearchDialog.c"
		SavedSearch* _tmp4_;
		gchar* _tmp5_;
		gchar* _tmp6_;
		GtkEntry* _tmp7_;
		const gchar* _tmp8_;
#line 778 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
		_tmp4_ = self->priv->previous_search;
#line 778 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
		_tmp5_ = data_object_get_name (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, TYPE_DATA_OBJECT, DataObject));
#line 778 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
		_tmp6_ = _tmp5_;
#line 778 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
		_tmp7_ = self->priv->search_title;
#line 778 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
		_tmp8_ = gtk_entry_get_text (_tmp7_);
#line 778 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
		_tmp0_ = g_strcmp0 (_tmp6_, _tmp8_) == 0;
#line 778 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
		_g_free0 (_tmp6_);
#line 1678 "SavedSearchDialog.c"
	} else {
#line 777 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
		_tmp0_ = FALSE;
#line 1682 "SavedSearchDialog.c"
	}
#line 777 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	if (_tmp0_) {
#line 779 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
		result = TRUE;
#line 779 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
		return result;
#line 1690 "SavedSearchDialog.c"
	}
#line 780 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp9_ = self->priv->search_title;
#line 780 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp10_ = gtk_entry_get_text (_tmp9_);
#line 780 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp11_ = string_chomp (_tmp10_);
#line 780 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp12_ = _tmp11_;
#line 780 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp13_ = g_strcmp0 (_tmp12_, "") == 0;
#line 780 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_g_free0 (_tmp12_);
#line 780 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	if (_tmp13_) {
#line 781 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
		result = FALSE;
#line 781 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
		return result;
#line 1710 "SavedSearchDialog.c"
	}
#line 782 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp14_ = saved_search_table_get_instance ();
#line 782 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp15_ = _tmp14_;
#line 782 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp16_ = self->priv->search_title;
#line 782 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp17_ = gtk_entry_get_text (_tmp16_);
#line 782 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp18_ = saved_search_table_exists (_tmp15_, _tmp17_);
#line 782 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp19_ = _tmp18_;
#line 782 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_saved_search_table_unref0 (_tmp15_);
#line 782 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	if (_tmp19_) {
#line 783 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
		result = FALSE;
#line 783 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
		return result;
#line 1732 "SavedSearchDialog.c"
	}
#line 784 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	result = TRUE;
#line 784 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	return result;
#line 1738 "SavedSearchDialog.c"
}


static void saved_search_dialog_set_valid (SavedSearchDialog* self, gboolean v) {
	gboolean _tmp0_;
	gboolean _tmp22_;
#line 788 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	g_return_if_fail (IS_SAVED_SEARCH_DIALOG (self));
#line 789 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp0_ = v;
#line 789 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	if (!_tmp0_) {
#line 790 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
		self->priv->valid = FALSE;
#line 1753 "SavedSearchDialog.c"
	} else {
		gboolean _tmp1_;
		gboolean _tmp2_;
#line 791 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
		_tmp1_ = v;
#line 791 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
		_tmp2_ = self->priv->valid;
#line 791 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
		if (_tmp1_ != _tmp2_) {
#line 1763 "SavedSearchDialog.c"
			gboolean _tmp3_;
#line 792 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
			_tmp3_ = saved_search_dialog_is_title_valid (self);
#line 792 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
			if (_tmp3_) {
#line 1769 "SavedSearchDialog.c"
				gint valid_rows = 0;
				gint _tmp18_;
				GeeArrayList* _tmp19_;
				gint _tmp20_;
				gint _tmp21_;
#line 794 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
				valid_rows = 0;
#line 1777 "SavedSearchDialog.c"
				{
					GeeArrayList* _c_list = NULL;
					GeeArrayList* _tmp4_;
					GeeArrayList* _tmp5_;
					gint _c_size = 0;
					GeeArrayList* _tmp6_;
					gint _tmp7_;
					gint _tmp8_;
					gint _c_index = 0;
#line 795 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
					_tmp4_ = self->priv->row_list;
#line 795 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
					_tmp5_ = _g_object_ref0 (_tmp4_);
#line 795 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
					_c_list = _tmp5_;
#line 795 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
					_tmp6_ = _c_list;
#line 795 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
					_tmp7_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection));
#line 795 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
					_tmp8_ = _tmp7_;
#line 795 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
					_c_size = _tmp8_;
#line 795 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
					_c_index = -1;
#line 795 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
					while (TRUE) {
#line 1805 "SavedSearchDialog.c"
						gint _tmp9_;
						gint _tmp10_;
						gint _tmp11_;
						SavedSearchDialogSearchRowContainer* c = NULL;
						GeeArrayList* _tmp12_;
						gint _tmp13_;
						gpointer _tmp14_;
						SavedSearchDialogSearchRowContainer* _tmp15_;
						gboolean _tmp16_;
#line 795 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
						_tmp9_ = _c_index;
#line 795 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
						_c_index = _tmp9_ + 1;
#line 795 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
						_tmp10_ = _c_index;
#line 795 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
						_tmp11_ = _c_size;
#line 795 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
						if (!(_tmp10_ < _tmp11_)) {
#line 795 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
							break;
#line 1827 "SavedSearchDialog.c"
						}
#line 795 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
						_tmp12_ = _c_list;
#line 795 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
						_tmp13_ = _c_index;
#line 795 "/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 795 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
						c = (SavedSearchDialogSearchRowContainer*) _tmp14_;
#line 796 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
						_tmp15_ = c;
#line 796 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
						_tmp16_ = saved_search_dialog_search_row_container_is_complete (_tmp15_);
#line 796 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
						if (_tmp16_) {
#line 1843 "SavedSearchDialog.c"
							gint _tmp17_;
#line 797 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
							_tmp17_ = valid_rows;
#line 797 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
							valid_rows = _tmp17_ + 1;
#line 1849 "SavedSearchDialog.c"
						}
#line 795 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
						_saved_search_dialog_search_row_container_unref0 (c);
#line 1853 "SavedSearchDialog.c"
					}
#line 795 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
					_g_object_unref0 (_c_list);
#line 1857 "SavedSearchDialog.c"
				}
#line 799 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
				_tmp18_ = valid_rows;
#line 799 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
				_tmp19_ = self->priv->row_list;
#line 799 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
				_tmp20_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp19_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection));
#line 799 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
				_tmp21_ = _tmp20_;
#line 799 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
				self->priv->valid = _tmp18_ == _tmp21_;
#line 1869 "SavedSearchDialog.c"
			} else {
#line 801 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
				self->priv->valid = FALSE;
#line 1873 "SavedSearchDialog.c"
			}
		}
	}
#line 805 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp22_ = self->priv->valid;
#line 805 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	gtk_dialog_set_response_sensitive (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_dialog_get_type (), GtkDialog), (gint) GTK_RESPONSE_OK, _tmp22_);
#line 1881 "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 1895 "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 1902 "SavedSearchDialog.c"
}


static SavedSearchDialogSearchRowContainer* saved_search_dialog_search_row_container_construct_edit_existing (GType object_type, SearchCondition* sc) {
	SavedSearchDialogSearchRowContainer* self = NULL;
	SearchCondition* _tmp0_;
	SearchConditionSearchType _tmp1_;
	SearchConditionSearchType _tmp2_;
	SearchCondition* _tmp3_;
	SearchConditionSearchType _tmp4_;
	SearchConditionSearchType _tmp5_;
	SavedSearchDialogSearchRow* _tmp6_;
	SearchCondition* _tmp7_;
#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 1946 "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 1953 "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 1960 "SavedSearchDialog.c"
}


static void _saved_search_dialog_search_row_container_on_removed_gtk_button_clicked (GtkButton* _sender, gpointer self) {
#line 53 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	saved_search_dialog_search_row_container_on_removed ((SavedSearchDialogSearchRowContainer*) self);
#line 1967 "SavedSearchDialog.c"
}


static void saved_search_dialog_search_row_container_setup_gui (SavedSearchDialogSearchRowContainer* self) {
	gint _tmp0_;
	SearchConditionSearchType* _tmp1_;
	GeeHashMap* _tmp2_;
	GtkComboBoxText* _tmp3_;
	GtkComboBoxText* _tmp18_;
	GtkButton* _tmp19_;
	GtkButton* _tmp20_;
	GtkButton* _tmp21_;
	GtkBox* _tmp22_;
	GtkBox* _tmp23_;
	GtkComboBoxText* _tmp24_;
	GtkBox* _tmp25_;
	GtkButton* _tmp26_;
	GtkBox* _tmp27_;
	GtkBox* _tmp28_;
	GtkBox* _tmp29_;
	GtkBox* _tmp30_;
	GtkBox* _tmp31_;
#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 2018 "SavedSearchDialog.c"
	{
		gint i = 0;
#line 43 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
		i = 0;
#line 2023 "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 2030 "SavedSearchDialog.c"
				gint _tmp6_;
				SearchConditionSearchType* _tmp7_;
				gint _tmp7__length1;
				SearchConditionSearchType st = 0;
				SearchConditionSearchType* _tmp8_;
				gint _tmp8__length1;
				gint _tmp9_;
				SearchConditionSearchType _tmp10_;
				GeeHashMap* _tmp11_;
				SearchConditionSearchType _tmp12_;
				gint _tmp13_;
				GtkComboBoxText* _tmp14_;
				SearchConditionSearchType _tmp15_;
				gchar* _tmp16_;
				gchar* _tmp17_;
#line 43 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
				if (!_tmp4_) {
#line 2048 "SavedSearchDialog.c"
					gint _tmp5_;
#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 2054 "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 2068 "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 2100 "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 ("window-close-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"
	gtk_button_set_relief (_tmp20_, GTK_RELIEF_NONE);
#line 53 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp21_ = self->priv->remove_button;
#line 53 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	g_signal_connect (_tmp21_, "clicked", (GCallback) _saved_search_dialog_search_row_container_on_removed_gtk_button_clicked, self);
#line 55 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp22_ = (GtkBox*) gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 6);
#line 55 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	g_object_ref_sink (_tmp22_);
#line 55 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_g_object_unref0 (self->priv->box);
#line 55 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	self->priv->box = _tmp22_;
#line 56 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp23_ = self->priv->box;
#line 56 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp24_ = self->priv->type_combo;
#line 56 "/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 57 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp25_ = self->priv->box;
#line 57 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp26_ = self->priv->remove_button;
#line 57 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	gtk_box_pack_end (_tmp25_, G_TYPE_CHECK_INSTANCE_CAST (_tmp26_, gtk_widget_get_type (), GtkWidget), FALSE, FALSE, (guint) 0);
#line 58 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp27_ = self->priv->box;
#line 58 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	gtk_widget_set_margin_top (G_TYPE_CHECK_INSTANCE_CAST (_tmp27_, gtk_widget_get_type (), GtkWidget), 2);
#line 59 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp28_ = self->priv->box;
#line 59 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	gtk_widget_set_margin_bottom (G_TYPE_CHECK_INSTANCE_CAST (_tmp28_, gtk_widget_get_type (), GtkWidget), 2);
#line 60 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp29_ = self->priv->box;
#line 60 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	gtk_widget_set_margin_start (G_TYPE_CHECK_INSTANCE_CAST (_tmp29_, gtk_widget_get_type (), GtkWidget), 8);
#line 61 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp30_ = self->priv->box;
#line 61 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	gtk_widget_set_margin_end (G_TYPE_CHECK_INSTANCE_CAST (_tmp30_, gtk_widget_get_type (), GtkWidget), 8);
#line 62 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp31_ = self->priv->box;
#line 62 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	gtk_widget_show_all (G_TYPE_CHECK_INSTANCE_CAST (_tmp31_, gtk_widget_get_type (), GtkWidget));
#line 2166 "SavedSearchDialog.c"
}


static void saved_search_dialog_search_row_container_on_type_changed (SavedSearchDialogSearchRowContainer* self) {
	SearchConditionSearchType _tmp0_;
#line 65 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	g_return_if_fail (SAVED_SEARCH_DIALOG_IS_SEARCH_ROW_CONTAINER (self));
#line 66 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp0_ = saved_search_dialog_search_row_container_get_search_type (self);
#line 66 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	saved_search_dialog_search_row_container_set_type (self, _tmp0_);
#line 67 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	g_signal_emit (self, saved_search_dialog_search_row_container_signals[SAVED_SEARCH_DIALOG_SEARCH_ROW_CONTAINER_CHANGED_SIGNAL], 0, self);
#line 2180 "SavedSearchDialog.c"
}


static void saved_search_dialog_search_row_container_set_type_combo_box (SavedSearchDialogSearchRowContainer* self, SearchConditionSearchType st) {
	GtkComboBoxText* _tmp0_;
	GeeHashMap* _tmp1_;
	SearchConditionSearchType _tmp2_;
	gpointer _tmp3_;
#line 70 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	g_return_if_fail (SAVED_SEARCH_DIALOG_IS_SEARCH_ROW_CONTAINER (self));
#line 71 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp0_ = self->priv->type_combo;
#line 71 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp1_ = self->priv->search_types_index;
#line 71 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp2_ = st;
#line 71 "/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 71 "/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 2201 "SavedSearchDialog.c"
}


static void saved_search_dialog_search_row_container_set_type (SavedSearchDialogSearchRowContainer* self, SearchConditionSearchType type) {
	SavedSearchDialogSearchRow* _tmp0_;
	SearchConditionSearchType _tmp5_;
	GtkBox* _tmp12_;
	SavedSearchDialogSearchRow* _tmp13_;
	GtkWidget* _tmp14_;
	GtkWidget* _tmp15_;
#line 74 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	g_return_if_fail (SAVED_SEARCH_DIALOG_IS_SEARCH_ROW_CONTAINER (self));
#line 75 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp0_ = self->priv->my_row;
#line 75 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	if (_tmp0_ != NULL) {
#line 2218 "SavedSearchDialog.c"
		GtkBox* _tmp1_;
		SavedSearchDialogSearchRow* _tmp2_;
		GtkWidget* _tmp3_;
		GtkWidget* _tmp4_;
#line 76 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
		_tmp1_ = self->priv->box;
#line 76 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
		_tmp2_ = self->priv->my_row;
#line 76 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
		_tmp3_ = saved_search_dialog_search_row_get_widget (_tmp2_);
#line 76 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
		_tmp4_ = _tmp3_;
#line 76 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
		gtk_container_remove (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, gtk_container_get_type (), GtkContainer), _tmp4_);
#line 76 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
		_g_object_unref0 (_tmp4_);
#line 2235 "SavedSearchDialog.c"
	}
#line 78 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp5_ = type;
#line 78 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	switch (_tmp5_) {
#line 78 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
		case SEARCH_CONDITION_SEARCH_TYPE_ANY_TEXT:
#line 78 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
		case SEARCH_CONDITION_SEARCH_TYPE_EVENT_NAME:
#line 78 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
		case SEARCH_CONDITION_SEARCH_TYPE_FILE_NAME:
#line 78 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
		case SEARCH_CONDITION_SEARCH_TYPE_TAG:
#line 78 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
		case SEARCH_CONDITION_SEARCH_TYPE_COMMENT:
#line 78 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
		case SEARCH_CONDITION_SEARCH_TYPE_TITLE:
#line 2253 "SavedSearchDialog.c"
		{
			SavedSearchDialogSearchRowText* _tmp6_;
#line 85 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
			_tmp6_ = saved_search_dialog_search_row_text_new (self);
#line 85 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
			_saved_search_dialog_search_row_unref0 (self->priv->my_row);
#line 85 "/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 86 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
			break;
#line 2264 "SavedSearchDialog.c"
		}
#line 78 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
		case SEARCH_CONDITION_SEARCH_TYPE_MEDIA_TYPE:
#line 2268 "SavedSearchDialog.c"
		{
			SavedSearchDialogSearchRowMediaType* _tmp7_;
#line 89 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
			_tmp7_ = saved_search_dialog_search_row_media_type_new (self);
#line 89 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
			_saved_search_dialog_search_row_unref0 (self->priv->my_row);
#line 89 "/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 90 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
			break;
#line 2279 "SavedSearchDialog.c"
		}
#line 78 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
		case SEARCH_CONDITION_SEARCH_TYPE_FLAG_STATE:
#line 2283 "SavedSearchDialog.c"
		{
			SavedSearchDialogSearchRowFlagged* _tmp8_;
#line 93 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
			_tmp8_ = saved_search_dialog_search_row_flagged_new (self);
#line 93 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
			_saved_search_dialog_search_row_unref0 (self->priv->my_row);
#line 93 "/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 94 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
			break;
#line 2294 "SavedSearchDialog.c"
		}
#line 78 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
		case SEARCH_CONDITION_SEARCH_TYPE_MODIFIED_STATE:
#line 2298 "SavedSearchDialog.c"
		{
			SavedSearchDialogSearchRowModified* _tmp9_;
#line 97 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
			_tmp9_ = saved_search_dialog_search_row_modified_new (self);
#line 97 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
			_saved_search_dialog_search_row_unref0 (self->priv->my_row);
#line 97 "/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 98 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
			break;
#line 2309 "SavedSearchDialog.c"
		}
#line 78 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
		case SEARCH_CONDITION_SEARCH_TYPE_RATING:
#line 2313 "SavedSearchDialog.c"
		{
			SavedSearchDialogSearchRowRating* _tmp10_;
#line 101 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
			_tmp10_ = saved_search_dialog_search_row_rating_new (self);
#line 101 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
			_saved_search_dialog_search_row_unref0 (self->priv->my_row);
#line 101 "/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 102 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
			break;
#line 2324 "SavedSearchDialog.c"
		}
#line 78 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
		case SEARCH_CONDITION_SEARCH_TYPE_DATE:
#line 2328 "SavedSearchDialog.c"
		{
			SavedSearchDialogSearchRowDate* _tmp11_;
#line 105 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
			_tmp11_ = saved_search_dialog_search_row_date_new (self);
#line 105 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
			_saved_search_dialog_search_row_unref0 (self->priv->my_row);
#line 105 "/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 106 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
			break;
#line 2339 "SavedSearchDialog.c"
		}
		default:
		{
#line 109 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
			g_assert_not_reached ();
#line 2345 "SavedSearchDialog.c"
		}
	}
#line 112 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp12_ = self->priv->box;
#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_box_pack_start (_tmp12_, _tmp15_, TRUE, TRUE, (guint) 0);
#line 112 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_g_object_unref0 (_tmp15_);
#line 2360 "SavedSearchDialog.c"
}


static SearchConditionSearchType saved_search_dialog_search_row_container_get_search_type (SavedSearchDialogSearchRowContainer* self) {
	SearchConditionSearchType result = 0;
	SearchConditionSearchType* _tmp0_;
	gint _tmp0__length1;
	GtkComboBoxText* _tmp1_;
	gint _tmp2_;
	SearchConditionSearchType _tmp3_;
#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 2387 "SavedSearchDialog.c"
}


static void saved_search_dialog_search_row_container_on_removed (SavedSearchDialogSearchRowContainer* self) {
#line 119 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	g_return_if_fail (SAVED_SEARCH_DIALOG_IS_SEARCH_ROW_CONTAINER (self));
#line 120 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	g_signal_emit (self, saved_search_dialog_search_row_container_signals[SAVED_SEARCH_DIALOG_SEARCH_ROW_CONTAINER_REMOVE_SIGNAL], 0, self);
#line 2396 "SavedSearchDialog.c"
}


static void saved_search_dialog_search_row_container_allow_removal (SavedSearchDialogSearchRowContainer* self, gboolean allow) {
	GtkButton* _tmp0_;
	gboolean _tmp1_;
#line 123 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	g_return_if_fail (SAVED_SEARCH_DIALOG_IS_SEARCH_ROW_CONTAINER (self));
#line 124 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp0_ = self->priv->remove_button;
#line 124 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp1_ = allow;
#line 124 "/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 2411 "SavedSearchDialog.c"
}


static GtkWidget* saved_search_dialog_search_row_container_get_widget (SavedSearchDialogSearchRowContainer* self) {
	GtkWidget* result = NULL;
	GtkBox* _tmp0_;
	GtkWidget* _tmp1_;
#line 127 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	g_return_val_if_fail (SAVED_SEARCH_DIALOG_IS_SEARCH_ROW_CONTAINER (self), NULL);
#line 128 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp0_ = self->priv->box;
#line 128 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp1_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, gtk_widget_get_type (), GtkWidget));
#line 128 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	result = _tmp1_;
#line 128 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	return result;
#line 2429 "SavedSearchDialog.c"
}


static SearchCondition* saved_search_dialog_search_row_container_get_search_condition (SavedSearchDialogSearchRowContainer* self) {
	SearchCondition* result = NULL;
	SavedSearchDialogSearchRow* _tmp0_;
	SearchCondition* _tmp1_;
#line 131 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	g_return_val_if_fail (SAVED_SEARCH_DIALOG_IS_SEARCH_ROW_CONTAINER (self), NULL);
#line 132 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp0_ = self->priv->my_row;
#line 132 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp1_ = saved_search_dialog_search_row_get_search_condition (_tmp0_);
#line 132 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	result = _tmp1_;
#line 132 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	return result;
#line 2447 "SavedSearchDialog.c"
}


static gboolean saved_search_dialog_search_row_container_is_complete (SavedSearchDialogSearchRowContainer* self) {
	gboolean result = FALSE;
	SavedSearchDialogSearchRow* _tmp0_;
	gboolean _tmp1_;
#line 135 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	g_return_val_if_fail (SAVED_SEARCH_DIALOG_IS_SEARCH_ROW_CONTAINER (self), FALSE);
#line 136 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp0_ = self->priv->my_row;
#line 136 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp1_ = saved_search_dialog_search_row_is_complete (_tmp0_);
#line 136 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	result = _tmp1_;
#line 136 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	return result;
#line 2465 "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 12 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	g_return_if_fail (n_param_values == 2);
#line 12 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	if (G_CCLOSURE_SWAP_DATA (closure)) {
#line 12 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
		data1 = closure->data;
#line 12 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
		data2 = param_values->data[0].v_pointer;
#line 2484 "SavedSearchDialog.c"
	} else {
#line 12 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
		data1 = param_values->data[0].v_pointer;
#line 12 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
		data2 = closure->data;
#line 2490 "SavedSearchDialog.c"
	}
#line 12 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	callback = (GMarshalFunc_VOID__SAVED_SEARCH_DIALOG_SEARCH_ROW_CONTAINER) (marshal_data ? marshal_data : cc->callback);
#line 12 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	callback (data1, saved_search_dialog_value_get_search_row_container (param_values + 1), data2);
#line 2496 "SavedSearchDialog.c"
}


static void saved_search_dialog_value_search_row_container_init (GValue* value) {
#line 12 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	value->data[0].v_pointer = NULL;
#line 2503 "SavedSearchDialog.c"
}


static void saved_search_dialog_value_search_row_container_free_value (GValue* value) {
#line 12 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	if (value->data[0].v_pointer) {
#line 12 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
		saved_search_dialog_search_row_container_unref (value->data[0].v_pointer);
#line 2512 "SavedSearchDialog.c"
	}
}


static void saved_search_dialog_value_search_row_container_copy_value (const GValue* src_value, GValue* dest_value) {
#line 12 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	if (src_value->data[0].v_pointer) {
#line 12 "/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 2522 "SavedSearchDialog.c"
	} else {
#line 12 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
		dest_value->data[0].v_pointer = NULL;
#line 2526 "SavedSearchDialog.c"
	}
}


static gpointer saved_search_dialog_value_search_row_container_peek_pointer (const GValue* value) {
#line 12 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	return value->data[0].v_pointer;
#line 2534 "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 12 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	if (collect_values[0].v_pointer) {
#line 2541 "SavedSearchDialog.c"
		SavedSearchDialogSearchRowContainer * object;
		object = collect_values[0].v_pointer;
#line 12 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
		if (object->parent_instance.g_class == NULL) {
#line 12 "/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 2548 "SavedSearchDialog.c"
		} else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) {
#line 12 "/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 2552 "SavedSearchDialog.c"
		}
#line 12 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
		value->data[0].v_pointer = saved_search_dialog_search_row_container_ref (object);
#line 2556 "SavedSearchDialog.c"
	} else {
#line 12 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
		value->data[0].v_pointer = NULL;
#line 2560 "SavedSearchDialog.c"
	}
#line 12 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	return NULL;
#line 2564 "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 12 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	if (!object_p) {
#line 12 "/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 2575 "SavedSearchDialog.c"
	}
#line 12 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	if (!value->data[0].v_pointer) {
#line 12 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
		*object_p = NULL;
#line 2581 "SavedSearchDialog.c"
	} else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) {
#line 12 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
		*object_p = value->data[0].v_pointer;
#line 2585 "SavedSearchDialog.c"
	} else {
#line 12 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
		*object_p = saved_search_dialog_search_row_container_ref (value->data[0].v_pointer);
#line 2589 "SavedSearchDialog.c"
	}
#line 12 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	return NULL;
#line 2593 "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 12 "/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 12 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags);
#line 12 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	G_PARAM_SPEC (spec)->value_type = object_type;
#line 12 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	return G_PARAM_SPEC (spec);
#line 2607 "SavedSearchDialog.c"
}


static gpointer saved_search_dialog_value_get_search_row_container (const GValue* value) {
#line 12 "/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 12 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	return value->data[0].v_pointer;
#line 2616 "SavedSearchDialog.c"
}


static void saved_search_dialog_value_set_search_row_container (GValue* value, gpointer v_object) {
	SavedSearchDialogSearchRowContainer * old;
#line 12 "/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 12 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	old = value->data[0].v_pointer;
#line 12 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	if (v_object) {
#line 12 "/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 12 "/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 12 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
		value->data[0].v_pointer = v_object;
#line 12 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
		saved_search_dialog_search_row_container_ref (value->data[0].v_pointer);
#line 2636 "SavedSearchDialog.c"
	} else {
#line 12 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
		value->data[0].v_pointer = NULL;
#line 2640 "SavedSearchDialog.c"
	}
#line 12 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	if (old) {
#line 12 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
		saved_search_dialog_search_row_container_unref (old);
#line 2646 "SavedSearchDialog.c"
	}
}


static void saved_search_dialog_value_take_search_row_container (GValue* value, gpointer v_object) {
	SavedSearchDialogSearchRowContainer * old;
#line 12 "/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 12 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	old = value->data[0].v_pointer;
#line 12 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	if (v_object) {
#line 12 "/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 12 "/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 12 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
		value->data[0].v_pointer = v_object;
#line 2665 "SavedSearchDialog.c"
	} else {
#line 12 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
		value->data[0].v_pointer = NULL;
#line 2669 "SavedSearchDialog.c"
	}
#line 12 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	if (old) {
#line 12 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
		saved_search_dialog_search_row_container_unref (old);
#line 2675 "SavedSearchDialog.c"
	}
}


static void saved_search_dialog_search_row_container_class_init (SavedSearchDialogSearchRowContainerClass * klass) {
#line 12 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	saved_search_dialog_search_row_container_parent_class = g_type_class_peek_parent (klass);
#line 12 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	((SavedSearchDialogSearchRowContainerClass *) klass)->finalize = saved_search_dialog_search_row_container_finalize;
#line 12 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	g_type_class_add_private (klass, sizeof (SavedSearchDialogSearchRowContainerPrivate));
#line 12 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	saved_search_dialog_search_row_container_signals[SAVED_SEARCH_DIALOG_SEARCH_ROW_CONTAINER_REMOVE_SIGNAL] = 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 12 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	saved_search_dialog_search_row_container_signals[SAVED_SEARCH_DIALOG_SEARCH_ROW_CONTAINER_CHANGED_SIGNAL] = 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 2691 "SavedSearchDialog.c"
}


static void saved_search_dialog_search_row_container_instance_init (SavedSearchDialogSearchRowContainer * self) {
#line 12 "/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 12 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	self->ref_count = 1;
#line 2702 "SavedSearchDialog.c"
}


static void saved_search_dialog_search_row_container_finalize (SavedSearchDialogSearchRowContainer * obj) {
	SavedSearchDialogSearchRowContainer * self;
#line 12 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW_CONTAINER, SavedSearchDialogSearchRowContainer);
#line 12 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	g_signal_handlers_destroy (self);
#line 16 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_g_object_unref0 (self->priv->type_combo);
#line 17 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_g_object_unref0 (self->priv->box);
#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 2724 "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 12 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	g_atomic_int_inc (&self->ref_count);
#line 12 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	return instance;
#line 2749 "SavedSearchDialog.c"
}


static void saved_search_dialog_search_row_container_unref (gpointer instance) {
	SavedSearchDialogSearchRowContainer * self;
	self = instance;
#line 12 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	if (g_atomic_int_dec_and_test (&self->ref_count)) {
#line 12 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
		SAVED_SEARCH_DIALOG_SEARCH_ROW_CONTAINER_GET_CLASS (self)->finalize (self);
#line 12 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
		g_type_free_instance ((GTypeInstance *) self);
#line 2762 "SavedSearchDialog.c"
	}
}


static GtkWidget* saved_search_dialog_search_row_real_get_widget (SavedSearchDialogSearchRow* self) {
#line 143 "/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 143 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	return NULL;
#line 2772 "SavedSearchDialog.c"
}


GtkWidget* saved_search_dialog_search_row_get_widget (SavedSearchDialogSearchRow* self) {
#line 143 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	g_return_val_if_fail (SAVED_SEARCH_DIALOG_IS_SEARCH_ROW (self), NULL);
#line 143 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	return SAVED_SEARCH_DIALOG_SEARCH_ROW_GET_CLASS (self)->get_widget (self);
#line 2781 "SavedSearchDialog.c"
}


static SearchCondition* saved_search_dialog_search_row_real_get_search_condition (SavedSearchDialogSearchRow* self) {
#line 146 "/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 146 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	return NULL;
#line 2790 "SavedSearchDialog.c"
}


SearchCondition* saved_search_dialog_search_row_get_search_condition (SavedSearchDialogSearchRow* self) {
#line 146 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	g_return_val_if_fail (SAVED_SEARCH_DIALOG_IS_SEARCH_ROW (self), NULL);
#line 146 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	return SAVED_SEARCH_DIALOG_SEARCH_ROW_GET_CLASS (self)->get_search_condition (self);
#line 2799 "SavedSearchDialog.c"
}


static void saved_search_dialog_search_row_real_populate (SavedSearchDialogSearchRow* self, SearchCondition* sc) {
#line 149 "/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 149 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	return;
#line 2808 "SavedSearchDialog.c"
}


void saved_search_dialog_search_row_populate (SavedSearchDialogSearchRow* self, SearchCondition* sc) {
#line 149 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	g_return_if_fail (SAVED_SEARCH_DIALOG_IS_SEARCH_ROW (self));
#line 149 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	SAVED_SEARCH_DIALOG_SEARCH_ROW_GET_CLASS (self)->populate (self, sc);
#line 2817 "SavedSearchDialog.c"
}


static gboolean saved_search_dialog_search_row_real_is_complete (SavedSearchDialogSearchRow* self) {
	gboolean _tmp0_ = FALSE;
#line 152 "/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 152 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	return _tmp0_;
#line 2827 "SavedSearchDialog.c"
}


gboolean saved_search_dialog_search_row_is_complete (SavedSearchDialogSearchRow* self) {
#line 152 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	g_return_val_if_fail (SAVED_SEARCH_DIALOG_IS_SEARCH_ROW (self), FALSE);
#line 152 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	return SAVED_SEARCH_DIALOG_SEARCH_ROW_GET_CLASS (self)->is_complete (self);
#line 2836 "SavedSearchDialog.c"
}


static SavedSearchDialogSearchRow* saved_search_dialog_search_row_construct (GType object_type) {
	SavedSearchDialogSearchRow* self = NULL;
#line 141 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	self = (SavedSearchDialogSearchRow*) g_type_create_instance (object_type);
#line 141 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	return self;
#line 2846 "SavedSearchDialog.c"
}


static void saved_search_dialog_value_search_row_init (GValue* value) {
#line 141 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	value->data[0].v_pointer = NULL;
#line 2853 "SavedSearchDialog.c"
}


static void saved_search_dialog_value_search_row_free_value (GValue* value) {
#line 141 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	if (value->data[0].v_pointer) {
#line 141 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
		saved_search_dialog_search_row_unref (value->data[0].v_pointer);
#line 2862 "SavedSearchDialog.c"
	}
}


static void saved_search_dialog_value_search_row_copy_value (const GValue* src_value, GValue* dest_value) {
#line 141 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	if (src_value->data[0].v_pointer) {
#line 141 "/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 2872 "SavedSearchDialog.c"
	} else {
#line 141 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
		dest_value->data[0].v_pointer = NULL;
#line 2876 "SavedSearchDialog.c"
	}
}


static gpointer saved_search_dialog_value_search_row_peek_pointer (const GValue* value) {
#line 141 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	return value->data[0].v_pointer;
#line 2884 "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 141 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	if (collect_values[0].v_pointer) {
#line 2891 "SavedSearchDialog.c"
		SavedSearchDialogSearchRow * object;
		object = collect_values[0].v_pointer;
#line 141 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
		if (object->parent_instance.g_class == NULL) {
#line 141 "/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 2898 "SavedSearchDialog.c"
		} else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) {
#line 141 "/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 2902 "SavedSearchDialog.c"
		}
#line 141 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
		value->data[0].v_pointer = saved_search_dialog_search_row_ref (object);
#line 2906 "SavedSearchDialog.c"
	} else {
#line 141 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
		value->data[0].v_pointer = NULL;
#line 2910 "SavedSearchDialog.c"
	}
#line 141 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	return NULL;
#line 2914 "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 141 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	if (!object_p) {
#line 141 "/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 2925 "SavedSearchDialog.c"
	}
#line 141 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	if (!value->data[0].v_pointer) {
#line 141 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
		*object_p = NULL;
#line 2931 "SavedSearchDialog.c"
	} else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) {
#line 141 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
		*object_p = value->data[0].v_pointer;
#line 2935 "SavedSearchDialog.c"
	} else {
#line 141 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
		*object_p = saved_search_dialog_search_row_ref (value->data[0].v_pointer);
#line 2939 "SavedSearchDialog.c"
	}
#line 141 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	return NULL;
#line 2943 "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 141 "/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 141 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags);
#line 141 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	G_PARAM_SPEC (spec)->value_type = object_type;
#line 141 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	return G_PARAM_SPEC (spec);
#line 2957 "SavedSearchDialog.c"
}


static gpointer saved_search_dialog_value_get_search_row (const GValue* value) {
#line 141 "/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 141 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	return value->data[0].v_pointer;
#line 2966 "SavedSearchDialog.c"
}


static void saved_search_dialog_value_set_search_row (GValue* value, gpointer v_object) {
	SavedSearchDialogSearchRow * old;
#line 141 "/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 141 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	old = value->data[0].v_pointer;
#line 141 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	if (v_object) {
#line 141 "/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 141 "/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 141 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
		value->data[0].v_pointer = v_object;
#line 141 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
		saved_search_dialog_search_row_ref (value->data[0].v_pointer);
#line 2986 "SavedSearchDialog.c"
	} else {
#line 141 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
		value->data[0].v_pointer = NULL;
#line 2990 "SavedSearchDialog.c"
	}
#line 141 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	if (old) {
#line 141 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
		saved_search_dialog_search_row_unref (old);
#line 2996 "SavedSearchDialog.c"
	}
}


static void saved_search_dialog_value_take_search_row (GValue* value, gpointer v_object) {
	SavedSearchDialogSearchRow * old;
#line 141 "/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 141 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	old = value->data[0].v_pointer;
#line 141 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	if (v_object) {
#line 141 "/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 141 "/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 141 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
		value->data[0].v_pointer = v_object;
#line 3015 "SavedSearchDialog.c"
	} else {
#line 141 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
		value->data[0].v_pointer = NULL;
#line 3019 "SavedSearchDialog.c"
	}
#line 141 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	if (old) {
#line 141 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
		saved_search_dialog_search_row_unref (old);
#line 3025 "SavedSearchDialog.c"
	}
}


static void saved_search_dialog_search_row_class_init (SavedSearchDialogSearchRowClass * klass) {
#line 141 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	saved_search_dialog_search_row_parent_class = g_type_class_peek_parent (klass);
#line 141 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	((SavedSearchDialogSearchRowClass *) klass)->finalize = saved_search_dialog_search_row_finalize;
#line 141 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	((SavedSearchDialogSearchRowClass *) klass)->get_widget = (GtkWidget* (*) (SavedSearchDialogSearchRow *)) saved_search_dialog_search_row_real_get_widget;
#line 141 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	((SavedSearchDialogSearchRowClass *) klass)->get_search_condition = (SearchCondition* (*) (SavedSearchDialogSearchRow *)) saved_search_dialog_search_row_real_get_search_condition;
#line 141 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	((SavedSearchDialogSearchRowClass *) klass)->populate = (void (*) (SavedSearchDialogSearchRow *, SearchCondition*)) saved_search_dialog_search_row_real_populate;
#line 141 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	((SavedSearchDialogSearchRowClass *) klass)->is_complete = (gboolean (*) (SavedSearchDialogSearchRow *)) saved_search_dialog_search_row_real_is_complete;
#line 3043 "SavedSearchDialog.c"
}


static void saved_search_dialog_search_row_instance_init (SavedSearchDialogSearchRow * self) {
#line 141 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	self->ref_count = 1;
#line 3050 "SavedSearchDialog.c"
}


static void saved_search_dialog_search_row_finalize (SavedSearchDialogSearchRow * obj) {
	SavedSearchDialogSearchRow * self;
#line 141 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW, SavedSearchDialogSearchRow);
#line 141 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	g_signal_handlers_destroy (self);
#line 3060 "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 141 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	g_atomic_int_inc (&self->ref_count);
#line 141 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	return instance;
#line 3085 "SavedSearchDialog.c"
}


static void saved_search_dialog_search_row_unref (gpointer instance) {
	SavedSearchDialogSearchRow * self;
	self = instance;
#line 141 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	if (g_atomic_int_dec_and_test (&self->ref_count)) {
#line 141 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
		SAVED_SEARCH_DIALOG_SEARCH_ROW_GET_CLASS (self)->finalize (self);
#line 141 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
		g_type_free_instance ((GTypeInstance *) self);
#line 3098 "SavedSearchDialog.c"
	}
}


static void _saved_search_dialog_search_row_text_on_changed_gtk_combo_box_changed (GtkComboBox* _sender, gpointer self) {
#line 189 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	saved_search_dialog_search_row_text_on_changed ((SavedSearchDialogSearchRowText*) self);
#line 3106 "SavedSearchDialog.c"
}


static void _saved_search_dialog_search_row_text_on_changed_gtk_editable_changed (GtkEditable* _sender, gpointer self) {
#line 190 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	saved_search_dialog_search_row_text_on_changed ((SavedSearchDialogSearchRowText*) self);
#line 3113 "SavedSearchDialog.c"
}


static gpointer _saved_search_dialog_search_row_container_ref0 (gpointer self) {
#line 163 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	return self ? saved_search_dialog_search_row_container_ref (self) : NULL;
#line 3120 "SavedSearchDialog.c"
}


static SavedSearchDialogSearchRowText* saved_search_dialog_search_row_text_construct (GType object_type, SavedSearchDialogSearchRowContainer* parent) {
	SavedSearchDialogSearchRowText* self = NULL;
	SavedSearchDialogSearchRowContainer* _tmp0_;
	SavedSearchDialogSearchRowContainer* _tmp1_;
	GtkComboBoxText* _tmp2_;
	GtkComboBoxText* _tmp3_;
	GtkComboBoxText* _tmp4_;
	GtkComboBoxText* _tmp5_;
	GtkComboBoxText* _tmp6_;
	GtkComboBoxText* _tmp7_;
	GtkComboBoxText* _tmp8_;
	GtkComboBoxText* _tmp9_;
	GtkComboBoxText* _tmp10_;
	GtkComboBoxText* _tmp11_;
	GtkEntry* _tmp12_;
	GtkEntry* _tmp13_;
	GtkEntry* _tmp14_;
	GtkEntry* _tmp15_;
	GtkBox* _tmp16_;
	GtkBox* _tmp17_;
	GtkComboBoxText* _tmp18_;
	GtkBox* _tmp19_;
	GtkEntry* _tmp20_;
	GtkBox* _tmp21_;
#line 162 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	g_return_val_if_fail (SAVED_SEARCH_DIALOG_IS_SEARCH_ROW_CONTAINER (parent), NULL);
#line 162 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	self = (SavedSearchDialogSearchRowText*) saved_search_dialog_search_row_construct (object_type);
#line 163 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp0_ = parent;
#line 163 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp1_ = _saved_search_dialog_search_row_container_ref0 (_tmp0_);
#line 163 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_saved_search_dialog_search_row_container_unref0 (self->priv->parent);
#line 163 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	self->priv->parent = _tmp1_;
#line 166 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp2_ = (GtkComboBoxText*) gtk_combo_box_text_new ();
#line 166 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	g_object_ref_sink (_tmp2_);
#line 166 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_g_object_unref0 (self->priv->text_context);
#line 166 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	self->priv->text_context = _tmp2_;
#line 167 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp3_ = self->priv->text_context;
#line 167 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	gtk_combo_box_text_append_text (_tmp3_, _ ("contains"));
#line 168 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp4_ = self->priv->text_context;
#line 168 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	gtk_combo_box_text_append_text (_tmp4_, _ ("is exactly"));
#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"
	gtk_combo_box_text_append_text (_tmp5_, _ ("starts with"));
#line 170 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp6_ = self->priv->text_context;
#line 170 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	gtk_combo_box_text_append_text (_tmp6_, _ ("ends with"));
#line 171 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp7_ = self->priv->text_context;
#line 171 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	gtk_combo_box_text_append_text (_tmp7_, _ ("does not contain"));
#line 172 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp8_ = self->priv->text_context;
#line 172 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	gtk_combo_box_text_append_text (_tmp8_, _ ("is not set"));
#line 173 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp9_ = self->priv->text_context;
#line 173 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	gtk_combo_box_text_append_text (_tmp9_, _ ("is set"));
#line 174 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp10_ = self->priv->text_context;
#line 174 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	gtk_combo_box_set_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp10_, gtk_combo_box_get_type (), GtkComboBox), 0);
#line 175 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp11_ = self->priv->text_context;
#line 175 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	g_signal_connect (G_TYPE_CHECK_INSTANCE_CAST (_tmp11_, gtk_combo_box_get_type (), GtkComboBox), "changed", (GCallback) _saved_search_dialog_search_row_text_on_changed_gtk_combo_box_changed, self);
#line 177 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp12_ = (GtkEntry*) gtk_entry_new ();
#line 177 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	g_object_ref_sink (_tmp12_);
#line 177 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_g_object_unref0 (self->priv->entry);
#line 177 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	self->priv->entry = _tmp12_;
#line 178 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp13_ = self->priv->entry;
#line 178 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	gtk_entry_set_width_chars (_tmp13_, 25);
#line 179 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp14_ = self->priv->entry;
#line 179 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	gtk_entry_set_activates_default (_tmp14_, TRUE);
#line 180 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp15_ = self->priv->entry;
#line 180 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	g_signal_connect (G_TYPE_CHECK_INSTANCE_CAST (_tmp15_, GTK_TYPE_EDITABLE, GtkEditable), "changed", (GCallback) _saved_search_dialog_search_row_text_on_changed_gtk_editable_changed, self);
#line 182 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp16_ = (GtkBox*) gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 3);
#line 182 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	g_object_ref_sink (_tmp16_);
#line 182 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_g_object_unref0 (self->priv->box);
#line 182 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	self->priv->box = _tmp16_;
#line 183 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp17_ = self->priv->box;
#line 183 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp18_ = self->priv->text_context;
#line 183 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	gtk_box_pack_start (_tmp17_, G_TYPE_CHECK_INSTANCE_CAST (_tmp18_, gtk_widget_get_type (), GtkWidget), FALSE, FALSE, (guint) 0);
#line 184 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp19_ = self->priv->box;
#line 184 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp20_ = self->priv->entry;
#line 184 "/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 185 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp21_ = self->priv->box;
#line 185 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	gtk_widget_show_all (G_TYPE_CHECK_INSTANCE_CAST (_tmp21_, gtk_widget_get_type (), GtkWidget));
#line 162 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	return self;
#line 3250 "SavedSearchDialog.c"
}


static SavedSearchDialogSearchRowText* saved_search_dialog_search_row_text_new (SavedSearchDialogSearchRowContainer* parent) {
#line 162 "/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 3257 "SavedSearchDialog.c"
}


static GtkWidget* saved_search_dialog_search_row_text_real_get_widget (SavedSearchDialogSearchRow* base) {
	SavedSearchDialogSearchRowText * self;
	GtkWidget* result = NULL;
	GtkBox* _tmp0_;
	GtkWidget* _tmp1_;
#line 193 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (base, SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW_TEXT, SavedSearchDialogSearchRowText);
#line 194 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp0_ = self->priv->box;
#line 194 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp1_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, gtk_widget_get_type (), GtkWidget));
#line 194 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	result = _tmp1_;
#line 194 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	return result;
#line 3276 "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_;
	SearchConditionSearchType _tmp1_;
	gchar* text = NULL;
	GtkEntry* _tmp2_;
	const gchar* _tmp3_;
	gchar* _tmp4_;
	SearchConditionTextContext context = 0;
	SearchConditionTextContext _tmp5_;
	SearchConditionText* c = NULL;
	SearchConditionText* _tmp6_;
#line 197 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (base, SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW_TEXT, SavedSearchDialogSearchRowText);
#line 198 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp0_ = self->priv->parent;
#line 198 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp1_ = saved_search_dialog_search_row_container_get_search_type (_tmp0_);
#line 198 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	type = _tmp1_;
#line 199 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp2_ = self->priv->entry;
#line 199 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp3_ = gtk_entry_get_text (_tmp2_);
#line 199 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp4_ = g_strdup (_tmp3_);
#line 199 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	text = _tmp4_;
#line 200 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp5_ = saved_search_dialog_search_row_text_get_text_context (self);
#line 200 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	context = _tmp5_;
#line 201 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp6_ = search_condition_text_new (type, text, context);
#line 201 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	c = _tmp6_;
#line 202 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	result = G_TYPE_CHECK_INSTANCE_CAST (c, TYPE_SEARCH_CONDITION, SearchCondition);
#line 202 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_g_free0 (text);
#line 202 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	return result;
#line 3324 "SavedSearchDialog.c"
}


static gpointer _search_condition_ref0 (gpointer self) {
#line 206 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	return self ? search_condition_ref (self) : NULL;
#line 3331 "SavedSearchDialog.c"
}


static void saved_search_dialog_search_row_text_real_populate (SavedSearchDialogSearchRow* base, SearchCondition* sc) {
	SavedSearchDialogSearchRowText * self;
	SearchConditionText* text = NULL;
	SearchCondition* _tmp0_;
	SearchConditionText* _tmp1_;
	GtkComboBoxText* _tmp2_;
	SearchConditionTextContext _tmp3_;
	SearchConditionTextContext _tmp4_;
	GtkEntry* _tmp5_;
	const gchar* _tmp6_;
	const gchar* _tmp7_;
#line 205 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (base, SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW_TEXT, SavedSearchDialogSearchRowText);
#line 205 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	g_return_if_fail (IS_SEARCH_CONDITION (sc));
#line 206 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp0_ = sc;
#line 206 "/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 206 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	text = _tmp1_;
#line 207 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_vala_assert (text != NULL, "text != null");
#line 208 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp2_ = self->priv->text_context;
#line 208 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp3_ = search_condition_text_get_context (text);
#line 208 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp4_ = _tmp3_;
#line 208 "/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 209 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp5_ = self->priv->entry;
#line 209 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp6_ = search_condition_text_get_text (text);
#line 209 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp7_ = _tmp6_;
#line 209 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	gtk_entry_set_text (_tmp5_, _tmp7_);
#line 210 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	saved_search_dialog_search_row_text_on_changed (self);
#line 205 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_search_condition_unref0 (text);
#line 3378 "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_;
	const gchar* _tmp3_;
	const gchar* _tmp4_;
	gchar* _tmp5_;
	gchar* _tmp6_;
	gboolean _tmp7_;
#line 213 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (base, SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW_TEXT, SavedSearchDialogSearchRowText);
#line 214 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp2_ = self->priv->entry;
#line 214 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp3_ = gtk_entry_get_text (_tmp2_);
#line 214 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp4_ = _tmp3_;
#line 214 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp5_ = string_chomp (_tmp4_);
#line 214 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp6_ = _tmp5_;
#line 214 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp7_ = g_strcmp0 (_tmp6_, "") != 0;
#line 214 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_g_free0 (_tmp6_);
#line 214 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	if (_tmp7_) {
#line 214 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
		_tmp1_ = TRUE;
#line 3413 "SavedSearchDialog.c"
	} else {
		SearchConditionTextContext _tmp8_;
#line 215 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
		_tmp8_ = saved_search_dialog_search_row_text_get_text_context (self);
#line 215 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
		_tmp1_ = _tmp8_ == SEARCH_CONDITION_TEXT_CONTEXT_IS_NOT_SET;
#line 3420 "SavedSearchDialog.c"
	}
#line 214 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	if (_tmp1_) {
#line 214 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
		_tmp0_ = TRUE;
#line 3426 "SavedSearchDialog.c"
	} else {
		SearchConditionTextContext _tmp9_;
#line 216 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
		_tmp9_ = saved_search_dialog_search_row_text_get_text_context (self);
#line 216 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
		_tmp0_ = _tmp9_ == SEARCH_CONDITION_TEXT_CONTEXT_IS_SET;
#line 3433 "SavedSearchDialog.c"
	}
#line 214 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	result = _tmp0_;
#line 214 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	return result;
#line 3439 "SavedSearchDialog.c"
}


static SearchConditionTextContext saved_search_dialog_search_row_text_get_text_context (SavedSearchDialogSearchRowText* self) {
	SearchConditionTextContext result = 0;
	GtkComboBoxText* _tmp0_;
	gint _tmp1_;
#line 219 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	g_return_val_if_fail (SAVED_SEARCH_DIALOG_IS_SEARCH_ROW_TEXT (self), 0);
#line 220 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp0_ = self->priv->text_context;
#line 220 "/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 220 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	result = (SearchConditionTextContext) _tmp1_;
#line 220 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	return result;
#line 3457 "SavedSearchDialog.c"
}


static void saved_search_dialog_search_row_text_on_changed (SavedSearchDialogSearchRowText* self) {
	gboolean _tmp0_ = FALSE;
	SearchConditionTextContext _tmp1_;
	SavedSearchDialogSearchRowContainer* _tmp5_;
	SavedSearchDialogSearchRowContainer* _tmp6_;
#line 223 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	g_return_if_fail (SAVED_SEARCH_DIALOG_IS_SEARCH_ROW_TEXT (self));
#line 224 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp1_ = saved_search_dialog_search_row_text_get_text_context (self);
#line 224 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	if (_tmp1_ == SEARCH_CONDITION_TEXT_CONTEXT_IS_NOT_SET) {
#line 224 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
		_tmp0_ = TRUE;
#line 3474 "SavedSearchDialog.c"
	} else {
		SearchConditionTextContext _tmp2_;
#line 225 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
		_tmp2_ = saved_search_dialog_search_row_text_get_text_context (self);
#line 225 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
		_tmp0_ = _tmp2_ == SEARCH_CONDITION_TEXT_CONTEXT_IS_SET;
#line 3481 "SavedSearchDialog.c"
	}
#line 224 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	if (_tmp0_) {
#line 3485 "SavedSearchDialog.c"
		GtkEntry* _tmp3_;
#line 226 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
		_tmp3_ = self->priv->entry;
#line 226 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
		gtk_widget_hide (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, gtk_widget_get_type (), GtkWidget));
#line 3491 "SavedSearchDialog.c"
	} else {
		GtkEntry* _tmp4_;
#line 228 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
		_tmp4_ = self->priv->entry;
#line 228 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
		gtk_widget_show (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, gtk_widget_get_type (), GtkWidget));
#line 3498 "SavedSearchDialog.c"
	}
#line 231 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp5_ = self->priv->parent;
#line 231 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp6_ = self->priv->parent;
#line 231 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	g_signal_emit (_tmp5_, saved_search_dialog_search_row_container_signals[SAVED_SEARCH_DIALOG_SEARCH_ROW_CONTAINER_CHANGED_SIGNAL], 0, _tmp6_);
#line 3506 "SavedSearchDialog.c"
}


static void saved_search_dialog_search_row_text_class_init (SavedSearchDialogSearchRowTextClass * klass) {
#line 155 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	saved_search_dialog_search_row_text_parent_class = g_type_class_peek_parent (klass);
#line 155 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	((SavedSearchDialogSearchRowClass *) klass)->finalize = saved_search_dialog_search_row_text_finalize;
#line 155 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	g_type_class_add_private (klass, sizeof (SavedSearchDialogSearchRowTextPrivate));
#line 155 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	((SavedSearchDialogSearchRowClass *) klass)->get_widget = (GtkWidget* (*) (SavedSearchDialogSearchRow *)) saved_search_dialog_search_row_text_real_get_widget;
#line 155 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	((SavedSearchDialogSearchRowClass *) klass)->get_search_condition = (SearchCondition* (*) (SavedSearchDialogSearchRow *)) saved_search_dialog_search_row_text_real_get_search_condition;
#line 155 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	((SavedSearchDialogSearchRowClass *) klass)->populate = (void (*) (SavedSearchDialogSearchRow *, SearchCondition*)) saved_search_dialog_search_row_text_real_populate;
#line 155 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	((SavedSearchDialogSearchRowClass *) klass)->is_complete = (gboolean (*) (SavedSearchDialogSearchRow *)) saved_search_dialog_search_row_text_real_is_complete;
#line 3525 "SavedSearchDialog.c"
}


static void saved_search_dialog_search_row_text_instance_init (SavedSearchDialogSearchRowText * self) {
#line 155 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	self->priv = SAVED_SEARCH_DIALOG_SEARCH_ROW_TEXT_GET_PRIVATE (self);
#line 3532 "SavedSearchDialog.c"
}


static void saved_search_dialog_search_row_text_finalize (SavedSearchDialogSearchRow * obj) {
	SavedSearchDialogSearchRowText * self;
	GtkComboBoxText* _tmp0_;
	guint _tmp1_;
	GtkEntry* _tmp2_;
	guint _tmp3_;
#line 155 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW_TEXT, SavedSearchDialogSearchRowText);
#line 189 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp0_ = self->priv->text_context;
#line 189 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	g_signal_parse_name ("changed", gtk_combo_box_get_type (), &_tmp1_, NULL, FALSE);
#line 189 "/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 190 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp2_ = self->priv->entry;
#line 190 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	g_signal_parse_name ("changed", GTK_TYPE_EDITABLE, &_tmp3_, NULL, FALSE);
#line 190 "/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 156 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_g_object_unref0 (self->priv->box);
#line 157 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_g_object_unref0 (self->priv->text_context);
#line 158 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_g_object_unref0 (self->priv->entry);
#line 160 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_saved_search_dialog_search_row_container_unref0 (self->priv->parent);
#line 155 "/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 3566 "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 267 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	saved_search_dialog_search_row_media_type_on_changed ((SavedSearchDialogSearchRowMediaType*) self);
#line 3585 "SavedSearchDialog.c"
}


static SavedSearchDialogSearchRowMediaType* saved_search_dialog_search_row_media_type_construct (GType object_type, SavedSearchDialogSearchRowContainer* parent) {
	SavedSearchDialogSearchRowMediaType* self = NULL;
	SavedSearchDialogSearchRowContainer* _tmp0_;
	SavedSearchDialogSearchRowContainer* _tmp1_;
	GtkComboBoxText* _tmp2_;
	GtkComboBoxText* _tmp3_;
	GtkComboBoxText* _tmp4_;
	GtkComboBoxText* _tmp5_;
	GtkComboBoxText* _tmp6_;
	GtkComboBoxText* _tmp7_;
	GtkComboBoxText* _tmp8_;
	GtkComboBoxText* _tmp9_;
	GtkComboBoxText* _tmp10_;
	GtkComboBoxText* _tmp11_;
	GtkComboBoxText* _tmp12_;
	GtkBox* _tmp13_;
	GtkBox* _tmp14_;
	GtkComboBoxText* _tmp15_;
	GtkBox* _tmp16_;
	GtkComboBoxText* _tmp17_;
	GtkBox* _tmp18_;
#line 242 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	g_return_val_if_fail (SAVED_SEARCH_DIALOG_IS_SEARCH_ROW_CONTAINER (parent), NULL);
#line 242 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	self = (SavedSearchDialogSearchRowMediaType*) saved_search_dialog_search_row_construct (object_type);
#line 243 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp0_ = parent;
#line 243 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp1_ = _saved_search_dialog_search_row_container_ref0 (_tmp0_);
#line 243 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_saved_search_dialog_search_row_container_unref0 (self->priv->parent);
#line 243 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	self->priv->parent = _tmp1_;
#line 246 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp2_ = (GtkComboBoxText*) gtk_combo_box_text_new ();
#line 246 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	g_object_ref_sink (_tmp2_);
#line 246 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_g_object_unref0 (self->priv->media_context);
#line 246 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	self->priv->media_context = _tmp2_;
#line 247 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp3_ = self->priv->media_context;
#line 247 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	gtk_combo_box_text_append_text (_tmp3_, _ ("is"));
#line 248 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp4_ = self->priv->media_context;
#line 248 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	gtk_combo_box_text_append_text (_tmp4_, _ ("is not"));
#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"
	gtk_combo_box_set_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, gtk_combo_box_get_type (), GtkComboBox), 0);
#line 250 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp6_ = self->priv->media_context;
#line 250 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	g_signal_connect (G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, gtk_combo_box_get_type (), GtkComboBox), "changed", (GCallback) _saved_search_dialog_search_row_media_type_on_changed_gtk_combo_box_changed, self);
#line 253 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp7_ = (GtkComboBoxText*) gtk_combo_box_text_new ();
#line 253 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	g_object_ref_sink (_tmp7_);
#line 253 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_g_object_unref0 (self->priv->media_type);
#line 253 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	self->priv->media_type = _tmp7_;
#line 254 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp8_ = self->priv->media_type;
#line 254 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	gtk_combo_box_text_append_text (_tmp8_, _ ("any photo"));
#line 255 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp9_ = self->priv->media_type;
#line 255 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	gtk_combo_box_text_append_text (_tmp9_, _ ("a raw photo"));
#line 256 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp10_ = self->priv->media_type;
#line 256 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	gtk_combo_box_text_append_text (_tmp10_, _ ("a video"));
#line 257 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp11_ = self->priv->media_type;
#line 257 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	gtk_combo_box_set_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp11_, gtk_combo_box_get_type (), GtkComboBox), 0);
#line 258 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp12_ = self->priv->media_type;
#line 258 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	g_signal_connect (G_TYPE_CHECK_INSTANCE_CAST (_tmp12_, gtk_combo_box_get_type (), GtkComboBox), "changed", (GCallback) _saved_search_dialog_search_row_media_type_on_changed_gtk_combo_box_changed, self);
#line 260 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp13_ = (GtkBox*) gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 3);
#line 260 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	g_object_ref_sink (_tmp13_);
#line 260 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_g_object_unref0 (self->priv->box);
#line 260 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	self->priv->box = _tmp13_;
#line 261 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp14_ = self->priv->box;
#line 261 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp15_ = self->priv->media_context;
#line 261 "/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 262 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp16_ = self->priv->box;
#line 262 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp17_ = self->priv->media_type;
#line 262 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	gtk_box_pack_start (_tmp16_, G_TYPE_CHECK_INSTANCE_CAST (_tmp17_, gtk_widget_get_type (), GtkWidget), FALSE, FALSE, (guint) 0);
#line 263 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp18_ = self->priv->box;
#line 263 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	gtk_widget_show_all (G_TYPE_CHECK_INSTANCE_CAST (_tmp18_, gtk_widget_get_type (), GtkWidget));
#line 242 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	return self;
#line 3700 "SavedSearchDialog.c"
}


static SavedSearchDialogSearchRowMediaType* saved_search_dialog_search_row_media_type_new (SavedSearchDialogSearchRowContainer* parent) {
#line 242 "/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 3707 "SavedSearchDialog.c"
}


static GtkWidget* saved_search_dialog_search_row_media_type_real_get_widget (SavedSearchDialogSearchRow* base) {
	SavedSearchDialogSearchRowMediaType * self;
	GtkWidget* result = NULL;
	GtkBox* _tmp0_;
	GtkWidget* _tmp1_;
#line 271 "/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 272 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp0_ = self->priv->box;
#line 272 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp1_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, gtk_widget_get_type (), GtkWidget));
#line 272 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	result = _tmp1_;
#line 272 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	return result;
#line 3726 "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_;
	SearchConditionSearchType _tmp1_;
	SearchConditionMediaTypeContext context = 0;
	GtkComboBoxText* _tmp2_;
	gint _tmp3_;
	SearchConditionMediaTypeMediaType type = 0;
	GtkComboBoxText* _tmp4_;
	gint _tmp5_;
	SearchConditionMediaType* c = NULL;
	SearchConditionMediaType* _tmp6_;
#line 275 "/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 276 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp0_ = self->priv->parent;
#line 276 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp1_ = saved_search_dialog_search_row_container_get_search_type (_tmp0_);
#line 276 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	search_type = _tmp1_;
#line 277 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp2_ = self->priv->media_context;
#line 277 "/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 277 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	context = (SearchConditionMediaTypeContext) _tmp3_;
#line 278 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp4_ = self->priv->media_type;
#line 278 "/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 278 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	type = (SearchConditionMediaTypeMediaType) _tmp5_;
#line 279 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp6_ = search_condition_media_type_new (search_type, context, type);
#line 279 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	c = _tmp6_;
#line 280 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	result = G_TYPE_CHECK_INSTANCE_CAST (c, TYPE_SEARCH_CONDITION, SearchCondition);
#line 280 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	return result;
#line 3772 "SavedSearchDialog.c"
}


static void saved_search_dialog_search_row_media_type_real_populate (SavedSearchDialogSearchRow* base, SearchCondition* sc) {
	SavedSearchDialogSearchRowMediaType * self;
	SearchConditionMediaType* media = NULL;
	SearchCondition* _tmp0_;
	SearchConditionMediaType* _tmp1_;
	GtkComboBoxText* _tmp2_;
	SearchConditionMediaTypeContext _tmp3_;
	SearchConditionMediaTypeContext _tmp4_;
	GtkComboBoxText* _tmp5_;
	SearchConditionMediaTypeMediaType _tmp6_;
	SearchConditionMediaTypeMediaType _tmp7_;
#line 283 "/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 283 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	g_return_if_fail (IS_SEARCH_CONDITION (sc));
#line 284 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp0_ = sc;
#line 284 "/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 284 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	media = _tmp1_;
#line 285 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_vala_assert (media != NULL, "media != null");
#line 286 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp2_ = self->priv->media_context;
#line 286 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp3_ = search_condition_media_type_get_context (media);
#line 286 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp4_ = _tmp3_;
#line 286 "/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 287 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp5_ = self->priv->media_type;
#line 287 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp6_ = search_condition_media_type_get_media_type (media);
#line 287 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp7_ = _tmp6_;
#line 287 "/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 283 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_search_condition_unref0 (media);
#line 3817 "SavedSearchDialog.c"
}


static gboolean saved_search_dialog_search_row_media_type_real_is_complete (SavedSearchDialogSearchRow* base) {
	SavedSearchDialogSearchRowMediaType * self;
	gboolean result = FALSE;
#line 290 "/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 291 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	result = TRUE;
#line 291 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	return result;
#line 3830 "SavedSearchDialog.c"
}


static void saved_search_dialog_search_row_media_type_on_changed (SavedSearchDialogSearchRowMediaType* self) {
	SavedSearchDialogSearchRowContainer* _tmp0_;
	SavedSearchDialogSearchRowContainer* _tmp1_;
#line 294 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	g_return_if_fail (SAVED_SEARCH_DIALOG_IS_SEARCH_ROW_MEDIA_TYPE (self));
#line 295 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp0_ = self->priv->parent;
#line 295 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp1_ = self->priv->parent;
#line 295 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	g_signal_emit (_tmp0_, saved_search_dialog_search_row_container_signals[SAVED_SEARCH_DIALOG_SEARCH_ROW_CONTAINER_CHANGED_SIGNAL], 0, _tmp1_);
#line 3845 "SavedSearchDialog.c"
}


static void saved_search_dialog_search_row_media_type_class_init (SavedSearchDialogSearchRowMediaTypeClass * klass) {
#line 235 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	saved_search_dialog_search_row_media_type_parent_class = g_type_class_peek_parent (klass);
#line 235 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	((SavedSearchDialogSearchRowClass *) klass)->finalize = saved_search_dialog_search_row_media_type_finalize;
#line 235 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	g_type_class_add_private (klass, sizeof (SavedSearchDialogSearchRowMediaTypePrivate));
#line 235 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	((SavedSearchDialogSearchRowClass *) klass)->get_widget = (GtkWidget* (*) (SavedSearchDialogSearchRow *)) saved_search_dialog_search_row_media_type_real_get_widget;
#line 235 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	((SavedSearchDialogSearchRowClass *) klass)->get_search_condition = (SearchCondition* (*) (SavedSearchDialogSearchRow *)) saved_search_dialog_search_row_media_type_real_get_search_condition;
#line 235 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	((SavedSearchDialogSearchRowClass *) klass)->populate = (void (*) (SavedSearchDialogSearchRow *, SearchCondition*)) saved_search_dialog_search_row_media_type_real_populate;
#line 235 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	((SavedSearchDialogSearchRowClass *) klass)->is_complete = (gboolean (*) (SavedSearchDialogSearchRow *)) saved_search_dialog_search_row_media_type_real_is_complete;
#line 3864 "SavedSearchDialog.c"
}


static void saved_search_dialog_search_row_media_type_instance_init (SavedSearchDialogSearchRowMediaType * self) {
#line 235 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	self->priv = SAVED_SEARCH_DIALOG_SEARCH_ROW_MEDIA_TYPE_GET_PRIVATE (self);
#line 3871 "SavedSearchDialog.c"
}


static void saved_search_dialog_search_row_media_type_finalize (SavedSearchDialogSearchRow * obj) {
	SavedSearchDialogSearchRowMediaType * self;
	GtkComboBoxText* _tmp0_;
	guint _tmp1_;
	GtkComboBoxText* _tmp2_;
	guint _tmp3_;
#line 235 "/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 267 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp0_ = self->priv->media_context;
#line 267 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	g_signal_parse_name ("changed", gtk_combo_box_get_type (), &_tmp1_, NULL, FALSE);
#line 267 "/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 268 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp2_ = self->priv->media_type;
#line 268 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	g_signal_parse_name ("changed", gtk_combo_box_get_type (), &_tmp3_, NULL, FALSE);
#line 268 "/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 236 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_g_object_unref0 (self->priv->box);
#line 237 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_g_object_unref0 (self->priv->media_context);
#line 238 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_g_object_unref0 (self->priv->media_type);
#line 240 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_saved_search_dialog_search_row_container_unref0 (self->priv->parent);
#line 235 "/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 3905 "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 329 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	saved_search_dialog_search_row_modified_on_changed ((SavedSearchDialogSearchRowModified*) self);
#line 3924 "SavedSearchDialog.c"
}


static SavedSearchDialogSearchRowModified* saved_search_dialog_search_row_modified_construct (GType object_type, SavedSearchDialogSearchRowContainer* parent) {
	SavedSearchDialogSearchRowModified* self = NULL;
	SavedSearchDialogSearchRowContainer* _tmp0_;
	SavedSearchDialogSearchRowContainer* _tmp1_;
	GtkComboBoxText* _tmp2_;
	GtkComboBoxText* _tmp3_;
	GtkComboBoxText* _tmp4_;
	GtkComboBoxText* _tmp5_;
	GtkComboBoxText* _tmp6_;
	GtkComboBoxText* _tmp7_;
	GtkComboBoxText* _tmp8_;
	GtkComboBoxText* _tmp9_;
	GtkComboBoxText* _tmp10_;
	GtkComboBoxText* _tmp11_;
	GtkComboBoxText* _tmp12_;
	GtkBox* _tmp13_;
	GtkBox* _tmp14_;
	GtkComboBoxText* _tmp15_;
	GtkBox* _tmp16_;
	GtkComboBoxText* _tmp17_;
	GtkBox* _tmp18_;
#line 306 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	g_return_val_if_fail (SAVED_SEARCH_DIALOG_IS_SEARCH_ROW_CONTAINER (parent), NULL);
#line 306 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	self = (SavedSearchDialogSearchRowModified*) saved_search_dialog_search_row_construct (object_type);
#line 307 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp0_ = parent;
#line 307 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp1_ = _saved_search_dialog_search_row_container_ref0 (_tmp0_);
#line 307 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_saved_search_dialog_search_row_container_unref0 (self->priv->parent);
#line 307 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	self->priv->parent = _tmp1_;
#line 309 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp2_ = (GtkComboBoxText*) gtk_combo_box_text_new ();
#line 309 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	g_object_ref_sink (_tmp2_);
#line 309 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_g_object_unref0 (self->priv->modified_context);
#line 309 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	self->priv->modified_context = _tmp2_;
#line 310 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp3_ = self->priv->modified_context;
#line 310 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	gtk_combo_box_text_append_text (_tmp3_, _ ("has"));
#line 311 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp4_ = self->priv->modified_context;
#line 311 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	gtk_combo_box_text_append_text (_tmp4_, _ ("has no"));
#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"
	gtk_combo_box_set_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, gtk_combo_box_get_type (), GtkComboBox), 0);
#line 313 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp6_ = self->priv->modified_context;
#line 313 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	g_signal_connect (G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, gtk_combo_box_get_type (), GtkComboBox), "changed", (GCallback) _saved_search_dialog_search_row_modified_on_changed_gtk_combo_box_changed, self);
#line 315 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp7_ = (GtkComboBoxText*) gtk_combo_box_text_new ();
#line 315 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	g_object_ref_sink (_tmp7_);
#line 315 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_g_object_unref0 (self->priv->modified_state);
#line 315 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	self->priv->modified_state = _tmp7_;
#line 316 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp8_ = self->priv->modified_state;
#line 316 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	gtk_combo_box_text_append_text (_tmp8_, _ ("modifications"));
#line 317 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp9_ = self->priv->modified_state;
#line 317 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	gtk_combo_box_text_append_text (_tmp9_, _ ("internal modifications"));
#line 318 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp10_ = self->priv->modified_state;
#line 318 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	gtk_combo_box_text_append_text (_tmp10_, _ ("external modifications"));
#line 319 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp11_ = self->priv->modified_state;
#line 319 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	gtk_combo_box_set_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp11_, gtk_combo_box_get_type (), GtkComboBox), 0);
#line 320 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp12_ = self->priv->modified_state;
#line 320 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	g_signal_connect (G_TYPE_CHECK_INSTANCE_CAST (_tmp12_, gtk_combo_box_get_type (), GtkComboBox), "changed", (GCallback) _saved_search_dialog_search_row_modified_on_changed_gtk_combo_box_changed, self);
#line 322 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp13_ = (GtkBox*) gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 3);
#line 322 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	g_object_ref_sink (_tmp13_);
#line 322 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_g_object_unref0 (self->priv->box);
#line 322 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	self->priv->box = _tmp13_;
#line 323 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp14_ = self->priv->box;
#line 323 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp15_ = self->priv->modified_context;
#line 323 "/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 324 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp16_ = self->priv->box;
#line 324 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp17_ = self->priv->modified_state;
#line 324 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	gtk_box_pack_start (_tmp16_, G_TYPE_CHECK_INSTANCE_CAST (_tmp17_, gtk_widget_get_type (), GtkWidget), FALSE, FALSE, (guint) 0);
#line 325 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp18_ = self->priv->box;
#line 325 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	gtk_widget_show_all (G_TYPE_CHECK_INSTANCE_CAST (_tmp18_, gtk_widget_get_type (), GtkWidget));
#line 306 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	return self;
#line 4039 "SavedSearchDialog.c"
}


static SavedSearchDialogSearchRowModified* saved_search_dialog_search_row_modified_new (SavedSearchDialogSearchRowContainer* parent) {
#line 306 "/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 4046 "SavedSearchDialog.c"
}


static GtkWidget* saved_search_dialog_search_row_modified_real_get_widget (SavedSearchDialogSearchRow* base) {
	SavedSearchDialogSearchRowModified * self;
	GtkWidget* result = NULL;
	GtkBox* _tmp0_;
	GtkWidget* _tmp1_;
#line 333 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (base, SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW_MODIFIED, SavedSearchDialogSearchRowModified);
#line 334 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp0_ = self->priv->box;
#line 334 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp1_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, gtk_widget_get_type (), GtkWidget));
#line 334 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	result = _tmp1_;
#line 334 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	return result;
#line 4065 "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_;
	SearchConditionSearchType _tmp1_;
	SearchConditionModifiedContext context = 0;
	GtkComboBoxText* _tmp2_;
	gint _tmp3_;
	SearchConditionModifiedState state = 0;
	GtkComboBoxText* _tmp4_;
	gint _tmp5_;
	SearchConditionModified* c = NULL;
	SearchConditionModified* _tmp6_;
#line 337 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (base, SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW_MODIFIED, SavedSearchDialogSearchRowModified);
#line 338 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp0_ = self->priv->parent;
#line 338 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp1_ = saved_search_dialog_search_row_container_get_search_type (_tmp0_);
#line 338 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	search_type = _tmp1_;
#line 339 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp2_ = self->priv->modified_context;
#line 339 "/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 339 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	context = (SearchConditionModifiedContext) _tmp3_;
#line 340 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp4_ = self->priv->modified_state;
#line 340 "/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 340 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	state = (SearchConditionModifiedState) _tmp5_;
#line 341 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp6_ = search_condition_modified_new (search_type, context, state);
#line 341 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	c = _tmp6_;
#line 342 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	result = G_TYPE_CHECK_INSTANCE_CAST (c, TYPE_SEARCH_CONDITION, SearchCondition);
#line 342 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	return result;
#line 4111 "SavedSearchDialog.c"
}


static void saved_search_dialog_search_row_modified_real_populate (SavedSearchDialogSearchRow* base, SearchCondition* sc) {
	SavedSearchDialogSearchRowModified * self;
	SearchConditionModified* scm = NULL;
	SearchCondition* _tmp0_;
	SearchConditionModified* _tmp1_;
	GtkComboBoxText* _tmp2_;
	SearchConditionModifiedState _tmp3_;
	SearchConditionModifiedState _tmp4_;
	GtkComboBoxText* _tmp5_;
	SearchConditionModifiedContext _tmp6_;
	SearchConditionModifiedContext _tmp7_;
#line 345 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (base, SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW_MODIFIED, SavedSearchDialogSearchRowModified);
#line 345 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	g_return_if_fail (IS_SEARCH_CONDITION (sc));
#line 346 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp0_ = sc;
#line 346 "/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 346 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	scm = _tmp1_;
#line 347 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_vala_assert (scm != NULL, "scm != null");
#line 348 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp2_ = self->priv->modified_state;
#line 348 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp3_ = search_condition_modified_get_state (scm);
#line 348 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp4_ = _tmp3_;
#line 348 "/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 349 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp5_ = self->priv->modified_context;
#line 349 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp6_ = search_condition_modified_get_context (scm);
#line 349 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp7_ = _tmp6_;
#line 349 "/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 345 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_search_condition_unref0 (scm);
#line 4156 "SavedSearchDialog.c"
}


static gboolean saved_search_dialog_search_row_modified_real_is_complete (SavedSearchDialogSearchRow* base) {
	SavedSearchDialogSearchRowModified * self;
	gboolean result = FALSE;
#line 352 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (base, SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW_MODIFIED, SavedSearchDialogSearchRowModified);
#line 353 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	result = TRUE;
#line 353 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	return result;
#line 4169 "SavedSearchDialog.c"
}


static void saved_search_dialog_search_row_modified_on_changed (SavedSearchDialogSearchRowModified* self) {
	SavedSearchDialogSearchRowContainer* _tmp0_;
	SavedSearchDialogSearchRowContainer* _tmp1_;
#line 356 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	g_return_if_fail (SAVED_SEARCH_DIALOG_IS_SEARCH_ROW_MODIFIED (self));
#line 357 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp0_ = self->priv->parent;
#line 357 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp1_ = self->priv->parent;
#line 357 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	g_signal_emit (_tmp0_, saved_search_dialog_search_row_container_signals[SAVED_SEARCH_DIALOG_SEARCH_ROW_CONTAINER_CHANGED_SIGNAL], 0, _tmp1_);
#line 4184 "SavedSearchDialog.c"
}


static void saved_search_dialog_search_row_modified_class_init (SavedSearchDialogSearchRowModifiedClass * klass) {
#line 299 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	saved_search_dialog_search_row_modified_parent_class = g_type_class_peek_parent (klass);
#line 299 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	((SavedSearchDialogSearchRowClass *) klass)->finalize = saved_search_dialog_search_row_modified_finalize;
#line 299 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	g_type_class_add_private (klass, sizeof (SavedSearchDialogSearchRowModifiedPrivate));
#line 299 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	((SavedSearchDialogSearchRowClass *) klass)->get_widget = (GtkWidget* (*) (SavedSearchDialogSearchRow *)) saved_search_dialog_search_row_modified_real_get_widget;
#line 299 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	((SavedSearchDialogSearchRowClass *) klass)->get_search_condition = (SearchCondition* (*) (SavedSearchDialogSearchRow *)) saved_search_dialog_search_row_modified_real_get_search_condition;
#line 299 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	((SavedSearchDialogSearchRowClass *) klass)->populate = (void (*) (SavedSearchDialogSearchRow *, SearchCondition*)) saved_search_dialog_search_row_modified_real_populate;
#line 299 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	((SavedSearchDialogSearchRowClass *) klass)->is_complete = (gboolean (*) (SavedSearchDialogSearchRow *)) saved_search_dialog_search_row_modified_real_is_complete;
#line 4203 "SavedSearchDialog.c"
}


static void saved_search_dialog_search_row_modified_instance_init (SavedSearchDialogSearchRowModified * self) {
#line 299 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	self->priv = SAVED_SEARCH_DIALOG_SEARCH_ROW_MODIFIED_GET_PRIVATE (self);
#line 4210 "SavedSearchDialog.c"
}


static void saved_search_dialog_search_row_modified_finalize (SavedSearchDialogSearchRow * obj) {
	SavedSearchDialogSearchRowModified * self;
	GtkComboBoxText* _tmp0_;
	guint _tmp1_;
	GtkComboBoxText* _tmp2_;
	guint _tmp3_;
#line 299 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW_MODIFIED, SavedSearchDialogSearchRowModified);
#line 329 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp0_ = self->priv->modified_state;
#line 329 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	g_signal_parse_name ("changed", gtk_combo_box_get_type (), &_tmp1_, NULL, FALSE);
#line 329 "/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 330 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp2_ = self->priv->modified_context;
#line 330 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	g_signal_parse_name ("changed", gtk_combo_box_get_type (), &_tmp3_, NULL, FALSE);
#line 330 "/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 300 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_g_object_unref0 (self->priv->box);
#line 301 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_g_object_unref0 (self->priv->modified_context);
#line 302 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_g_object_unref0 (self->priv->modified_state);
#line 304 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_saved_search_dialog_search_row_container_unref0 (self->priv->parent);
#line 299 "/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 4244 "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 384 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	saved_search_dialog_search_row_flagged_on_changed ((SavedSearchDialogSearchRowFlagged*) self);
#line 4263 "SavedSearchDialog.c"
}


static SavedSearchDialogSearchRowFlagged* saved_search_dialog_search_row_flagged_construct (GType object_type, SavedSearchDialogSearchRowContainer* parent) {
	SavedSearchDialogSearchRowFlagged* self = NULL;
	SavedSearchDialogSearchRowContainer* _tmp0_;
	SavedSearchDialogSearchRowContainer* _tmp1_;
	GtkComboBoxText* _tmp2_;
	GtkComboBoxText* _tmp3_;
	GtkComboBoxText* _tmp4_;
	GtkComboBoxText* _tmp5_;
	GtkComboBoxText* _tmp6_;
	GtkBox* _tmp7_;
	GtkBox* _tmp8_;
	GtkLabel* _tmp9_;
	GtkLabel* _tmp10_;
	GtkBox* _tmp11_;
	GtkComboBoxText* _tmp12_;
	GtkBox* _tmp13_;
#line 367 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	g_return_val_if_fail (SAVED_SEARCH_DIALOG_IS_SEARCH_ROW_CONTAINER (parent), NULL);
#line 367 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	self = (SavedSearchDialogSearchRowFlagged*) saved_search_dialog_search_row_construct (object_type);
#line 368 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp0_ = parent;
#line 368 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp1_ = _saved_search_dialog_search_row_container_ref0 (_tmp0_);
#line 368 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_saved_search_dialog_search_row_container_unref0 (self->priv->parent);
#line 368 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	self->priv->parent = _tmp1_;
#line 371 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp2_ = (GtkComboBoxText*) gtk_combo_box_text_new ();
#line 371 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	g_object_ref_sink (_tmp2_);
#line 371 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_g_object_unref0 (self->priv->flagged_state);
#line 371 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	self->priv->flagged_state = _tmp2_;
#line 372 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp3_ = self->priv->flagged_state;
#line 372 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	gtk_combo_box_text_append_text (_tmp3_, _ ("flagged"));
#line 373 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp4_ = self->priv->flagged_state;
#line 373 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	gtk_combo_box_text_append_text (_tmp4_, _ ("not flagged"));
#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"
	gtk_combo_box_set_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, gtk_combo_box_get_type (), GtkComboBox), 0);
#line 375 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp6_ = self->priv->flagged_state;
#line 375 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	g_signal_connect (G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, gtk_combo_box_get_type (), GtkComboBox), "changed", (GCallback) _saved_search_dialog_search_row_flagged_on_changed_gtk_combo_box_changed, self);
#line 377 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp7_ = (GtkBox*) gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 3);
#line 377 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	g_object_ref_sink (_tmp7_);
#line 377 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_g_object_unref0 (self->priv->box);
#line 377 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	self->priv->box = _tmp7_;
#line 378 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp8_ = self->priv->box;
#line 378 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp9_ = (GtkLabel*) gtk_label_new (_ ("is"));
#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"
	_tmp10_ = _tmp9_;
#line 378 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	gtk_box_pack_start (_tmp8_, G_TYPE_CHECK_INSTANCE_CAST (_tmp10_, gtk_widget_get_type (), GtkWidget), FALSE, FALSE, (guint) 0);
#line 378 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_g_object_unref0 (_tmp10_);
#line 379 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp11_ = self->priv->box;
#line 379 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp12_ = self->priv->flagged_state;
#line 379 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	gtk_box_pack_start (_tmp11_, G_TYPE_CHECK_INSTANCE_CAST (_tmp12_, gtk_widget_get_type (), GtkWidget), FALSE, FALSE, (guint) 0);
#line 380 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp13_ = self->priv->box;
#line 380 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	gtk_widget_show_all (G_TYPE_CHECK_INSTANCE_CAST (_tmp13_, gtk_widget_get_type (), GtkWidget));
#line 367 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	return self;
#line 4351 "SavedSearchDialog.c"
}


static SavedSearchDialogSearchRowFlagged* saved_search_dialog_search_row_flagged_new (SavedSearchDialogSearchRowContainer* parent) {
#line 367 "/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 4358 "SavedSearchDialog.c"
}


static GtkWidget* saved_search_dialog_search_row_flagged_real_get_widget (SavedSearchDialogSearchRow* base) {
	SavedSearchDialogSearchRowFlagged * self;
	GtkWidget* result = NULL;
	GtkBox* _tmp0_;
	GtkWidget* _tmp1_;
#line 387 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (base, SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW_FLAGGED, SavedSearchDialogSearchRowFlagged);
#line 388 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp0_ = self->priv->box;
#line 388 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp1_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, gtk_widget_get_type (), GtkWidget));
#line 388 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	result = _tmp1_;
#line 388 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	return result;
#line 4377 "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_;
	SearchConditionSearchType _tmp1_;
	SearchConditionFlaggedState state = 0;
	GtkComboBoxText* _tmp2_;
	gint _tmp3_;
	SearchConditionFlagged* c = NULL;
	SearchConditionFlagged* _tmp4_;
#line 391 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (base, SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW_FLAGGED, SavedSearchDialogSearchRowFlagged);
#line 392 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp0_ = self->priv->parent;
#line 392 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp1_ = saved_search_dialog_search_row_container_get_search_type (_tmp0_);
#line 392 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	search_type = _tmp1_;
#line 393 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp2_ = self->priv->flagged_state;
#line 393 "/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 393 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	state = (SearchConditionFlaggedState) _tmp3_;
#line 394 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp4_ = search_condition_flagged_new (search_type, state);
#line 394 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	c = _tmp4_;
#line 395 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	result = G_TYPE_CHECK_INSTANCE_CAST (c, TYPE_SEARCH_CONDITION, SearchCondition);
#line 395 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	return result;
#line 4414 "SavedSearchDialog.c"
}


static void saved_search_dialog_search_row_flagged_real_populate (SavedSearchDialogSearchRow* base, SearchCondition* sc) {
	SavedSearchDialogSearchRowFlagged * self;
	SearchConditionFlagged* f = NULL;
	SearchCondition* _tmp0_;
	SearchConditionFlagged* _tmp1_;
	GtkComboBoxText* _tmp2_;
	SearchConditionFlaggedState _tmp3_;
	SearchConditionFlaggedState _tmp4_;
#line 398 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (base, SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW_FLAGGED, SavedSearchDialogSearchRowFlagged);
#line 398 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	g_return_if_fail (IS_SEARCH_CONDITION (sc));
#line 399 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp0_ = sc;
#line 399 "/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 399 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	f = _tmp1_;
#line 400 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_vala_assert (f != NULL, "f != null");
#line 401 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp2_ = self->priv->flagged_state;
#line 401 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp3_ = search_condition_flagged_get_state (f);
#line 401 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp4_ = _tmp3_;
#line 401 "/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 398 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_search_condition_unref0 (f);
#line 4448 "SavedSearchDialog.c"
}


static gboolean saved_search_dialog_search_row_flagged_real_is_complete (SavedSearchDialogSearchRow* base) {
	SavedSearchDialogSearchRowFlagged * self;
	gboolean result = FALSE;
#line 404 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (base, SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW_FLAGGED, SavedSearchDialogSearchRowFlagged);
#line 405 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	result = TRUE;
#line 405 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	return result;
#line 4461 "SavedSearchDialog.c"
}


static void saved_search_dialog_search_row_flagged_on_changed (SavedSearchDialogSearchRowFlagged* self) {
	SavedSearchDialogSearchRowContainer* _tmp0_;
	SavedSearchDialogSearchRowContainer* _tmp1_;
#line 408 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	g_return_if_fail (SAVED_SEARCH_DIALOG_IS_SEARCH_ROW_FLAGGED (self));
#line 409 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp0_ = self->priv->parent;
#line 409 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp1_ = self->priv->parent;
#line 409 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	g_signal_emit (_tmp0_, saved_search_dialog_search_row_container_signals[SAVED_SEARCH_DIALOG_SEARCH_ROW_CONTAINER_CHANGED_SIGNAL], 0, _tmp1_);
#line 4476 "SavedSearchDialog.c"
}


static void saved_search_dialog_search_row_flagged_class_init (SavedSearchDialogSearchRowFlaggedClass * klass) {
#line 361 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	saved_search_dialog_search_row_flagged_parent_class = g_type_class_peek_parent (klass);
#line 361 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	((SavedSearchDialogSearchRowClass *) klass)->finalize = saved_search_dialog_search_row_flagged_finalize;
#line 361 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	g_type_class_add_private (klass, sizeof (SavedSearchDialogSearchRowFlaggedPrivate));
#line 361 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	((SavedSearchDialogSearchRowClass *) klass)->get_widget = (GtkWidget* (*) (SavedSearchDialogSearchRow *)) saved_search_dialog_search_row_flagged_real_get_widget;
#line 361 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	((SavedSearchDialogSearchRowClass *) klass)->get_search_condition = (SearchCondition* (*) (SavedSearchDialogSearchRow *)) saved_search_dialog_search_row_flagged_real_get_search_condition;
#line 361 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	((SavedSearchDialogSearchRowClass *) klass)->populate = (void (*) (SavedSearchDialogSearchRow *, SearchCondition*)) saved_search_dialog_search_row_flagged_real_populate;
#line 361 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	((SavedSearchDialogSearchRowClass *) klass)->is_complete = (gboolean (*) (SavedSearchDialogSearchRow *)) saved_search_dialog_search_row_flagged_real_is_complete;
#line 4495 "SavedSearchDialog.c"
}


static void saved_search_dialog_search_row_flagged_instance_init (SavedSearchDialogSearchRowFlagged * self) {
#line 361 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	self->priv = SAVED_SEARCH_DIALOG_SEARCH_ROW_FLAGGED_GET_PRIVATE (self);
#line 4502 "SavedSearchDialog.c"
}


static void saved_search_dialog_search_row_flagged_finalize (SavedSearchDialogSearchRow * obj) {
	SavedSearchDialogSearchRowFlagged * self;
	GtkComboBoxText* _tmp0_;
	guint _tmp1_;
#line 361 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW_FLAGGED, SavedSearchDialogSearchRowFlagged);
#line 384 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp0_ = self->priv->flagged_state;
#line 384 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	g_signal_parse_name ("changed", gtk_combo_box_get_type (), &_tmp1_, NULL, FALSE);
#line 384 "/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 362 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_g_object_unref0 (self->priv->box);
#line 363 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_g_object_unref0 (self->priv->flagged_state);
#line 365 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_saved_search_dialog_search_row_container_unref0 (self->priv->parent);
#line 361 "/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 4526 "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 450 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	saved_search_dialog_search_row_rating_on_changed ((SavedSearchDialogSearchRowRating*) self);
#line 4545 "SavedSearchDialog.c"
}


static SavedSearchDialogSearchRowRating* saved_search_dialog_search_row_rating_construct (GType object_type, SavedSearchDialogSearchRowContainer* parent) {
	SavedSearchDialogSearchRowRating* self = NULL;
	SavedSearchDialogSearchRowContainer* _tmp0_;
	SavedSearchDialogSearchRowContainer* _tmp1_;
	GtkComboBoxText* _tmp2_;
	GtkComboBoxText* _tmp3_;
	const gchar* _tmp4_;
	GtkComboBoxText* _tmp5_;
	const gchar* _tmp6_;
	GtkComboBoxText* _tmp7_;
	const gchar* _tmp8_;
	GtkComboBoxText* _tmp9_;
	const gchar* _tmp10_;
	GtkComboBoxText* _tmp11_;
	const gchar* _tmp12_;
	GtkComboBoxText* _tmp13_;
	const gchar* _tmp14_;
	GtkComboBoxText* _tmp15_;
	const gchar* _tmp16_;
	GtkComboBoxText* _tmp17_;
	GtkComboBoxText* _tmp18_;
	GtkComboBoxText* _tmp19_;
	GtkComboBoxText* _tmp20_;
	GtkComboBoxText* _tmp21_;
	GtkComboBoxText* _tmp22_;
	GtkComboBoxText* _tmp23_;
	GtkComboBoxText* _tmp24_;
	GtkBox* _tmp25_;
	GtkBox* _tmp26_;
	GtkLabel* _tmp27_;
	GtkLabel* _tmp28_;
	GtkBox* _tmp29_;
	GtkComboBoxText* _tmp30_;
	GtkBox* _tmp31_;
	GtkComboBoxText* _tmp32_;
	GtkBox* _tmp33_;
#line 420 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	g_return_val_if_fail (SAVED_SEARCH_DIALOG_IS_SEARCH_ROW_CONTAINER (parent), NULL);
#line 420 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	self = (SavedSearchDialogSearchRowRating*) saved_search_dialog_search_row_construct (object_type);
#line 421 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp0_ = parent;
#line 421 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp1_ = _saved_search_dialog_search_row_container_ref0 (_tmp0_);
#line 421 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_saved_search_dialog_search_row_container_unref0 (self->priv->parent);
#line 421 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	self->priv->parent = _tmp1_;
#line 424 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp2_ = (GtkComboBoxText*) gtk_combo_box_text_new ();
#line 424 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	g_object_ref_sink (_tmp2_);
#line 424 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_g_object_unref0 (self->priv->rating);
#line 424 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	self->priv->rating = _tmp2_;
#line 425 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp3_ = self->priv->rating;
#line 425 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp4_ = resources_rating_combo_box (RATING_REJECTED);
#line 425 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	gtk_combo_box_text_append_text (_tmp3_, _tmp4_);
#line 426 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp5_ = self->priv->rating;
#line 426 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp6_ = resources_rating_combo_box (RATING_UNRATED);
#line 426 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	gtk_combo_box_text_append_text (_tmp5_, _tmp6_);
#line 427 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp7_ = self->priv->rating;
#line 427 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp8_ = resources_rating_combo_box (RATING_ONE);
#line 427 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	gtk_combo_box_text_append_text (_tmp7_, _tmp8_);
#line 428 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp9_ = self->priv->rating;
#line 428 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp10_ = resources_rating_combo_box (RATING_TWO);
#line 428 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	gtk_combo_box_text_append_text (_tmp9_, _tmp10_);
#line 429 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp11_ = self->priv->rating;
#line 429 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp12_ = resources_rating_combo_box (RATING_THREE);
#line 429 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	gtk_combo_box_text_append_text (_tmp11_, _tmp12_);
#line 430 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp13_ = self->priv->rating;
#line 430 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp14_ = resources_rating_combo_box (RATING_FOUR);
#line 430 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	gtk_combo_box_text_append_text (_tmp13_, _tmp14_);
#line 431 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp15_ = self->priv->rating;
#line 431 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp16_ = resources_rating_combo_box (RATING_FIVE);
#line 431 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	gtk_combo_box_text_append_text (_tmp15_, _tmp16_);
#line 432 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp17_ = self->priv->rating;
#line 432 "/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 433 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp18_ = self->priv->rating;
#line 433 "/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 435 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp19_ = (GtkComboBoxText*) gtk_combo_box_text_new ();
#line 435 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	g_object_ref_sink (_tmp19_);
#line 435 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_g_object_unref0 (self->priv->context);
#line 435 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	self->priv->context = _tmp19_;
#line 436 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp20_ = self->priv->context;
#line 436 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	gtk_combo_box_text_append_text (_tmp20_, _ ("and higher"));
#line 437 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp21_ = self->priv->context;
#line 437 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	gtk_combo_box_text_append_text (_tmp21_, _ ("only"));
#line 438 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp22_ = self->priv->context;
#line 438 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	gtk_combo_box_text_append_text (_tmp22_, _ ("and lower"));
#line 439 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp23_ = self->priv->context;
#line 439 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	gtk_combo_box_set_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp23_, gtk_combo_box_get_type (), GtkComboBox), 0);
#line 440 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp24_ = self->priv->context;
#line 440 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	g_signal_connect (G_TYPE_CHECK_INSTANCE_CAST (_tmp24_, gtk_combo_box_get_type (), GtkComboBox), "changed", (GCallback) _saved_search_dialog_search_row_rating_on_changed_gtk_combo_box_changed, self);
#line 442 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp25_ = (GtkBox*) gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 3);
#line 442 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	g_object_ref_sink (_tmp25_);
#line 442 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_g_object_unref0 (self->priv->box);
#line 442 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	self->priv->box = _tmp25_;
#line 443 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp26_ = self->priv->box;
#line 443 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp27_ = (GtkLabel*) gtk_label_new (_ ("is"));
#line 443 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	g_object_ref_sink (_tmp27_);
#line 443 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp28_ = _tmp27_;
#line 443 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	gtk_box_pack_start (_tmp26_, G_TYPE_CHECK_INSTANCE_CAST (_tmp28_, gtk_widget_get_type (), GtkWidget), FALSE, FALSE, (guint) 0);
#line 443 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_g_object_unref0 (_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_ = self->priv->rating;
#line 444 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	gtk_box_pack_start (_tmp29_, G_TYPE_CHECK_INSTANCE_CAST (_tmp30_, gtk_widget_get_type (), GtkWidget), FALSE, FALSE, (guint) 0);
#line 445 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp31_ = self->priv->box;
#line 445 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp32_ = self->priv->context;
#line 445 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	gtk_box_pack_start (_tmp31_, G_TYPE_CHECK_INSTANCE_CAST (_tmp32_, gtk_widget_get_type (), GtkWidget), FALSE, FALSE, (guint) 0);
#line 446 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp33_ = self->priv->box;
#line 446 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	gtk_widget_show_all (G_TYPE_CHECK_INSTANCE_CAST (_tmp33_, gtk_widget_get_type (), GtkWidget));
#line 420 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	return self;
#line 4721 "SavedSearchDialog.c"
}


static SavedSearchDialogSearchRowRating* saved_search_dialog_search_row_rating_new (SavedSearchDialogSearchRowContainer* parent) {
#line 420 "/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 4728 "SavedSearchDialog.c"
}


static GtkWidget* saved_search_dialog_search_row_rating_real_get_widget (SavedSearchDialogSearchRow* base) {
	SavedSearchDialogSearchRowRating * self;
	GtkWidget* result = NULL;
	GtkBox* _tmp0_;
	GtkWidget* _tmp1_;
#line 454 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (base, SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW_RATING, SavedSearchDialogSearchRowRating);
#line 455 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp0_ = self->priv->box;
#line 455 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp1_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, gtk_widget_get_type (), GtkWidget));
#line 455 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	result = _tmp1_;
#line 455 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	return result;
#line 4747 "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_;
	SearchConditionSearchType _tmp1_;
	Rating search_rating = 0;
	GtkComboBoxText* _tmp2_;
	gint _tmp3_;
	SearchConditionRatingContext search_context = 0;
	GtkComboBoxText* _tmp4_;
	gint _tmp5_;
	SearchConditionRating* c = NULL;
	SearchConditionRating* _tmp6_;
#line 458 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (base, SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW_RATING, SavedSearchDialogSearchRowRating);
#line 459 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp0_ = self->priv->parent;
#line 459 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp1_ = saved_search_dialog_search_row_container_get_search_type (_tmp0_);
#line 459 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	search_type = _tmp1_;
#line 460 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp2_ = self->priv->rating;
#line 460 "/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 460 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	search_rating = ((Rating) _tmp3_) + RATING_REJECTED;
#line 461 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp4_ = self->priv->context;
#line 461 "/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 461 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	search_context = (SearchConditionRatingContext) _tmp5_;
#line 462 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp6_ = search_condition_rating_new (search_type, search_rating, search_context);
#line 462 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	c = _tmp6_;
#line 463 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	result = G_TYPE_CHECK_INSTANCE_CAST (c, TYPE_SEARCH_CONDITION, SearchCondition);
#line 463 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	return result;
#line 4793 "SavedSearchDialog.c"
}


static void saved_search_dialog_search_row_rating_real_populate (SavedSearchDialogSearchRow* base, SearchCondition* sc) {
	SavedSearchDialogSearchRowRating * self;
	SearchConditionRating* r = NULL;
	SearchCondition* _tmp0_;
	SearchConditionRating* _tmp1_;
	GtkComboBoxText* _tmp2_;
	SearchConditionRatingContext _tmp3_;
	SearchConditionRatingContext _tmp4_;
	GtkComboBoxText* _tmp5_;
	Rating _tmp6_;
	Rating _tmp7_;
#line 466 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (base, SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW_RATING, SavedSearchDialogSearchRowRating);
#line 466 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	g_return_if_fail (IS_SEARCH_CONDITION (sc));
#line 467 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp0_ = sc;
#line 467 "/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 467 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	r = _tmp1_;
#line 468 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_vala_assert (r != NULL, "r != null");
#line 469 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp2_ = self->priv->context;
#line 469 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp3_ = search_condition_rating_get_context (r);
#line 469 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp4_ = _tmp3_;
#line 469 "/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 470 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp5_ = self->priv->rating;
#line 470 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp6_ = search_condition_rating_get_rating (r);
#line 470 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp7_ = _tmp6_;
#line 470 "/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 466 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_search_condition_unref0 (r);
#line 4838 "SavedSearchDialog.c"
}


static gboolean saved_search_dialog_search_row_rating_real_is_complete (SavedSearchDialogSearchRow* base) {
	SavedSearchDialogSearchRowRating * self;
	gboolean result = FALSE;
#line 473 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (base, SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW_RATING, SavedSearchDialogSearchRowRating);
#line 474 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	result = TRUE;
#line 474 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	return result;
#line 4851 "SavedSearchDialog.c"
}


static void saved_search_dialog_search_row_rating_on_changed (SavedSearchDialogSearchRowRating* self) {
	SavedSearchDialogSearchRowContainer* _tmp0_;
	SavedSearchDialogSearchRowContainer* _tmp1_;
#line 477 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	g_return_if_fail (SAVED_SEARCH_DIALOG_IS_SEARCH_ROW_RATING (self));
#line 478 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp0_ = self->priv->parent;
#line 478 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp1_ = self->priv->parent;
#line 478 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	g_signal_emit (_tmp0_, saved_search_dialog_search_row_container_signals[SAVED_SEARCH_DIALOG_SEARCH_ROW_CONTAINER_CHANGED_SIGNAL], 0, _tmp1_);
#line 4866 "SavedSearchDialog.c"
}


static void saved_search_dialog_search_row_rating_class_init (SavedSearchDialogSearchRowRatingClass * klass) {
#line 413 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	saved_search_dialog_search_row_rating_parent_class = g_type_class_peek_parent (klass);
#line 413 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	((SavedSearchDialogSearchRowClass *) klass)->finalize = saved_search_dialog_search_row_rating_finalize;
#line 413 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	g_type_class_add_private (klass, sizeof (SavedSearchDialogSearchRowRatingPrivate));
#line 413 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	((SavedSearchDialogSearchRowClass *) klass)->get_widget = (GtkWidget* (*) (SavedSearchDialogSearchRow *)) saved_search_dialog_search_row_rating_real_get_widget;
#line 413 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	((SavedSearchDialogSearchRowClass *) klass)->get_search_condition = (SearchCondition* (*) (SavedSearchDialogSearchRow *)) saved_search_dialog_search_row_rating_real_get_search_condition;
#line 413 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	((SavedSearchDialogSearchRowClass *) klass)->populate = (void (*) (SavedSearchDialogSearchRow *, SearchCondition*)) saved_search_dialog_search_row_rating_real_populate;
#line 413 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	((SavedSearchDialogSearchRowClass *) klass)->is_complete = (gboolean (*) (SavedSearchDialogSearchRow *)) saved_search_dialog_search_row_rating_real_is_complete;
#line 4885 "SavedSearchDialog.c"
}


static void saved_search_dialog_search_row_rating_instance_init (SavedSearchDialogSearchRowRating * self) {
#line 413 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	self->priv = SAVED_SEARCH_DIALOG_SEARCH_ROW_RATING_GET_PRIVATE (self);
#line 4892 "SavedSearchDialog.c"
}


static void saved_search_dialog_search_row_rating_finalize (SavedSearchDialogSearchRow * obj) {
	SavedSearchDialogSearchRowRating * self;
	GtkComboBoxText* _tmp0_;
	guint _tmp1_;
	GtkComboBoxText* _tmp2_;
	guint _tmp3_;
#line 413 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW_RATING, SavedSearchDialogSearchRowRating);
#line 450 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp0_ = self->priv->rating;
#line 450 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	g_signal_parse_name ("changed", gtk_combo_box_get_type (), &_tmp1_, NULL, FALSE);
#line 450 "/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 451 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp2_ = self->priv->context;
#line 451 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	g_signal_parse_name ("changed", gtk_combo_box_get_type (), &_tmp3_, NULL, FALSE);
#line 451 "/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 414 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_g_object_unref0 (self->priv->box);
#line 415 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_g_object_unref0 (self->priv->rating);
#line 416 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_g_object_unref0 (self->priv->context);
#line 418 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_saved_search_dialog_search_row_container_unref0 (self->priv->parent);
#line 413 "/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 4926 "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 528 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	saved_search_dialog_search_row_date_on_changed ((SavedSearchDialogSearchRowDate*) self);
#line 4945 "SavedSearchDialog.c"
}


static void _saved_search_dialog_search_row_date_on_one_clicked_gtk_button_clicked (GtkButton* _sender, gpointer self) {
#line 511 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	saved_search_dialog_search_row_date_on_one_clicked ((SavedSearchDialogSearchRowDate*) self);
#line 4952 "SavedSearchDialog.c"
}


static void _saved_search_dialog_search_row_date_on_two_clicked_gtk_button_clicked (GtkButton* _sender, gpointer self) {
#line 513 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	saved_search_dialog_search_row_date_on_two_clicked ((SavedSearchDialogSearchRowDate*) self);
#line 4959 "SavedSearchDialog.c"
}


static SavedSearchDialogSearchRowDate* saved_search_dialog_search_row_date_construct (GType object_type, SavedSearchDialogSearchRowContainer* parent) {
	SavedSearchDialogSearchRowDate* self = NULL;
	SavedSearchDialogSearchRowContainer* _tmp0_;
	SavedSearchDialogSearchRowContainer* _tmp1_;
	GtkComboBoxText* _tmp2_;
	GtkComboBoxText* _tmp3_;
	GtkComboBoxText* _tmp4_;
	GtkComboBoxText* _tmp5_;
	GtkComboBoxText* _tmp6_;
	GtkComboBoxText* _tmp7_;
	GtkComboBoxText* _tmp8_;
	GtkComboBoxText* _tmp9_;
	GtkCalendar* _tmp10_;
	GtkCalendar* _tmp11_;
	GtkButton* _tmp12_;
	GtkButton* _tmp13_;
	GtkButton* _tmp14_;
	GtkButton* _tmp15_;
	GtkLabel* _tmp16_;
	GtkBox* _tmp17_;
	GtkBox* _tmp18_;
	GtkComboBoxText* _tmp19_;
	GtkBox* _tmp20_;
	GtkButton* _tmp21_;
	GtkBox* _tmp22_;
	GtkLabel* _tmp23_;
	GtkBox* _tmp24_;
	GtkButton* _tmp25_;
	GtkBox* _tmp26_;
#line 494 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	g_return_val_if_fail (SAVED_SEARCH_DIALOG_IS_SEARCH_ROW_CONTAINER (parent), NULL);
#line 494 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	self = (SavedSearchDialogSearchRowDate*) saved_search_dialog_search_row_construct (object_type);
#line 495 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp0_ = parent;
#line 495 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp1_ = _saved_search_dialog_search_row_container_ref0 (_tmp0_);
#line 495 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_saved_search_dialog_search_row_container_unref0 (self->priv->parent);
#line 495 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	self->priv->parent = _tmp1_;
#line 498 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp2_ = (GtkComboBoxText*) gtk_combo_box_text_new ();
#line 498 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	g_object_ref_sink (_tmp2_);
#line 498 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_g_object_unref0 (self->priv->context);
#line 498 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	self->priv->context = _tmp2_;
#line 499 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp3_ = self->priv->context;
#line 499 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	gtk_combo_box_text_append_text (_tmp3_, _ ("is exactly"));
#line 500 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp4_ = self->priv->context;
#line 500 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	gtk_combo_box_text_append_text (_tmp4_, _ ("is after"));
#line 501 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp5_ = self->priv->context;
#line 501 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	gtk_combo_box_text_append_text (_tmp5_, _ ("is before"));
#line 502 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp6_ = self->priv->context;
#line 502 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	gtk_combo_box_text_append_text (_tmp6_, _ ("is between"));
#line 503 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp7_ = self->priv->context;
#line 503 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	gtk_combo_box_text_append_text (_tmp7_, _ ("is not set"));
#line 504 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp8_ = self->priv->context;
#line 504 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	gtk_combo_box_set_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, gtk_combo_box_get_type (), GtkComboBox), 0);
#line 505 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp9_ = self->priv->context;
#line 505 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	g_signal_connect (G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, gtk_combo_box_get_type (), GtkComboBox), "changed", (GCallback) _saved_search_dialog_search_row_date_on_changed_gtk_combo_box_changed, self);
#line 507 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp10_ = (GtkCalendar*) gtk_calendar_new ();
#line 507 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	g_object_ref_sink (_tmp10_);
#line 507 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_g_object_unref0 (self->priv->cal_one);
#line 507 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	self->priv->cal_one = _tmp10_;
#line 508 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp11_ = (GtkCalendar*) gtk_calendar_new ();
#line 508 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	g_object_ref_sink (_tmp11_);
#line 508 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_g_object_unref0 (self->priv->cal_two);
#line 508 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	self->priv->cal_two = _tmp11_;
#line 510 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp12_ = (GtkButton*) gtk_button_new ();
#line 510 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	g_object_ref_sink (_tmp12_);
#line 510 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_g_object_unref0 (self->priv->label_one);
#line 510 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	self->priv->label_one = _tmp12_;
#line 511 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp13_ = self->priv->label_one;
#line 511 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	g_signal_connect (_tmp13_, "clicked", (GCallback) _saved_search_dialog_search_row_date_on_one_clicked_gtk_button_clicked, self);
#line 512 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp14_ = (GtkButton*) gtk_button_new ();
#line 512 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	g_object_ref_sink (_tmp14_);
#line 512 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_g_object_unref0 (self->priv->label_two);
#line 512 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	self->priv->label_two = _tmp14_;
#line 513 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp15_ = self->priv->label_two;
#line 513 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	g_signal_connect (_tmp15_, "clicked", (GCallback) _saved_search_dialog_search_row_date_on_two_clicked_gtk_button_clicked, self);
#line 515 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp16_ = (GtkLabel*) gtk_label_new (_ ("and"));
#line 515 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	g_object_ref_sink (_tmp16_);
#line 515 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_g_object_unref0 (self->priv->and);
#line 515 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	self->priv->and = _tmp16_;
#line 517 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp17_ = (GtkBox*) gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 3);
#line 517 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	g_object_ref_sink (_tmp17_);
#line 517 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_g_object_unref0 (self->priv->box);
#line 517 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	self->priv->box = _tmp17_;
#line 518 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp18_ = self->priv->box;
#line 518 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp19_ = self->priv->context;
#line 518 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	gtk_box_pack_start (_tmp18_, G_TYPE_CHECK_INSTANCE_CAST (_tmp19_, gtk_widget_get_type (), GtkWidget), FALSE, FALSE, (guint) 0);
#line 519 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp20_ = self->priv->box;
#line 519 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp21_ = self->priv->label_one;
#line 519 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	gtk_box_pack_start (_tmp20_, G_TYPE_CHECK_INSTANCE_CAST (_tmp21_, gtk_widget_get_type (), GtkWidget), FALSE, FALSE, (guint) 0);
#line 520 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp22_ = self->priv->box;
#line 520 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp23_ = self->priv->and;
#line 520 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	gtk_box_pack_start (_tmp22_, G_TYPE_CHECK_INSTANCE_CAST (_tmp23_, gtk_widget_get_type (), GtkWidget), FALSE, FALSE, (guint) 0);
#line 521 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp24_ = self->priv->box;
#line 521 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp25_ = self->priv->label_two;
#line 521 "/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 523 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp26_ = self->priv->box;
#line 523 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	gtk_widget_show_all (G_TYPE_CHECK_INSTANCE_CAST (_tmp26_, gtk_widget_get_type (), GtkWidget));
#line 524 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	saved_search_dialog_search_row_date_update_date_labels (self);
#line 494 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	return self;
#line 5128 "SavedSearchDialog.c"
}


static SavedSearchDialogSearchRowDate* saved_search_dialog_search_row_date_new (SavedSearchDialogSearchRowContainer* parent) {
#line 494 "/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 5135 "SavedSearchDialog.c"
}


static void saved_search_dialog_search_row_date_update_date_labels (SavedSearchDialogSearchRowDate* self) {
	SearchConditionDateContext c = 0;
	GtkComboBoxText* _tmp0_;
	gint _tmp1_;
	SearchConditionDateContext _tmp2_;
	GtkButton* _tmp13_;
	GDateTime* _tmp14_;
	GDateTime* _tmp15_;
	gchar* _tmp16_;
	gchar* _tmp17_;
	GtkButton* _tmp18_;
	GDateTime* _tmp19_;
	GDateTime* _tmp20_;
	gchar* _tmp21_;
	gchar* _tmp22_;
#line 531 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	g_return_if_fail (SAVED_SEARCH_DIALOG_IS_SEARCH_ROW_DATE (self));
#line 532 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp0_ = self->priv->context;
#line 532 "/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 532 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	c = (SearchConditionDateContext) _tmp1_;
#line 535 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp2_ = c;
#line 535 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	if (_tmp2_ == SEARCH_CONDITION_DATE_CONTEXT_BETWEEN) {
#line 5166 "SavedSearchDialog.c"
		GtkButton* _tmp3_;
		GtkLabel* _tmp4_;
		GtkButton* _tmp5_;
#line 536 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
		_tmp3_ = self->priv->label_one;
#line 536 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
		gtk_widget_show (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, gtk_widget_get_type (), GtkWidget));
#line 537 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
		_tmp4_ = self->priv->and;
#line 537 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
		gtk_widget_show (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, gtk_widget_get_type (), GtkWidget));
#line 538 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
		_tmp5_ = self->priv->label_two;
#line 538 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
		gtk_widget_show (G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, gtk_widget_get_type (), GtkWidget));
#line 5182 "SavedSearchDialog.c"
	} else {
		SearchConditionDateContext _tmp6_;
#line 539 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
		_tmp6_ = c;
#line 539 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
		if (_tmp6_ == SEARCH_CONDITION_DATE_CONTEXT_IS_NOT_SET) {
#line 5189 "SavedSearchDialog.c"
			GtkButton* _tmp7_;
			GtkLabel* _tmp8_;
			GtkButton* _tmp9_;
#line 540 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
			_tmp7_ = self->priv->label_one;
#line 540 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
			gtk_widget_hide (G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, gtk_widget_get_type (), GtkWidget));
#line 541 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
			_tmp8_ = self->priv->and;
#line 541 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
			gtk_widget_hide (G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, gtk_widget_get_type (), GtkWidget));
#line 542 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
			_tmp9_ = self->priv->label_two;
#line 542 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
			gtk_widget_hide (G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, gtk_widget_get_type (), GtkWidget));
#line 5205 "SavedSearchDialog.c"
		} else {
			GtkButton* _tmp10_;
			GtkLabel* _tmp11_;
			GtkButton* _tmp12_;
#line 544 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
			_tmp10_ = self->priv->label_one;
#line 544 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
			gtk_widget_show (G_TYPE_CHECK_INSTANCE_CAST (_tmp10_, gtk_widget_get_type (), GtkWidget));
#line 545 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
			_tmp11_ = self->priv->and;
#line 545 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
			gtk_widget_hide (G_TYPE_CHECK_INSTANCE_CAST (_tmp11_, gtk_widget_get_type (), GtkWidget));
#line 546 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
			_tmp12_ = self->priv->label_two;
#line 546 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
			gtk_widget_hide (G_TYPE_CHECK_INSTANCE_CAST (_tmp12_, gtk_widget_get_type (), GtkWidget));
#line 5222 "SavedSearchDialog.c"
		}
	}
#line 550 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp13_ = self->priv->label_one;
#line 550 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp14_ = saved_search_dialog_search_row_date_get_date_one (self);
#line 550 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp15_ = _tmp14_;
#line 550 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp16_ = g_date_time_format (_tmp15_, SAVED_SEARCH_DIALOG_SEARCH_ROW_DATE_DATE_FORMAT);
#line 550 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp17_ = _tmp16_;
#line 550 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	gtk_button_set_label (_tmp13_, _tmp17_);
#line 550 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_g_free0 (_tmp17_);
#line 550 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_g_date_time_unref0 (_tmp15_);
#line 551 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp18_ = self->priv->label_two;
#line 551 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp19_ = saved_search_dialog_search_row_date_get_date_two (self);
#line 551 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp20_ = _tmp19_;
#line 551 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp21_ = g_date_time_format (_tmp20_, SAVED_SEARCH_DIALOG_SEARCH_ROW_DATE_DATE_FORMAT);
#line 551 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp22_ = _tmp21_;
#line 551 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	gtk_button_set_label (_tmp18_, _tmp22_);
#line 551 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_g_free0 (_tmp22_);
#line 551 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_g_date_time_unref0 (_tmp20_);
#line 5257 "SavedSearchDialog.c"
}


static GtkWidget* saved_search_dialog_search_row_date_real_get_widget (SavedSearchDialogSearchRow* base) {
	SavedSearchDialogSearchRowDate * self;
	GtkWidget* result = NULL;
	GtkBox* _tmp0_;
	GtkWidget* _tmp1_;
#line 554 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (base, SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW_DATE, SavedSearchDialogSearchRowDate);
#line 555 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp0_ = self->priv->box;
#line 555 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp1_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, gtk_widget_get_type (), GtkWidget));
#line 555 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	result = _tmp1_;
#line 555 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	return result;
#line 5276 "SavedSearchDialog.c"
}


static GDateTime* saved_search_dialog_search_row_date_get_date_one (SavedSearchDialogSearchRowDate* self) {
	GDateTime* result = NULL;
	GtkCalendar* _tmp0_;
	gint _tmp1_;
	gint _tmp2_;
	GtkCalendar* _tmp3_;
	gint _tmp4_;
	gint _tmp5_;
	GtkCalendar* _tmp6_;
	gint _tmp7_;
	gint _tmp8_;
	GDateTime* _tmp9_;
#line 558 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	g_return_val_if_fail (SAVED_SEARCH_DIALOG_IS_SEARCH_ROW_DATE (self), NULL);
#line 559 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp0_ = self->priv->cal_one;
#line 559 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	g_object_get (_tmp0_, "year", &_tmp1_, NULL);
#line 559 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp2_ = _tmp1_;
#line 559 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp3_ = self->priv->cal_one;
#line 559 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	g_object_get (_tmp3_, "month", &_tmp4_, NULL);
#line 559 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp5_ = _tmp4_;
#line 559 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp6_ = self->priv->cal_one;
#line 559 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	g_object_get (_tmp6_, "day", &_tmp7_, NULL);
#line 559 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp8_ = _tmp7_;
#line 559 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp9_ = g_date_time_new_local (_tmp2_, _tmp5_ + 1, _tmp8_, 0, 0, 0.0);
#line 559 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	result = _tmp9_;
#line 559 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	return result;
#line 5318 "SavedSearchDialog.c"
}


static GDateTime* saved_search_dialog_search_row_date_get_date_two (SavedSearchDialogSearchRowDate* self) {
	GDateTime* result = NULL;
	GtkCalendar* _tmp0_;
	gint _tmp1_;
	gint _tmp2_;
	GtkCalendar* _tmp3_;
	gint _tmp4_;
	gint _tmp5_;
	GtkCalendar* _tmp6_;
	gint _tmp7_;
	gint _tmp8_;
	GDateTime* _tmp9_;
#line 562 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	g_return_val_if_fail (SAVED_SEARCH_DIALOG_IS_SEARCH_ROW_DATE (self), NULL);
#line 563 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp0_ = self->priv->cal_two;
#line 563 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	g_object_get (_tmp0_, "year", &_tmp1_, NULL);
#line 563 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp2_ = _tmp1_;
#line 563 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp3_ = self->priv->cal_two;
#line 563 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	g_object_get (_tmp3_, "month", &_tmp4_, NULL);
#line 563 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp5_ = _tmp4_;
#line 563 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp6_ = self->priv->cal_two;
#line 563 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	g_object_get (_tmp6_, "day", &_tmp7_, NULL);
#line 563 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp8_ = _tmp7_;
#line 563 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp9_ = g_date_time_new_local (_tmp2_, _tmp5_ + 1, _tmp8_, 0, 0, 0.0);
#line 563 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	result = _tmp9_;
#line 563 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	return result;
#line 5360 "SavedSearchDialog.c"
}


static void saved_search_dialog_search_row_date_set_date_one (SavedSearchDialogSearchRowDate* self, GDateTime* date) {
	GtkCalendar* _tmp0_;
	GDateTime* _tmp1_;
	gint _tmp2_;
	GtkCalendar* _tmp3_;
	GDateTime* _tmp4_;
	gint _tmp5_;
	GtkCalendar* _tmp6_;
	GDateTime* _tmp7_;
	gint _tmp8_;
#line 566 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	g_return_if_fail (SAVED_SEARCH_DIALOG_IS_SEARCH_ROW_DATE (self));
#line 566 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	g_return_if_fail (date != NULL);
#line 567 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp0_ = self->priv->cal_one;
#line 567 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp1_ = date;
#line 567 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp2_ = g_date_time_get_day_of_month (_tmp1_);
#line 567 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	g_object_set (_tmp0_, "day", _tmp2_, NULL);
#line 568 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp3_ = self->priv->cal_one;
#line 568 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp4_ = date;
#line 568 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp5_ = g_date_time_get_month (_tmp4_);
#line 568 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	g_object_set (_tmp3_, "month", _tmp5_ - 1, NULL);
#line 569 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp6_ = self->priv->cal_one;
#line 569 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp7_ = date;
#line 569 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp8_ = g_date_time_get_year (_tmp7_);
#line 569 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	g_object_set (_tmp6_, "year", _tmp8_, NULL);
#line 5402 "SavedSearchDialog.c"
}


static void saved_search_dialog_search_row_date_set_date_two (SavedSearchDialogSearchRowDate* self, GDateTime* date) {
	GtkCalendar* _tmp0_;
	GDateTime* _tmp1_;
	gint _tmp2_;
	GtkCalendar* _tmp3_;
	GDateTime* _tmp4_;
	gint _tmp5_;
	GtkCalendar* _tmp6_;
	GDateTime* _tmp7_;
	gint _tmp8_;
#line 572 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	g_return_if_fail (SAVED_SEARCH_DIALOG_IS_SEARCH_ROW_DATE (self));
#line 572 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	g_return_if_fail (date != NULL);
#line 573 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp0_ = self->priv->cal_two;
#line 573 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp1_ = date;
#line 573 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp2_ = g_date_time_get_day_of_month (_tmp1_);
#line 573 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	g_object_set (_tmp0_, "day", _tmp2_, NULL);
#line 574 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp3_ = self->priv->cal_two;
#line 574 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp4_ = date;
#line 574 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp5_ = g_date_time_get_month (_tmp4_);
#line 574 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	g_object_set (_tmp3_, "month", _tmp5_ - 1, NULL);
#line 575 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp6_ = self->priv->cal_two;
#line 575 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp7_ = date;
#line 575 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp8_ = g_date_time_get_year (_tmp7_);
#line 575 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	g_object_set (_tmp6_, "year", _tmp8_, NULL);
#line 5444 "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_;
	SearchConditionSearchType _tmp1_;
	SearchConditionDateContext search_context = 0;
	GtkComboBoxText* _tmp2_;
	gint _tmp3_;
	SearchConditionDate* c = NULL;
	GDateTime* _tmp4_;
	GDateTime* _tmp5_;
	GDateTime* _tmp6_;
	GDateTime* _tmp7_;
	SearchConditionDate* _tmp8_;
	SearchConditionDate* _tmp9_;
#line 578 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (base, SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW_DATE, SavedSearchDialogSearchRowDate);
#line 579 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp0_ = self->priv->parent;
#line 579 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp1_ = saved_search_dialog_search_row_container_get_search_type (_tmp0_);
#line 579 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	search_type = _tmp1_;
#line 580 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp2_ = self->priv->context;
#line 580 "/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 580 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	search_context = (SearchConditionDateContext) _tmp3_;
#line 581 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp4_ = saved_search_dialog_search_row_date_get_date_one (self);
#line 581 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp5_ = _tmp4_;
#line 581 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp6_ = saved_search_dialog_search_row_date_get_date_two (self);
#line 581 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp7_ = _tmp6_;
#line 581 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp8_ = search_condition_date_new (search_type, search_context, _tmp5_, _tmp7_);
#line 581 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp9_ = _tmp8_;
#line 581 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_g_date_time_unref0 (_tmp7_);
#line 581 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_g_date_time_unref0 (_tmp5_);
#line 581 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	c = _tmp9_;
#line 583 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	result = G_TYPE_CHECK_INSTANCE_CAST (c, TYPE_SEARCH_CONDITION, SearchCondition);
#line 583 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	return result;
#line 5500 "SavedSearchDialog.c"
}


static void saved_search_dialog_search_row_date_real_populate (SavedSearchDialogSearchRow* base, SearchCondition* sc) {
	SavedSearchDialogSearchRowDate * self;
	SearchConditionDate* cond = NULL;
	SearchCondition* _tmp0_;
	SearchConditionDate* _tmp1_;
	GtkComboBoxText* _tmp2_;
	SearchConditionDateContext _tmp3_;
	SearchConditionDateContext _tmp4_;
	GDateTime* _tmp5_;
	GDateTime* _tmp6_;
	GDateTime* _tmp7_;
	GDateTime* _tmp8_;
#line 586 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (base, SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW_DATE, SavedSearchDialogSearchRowDate);
#line 586 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	g_return_if_fail (IS_SEARCH_CONDITION (sc));
#line 587 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp0_ = sc;
#line 587 "/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 587 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	cond = _tmp1_;
#line 588 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_vala_assert (cond != NULL, "cond != null");
#line 589 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp2_ = self->priv->context;
#line 589 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp3_ = search_condition_date_get_context (cond);
#line 589 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp4_ = _tmp3_;
#line 589 "/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 590 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp5_ = search_condition_date_get_date_one (cond);
#line 590 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp6_ = _tmp5_;
#line 590 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	saved_search_dialog_search_row_date_set_date_one (self, _tmp6_);
#line 591 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp7_ = search_condition_date_get_date_two (cond);
#line 591 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp8_ = _tmp7_;
#line 591 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	saved_search_dialog_search_row_date_set_date_two (self, _tmp8_);
#line 592 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	saved_search_dialog_search_row_date_update_date_labels (self);
#line 586 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_search_condition_unref0 (cond);
#line 5552 "SavedSearchDialog.c"
}


static gboolean saved_search_dialog_search_row_date_real_is_complete (SavedSearchDialogSearchRow* base) {
	SavedSearchDialogSearchRowDate * self;
	gboolean result = FALSE;
#line 595 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (base, SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW_DATE, SavedSearchDialogSearchRowDate);
#line 596 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	result = TRUE;
#line 596 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	return result;
#line 5565 "SavedSearchDialog.c"
}


static void saved_search_dialog_search_row_date_on_changed (SavedSearchDialogSearchRowDate* self) {
	SavedSearchDialogSearchRowContainer* _tmp0_;
	SavedSearchDialogSearchRowContainer* _tmp1_;
#line 599 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	g_return_if_fail (SAVED_SEARCH_DIALOG_IS_SEARCH_ROW_DATE (self));
#line 600 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp0_ = self->priv->parent;
#line 600 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp1_ = self->priv->parent;
#line 600 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	g_signal_emit (_tmp0_, saved_search_dialog_search_row_container_signals[SAVED_SEARCH_DIALOG_SEARCH_ROW_CONTAINER_CHANGED_SIGNAL], 0, _tmp1_);
#line 601 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	saved_search_dialog_search_row_date_update_date_labels (self);
#line 5582 "SavedSearchDialog.c"
}


static Block10Data* block10_data_ref (Block10Data* _data10_) {
#line 604 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	g_atomic_int_inc (&_data10_->_ref_count_);
#line 604 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	return _data10_;
#line 5591 "SavedSearchDialog.c"
}


static void block10_data_unref (void * _userdata_) {
	Block10Data* _data10_;
	_data10_ = (Block10Data*) _userdata_;
#line 604 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	if (g_atomic_int_dec_and_test (&_data10_->_ref_count_)) {
#line 5600 "SavedSearchDialog.c"
		SavedSearchDialogSearchRowDate* self;
#line 604 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
		self = _data10_->self;
#line 604 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
		_g_object_unref0 (_data10_->d);
#line 604 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
		_saved_search_dialog_search_row_unref0 (self);
#line 604 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
		g_slice_free (Block10Data, _data10_);
#line 5610 "SavedSearchDialog.c"
	}
}


static void __lambda14_ (SavedSearchDialogSearchRowDate* self) {
#line 615 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	saved_search_dialog_search_row_date_update_date_labels (self);
#line 5618 "SavedSearchDialog.c"
}


static void ___lambda14__gtk_calendar_day_selected (GtkCalendar* _sender, gpointer self) {
#line 615 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	__lambda14_ ((SavedSearchDialogSearchRowDate*) self);
#line 5625 "SavedSearchDialog.c"
}


static void __lambda15_ (Block10Data* _data10_) {
	SavedSearchDialogSearchRowDate* self;
	GtkDialog* _tmp0_;
#line 616 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	self = _data10_->self;
#line 617 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp0_ = _data10_->d;
#line 617 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	gtk_dialog_response (_tmp0_, (gint) GTK_RESPONSE_ACCEPT);
#line 5638 "SavedSearchDialog.c"
}


static void ___lambda15__gtk_calendar_day_selected_double_click (GtkCalendar* _sender, gpointer self) {
#line 616 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	__lambda15_ (self);
#line 5645 "SavedSearchDialog.c"
}


static void saved_search_dialog_search_row_date_popup_calendar (SavedSearchDialogSearchRowDate* self, GtkCalendar* cal) {
	Block10Data* _data10_;
	gint orig_day = 0;
	GtkCalendar* _tmp0_;
	gint _tmp1_;
	gint _tmp2_;
	gint orig_month = 0;
	GtkCalendar* _tmp3_;
	gint _tmp4_;
	gint _tmp5_;
	gint orig_year = 0;
	GtkCalendar* _tmp6_;
	gint _tmp7_;
	gint _tmp8_;
	GtkDialog* _tmp9_;
	GtkDialog* _tmp10_;
	GtkDialog* _tmp11_;
	GtkDialog* _tmp12_;
	GtkDialog* _tmp13_;
	GtkBox* _tmp14_;
	GtkCalendar* _tmp15_;
	gulong id_1 = 0UL;
	GtkCalendar* _tmp16_;
	gulong _tmp17_;
	gulong id_2 = 0UL;
	GtkCalendar* _tmp18_;
	gulong _tmp19_;
	GtkDialog* _tmp20_;
	gint res = 0;
	GtkDialog* _tmp21_;
	gint _tmp22_;
	gint _tmp23_;
	GtkCalendar* _tmp30_;
	gulong _tmp31_;
	GtkCalendar* _tmp32_;
	gulong _tmp33_;
	GtkDialog* _tmp34_;
#line 604 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	g_return_if_fail (SAVED_SEARCH_DIALOG_IS_SEARCH_ROW_DATE (self));
#line 604 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	g_return_if_fail (GTK_IS_CALENDAR (cal));
#line 604 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_data10_ = g_slice_new0 (Block10Data);
#line 604 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_data10_->_ref_count_ = 1;
#line 604 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_data10_->self = saved_search_dialog_search_row_ref (self);
#line 605 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp0_ = cal;
#line 605 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	g_object_get (_tmp0_, "day", &_tmp1_, NULL);
#line 605 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp2_ = _tmp1_;
#line 605 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	orig_day = _tmp2_;
#line 606 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp3_ = cal;
#line 606 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	g_object_get (_tmp3_, "month", &_tmp4_, NULL);
#line 606 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp5_ = _tmp4_;
#line 606 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	orig_month = _tmp5_;
#line 607 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp6_ = cal;
#line 607 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	g_object_get (_tmp6_, "year", &_tmp7_, NULL);
#line 607 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp8_ = _tmp7_;
#line 607 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	orig_year = _tmp8_;
#line 608 "/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 608 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	g_object_ref_sink (_tmp9_);
#line 608 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_data10_->d = _tmp9_;
#line 611 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp10_ = _data10_->d;
#line 611 "/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 612 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp11_ = _data10_->d;
#line 612 "/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 613 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp12_ = _data10_->d;
#line 613 "/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 614 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp13_ = _data10_->d;
#line 614 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp14_ = (GtkBox*) gtk_dialog_get_content_area (_tmp13_);
#line 614 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp15_ = cal;
#line 614 "/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 615 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp16_ = cal;
#line 615 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp17_ = g_signal_connect (_tmp16_, "day-selected", (GCallback) ___lambda14__gtk_calendar_day_selected, self);
#line 615 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	id_1 = _tmp17_;
#line 616 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp18_ = cal;
#line 616 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp19_ = g_signal_connect_data (_tmp18_, "day-selected-double-click", (GCallback) ___lambda15__gtk_calendar_day_selected_double_click, block10_data_ref (_data10_), (GClosureNotify) block10_data_unref, 0);
#line 616 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	id_2 = _tmp19_;
#line 619 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp20_ = _data10_->d;
#line 619 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	gtk_widget_show_all (G_TYPE_CHECK_INSTANCE_CAST (_tmp20_, gtk_widget_get_type (), GtkWidget));
#line 620 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp21_ = _data10_->d;
#line 620 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp22_ = gtk_dialog_run (_tmp21_);
#line 620 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	res = _tmp22_;
#line 621 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp23_ = res;
#line 621 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	if (_tmp23_ != ((gint) GTK_RESPONSE_ACCEPT)) {
#line 5772 "SavedSearchDialog.c"
		GtkCalendar* _tmp24_;
		gint _tmp25_;
		GtkCalendar* _tmp26_;
		gint _tmp27_;
		GtkCalendar* _tmp28_;
		gint _tmp29_;
#line 623 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
		_tmp24_ = cal;
#line 623 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
		_tmp25_ = orig_day;
#line 623 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
		g_object_set (_tmp24_, "day", _tmp25_, NULL);
#line 624 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
		_tmp26_ = cal;
#line 624 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
		_tmp27_ = orig_month;
#line 624 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
		g_object_set (_tmp26_, "month", _tmp27_, NULL);
#line 625 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
		_tmp28_ = cal;
#line 625 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
		_tmp29_ = orig_year;
#line 625 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
		g_object_set (_tmp28_, "year", _tmp29_, NULL);
#line 5797 "SavedSearchDialog.c"
	}
#line 627 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp30_ = cal;
#line 627 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp31_ = id_1;
#line 627 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	g_signal_handler_disconnect (G_TYPE_CHECK_INSTANCE_CAST (_tmp30_, G_TYPE_OBJECT, GObject), _tmp31_);
#line 628 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp32_ = cal;
#line 628 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp33_ = id_2;
#line 628 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	g_signal_handler_disconnect (G_TYPE_CHECK_INSTANCE_CAST (_tmp32_, G_TYPE_OBJECT, GObject), _tmp33_);
#line 629 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp34_ = _data10_->d;
#line 629 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	gtk_widget_destroy (G_TYPE_CHECK_INSTANCE_CAST (_tmp34_, gtk_widget_get_type (), GtkWidget));
#line 630 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	saved_search_dialog_search_row_date_update_date_labels (self);
#line 604 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	block10_data_unref (_data10_);
#line 604 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_data10_ = NULL;
#line 5821 "SavedSearchDialog.c"
}


static void saved_search_dialog_search_row_date_on_one_clicked (SavedSearchDialogSearchRowDate* self) {
	GtkCalendar* _tmp0_;
#line 633 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	g_return_if_fail (SAVED_SEARCH_DIALOG_IS_SEARCH_ROW_DATE (self));
#line 634 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp0_ = self->priv->cal_one;
#line 634 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	saved_search_dialog_search_row_date_popup_calendar (self, _tmp0_);
#line 5833 "SavedSearchDialog.c"
}


static void saved_search_dialog_search_row_date_on_two_clicked (SavedSearchDialogSearchRowDate* self) {
	GtkCalendar* _tmp0_;
#line 637 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	g_return_if_fail (SAVED_SEARCH_DIALOG_IS_SEARCH_ROW_DATE (self));
#line 638 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp0_ = self->priv->cal_two;
#line 638 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	saved_search_dialog_search_row_date_popup_calendar (self, _tmp0_);
#line 5845 "SavedSearchDialog.c"
}


static void saved_search_dialog_search_row_date_class_init (SavedSearchDialogSearchRowDateClass * klass) {
#line 482 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	saved_search_dialog_search_row_date_parent_class = g_type_class_peek_parent (klass);
#line 482 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	((SavedSearchDialogSearchRowClass *) klass)->finalize = saved_search_dialog_search_row_date_finalize;
#line 482 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	g_type_class_add_private (klass, sizeof (SavedSearchDialogSearchRowDatePrivate));
#line 482 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	((SavedSearchDialogSearchRowClass *) klass)->get_widget = (GtkWidget* (*) (SavedSearchDialogSearchRow *)) saved_search_dialog_search_row_date_real_get_widget;
#line 482 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	((SavedSearchDialogSearchRowClass *) klass)->get_search_condition = (SearchCondition* (*) (SavedSearchDialogSearchRow *)) saved_search_dialog_search_row_date_real_get_search_condition;
#line 482 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	((SavedSearchDialogSearchRowClass *) klass)->populate = (void (*) (SavedSearchDialogSearchRow *, SearchCondition*)) saved_search_dialog_search_row_date_real_populate;
#line 482 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	((SavedSearchDialogSearchRowClass *) klass)->is_complete = (gboolean (*) (SavedSearchDialogSearchRow *)) saved_search_dialog_search_row_date_real_is_complete;
#line 5864 "SavedSearchDialog.c"
}


static void saved_search_dialog_search_row_date_instance_init (SavedSearchDialogSearchRowDate * self) {
#line 482 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	self->priv = SAVED_SEARCH_DIALOG_SEARCH_ROW_DATE_GET_PRIVATE (self);
#line 5871 "SavedSearchDialog.c"
}


static void saved_search_dialog_search_row_date_finalize (SavedSearchDialogSearchRow * obj) {
	SavedSearchDialogSearchRowDate * self;
	GtkComboBoxText* _tmp0_;
	guint _tmp1_;
#line 482 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW_DATE, SavedSearchDialogSearchRowDate);
#line 528 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp0_ = self->priv->context;
#line 528 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	g_signal_parse_name ("changed", gtk_combo_box_get_type (), &_tmp1_, NULL, FALSE);
#line 528 "/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 484 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_g_object_unref0 (self->priv->box);
#line 485 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_g_object_unref0 (self->priv->context);
#line 486 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_g_object_unref0 (self->priv->label_one);
#line 487 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_g_object_unref0 (self->priv->label_two);
#line 488 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_g_object_unref0 (self->priv->cal_one);
#line 489 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_g_object_unref0 (self->priv->cal_two);
#line 490 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_g_object_unref0 (self->priv->and);
#line 492 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_saved_search_dialog_search_row_container_unref0 (self->priv->parent);
#line 482 "/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 5905 "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 saved_search_dialog_class_init (SavedSearchDialogClass * klass) {
	gint SavedSearchDialog_private_offset;
#line 9 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	saved_search_dialog_parent_class = g_type_class_peek_parent (klass);
#line 9 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	g_type_class_add_private (klass, sizeof (SavedSearchDialogPrivate));
#line 9 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	G_OBJECT_CLASS (klass)->finalize = saved_search_dialog_finalize;
#line 9 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	SavedSearchDialog_private_offset = g_type_class_get_instance_private_offset (klass);
#line 9 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	gtk_widget_class_set_template_from_resource (GTK_WIDGET_CLASS (klass), "/org/gnome/Shotwell/ui/saved_search_dialog.ui");
#line 9 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	gtk_widget_class_bind_template_child_full (GTK_WIDGET_CLASS (klass), "add_criteria", FALSE, SavedSearchDialog_private_offset + G_STRUCT_OFFSET (SavedSearchDialogPrivate, add_criteria));
#line 9 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	gtk_widget_class_bind_template_child_full (GTK_WIDGET_CLASS (klass), "operator", FALSE, SavedSearchDialog_private_offset + G_STRUCT_OFFSET (SavedSearchDialogPrivate, operator));
#line 9 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	gtk_widget_class_bind_template_child_full (GTK_WIDGET_CLASS (klass), "search_title", FALSE, SavedSearchDialog_private_offset + G_STRUCT_OFFSET (SavedSearchDialogPrivate, search_title));
#line 9 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	gtk_widget_class_bind_template_child_full (GTK_WIDGET_CLASS (klass), "row_listbox", FALSE, SavedSearchDialog_private_offset + G_STRUCT_OFFSET (SavedSearchDialogPrivate, row_listbox));
#line 5941 "SavedSearchDialog.c"
}


static void saved_search_dialog_instance_init (SavedSearchDialog * self) {
	GeeArrayList* _tmp0_;
#line 9 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	self->priv = SAVED_SEARCH_DIALOG_GET_PRIVATE (self);
#line 651 "/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, (GDestroyNotify) saved_search_dialog_search_row_container_unref, NULL, NULL, NULL);
#line 651 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	self->priv->row_list = _tmp0_;
#line 652 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	self->priv->edit_mode = FALSE;
#line 653 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	self->priv->previous_search = NULL;
#line 654 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	self->priv->valid = FALSE;
#line 9 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	gtk_widget_init_template (GTK_WIDGET (self));
#line 5961 "SavedSearchDialog.c"
}


static void saved_search_dialog_finalize (GObject * obj) {
	SavedSearchDialog * self;
#line 9 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_SAVED_SEARCH_DIALOG, SavedSearchDialog);
#line 643 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_g_object_unref0 (self->priv->add_criteria);
#line 645 "/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->search_title);
#line 649 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_g_object_unref0 (self->priv->row_listbox);
#line 651 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_g_object_unref0 (self->priv->row_list);
#line 653 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_g_object_unref0 (self->priv->previous_search);
#line 9 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	G_OBJECT_CLASS (saved_search_dialog_parent_class)->finalize (obj);
#line 5983 "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 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, NULL };
		GType saved_search_dialog_type_id;
		saved_search_dialog_type_id = g_type_register_static (gtk_dialog_get_type (), "SavedSearchDialog", &g_define_type_info, 0);
		g_once_init_leave (&saved_search_dialog_type_id__volatile, saved_search_dialog_type_id);
	}
	return saved_search_dialog_type_id__volatile;
}



