/* SavedSearchDialog.c generated by valac 0.40.4, 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;
enum  {
	SAVED_SEARCH_DIALOG_0_PROPERTY,
	SAVED_SEARCH_DIALOG_NUM_PROPERTIES
};
static GParamSpec* saved_search_dialog_properties[SAVED_SEARCH_DIALOG_NUM_PROPERTIES];
#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_NUM_SIGNALS
};
static guint saved_search_dialog_search_row_container_signals[SAVED_SEARCH_DIALOG_SEARCH_ROW_CONTAINER_NUM_SIGNALS] = {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))
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))
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);
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))
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))
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))
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))
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))
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))
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;
	GtkEntry* _tmp0_;
	SavedSearchTable* _tmp1_;
	SavedSearchTable* _tmp2_;
	gchar* _tmp3_;
	gchar* _tmp4_;
	GtkEntry* _tmp5_;
	GeeArrayList* _tmp6_;
	gpointer _tmp7_;
	SavedSearchDialogSearchRowContainer* _tmp8_;
#line 657 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	self = (SavedSearchDialog*) g_object_new (object_type, "use-header-bar", resources_use_header_bar (), 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"
	_tmp0_ = self->priv->search_title;
#line 662 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp1_ = saved_search_table_get_instance ();
#line 662 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp2_ = _tmp1_;
#line 662 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp3_ = saved_search_table_generate_unique_name (_tmp2_);
#line 662 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp4_ = _tmp3_;
#line 662 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	gtk_entry_set_text (_tmp0_, _tmp4_);
#line 662 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_g_free0 (_tmp4_);
#line 662 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_saved_search_table_unref0 (_tmp2_);
#line 663 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp5_ = self->priv->search_title;
#line 663 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	gtk_editable_select_region (G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, gtk_editable_get_type (), 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"
	_tmp6_ = self->priv->row_list;
#line 667 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp7_ = gee_abstract_list_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, GEE_TYPE_ABSTRACT_LIST, GeeAbstractList), 0);
#line 667 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp8_ = (SavedSearchDialogSearchRowContainer*) _tmp7_;
#line 667 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	saved_search_dialog_search_row_container_allow_removal (_tmp8_, FALSE);
#line 667 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_saved_search_dialog_search_row_container_unref0 (_tmp8_);
#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 962 "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 971 "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 980 "SavedSearchDialog.c"
}


SavedSearchDialog*
saved_search_dialog_construct_edit_existing (GType object_type,
                                             SavedSearch* saved_search)
{
	SavedSearchDialog * self = NULL;
	SavedSearch* _tmp0_;
	GtkComboBoxText* _tmp1_;
	GtkEntry* _tmp2_;
	gchar* _tmp3_;
	gchar* _tmp4_;
	GeeArrayList* _tmp18_;
	gint _tmp19_;
	gint _tmp20_;
#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"
	self = (SavedSearchDialog*) g_object_new (object_type, "use-header-bar", resources_use_header_bar (), NULL);
#line 676 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp0_ = _g_object_ref0 (saved_search);
#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 = _tmp0_;
#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"
	_tmp1_ = self->priv->operator;
#line 683 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	gtk_combo_box_set_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, gtk_combo_box_get_type (), GtkComboBox), (gint) ((SearchOperator) saved_search_get_operator (saved_search)));
#line 684 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp2_ = self->priv->search_title;
#line 684 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp3_ = data_object_get_name (G_TYPE_CHECK_INSTANCE_CAST (saved_search, TYPE_DATA_OBJECT, DataObject));
#line 684 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp4_ = _tmp3_;
#line 684 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	gtk_entry_set_text (_tmp2_, _tmp4_);
#line 684 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_g_free0 (_tmp4_);
#line 1027 "SavedSearchDialog.c"
	{
		GeeList* _sc_list = NULL;
		GeeList* _tmp5_;
		gint _sc_size = 0;
		GeeList* _tmp6_;
		gint _tmp7_;
		gint _tmp8_;
		gint _sc_index = 0;
#line 685 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
		_tmp5_ = saved_search_get_conditions (saved_search);
#line 685 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
		_sc_list = _tmp5_;
#line 685 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
		_tmp6_ = _sc_list;
#line 685 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
		_tmp7_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, GEE_TYPE_COLLECTION, GeeCollection));
#line 685 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
		_tmp8_ = _tmp7_;
#line 685 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
		_sc_size = _tmp8_;
#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 1052 "SavedSearchDialog.c"
			gint _tmp9_;
			gint _tmp10_;
			gint _tmp11_;
			SearchCondition* sc = NULL;
			GeeList* _tmp12_;
			gint _tmp13_;
			gpointer _tmp14_;
			SearchCondition* _tmp15_;
			SavedSearchDialogSearchRowContainer* _tmp16_;
			SavedSearchDialogSearchRowContainer* _tmp17_;
#line 685 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
			_tmp9_ = _sc_index;
#line 685 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
			_sc_index = _tmp9_ + 1;
#line 685 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
			_tmp10_ = _sc_index;
#line 685 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
			_tmp11_ = _sc_size;
#line 685 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
			if (!(_tmp10_ < _tmp11_)) {
#line 685 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
				break;
#line 1075 "SavedSearchDialog.c"
			}
#line 685 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
			_tmp12_ = _sc_list;
#line 685 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
			_tmp13_ = _sc_index;
#line 685 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
			_tmp14_ = gee_list_get (_tmp12_, _tmp13_);
#line 685 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
			sc = (SearchCondition*) _tmp14_;
#line 686 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
			_tmp15_ = sc;
#line 686 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
			_tmp16_ = saved_search_dialog_search_row_container_new_edit_existing (_tmp15_);
#line 686 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
			_tmp17_ = _tmp16_;
#line 686 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
			saved_search_dialog_add_row (self, _tmp17_);
#line 686 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
			_saved_search_dialog_search_row_container_unref0 (_tmp17_);
#line 685 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
			_search_condition_unref0 (sc);
#line 1097 "SavedSearchDialog.c"
		}
#line 685 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
		_g_object_unref0 (_sc_list);
#line 1101 "SavedSearchDialog.c"
	}
#line 689 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp18_ = self->priv->row_list;
#line 689 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp19_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp18_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection));
#line 689 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp20_ = _tmp19_;
#line 689 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	if (_tmp20_ == 1) {
#line 1111 "SavedSearchDialog.c"
		GeeArrayList* _tmp21_;
		gpointer _tmp22_;
		SavedSearchDialogSearchRowContainer* _tmp23_;
#line 690 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
		_tmp21_ = self->priv->row_list;
#line 690 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
		_tmp22_ = gee_abstract_list_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp21_, GEE_TYPE_ABSTRACT_LIST, GeeAbstractList), 0);
#line 690 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
		_tmp23_ = (SavedSearchDialogSearchRowContainer*) _tmp22_;
#line 690 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
		saved_search_dialog_search_row_container_allow_removal (_tmp23_, FALSE);
#line 690 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
		_saved_search_dialog_search_row_container_unref0 (_tmp23_);
#line 1125 "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 1131 "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 1140 "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 1151 "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 1161 "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 1171 "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_editable_get_type (), GtkEditable), "changed", (GCallback) _saved_search_dialog_on_title_changed_gtk_editable_changed, self, 0);
#line 1202 "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 1215 "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 1226 "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 1245 "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 1256 "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 1267 "SavedSearchDialog.c"
}


static void
saved_search_dialog_add_row (SavedSearchDialog* self,
                             SavedSearchDialogSearchRowContainer* row)
{
	GeeArrayList* _tmp0_;
	gint _tmp1_;
	gint _tmp2_;
	GtkListBox* _tmp6_;
	GtkWidget* _tmp7_;
	GtkWidget* _tmp8_;
	GeeArrayList* _tmp9_;
#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 1294 "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 1308 "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_ = saved_search_dialog_search_row_container_get_widget (row);
#line 725 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp8_ = _tmp7_;
#line 725 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	gtk_container_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, gtk_container_get_type (), GtkContainer), _tmp8_);
#line 725 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_g_object_unref0 (_tmp8_);
#line 726 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp9_ = self->priv->row_list;
#line 726 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	gee_abstract_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), row);
#line 727 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	g_signal_connect_object (row, "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"
	g_signal_connect_object (row, "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"
	saved_search_dialog_set_valid (self, saved_search_dialog_search_row_container_is_complete (row));
#line 1330 "SavedSearchDialog.c"
}


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


static void
saved_search_dialog_on_response (SavedSearchDialog* self,
                                 gint response_id)
{
#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"
	if (response_id == ((gint) GTK_RESPONSE_OK)) {
#line 1414 "SavedSearchDialog.c"
		gboolean _tmp0_ = FALSE;
		SavedSearchTable* _tmp1_;
		SavedSearchTable* _tmp2_;
		GtkEntry* _tmp3_;
		const gchar* _tmp4_;
		gboolean _tmp5_;
		gboolean _tmp17_;
		GeeArrayList* conditions = NULL;
		GeeArrayList* _tmp21_;
		SearchOperator search_operator = 0;
		GtkComboBoxText* _tmp37_;
		SavedSearchTable* _tmp38_;
		SavedSearchTable* _tmp39_;
		GtkEntry* _tmp40_;
		const gchar* _tmp41_;
		SearchOperator _tmp42_;
		GeeArrayList* _tmp43_;
		SavedSearch* _tmp44_;
		SavedSearch* _tmp45_;
#line 745 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
		_tmp1_ = saved_search_table_get_instance ();
#line 745 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
		_tmp2_ = _tmp1_;
#line 745 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
		_tmp3_ = self->priv->search_title;
#line 745 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
		_tmp4_ = gtk_entry_get_text (_tmp3_);
#line 745 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
		_tmp5_ = saved_search_table_exists (_tmp2_, _tmp4_);
#line 745 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
		_saved_search_table_unref0 (_tmp2_);
#line 745 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
		if (_tmp5_) {
#line 1448 "SavedSearchDialog.c"
			gboolean _tmp6_ = FALSE;
			gboolean _tmp7_;
#line 746 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
			_tmp7_ = self->priv->edit_mode;
#line 746 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
			if (_tmp7_) {
#line 1455 "SavedSearchDialog.c"
				SavedSearch* _tmp8_;
				gchar* _tmp9_;
				gchar* _tmp10_;
				GtkEntry* _tmp11_;
				const gchar* _tmp12_;
#line 746 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
				_tmp8_ = self->priv->previous_search;
#line 746 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
				_tmp9_ = data_object_get_name (G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, TYPE_DATA_OBJECT, DataObject));
#line 746 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
				_tmp10_ = _tmp9_;
#line 746 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
				_tmp11_ = self->priv->search_title;
#line 746 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
				_tmp12_ = gtk_entry_get_text (_tmp11_);
#line 746 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
				_tmp6_ = g_strcmp0 (_tmp10_, _tmp12_) == 0;
#line 746 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
				_g_free0 (_tmp10_);
#line 1475 "SavedSearchDialog.c"
			} else {
#line 746 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
				_tmp6_ = FALSE;
#line 1479 "SavedSearchDialog.c"
			}
#line 746 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
			_tmp0_ = !_tmp6_;
#line 1483 "SavedSearchDialog.c"
		} else {
#line 745 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
			_tmp0_ = FALSE;
#line 1487 "SavedSearchDialog.c"
		}
#line 745 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
		if (_tmp0_) {
#line 1491 "SavedSearchDialog.c"
			GtkEntry* _tmp13_;
			const gchar* _tmp14_;
			gchar* _tmp15_;
			gchar* _tmp16_;
#line 747 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
			_tmp13_ = self->priv->search_title;
#line 747 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
			_tmp14_ = gtk_entry_get_text (_tmp13_);
#line 747 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
			_tmp15_ = resources_rename_search_exists_message (_tmp14_);
#line 747 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
			_tmp16_ = _tmp15_;
#line 747 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
			app_window_error_message (_tmp16_, NULL);
#line 747 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
			_g_free0 (_tmp16_);
#line 748 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
			return;
#line 1510 "SavedSearchDialog.c"
		}
#line 751 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
		_tmp17_ = self->priv->edit_mode;
#line 751 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
		if (_tmp17_) {
#line 1516 "SavedSearchDialog.c"
			SavedSearchTable* _tmp18_;
			SavedSearchTable* _tmp19_;
			SavedSearch* _tmp20_;
#line 753 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
			_tmp18_ = saved_search_table_get_instance ();
#line 753 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
			_tmp19_ = _tmp18_;
#line 753 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
			_tmp20_ = self->priv->previous_search;
#line 753 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
			saved_search_table_remove (_tmp19_, _tmp20_);
#line 753 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
			_saved_search_table_unref0 (_tmp19_);
#line 1530 "SavedSearchDialog.c"
		}
#line 757 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
		_tmp21_ = 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 = _tmp21_;
#line 1536 "SavedSearchDialog.c"
		{
			GeeArrayList* _c_list = NULL;
			GeeArrayList* _tmp22_;
			GeeArrayList* _tmp23_;
			gint _c_size = 0;
			GeeArrayList* _tmp24_;
			gint _tmp25_;
			gint _tmp26_;
			gint _c_index = 0;
#line 758 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
			_tmp22_ = self->priv->row_list;
#line 758 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
			_tmp23_ = _g_object_ref0 (_tmp22_);
#line 758 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
			_c_list = _tmp23_;
#line 758 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
			_tmp24_ = _c_list;
#line 758 "/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 758 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
			_tmp26_ = _tmp25_;
#line 758 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
			_c_size = _tmp26_;
#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 1564 "SavedSearchDialog.c"
				gint _tmp27_;
				gint _tmp28_;
				gint _tmp29_;
				SavedSearchDialogSearchRowContainer* c = NULL;
				GeeArrayList* _tmp30_;
				gint _tmp31_;
				gpointer _tmp32_;
				GeeArrayList* _tmp33_;
				SavedSearchDialogSearchRowContainer* _tmp34_;
				SearchCondition* _tmp35_;
				SearchCondition* _tmp36_;
#line 758 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
				_tmp27_ = _c_index;
#line 758 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
				_c_index = _tmp27_ + 1;
#line 758 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
				_tmp28_ = _c_index;
#line 758 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
				_tmp29_ = _c_size;
#line 758 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
				if (!(_tmp28_ < _tmp29_)) {
#line 758 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
					break;
#line 1588 "SavedSearchDialog.c"
				}
#line 758 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
				_tmp30_ = _c_list;
#line 758 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
				_tmp31_ = _c_index;
#line 758 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
				_tmp32_ = gee_abstract_list_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp30_, GEE_TYPE_ABSTRACT_LIST, GeeAbstractList), _tmp31_);
#line 758 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
				c = (SavedSearchDialogSearchRowContainer*) _tmp32_;
#line 759 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
				_tmp33_ = conditions;
#line 759 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
				_tmp34_ = c;
#line 759 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
				_tmp35_ = saved_search_dialog_search_row_container_get_search_condition (_tmp34_);
#line 759 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
				_tmp36_ = _tmp35_;
#line 759 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
				gee_abstract_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp33_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp36_);
#line 759 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
				_search_condition_unref0 (_tmp36_);
#line 758 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
				_saved_search_dialog_search_row_container_unref0 (c);
#line 1612 "SavedSearchDialog.c"
			}
#line 758 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
			_g_object_unref0 (_c_list);
#line 1616 "SavedSearchDialog.c"
		}
#line 763 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
		_tmp37_ = self->priv->operator;
#line 763 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
		search_operator = (SearchOperator) gtk_combo_box_get_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp37_, gtk_combo_box_get_type (), GtkComboBox));
#line 764 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
		_tmp38_ = saved_search_table_get_instance ();
#line 764 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
		_tmp39_ = _tmp38_;
#line 764 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
		_tmp40_ = self->priv->search_title;
#line 764 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
		_tmp41_ = gtk_entry_get_text (_tmp40_);
#line 764 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
		_tmp42_ = search_operator;
#line 764 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
		_tmp43_ = conditions;
#line 764 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
		_tmp44_ = saved_search_table_create (_tmp39_, _tmp41_, _tmp42_, _tmp43_);
#line 764 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
		_tmp45_ = _tmp44_;
#line 764 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
		_g_object_unref0 (_tmp45_);
#line 764 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
		_saved_search_table_unref0 (_tmp39_);
#line 744 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
		_g_object_unref0 (conditions);
#line 1644 "SavedSearchDialog.c"
	}
}


static void
saved_search_dialog_on_row_changed (SavedSearchDialog* self,
                                    SavedSearchDialogSearchRowContainer* row)
{
#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"
	saved_search_dialog_set_valid (self, saved_search_dialog_search_row_container_is_complete (row));
#line 1659 "SavedSearchDialog.c"
}


static void
saved_search_dialog_on_title_changed (SavedSearchDialog* self)
{
#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"
	saved_search_dialog_set_valid (self, saved_search_dialog_is_title_valid (self));
#line 1670 "SavedSearchDialog.c"
}


static gchar*
string_chomp (const gchar* self)
{
	gchar* result = NULL;
	gchar* _result_ = NULL;
	gchar* _tmp0_;
	const gchar* _tmp1_;
#line 1232 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
	g_return_val_if_fail (self != NULL, NULL);
#line 1233 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
	_tmp0_ = g_strdup (self);
#line 1233 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
	_result_ = _tmp0_;
#line 1234 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
	_tmp1_ = _result_;
#line 1234 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
	g_strchomp (_tmp1_);
#line 1235 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
	result = _result_;
#line 1235 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
	return result;
#line 1695 "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_;
#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 1722 "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 1728 "SavedSearchDialog.c"
	} else {
#line 777 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
		_tmp1_ = FALSE;
#line 1732 "SavedSearchDialog.c"
	}
#line 777 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	if (_tmp1_) {
#line 1736 "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 1756 "SavedSearchDialog.c"
	} else {
#line 777 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
		_tmp0_ = FALSE;
#line 1760 "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 1768 "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 1788 "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"
	_saved_search_table_unref0 (_tmp15_);
#line 782 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	if (_tmp18_) {
#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 1808 "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 1814 "SavedSearchDialog.c"
}


static void
saved_search_dialog_set_valid (SavedSearchDialog* self,
                               gboolean v)
{
	gboolean _tmp18_;
#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"
	if (!v) {
#line 790 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
		self->priv->valid = FALSE;
#line 1829 "SavedSearchDialog.c"
	} else {
		gboolean _tmp0_;
#line 791 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
		_tmp0_ = self->priv->valid;
#line 791 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
		if (v != _tmp0_) {
#line 792 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
			if (saved_search_dialog_is_title_valid (self)) {
#line 1838 "SavedSearchDialog.c"
				gint valid_rows = 0;
				gint _tmp14_;
				GeeArrayList* _tmp15_;
				gint _tmp16_;
				gint _tmp17_;
#line 794 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
				valid_rows = 0;
#line 1846 "SavedSearchDialog.c"
				{
					GeeArrayList* _c_list = NULL;
					GeeArrayList* _tmp1_;
					GeeArrayList* _tmp2_;
					gint _c_size = 0;
					GeeArrayList* _tmp3_;
					gint _tmp4_;
					gint _tmp5_;
					gint _c_index = 0;
#line 795 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
					_tmp1_ = self->priv->row_list;
#line 795 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
					_tmp2_ = _g_object_ref0 (_tmp1_);
#line 795 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
					_c_list = _tmp2_;
#line 795 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
					_tmp3_ = _c_list;
#line 795 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
					_tmp4_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection));
#line 795 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
					_tmp5_ = _tmp4_;
#line 795 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
					_c_size = _tmp5_;
#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 1874 "SavedSearchDialog.c"
						gint _tmp6_;
						gint _tmp7_;
						gint _tmp8_;
						SavedSearchDialogSearchRowContainer* c = NULL;
						GeeArrayList* _tmp9_;
						gint _tmp10_;
						gpointer _tmp11_;
						SavedSearchDialogSearchRowContainer* _tmp12_;
#line 795 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
						_tmp6_ = _c_index;
#line 795 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
						_c_index = _tmp6_ + 1;
#line 795 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
						_tmp7_ = _c_index;
#line 795 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
						_tmp8_ = _c_size;
#line 795 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
						if (!(_tmp7_ < _tmp8_)) {
#line 795 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
							break;
#line 1895 "SavedSearchDialog.c"
						}
#line 795 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
						_tmp9_ = _c_list;
#line 795 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
						_tmp10_ = _c_index;
#line 795 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
						_tmp11_ = gee_abstract_list_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, GEE_TYPE_ABSTRACT_LIST, GeeAbstractList), _tmp10_);
#line 795 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
						c = (SavedSearchDialogSearchRowContainer*) _tmp11_;
#line 796 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
						_tmp12_ = c;
#line 796 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
						if (saved_search_dialog_search_row_container_is_complete (_tmp12_)) {
#line 1909 "SavedSearchDialog.c"
							gint _tmp13_;
#line 797 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
							_tmp13_ = valid_rows;
#line 797 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
							valid_rows = _tmp13_ + 1;
#line 1915 "SavedSearchDialog.c"
						}
#line 795 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
						_saved_search_dialog_search_row_container_unref0 (c);
#line 1919 "SavedSearchDialog.c"
					}
#line 795 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
					_g_object_unref0 (_c_list);
#line 1923 "SavedSearchDialog.c"
				}
#line 799 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
				_tmp14_ = valid_rows;
#line 799 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
				_tmp15_ = self->priv->row_list;
#line 799 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
				_tmp16_ = gee_abstract_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp15_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection));
#line 799 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
				_tmp17_ = _tmp16_;
#line 799 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
				self->priv->valid = _tmp14_ == _tmp17_;
#line 1935 "SavedSearchDialog.c"
			} else {
#line 801 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
				self->priv->valid = FALSE;
#line 1939 "SavedSearchDialog.c"
			}
		}
	}
#line 805 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp18_ = 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, _tmp18_);
#line 1947 "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 1963 "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 1972 "SavedSearchDialog.c"
}


static SavedSearchDialogSearchRowContainer*
saved_search_dialog_search_row_container_construct_edit_existing (GType object_type,
                                                                  SearchCondition* sc)
{
	SavedSearchDialogSearchRowContainer* self = NULL;
	SearchConditionSearchType _tmp0_;
	SearchConditionSearchType _tmp1_;
	SearchConditionSearchType _tmp2_;
	SearchConditionSearchType _tmp3_;
	SavedSearchDialogSearchRow* _tmp4_;
#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_ = search_condition_get_search_type (sc);
#line 31 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp1_ = _tmp0_;
#line 31 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	saved_search_dialog_search_row_container_set_type (self, _tmp1_);
#line 32 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp2_ = search_condition_get_search_type (sc);
#line 32 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp3_ = _tmp2_;
#line 32 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	saved_search_dialog_search_row_container_set_type_combo_box (self, _tmp3_);
#line 33 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp4_ = self->priv->my_row;
#line 33 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	saved_search_dialog_search_row_populate (_tmp4_, sc);
#line 29 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	return self;
#line 2010 "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 2019 "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 2029 "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 2039 "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 2092 "SavedSearchDialog.c"
	{
		gint i = 0;
#line 43 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
		i = 0;
#line 2097 "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 2104 "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 2122 "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 2128 "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 2142 "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 2174 "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", (GtkIconSize) 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 2240 "SavedSearchDialog.c"
}


static void
saved_search_dialog_search_row_container_on_type_changed (SavedSearchDialogSearchRowContainer* self)
{
#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"
	saved_search_dialog_search_row_container_set_type (self, saved_search_dialog_search_row_container_get_search_type (self));
#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 2253 "SavedSearchDialog.c"
}


static void
saved_search_dialog_search_row_container_set_type_combo_box (SavedSearchDialogSearchRowContainer* self,
                                                             SearchConditionSearchType st)
{
	GtkComboBoxText* _tmp0_;
	GeeHashMap* _tmp1_;
	gpointer _tmp2_;
#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_ = gee_abstract_map_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), (gpointer) ((gintptr) st));
#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) _tmp2_));
#line 2274 "SavedSearchDialog.c"
}


static void
saved_search_dialog_search_row_container_set_type (SavedSearchDialogSearchRowContainer* self,
                                                   SearchConditionSearchType type)
{
	SavedSearchDialogSearchRow* _tmp0_;
	GtkBox* _tmp11_;
	SavedSearchDialogSearchRow* _tmp12_;
	GtkWidget* _tmp13_;
	GtkWidget* _tmp14_;
#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 2293 "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 2310 "SavedSearchDialog.c"
	}
#line 78 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	switch (type) {
#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 2326 "SavedSearchDialog.c"
		{
			SavedSearchDialogSearchRowText* _tmp5_;
#line 85 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
			_tmp5_ = 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 (_tmp5_, SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW, SavedSearchDialogSearchRow);
#line 86 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
			break;
#line 2337 "SavedSearchDialog.c"
		}
#line 78 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
		case SEARCH_CONDITION_SEARCH_TYPE_MEDIA_TYPE:
#line 2341 "SavedSearchDialog.c"
		{
			SavedSearchDialogSearchRowMediaType* _tmp6_;
#line 89 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
			_tmp6_ = 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 (_tmp6_, SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW, SavedSearchDialogSearchRow);
#line 90 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
			break;
#line 2352 "SavedSearchDialog.c"
		}
#line 78 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
		case SEARCH_CONDITION_SEARCH_TYPE_FLAG_STATE:
#line 2356 "SavedSearchDialog.c"
		{
			SavedSearchDialogSearchRowFlagged* _tmp7_;
#line 93 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
			_tmp7_ = 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 (_tmp7_, SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW, SavedSearchDialogSearchRow);
#line 94 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
			break;
#line 2367 "SavedSearchDialog.c"
		}
#line 78 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
		case SEARCH_CONDITION_SEARCH_TYPE_MODIFIED_STATE:
#line 2371 "SavedSearchDialog.c"
		{
			SavedSearchDialogSearchRowModified* _tmp8_;
#line 97 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
			_tmp8_ = 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 (_tmp8_, SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW, SavedSearchDialogSearchRow);
#line 98 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
			break;
#line 2382 "SavedSearchDialog.c"
		}
#line 78 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
		case SEARCH_CONDITION_SEARCH_TYPE_RATING:
#line 2386 "SavedSearchDialog.c"
		{
			SavedSearchDialogSearchRowRating* _tmp9_;
#line 101 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
			_tmp9_ = 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 (_tmp9_, SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW, SavedSearchDialogSearchRow);
#line 102 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
			break;
#line 2397 "SavedSearchDialog.c"
		}
#line 78 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
		case SEARCH_CONDITION_SEARCH_TYPE_DATE:
#line 2401 "SavedSearchDialog.c"
		{
			SavedSearchDialogSearchRowDate* _tmp10_;
#line 105 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
			_tmp10_ = 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 (_tmp10_, SAVED_SEARCH_DIALOG_TYPE_SEARCH_ROW, SavedSearchDialogSearchRow);
#line 106 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
			break;
#line 2412 "SavedSearchDialog.c"
		}
		default:
		{
#line 109 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
			g_assert_not_reached ();
#line 2418 "SavedSearchDialog.c"
		}
	}
#line 112 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp11_ = self->priv->box;
#line 112 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp12_ = self->priv->my_row;
#line 112 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp13_ = saved_search_dialog_search_row_get_widget (_tmp12_);
#line 112 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp14_ = _tmp13_;
#line 112 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	gtk_box_pack_start (_tmp11_, _tmp14_, TRUE, TRUE, (guint) 0);
#line 112 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_g_object_unref0 (_tmp14_);
#line 2433 "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_;
	SearchConditionSearchType _tmp2_;
#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_ = _tmp0_[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"
	result = _tmp2_;
#line 116 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	return result;
#line 2459 "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 2470 "SavedSearchDialog.c"
}


static void
saved_search_dialog_search_row_container_allow_removal (SavedSearchDialogSearchRowContainer* self,
                                                        gboolean allow)
{
	GtkButton* _tmp0_;
#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"
	gtk_widget_set_sensitive (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, gtk_widget_get_type (), GtkWidget), allow);
#line 2485 "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 2505 "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 2525 "SavedSearchDialog.c"
}


static gboolean
saved_search_dialog_search_row_container_is_complete (SavedSearchDialogSearchRowContainer* self)
{
	gboolean result = FALSE;
	SavedSearchDialogSearchRow* _tmp0_;
#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"
	result = saved_search_dialog_search_row_is_complete (_tmp0_);
#line 136 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	return result;
#line 2542 "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 2568 "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 2574 "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 2580 "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 2589 "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 2600 "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 2613 "SavedSearchDialog.c"
	} else {
#line 12 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
		dest_value->data[0].v_pointer = NULL;
#line 2617 "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 2627 "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 2639 "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 2646 "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 2650 "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 2654 "SavedSearchDialog.c"
	} else {
#line 12 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
		value->data[0].v_pointer = NULL;
#line 2658 "SavedSearchDialog.c"
	}
#line 12 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	return NULL;
#line 2662 "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 2678 "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 2684 "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 2688 "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 2692 "SavedSearchDialog.c"
	}
#line 12 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	return NULL;
#line 2696 "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 2716 "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 2727 "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 2750 "SavedSearchDialog.c"
	} else {
#line 12 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
		value->data[0].v_pointer = NULL;
#line 2754 "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 2760 "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 2782 "SavedSearchDialog.c"
	} else {
#line 12 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
		value->data[0].v_pointer = NULL;
#line 2786 "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 2792 "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 2810 "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 2823 "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 2847 "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 2876 "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 2891 "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 2903 "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 2914 "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 2925 "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 2936 "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 2948 "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 2960 "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 2972 "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 2983 "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 2995 "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 3004 "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 3015 "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 3028 "SavedSearchDialog.c"
	} else {
#line 141 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
		dest_value->data[0].v_pointer = NULL;
#line 3032 "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 3042 "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 3054 "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 3061 "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 3065 "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 3069 "SavedSearchDialog.c"
	} else {
#line 141 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
		value->data[0].v_pointer = NULL;
#line 3073 "SavedSearchDialog.c"
	}
#line 141 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	return NULL;
#line 3077 "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 3093 "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 3099 "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 3103 "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 3107 "SavedSearchDialog.c"
	}
#line 141 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	return NULL;
#line 3111 "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 3131 "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 3142 "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 3165 "SavedSearchDialog.c"
	} else {
#line 141 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
		value->data[0].v_pointer = NULL;
#line 3169 "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 3175 "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 3197 "SavedSearchDialog.c"
	} else {
#line 141 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
		value->data[0].v_pointer = NULL;
#line 3201 "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 3207 "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 3227 "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 3236 "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 3248 "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 3277 "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 3292 "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 3303 "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 3313 "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 3322 "SavedSearchDialog.c"
}


static SavedSearchDialogSearchRowText*
saved_search_dialog_search_row_text_construct (GType object_type,
                                               SavedSearchDialogSearchRowContainer* parent)
{
	SavedSearchDialogSearchRowText* self = NULL;
	SavedSearchDialogSearchRowContainer* _tmp0_;
	GtkComboBoxText* _tmp1_;
	GtkComboBoxText* _tmp2_;
	GtkComboBoxText* _tmp3_;
	GtkComboBoxText* _tmp4_;
	GtkComboBoxText* _tmp5_;
	GtkComboBoxText* _tmp6_;
	GtkComboBoxText* _tmp7_;
	GtkComboBoxText* _tmp8_;
	GtkComboBoxText* _tmp9_;
	GtkComboBoxText* _tmp10_;
	GtkEntry* _tmp11_;
	GtkEntry* _tmp12_;
	GtkEntry* _tmp13_;
	GtkEntry* _tmp14_;
	GtkBox* _tmp15_;
	GtkBox* _tmp16_;
	GtkComboBoxText* _tmp17_;
	GtkBox* _tmp18_;
	GtkEntry* _tmp19_;
	GtkBox* _tmp20_;
#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_ = _saved_search_dialog_search_row_container_ref0 (parent);
#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 = _tmp0_;
#line 166 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp1_ = (GtkComboBoxText*) gtk_combo_box_text_new ();
#line 166 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	g_object_ref_sink (_tmp1_);
#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 = _tmp1_;
#line 167 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp2_ = self->priv->text_context;
#line 167 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	gtk_combo_box_text_append_text (_tmp2_, _ ("contains"));
#line 168 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp3_ = self->priv->text_context;
#line 168 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	gtk_combo_box_text_append_text (_tmp3_, _ ("is exactly"));
#line 169 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp4_ = self->priv->text_context;
#line 169 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	gtk_combo_box_text_append_text (_tmp4_, _ ("starts with"));
#line 170 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp5_ = self->priv->text_context;
#line 170 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	gtk_combo_box_text_append_text (_tmp5_, _ ("ends with"));
#line 171 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp6_ = self->priv->text_context;
#line 171 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	gtk_combo_box_text_append_text (_tmp6_, _ ("does not contain"));
#line 172 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp7_ = self->priv->text_context;
#line 172 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	gtk_combo_box_text_append_text (_tmp7_, _ ("is not set"));
#line 173 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp8_ = self->priv->text_context;
#line 173 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	gtk_combo_box_text_append_text (_tmp8_, _ ("is set"));
#line 174 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp9_ = self->priv->text_context;
#line 174 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	gtk_combo_box_set_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, gtk_combo_box_get_type (), GtkComboBox), 0);
#line 175 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp10_ = self->priv->text_context;
#line 175 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	g_signal_connect (G_TYPE_CHECK_INSTANCE_CAST (_tmp10_, 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"
	_tmp11_ = (GtkEntry*) gtk_entry_new ();
#line 177 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	g_object_ref_sink (_tmp11_);
#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 = _tmp11_;
#line 178 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp12_ = self->priv->entry;
#line 178 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	gtk_entry_set_width_chars (_tmp12_, 25);
#line 179 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp13_ = self->priv->entry;
#line 179 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	gtk_entry_set_activates_default (_tmp13_, TRUE);
#line 180 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp14_ = self->priv->entry;
#line 180 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	g_signal_connect (G_TYPE_CHECK_INSTANCE_CAST (_tmp14_, gtk_editable_get_type (), 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"
	_tmp15_ = (GtkBox*) gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 3);
#line 182 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	g_object_ref_sink (_tmp15_);
#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 = _tmp15_;
#line 183 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp16_ = self->priv->box;
#line 183 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp17_ = self->priv->text_context;
#line 183 "/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 184 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp18_ = self->priv->box;
#line 184 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp19_ = self->priv->entry;
#line 184 "/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 185 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp20_ = self->priv->box;
#line 185 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	gtk_widget_show_all (G_TYPE_CHECK_INSTANCE_CAST (_tmp20_, gtk_widget_get_type (), GtkWidget));
#line 162 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	return self;
#line 3452 "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 3461 "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 3482 "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_;
	gchar* text = NULL;
	GtkEntry* _tmp1_;
	const gchar* _tmp2_;
	gchar* _tmp3_;
	SearchConditionTextContext context = 0;
	SearchConditionText* c = NULL;
	SearchConditionText* _tmp4_;
#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"
	type = saved_search_dialog_search_row_container_get_search_type (_tmp0_);
#line 199 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp1_ = self->priv->entry;
#line 199 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp2_ = gtk_entry_get_text (_tmp1_);
#line 199 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp3_ = g_strdup (_tmp2_);
#line 199 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	text = _tmp3_;
#line 200 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	context = saved_search_dialog_search_row_text_get_text_context (self);
#line 201 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp4_ = search_condition_text_new (type, text, context);
#line 201 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	c = _tmp4_;
#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 3526 "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 3535 "SavedSearchDialog.c"
}


static void
saved_search_dialog_search_row_text_real_populate (SavedSearchDialogSearchRow* base,
                                                   SearchCondition* sc)
{
	SavedSearchDialogSearchRowText * self;
	SearchConditionText* text = NULL;
	SearchConditionText* _tmp0_;
	GtkComboBoxText* _tmp1_;
	SearchConditionTextContext _tmp2_;
	SearchConditionTextContext _tmp3_;
	GtkEntry* _tmp4_;
	const gchar* _tmp5_;
	const gchar* _tmp6_;
#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_ = _search_condition_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (sc, TYPE_SEARCH_CONDITION_TEXT) ? ((SearchConditionText*) sc) : NULL);
#line 206 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	text = _tmp0_;
#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"
	_tmp1_ = self->priv->text_context;
#line 208 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp2_ = search_condition_text_get_context (text);
#line 208 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp3_ = _tmp2_;
#line 208 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	gtk_combo_box_set_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, gtk_combo_box_get_type (), GtkComboBox), (gint) _tmp3_);
#line 209 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp4_ = self->priv->entry;
#line 209 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp5_ = search_condition_text_get_text (text);
#line 209 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp6_ = _tmp5_;
#line 209 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	gtk_entry_set_text (_tmp4_, _tmp6_);
#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 3582 "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 3619 "SavedSearchDialog.c"
	} else {
#line 215 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
		_tmp1_ = saved_search_dialog_search_row_text_get_text_context (self) == SEARCH_CONDITION_TEXT_CONTEXT_IS_NOT_SET;
#line 3623 "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 3629 "SavedSearchDialog.c"
	} else {
#line 216 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
		_tmp0_ = saved_search_dialog_search_row_text_get_text_context (self) == SEARCH_CONDITION_TEXT_CONTEXT_IS_SET;
#line 3633 "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 3639 "SavedSearchDialog.c"
}


static SearchConditionTextContext
saved_search_dialog_search_row_text_get_text_context (SavedSearchDialogSearchRowText* self)
{
	SearchConditionTextContext result = 0;
	GtkComboBoxText* _tmp0_;
#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"
	result = (SearchConditionTextContext) 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"
	return result;
#line 3656 "SavedSearchDialog.c"
}


static void
saved_search_dialog_search_row_text_on_changed (SavedSearchDialogSearchRowText* self)
{
	gboolean _tmp0_ = FALSE;
	SavedSearchDialogSearchRowContainer* _tmp3_;
	SavedSearchDialogSearchRowContainer* _tmp4_;
#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"
	if (saved_search_dialog_search_row_text_get_text_context (self) == SEARCH_CONDITION_TEXT_CONTEXT_IS_NOT_SET) {
#line 224 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
		_tmp0_ = TRUE;
#line 3672 "SavedSearchDialog.c"
	} else {
#line 225 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
		_tmp0_ = saved_search_dialog_search_row_text_get_text_context (self) == SEARCH_CONDITION_TEXT_CONTEXT_IS_SET;
#line 3676 "SavedSearchDialog.c"
	}
#line 224 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	if (_tmp0_) {
#line 3680 "SavedSearchDialog.c"
		GtkEntry* _tmp1_;
#line 226 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
		_tmp1_ = self->priv->entry;
#line 226 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
		gtk_widget_hide (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, gtk_widget_get_type (), GtkWidget));
#line 3686 "SavedSearchDialog.c"
	} else {
		GtkEntry* _tmp2_;
#line 228 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
		_tmp2_ = self->priv->entry;
#line 228 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
		gtk_widget_show (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, gtk_widget_get_type (), GtkWidget));
#line 3693 "SavedSearchDialog.c"
	}
#line 231 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp3_ = self->priv->parent;
#line 231 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp4_ = self->priv->parent;
#line 231 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	g_signal_emit (_tmp3_, saved_search_dialog_search_row_container_signals[SAVED_SEARCH_DIALOG_SEARCH_ROW_CONTAINER_CHANGED_SIGNAL], 0, _tmp4_);
#line 3701 "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 3722 "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 3731 "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_editable_get_type (), &_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_editable_get_type (), 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 3767 "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 3791 "SavedSearchDialog.c"
}


static SavedSearchDialogSearchRowMediaType*
saved_search_dialog_search_row_media_type_construct (GType object_type,
                                                     SavedSearchDialogSearchRowContainer* parent)
{
	SavedSearchDialogSearchRowMediaType* self = NULL;
	SavedSearchDialogSearchRowContainer* _tmp0_;
	GtkComboBoxText* _tmp1_;
	GtkComboBoxText* _tmp2_;
	GtkComboBoxText* _tmp3_;
	GtkComboBoxText* _tmp4_;
	GtkComboBoxText* _tmp5_;
	GtkComboBoxText* _tmp6_;
	GtkComboBoxText* _tmp7_;
	GtkComboBoxText* _tmp8_;
	GtkComboBoxText* _tmp9_;
	GtkComboBoxText* _tmp10_;
	GtkComboBoxText* _tmp11_;
	GtkBox* _tmp12_;
	GtkBox* _tmp13_;
	GtkComboBoxText* _tmp14_;
	GtkBox* _tmp15_;
	GtkComboBoxText* _tmp16_;
	GtkBox* _tmp17_;
#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_ = _saved_search_dialog_search_row_container_ref0 (parent);
#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 = _tmp0_;
#line 246 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp1_ = (GtkComboBoxText*) gtk_combo_box_text_new ();
#line 246 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	g_object_ref_sink (_tmp1_);
#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 = _tmp1_;
#line 247 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp2_ = self->priv->media_context;
#line 247 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	gtk_combo_box_text_append_text (_tmp2_, _ ("is"));
#line 248 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp3_ = self->priv->media_context;
#line 248 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	gtk_combo_box_text_append_text (_tmp3_, _ ("is not"));
#line 249 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp4_ = self->priv->media_context;
#line 249 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	gtk_combo_box_set_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, gtk_combo_box_get_type (), GtkComboBox), 0);
#line 250 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp5_ = self->priv->media_context;
#line 250 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	g_signal_connect (G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, 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"
	_tmp6_ = (GtkComboBoxText*) gtk_combo_box_text_new ();
#line 253 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	g_object_ref_sink (_tmp6_);
#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 = _tmp6_;
#line 254 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp7_ = self->priv->media_type;
#line 254 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	gtk_combo_box_text_append_text (_tmp7_, _ ("any photo"));
#line 255 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp8_ = self->priv->media_type;
#line 255 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	gtk_combo_box_text_append_text (_tmp8_, _ ("a raw photo"));
#line 256 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp9_ = self->priv->media_type;
#line 256 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	gtk_combo_box_text_append_text (_tmp9_, _ ("a video"));
#line 257 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp10_ = self->priv->media_type;
#line 257 "/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 258 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp11_ = self->priv->media_type;
#line 258 "/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_media_type_on_changed_gtk_combo_box_changed, self);
#line 260 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp12_ = (GtkBox*) gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 3);
#line 260 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	g_object_ref_sink (_tmp12_);
#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 = _tmp12_;
#line 261 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp13_ = self->priv->box;
#line 261 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp14_ = self->priv->media_context;
#line 261 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	gtk_box_pack_start (_tmp13_, G_TYPE_CHECK_INSTANCE_CAST (_tmp14_, gtk_widget_get_type (), GtkWidget), FALSE, FALSE, (guint) 0);
#line 262 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp15_ = self->priv->box;
#line 262 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp16_ = self->priv->media_type;
#line 262 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	gtk_box_pack_start (_tmp15_, G_TYPE_CHECK_INSTANCE_CAST (_tmp16_, gtk_widget_get_type (), GtkWidget), FALSE, FALSE, (guint) 0);
#line 263 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp17_ = self->priv->box;
#line 263 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	gtk_widget_show_all (G_TYPE_CHECK_INSTANCE_CAST (_tmp17_, gtk_widget_get_type (), GtkWidget));
#line 242 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	return self;
#line 3906 "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 3915 "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 3936 "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_;
	SearchConditionMediaTypeContext context = 0;
	GtkComboBoxText* _tmp1_;
	SearchConditionMediaTypeMediaType type = 0;
	GtkComboBoxText* _tmp2_;
	SearchConditionMediaType* c = NULL;
	SearchConditionMediaType* _tmp3_;
#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"
	search_type = saved_search_dialog_search_row_container_get_search_type (_tmp0_);
#line 277 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp1_ = self->priv->media_context;
#line 277 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	context = (SearchConditionMediaTypeContext) gtk_combo_box_get_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, gtk_combo_box_get_type (), GtkComboBox));
#line 278 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp2_ = self->priv->media_type;
#line 278 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	type = (SearchConditionMediaTypeMediaType) gtk_combo_box_get_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, gtk_combo_box_get_type (), GtkComboBox));
#line 279 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp3_ = search_condition_media_type_new (search_type, context, type);
#line 279 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	c = _tmp3_;
#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 3975 "SavedSearchDialog.c"
}


static void
saved_search_dialog_search_row_media_type_real_populate (SavedSearchDialogSearchRow* base,
                                                         SearchCondition* sc)
{
	SavedSearchDialogSearchRowMediaType * self;
	SearchConditionMediaType* media = NULL;
	SearchConditionMediaType* _tmp0_;
	GtkComboBoxText* _tmp1_;
	SearchConditionMediaTypeContext _tmp2_;
	SearchConditionMediaTypeContext _tmp3_;
	GtkComboBoxText* _tmp4_;
	SearchConditionMediaTypeMediaType _tmp5_;
	SearchConditionMediaTypeMediaType _tmp6_;
#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_ = _search_condition_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (sc, TYPE_SEARCH_CONDITION_MEDIA_TYPE) ? ((SearchConditionMediaType*) sc) : NULL);
#line 284 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	media = _tmp0_;
#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"
	_tmp1_ = self->priv->media_context;
#line 286 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp2_ = search_condition_media_type_get_context (media);
#line 286 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp3_ = _tmp2_;
#line 286 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	gtk_combo_box_set_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, gtk_combo_box_get_type (), GtkComboBox), (gint) _tmp3_);
#line 287 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp4_ = self->priv->media_type;
#line 287 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp5_ = search_condition_media_type_get_media_type (media);
#line 287 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp6_ = _tmp5_;
#line 287 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	gtk_combo_box_set_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, gtk_combo_box_get_type (), GtkComboBox), (gint) _tmp6_);
#line 283 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_search_condition_unref0 (media);
#line 4020 "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 4035 "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 4052 "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 4073 "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 4082 "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 4118 "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 4142 "SavedSearchDialog.c"
}


static SavedSearchDialogSearchRowModified*
saved_search_dialog_search_row_modified_construct (GType object_type,
                                                   SavedSearchDialogSearchRowContainer* parent)
{
	SavedSearchDialogSearchRowModified* self = NULL;
	SavedSearchDialogSearchRowContainer* _tmp0_;
	GtkComboBoxText* _tmp1_;
	GtkComboBoxText* _tmp2_;
	GtkComboBoxText* _tmp3_;
	GtkComboBoxText* _tmp4_;
	GtkComboBoxText* _tmp5_;
	GtkComboBoxText* _tmp6_;
	GtkComboBoxText* _tmp7_;
	GtkComboBoxText* _tmp8_;
	GtkComboBoxText* _tmp9_;
	GtkComboBoxText* _tmp10_;
	GtkComboBoxText* _tmp11_;
	GtkBox* _tmp12_;
	GtkBox* _tmp13_;
	GtkComboBoxText* _tmp14_;
	GtkBox* _tmp15_;
	GtkComboBoxText* _tmp16_;
	GtkBox* _tmp17_;
#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_ = _saved_search_dialog_search_row_container_ref0 (parent);
#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 = _tmp0_;
#line 309 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp1_ = (GtkComboBoxText*) gtk_combo_box_text_new ();
#line 309 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	g_object_ref_sink (_tmp1_);
#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 = _tmp1_;
#line 310 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp2_ = self->priv->modified_context;
#line 310 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	gtk_combo_box_text_append_text (_tmp2_, _ ("has"));
#line 311 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp3_ = self->priv->modified_context;
#line 311 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	gtk_combo_box_text_append_text (_tmp3_, _ ("has no"));
#line 312 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp4_ = self->priv->modified_context;
#line 312 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	gtk_combo_box_set_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, gtk_combo_box_get_type (), GtkComboBox), 0);
#line 313 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp5_ = self->priv->modified_context;
#line 313 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	g_signal_connect (G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, 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"
	_tmp6_ = (GtkComboBoxText*) gtk_combo_box_text_new ();
#line 315 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	g_object_ref_sink (_tmp6_);
#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 = _tmp6_;
#line 316 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp7_ = self->priv->modified_state;
#line 316 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	gtk_combo_box_text_append_text (_tmp7_, _ ("modifications"));
#line 317 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp8_ = self->priv->modified_state;
#line 317 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	gtk_combo_box_text_append_text (_tmp8_, _ ("internal modifications"));
#line 318 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp9_ = self->priv->modified_state;
#line 318 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	gtk_combo_box_text_append_text (_tmp9_, _ ("external modifications"));
#line 319 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp10_ = self->priv->modified_state;
#line 319 "/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 320 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp11_ = self->priv->modified_state;
#line 320 "/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_modified_on_changed_gtk_combo_box_changed, self);
#line 322 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp12_ = (GtkBox*) gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 3);
#line 322 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	g_object_ref_sink (_tmp12_);
#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 = _tmp12_;
#line 323 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp13_ = self->priv->box;
#line 323 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp14_ = self->priv->modified_context;
#line 323 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	gtk_box_pack_start (_tmp13_, G_TYPE_CHECK_INSTANCE_CAST (_tmp14_, gtk_widget_get_type (), GtkWidget), FALSE, FALSE, (guint) 0);
#line 324 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp15_ = self->priv->box;
#line 324 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp16_ = self->priv->modified_state;
#line 324 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	gtk_box_pack_start (_tmp15_, G_TYPE_CHECK_INSTANCE_CAST (_tmp16_, gtk_widget_get_type (), GtkWidget), FALSE, FALSE, (guint) 0);
#line 325 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp17_ = self->priv->box;
#line 325 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	gtk_widget_show_all (G_TYPE_CHECK_INSTANCE_CAST (_tmp17_, gtk_widget_get_type (), GtkWidget));
#line 306 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	return self;
#line 4257 "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 4266 "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 4287 "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_;
	SearchConditionModifiedContext context = 0;
	GtkComboBoxText* _tmp1_;
	SearchConditionModifiedState state = 0;
	GtkComboBoxText* _tmp2_;
	SearchConditionModified* c = NULL;
	SearchConditionModified* _tmp3_;
#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"
	search_type = saved_search_dialog_search_row_container_get_search_type (_tmp0_);
#line 339 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp1_ = self->priv->modified_context;
#line 339 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	context = (SearchConditionModifiedContext) gtk_combo_box_get_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, gtk_combo_box_get_type (), GtkComboBox));
#line 340 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp2_ = self->priv->modified_state;
#line 340 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	state = (SearchConditionModifiedState) gtk_combo_box_get_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, gtk_combo_box_get_type (), GtkComboBox));
#line 341 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp3_ = search_condition_modified_new (search_type, context, state);
#line 341 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	c = _tmp3_;
#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 4326 "SavedSearchDialog.c"
}


static void
saved_search_dialog_search_row_modified_real_populate (SavedSearchDialogSearchRow* base,
                                                       SearchCondition* sc)
{
	SavedSearchDialogSearchRowModified * self;
	SearchConditionModified* scm = NULL;
	SearchConditionModified* _tmp0_;
	GtkComboBoxText* _tmp1_;
	SearchConditionModifiedState _tmp2_;
	SearchConditionModifiedState _tmp3_;
	GtkComboBoxText* _tmp4_;
	SearchConditionModifiedContext _tmp5_;
	SearchConditionModifiedContext _tmp6_;
#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_ = _search_condition_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (sc, TYPE_SEARCH_CONDITION_MODIFIED) ? ((SearchConditionModified*) sc) : NULL);
#line 346 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	scm = _tmp0_;
#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"
	_tmp1_ = self->priv->modified_state;
#line 348 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp2_ = search_condition_modified_get_state (scm);
#line 348 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp3_ = _tmp2_;
#line 348 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	gtk_combo_box_set_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, gtk_combo_box_get_type (), GtkComboBox), (gint) _tmp3_);
#line 349 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp4_ = self->priv->modified_context;
#line 349 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp5_ = search_condition_modified_get_context (scm);
#line 349 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp6_ = _tmp5_;
#line 349 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	gtk_combo_box_set_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, gtk_combo_box_get_type (), GtkComboBox), (gint) _tmp6_);
#line 345 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_search_condition_unref0 (scm);
#line 4371 "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 4386 "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 4403 "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 4424 "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 4433 "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 4469 "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 4493 "SavedSearchDialog.c"
}


static SavedSearchDialogSearchRowFlagged*
saved_search_dialog_search_row_flagged_construct (GType object_type,
                                                  SavedSearchDialogSearchRowContainer* parent)
{
	SavedSearchDialogSearchRowFlagged* self = NULL;
	SavedSearchDialogSearchRowContainer* _tmp0_;
	GtkComboBoxText* _tmp1_;
	GtkComboBoxText* _tmp2_;
	GtkComboBoxText* _tmp3_;
	GtkComboBoxText* _tmp4_;
	GtkComboBoxText* _tmp5_;
	GtkBox* _tmp6_;
	GtkBox* _tmp7_;
	GtkLabel* _tmp8_;
	GtkLabel* _tmp9_;
	GtkBox* _tmp10_;
	GtkComboBoxText* _tmp11_;
	GtkBox* _tmp12_;
#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_ = _saved_search_dialog_search_row_container_ref0 (parent);
#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 = _tmp0_;
#line 371 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp1_ = (GtkComboBoxText*) gtk_combo_box_text_new ();
#line 371 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	g_object_ref_sink (_tmp1_);
#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 = _tmp1_;
#line 372 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp2_ = self->priv->flagged_state;
#line 372 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	gtk_combo_box_text_append_text (_tmp2_, _ ("flagged"));
#line 373 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp3_ = self->priv->flagged_state;
#line 373 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	gtk_combo_box_text_append_text (_tmp3_, _ ("not flagged"));
#line 374 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp4_ = self->priv->flagged_state;
#line 374 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	gtk_combo_box_set_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, gtk_combo_box_get_type (), GtkComboBox), 0);
#line 375 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp5_ = self->priv->flagged_state;
#line 375 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	g_signal_connect (G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, 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"
	_tmp6_ = (GtkBox*) gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 3);
#line 377 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	g_object_ref_sink (_tmp6_);
#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 = _tmp6_;
#line 378 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp7_ = self->priv->box;
#line 378 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp8_ = (GtkLabel*) gtk_label_new (_ ("is"));
#line 378 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	g_object_ref_sink (_tmp8_);
#line 378 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp9_ = _tmp8_;
#line 378 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	gtk_box_pack_start (_tmp7_, G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, gtk_widget_get_type (), GtkWidget), FALSE, FALSE, (guint) 0);
#line 378 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_g_object_unref0 (_tmp9_);
#line 379 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp10_ = self->priv->box;
#line 379 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp11_ = self->priv->flagged_state;
#line 379 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	gtk_box_pack_start (_tmp10_, G_TYPE_CHECK_INSTANCE_CAST (_tmp11_, gtk_widget_get_type (), GtkWidget), FALSE, FALSE, (guint) 0);
#line 380 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp12_ = self->priv->box;
#line 380 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	gtk_widget_show_all (G_TYPE_CHECK_INSTANCE_CAST (_tmp12_, gtk_widget_get_type (), GtkWidget));
#line 367 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	return self;
#line 4581 "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 4590 "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 4611 "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_;
	SearchConditionFlaggedState state = 0;
	GtkComboBoxText* _tmp1_;
	SearchConditionFlagged* c = NULL;
	SearchConditionFlagged* _tmp2_;
#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"
	search_type = saved_search_dialog_search_row_container_get_search_type (_tmp0_);
#line 393 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp1_ = self->priv->flagged_state;
#line 393 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	state = (SearchConditionFlaggedState) gtk_combo_box_get_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, gtk_combo_box_get_type (), GtkComboBox));
#line 394 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp2_ = search_condition_flagged_new (search_type, state);
#line 394 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	c = _tmp2_;
#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 4644 "SavedSearchDialog.c"
}


static void
saved_search_dialog_search_row_flagged_real_populate (SavedSearchDialogSearchRow* base,
                                                      SearchCondition* sc)
{
	SavedSearchDialogSearchRowFlagged * self;
	SearchConditionFlagged* f = NULL;
	SearchConditionFlagged* _tmp0_;
	GtkComboBoxText* _tmp1_;
	SearchConditionFlaggedState _tmp2_;
	SearchConditionFlaggedState _tmp3_;
#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_ = _search_condition_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (sc, TYPE_SEARCH_CONDITION_FLAGGED) ? ((SearchConditionFlagged*) sc) : NULL);
#line 399 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	f = _tmp0_;
#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"
	_tmp1_ = self->priv->flagged_state;
#line 401 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp2_ = search_condition_flagged_get_state (f);
#line 401 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp3_ = _tmp2_;
#line 401 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	gtk_combo_box_set_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, gtk_combo_box_get_type (), GtkComboBox), (gint) _tmp3_);
#line 398 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_search_condition_unref0 (f);
#line 4678 "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 4693 "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 4710 "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 4731 "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 4740 "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 4766 "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 4790 "SavedSearchDialog.c"
}


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


static void
saved_search_dialog_search_row_rating_real_populate (SavedSearchDialogSearchRow* base,
                                                     SearchCondition* sc)
{
	SavedSearchDialogSearchRowRating * self;
	SearchConditionRating* r = NULL;
	SearchConditionRating* _tmp0_;
	GtkComboBoxText* _tmp1_;
	SearchConditionRatingContext _tmp2_;
	SearchConditionRatingContext _tmp3_;
	GtkComboBoxText* _tmp4_;
	Rating _tmp5_;
	Rating _tmp6_;
#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_ = _search_condition_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (sc, TYPE_SEARCH_CONDITION_RATING) ? ((SearchConditionRating*) sc) : NULL);
#line 467 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	r = _tmp0_;
#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"
	_tmp1_ = self->priv->context;
#line 469 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp2_ = search_condition_rating_get_context (r);
#line 469 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp3_ = _tmp2_;
#line 469 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	gtk_combo_box_set_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, gtk_combo_box_get_type (), GtkComboBox), (gint) _tmp3_);
#line 470 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp4_ = self->priv->rating;
#line 470 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp5_ = search_condition_rating_get_rating (r);
#line 470 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp6_ = _tmp5_;
#line 470 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	gtk_combo_box_set_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, gtk_combo_box_get_type (), GtkComboBox), (gint) (_tmp6_ - RATING_REJECTED));
#line 466 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_search_condition_unref0 (r);
#line 5080 "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 5095 "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 5112 "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 5133 "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 5142 "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 5178 "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 5202 "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 5212 "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 5222 "SavedSearchDialog.c"
}


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


static void
saved_search_dialog_search_row_date_update_date_labels (SavedSearchDialogSearchRowDate* self)
{
	SearchConditionDateContext c = 0;
	GtkComboBoxText* _tmp0_;
	SearchConditionDateContext _tmp1_;
	GtkButton* _tmp12_;
	GDateTime* _tmp13_;
	GDateTime* _tmp14_;
	gchar* _tmp15_;
	gchar* _tmp16_;
	GtkButton* _tmp17_;
	GDateTime* _tmp18_;
	GDateTime* _tmp19_;
	gchar* _tmp20_;
	gchar* _tmp21_;
#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"
	c = (SearchConditionDateContext) gtk_combo_box_get_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp0_, gtk_combo_box_get_type (), GtkComboBox));
#line 535 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp1_ = c;
#line 535 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	if (_tmp1_ == SEARCH_CONDITION_DATE_CONTEXT_BETWEEN) {
#line 5430 "SavedSearchDialog.c"
		GtkButton* _tmp2_;
		GtkLabel* _tmp3_;
		GtkButton* _tmp4_;
#line 536 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
		_tmp2_ = self->priv->label_one;
#line 536 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
		gtk_widget_show (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, gtk_widget_get_type (), GtkWidget));
#line 537 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
		_tmp3_ = self->priv->and;
#line 537 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
		gtk_widget_show (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, gtk_widget_get_type (), GtkWidget));
#line 538 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
		_tmp4_ = self->priv->label_two;
#line 538 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
		gtk_widget_show (G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, gtk_widget_get_type (), GtkWidget));
#line 5446 "SavedSearchDialog.c"
	} else {
		SearchConditionDateContext _tmp5_;
#line 539 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
		_tmp5_ = c;
#line 539 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
		if (_tmp5_ == SEARCH_CONDITION_DATE_CONTEXT_IS_NOT_SET) {
#line 5453 "SavedSearchDialog.c"
			GtkButton* _tmp6_;
			GtkLabel* _tmp7_;
			GtkButton* _tmp8_;
#line 540 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
			_tmp6_ = self->priv->label_one;
#line 540 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
			gtk_widget_hide (G_TYPE_CHECK_INSTANCE_CAST (_tmp6_, gtk_widget_get_type (), GtkWidget));
#line 541 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
			_tmp7_ = self->priv->and;
#line 541 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
			gtk_widget_hide (G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, gtk_widget_get_type (), GtkWidget));
#line 542 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
			_tmp8_ = self->priv->label_two;
#line 542 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
			gtk_widget_hide (G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, gtk_widget_get_type (), GtkWidget));
#line 5469 "SavedSearchDialog.c"
		} else {
			GtkButton* _tmp9_;
			GtkLabel* _tmp10_;
			GtkButton* _tmp11_;
#line 544 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
			_tmp9_ = self->priv->label_one;
#line 544 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
			gtk_widget_show (G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, gtk_widget_get_type (), GtkWidget));
#line 545 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
			_tmp10_ = self->priv->and;
#line 545 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
			gtk_widget_hide (G_TYPE_CHECK_INSTANCE_CAST (_tmp10_, gtk_widget_get_type (), GtkWidget));
#line 546 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
			_tmp11_ = self->priv->label_two;
#line 546 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
			gtk_widget_hide (G_TYPE_CHECK_INSTANCE_CAST (_tmp11_, gtk_widget_get_type (), GtkWidget));
#line 5486 "SavedSearchDialog.c"
		}
	}
#line 550 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp12_ = self->priv->label_one;
#line 550 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp13_ = saved_search_dialog_search_row_date_get_date_one (self);
#line 550 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp14_ = _tmp13_;
#line 550 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp15_ = g_date_time_format (_tmp14_, SAVED_SEARCH_DIALOG_SEARCH_ROW_DATE_DATE_FORMAT);
#line 550 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp16_ = _tmp15_;
#line 550 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	gtk_button_set_label (_tmp12_, _tmp16_);
#line 550 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_g_free0 (_tmp16_);
#line 550 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_g_date_time_unref0 (_tmp14_);
#line 551 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp17_ = self->priv->label_two;
#line 551 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp18_ = saved_search_dialog_search_row_date_get_date_two (self);
#line 551 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp19_ = _tmp18_;
#line 551 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp20_ = g_date_time_format (_tmp19_, SAVED_SEARCH_DIALOG_SEARCH_ROW_DATE_DATE_FORMAT);
#line 551 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp21_ = _tmp20_;
#line 551 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	gtk_button_set_label (_tmp17_, _tmp21_);
#line 551 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_g_free0 (_tmp21_);
#line 551 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_g_date_time_unref0 (_tmp19_);
#line 5521 "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 5542 "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 5586 "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 5630 "SavedSearchDialog.c"
}


static void
saved_search_dialog_search_row_date_set_date_one (SavedSearchDialogSearchRowDate* self,
                                                  GDateTime* date)
{
	GtkCalendar* _tmp0_;
	GtkCalendar* _tmp1_;
	GtkCalendar* _tmp2_;
#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"
	g_object_set (_tmp0_, "day", g_date_time_get_day_of_month (date), NULL);
#line 568 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp1_ = self->priv->cal_one;
#line 568 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	g_object_set (_tmp1_, "month", g_date_time_get_month (date) - 1, NULL);
#line 569 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp2_ = self->priv->cal_one;
#line 569 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	g_object_set (_tmp2_, "year", g_date_time_get_year (date), NULL);
#line 5657 "SavedSearchDialog.c"
}


static void
saved_search_dialog_search_row_date_set_date_two (SavedSearchDialogSearchRowDate* self,
                                                  GDateTime* date)
{
	GtkCalendar* _tmp0_;
	GtkCalendar* _tmp1_;
	GtkCalendar* _tmp2_;
#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"
	g_object_set (_tmp0_, "day", g_date_time_get_day_of_month (date), NULL);
#line 574 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp1_ = self->priv->cal_two;
#line 574 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	g_object_set (_tmp1_, "month", g_date_time_get_month (date) - 1, NULL);
#line 575 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp2_ = self->priv->cal_two;
#line 575 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	g_object_set (_tmp2_, "year", g_date_time_get_year (date), NULL);
#line 5684 "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_;
	SearchConditionDateContext search_context = 0;
	GtkComboBoxText* _tmp1_;
	SearchConditionDate* c = NULL;
	GDateTime* _tmp2_;
	GDateTime* _tmp3_;
	GDateTime* _tmp4_;
	GDateTime* _tmp5_;
	SearchConditionDate* _tmp6_;
	SearchConditionDate* _tmp7_;
#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"
	search_type = saved_search_dialog_search_row_container_get_search_type (_tmp0_);
#line 580 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp1_ = self->priv->context;
#line 580 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	search_context = (SearchConditionDateContext) gtk_combo_box_get_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, gtk_combo_box_get_type (), GtkComboBox));
#line 581 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp2_ = saved_search_dialog_search_row_date_get_date_one (self);
#line 581 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp3_ = _tmp2_;
#line 581 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp4_ = saved_search_dialog_search_row_date_get_date_two (self);
#line 581 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp5_ = _tmp4_;
#line 581 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp6_ = search_condition_date_new (search_type, search_context, _tmp3_, _tmp5_);
#line 581 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp7_ = _tmp6_;
#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"
	_g_date_time_unref0 (_tmp3_);
#line 581 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	c = _tmp7_;
#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 5736 "SavedSearchDialog.c"
}


static void
saved_search_dialog_search_row_date_real_populate (SavedSearchDialogSearchRow* base,
                                                   SearchCondition* sc)
{
	SavedSearchDialogSearchRowDate * self;
	SearchConditionDate* cond = NULL;
	SearchConditionDate* _tmp0_;
	GtkComboBoxText* _tmp1_;
	SearchConditionDateContext _tmp2_;
	SearchConditionDateContext _tmp3_;
	GDateTime* _tmp4_;
	GDateTime* _tmp5_;
	GDateTime* _tmp6_;
	GDateTime* _tmp7_;
#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_ = _search_condition_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (sc, TYPE_SEARCH_CONDITION_DATE) ? ((SearchConditionDate*) sc) : NULL);
#line 587 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	cond = _tmp0_;
#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"
	_tmp1_ = self->priv->context;
#line 589 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp2_ = search_condition_date_get_context (cond);
#line 589 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp3_ = _tmp2_;
#line 589 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	gtk_combo_box_set_active (G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, gtk_combo_box_get_type (), GtkComboBox), (gint) _tmp3_);
#line 590 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp4_ = search_condition_date_get_date_one (cond);
#line 590 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp5_ = _tmp4_;
#line 590 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	saved_search_dialog_search_row_date_set_date_one (self, _tmp5_);
#line 591 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp6_ = search_condition_date_get_date_two (cond);
#line 591 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp7_ = _tmp6_;
#line 591 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	saved_search_dialog_search_row_date_set_date_two (self, _tmp7_);
#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 5788 "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 5803 "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 5822 "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 5833 "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 5844 "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 5854 "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 5864 "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 5874 "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 5889 "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 5899 "SavedSearchDialog.c"
}


static void
saved_search_dialog_search_row_date_popup_calendar (SavedSearchDialogSearchRowDate* self,
                                                    GtkCalendar* cal)
{
	Block10Data* _data10_;
	gint orig_day = 0;
	gint _tmp0_;
	gint _tmp1_;
	gint orig_month = 0;
	gint _tmp2_;
	gint _tmp3_;
	gint orig_year = 0;
	gint _tmp4_;
	gint _tmp5_;
	GtkDialog* _tmp6_;
	GtkDialog* _tmp7_;
	GtkDialog* _tmp8_;
	GtkDialog* _tmp9_;
	GtkDialog* _tmp10_;
	GtkBox* _tmp11_;
	gulong id_1 = 0UL;
	gulong _tmp12_;
	gulong id_2 = 0UL;
	gulong _tmp13_;
	GtkDialog* _tmp14_;
	gint res = 0;
	GtkDialog* _tmp15_;
	gint _tmp16_;
	gulong _tmp20_;
	gulong _tmp21_;
	GtkDialog* _tmp22_;
#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"
	g_object_get (cal, "day", &_tmp0_, NULL);
#line 605 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp1_ = _tmp0_;
#line 605 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	orig_day = _tmp1_;
#line 606 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	g_object_get (cal, "month", &_tmp2_, NULL);
#line 606 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp3_ = _tmp2_;
#line 606 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	orig_month = _tmp3_;
#line 607 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	g_object_get (cal, "year", &_tmp4_, NULL);
#line 607 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp5_ = _tmp4_;
#line 607 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	orig_year = _tmp5_;
#line 608 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp6_ = (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 (_tmp6_);
#line 608 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_data10_->d = _tmp6_;
#line 611 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp7_ = _data10_->d;
#line 611 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	gtk_window_set_modal (G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, gtk_window_get_type (), GtkWindow), TRUE);
#line 612 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp8_ = _data10_->d;
#line 612 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	gtk_window_set_resizable (G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, gtk_window_get_type (), GtkWindow), FALSE);
#line 613 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp9_ = _data10_->d;
#line 613 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	gtk_window_set_decorated (G_TYPE_CHECK_INSTANCE_CAST (_tmp9_, gtk_window_get_type (), GtkWindow), FALSE);
#line 614 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp10_ = _data10_->d;
#line 614 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp11_ = gtk_dialog_get_content_area (_tmp10_);
#line 614 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	gtk_container_add (G_TYPE_CHECK_INSTANCE_CAST (G_TYPE_CHECK_INSTANCE_CAST (_tmp11_, gtk_box_get_type (), GtkBox), gtk_container_get_type (), GtkContainer), G_TYPE_CHECK_INSTANCE_CAST (cal, gtk_widget_get_type (), GtkWidget));
#line 615 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp12_ = g_signal_connect (cal, "day-selected", (GCallback) ___lambda14__gtk_calendar_day_selected, self);
#line 615 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	id_1 = _tmp12_;
#line 616 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp13_ = g_signal_connect_data (cal, "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 = _tmp13_;
#line 619 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp14_ = _data10_->d;
#line 619 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	gtk_widget_show_all (G_TYPE_CHECK_INSTANCE_CAST (_tmp14_, gtk_widget_get_type (), GtkWidget));
#line 620 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp15_ = _data10_->d;
#line 620 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	res = gtk_dialog_run (_tmp15_);
#line 621 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp16_ = res;
#line 621 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	if (_tmp16_ != ((gint) GTK_RESPONSE_ACCEPT)) {
#line 6006 "SavedSearchDialog.c"
		gint _tmp17_;
		gint _tmp18_;
		gint _tmp19_;
#line 623 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
		_tmp17_ = orig_day;
#line 623 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
		g_object_set (cal, "day", _tmp17_, NULL);
#line 624 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
		_tmp18_ = orig_month;
#line 624 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
		g_object_set (cal, "month", _tmp18_, NULL);
#line 625 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
		_tmp19_ = orig_year;
#line 625 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
		g_object_set (cal, "year", _tmp19_, NULL);
#line 6022 "SavedSearchDialog.c"
	}
#line 627 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp20_ = id_1;
#line 627 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	g_signal_handler_disconnect (G_TYPE_CHECK_INSTANCE_CAST (cal, G_TYPE_OBJECT, GObject), _tmp20_);
#line 628 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp21_ = id_2;
#line 628 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	g_signal_handler_disconnect (G_TYPE_CHECK_INSTANCE_CAST (cal, G_TYPE_OBJECT, GObject), _tmp21_);
#line 629 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	_tmp22_ = _data10_->d;
#line 629 "/home/jens/Source/shotwell/src/searches/SavedSearchDialog.vala"
	gtk_widget_destroy (G_TYPE_CHECK_INSTANCE_CAST (_tmp22_, 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 6042 "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 6056 "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 6070 "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 6091 "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 6100 "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 6136 "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 6176 "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 6198 "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 6222 "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;
}