/* app-window.c generated by valac 0.24.0.112-bbf5, the Vala compiler
 * generated from app-window.vala, do not modify */

/* This file is part of GNOME Boxes. License: LGPLv2+*/

#include <glib.h>
#include <glib-object.h>
#include <gtk/gtk.h>
#include <libgd/gd.h>
#include <gio/gio.h>
#include <glib/gi18n-lib.h>
#include <stdlib.h>
#include <string.h>
#include <gdk/gdk.h>


#define BOXES_TYPE_UI (boxes_ui_get_type ())
#define BOXES_UI(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), BOXES_TYPE_UI, BoxesUI))
#define BOXES_IS_UI(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), BOXES_TYPE_UI))
#define BOXES_UI_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), BOXES_TYPE_UI, BoxesUIIface))

typedef struct _BoxesUI BoxesUI;
typedef struct _BoxesUIIface BoxesUIIface;

#define BOXES_TYPE_UI_STATE (boxes_ui_state_get_type ())

#define BOXES_TYPE_APP_WINDOW (boxes_app_window_get_type ())
#define BOXES_APP_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), BOXES_TYPE_APP_WINDOW, BoxesAppWindow))
#define BOXES_APP_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), BOXES_TYPE_APP_WINDOW, BoxesAppWindowClass))
#define BOXES_IS_APP_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), BOXES_TYPE_APP_WINDOW))
#define BOXES_IS_APP_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), BOXES_TYPE_APP_WINDOW))
#define BOXES_APP_WINDOW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), BOXES_TYPE_APP_WINDOW, BoxesAppWindowClass))

typedef struct _BoxesAppWindow BoxesAppWindow;
typedef struct _BoxesAppWindowClass BoxesAppWindowClass;
typedef struct _BoxesAppWindowPrivate BoxesAppWindowPrivate;

#define BOXES_TYPE_SEARCHBAR (boxes_searchbar_get_type ())
#define BOXES_SEARCHBAR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), BOXES_TYPE_SEARCHBAR, BoxesSearchbar))
#define BOXES_SEARCHBAR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), BOXES_TYPE_SEARCHBAR, BoxesSearchbarClass))
#define BOXES_IS_SEARCHBAR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), BOXES_TYPE_SEARCHBAR))
#define BOXES_IS_SEARCHBAR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), BOXES_TYPE_SEARCHBAR))
#define BOXES_SEARCHBAR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), BOXES_TYPE_SEARCHBAR, BoxesSearchbarClass))

typedef struct _BoxesSearchbar BoxesSearchbar;
typedef struct _BoxesSearchbarClass BoxesSearchbarClass;

#define BOXES_TYPE_TOPBAR (boxes_topbar_get_type ())
#define BOXES_TOPBAR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), BOXES_TYPE_TOPBAR, BoxesTopbar))
#define BOXES_TOPBAR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), BOXES_TYPE_TOPBAR, BoxesTopbarClass))
#define BOXES_IS_TOPBAR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), BOXES_TYPE_TOPBAR))
#define BOXES_IS_TOPBAR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), BOXES_TYPE_TOPBAR))
#define BOXES_TOPBAR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), BOXES_TYPE_TOPBAR, BoxesTopbarClass))

typedef struct _BoxesTopbar BoxesTopbar;
typedef struct _BoxesTopbarClass BoxesTopbarClass;

#define BOXES_TYPE_NOTIFICATIONBAR (boxes_notificationbar_get_type ())
#define BOXES_NOTIFICATIONBAR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), BOXES_TYPE_NOTIFICATIONBAR, BoxesNotificationbar))
#define BOXES_NOTIFICATIONBAR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), BOXES_TYPE_NOTIFICATIONBAR, BoxesNotificationbarClass))
#define BOXES_IS_NOTIFICATIONBAR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), BOXES_TYPE_NOTIFICATIONBAR))
#define BOXES_IS_NOTIFICATIONBAR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), BOXES_TYPE_NOTIFICATIONBAR))
#define BOXES_NOTIFICATIONBAR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), BOXES_TYPE_NOTIFICATIONBAR, BoxesNotificationbarClass))

typedef struct _BoxesNotificationbar BoxesNotificationbar;
typedef struct _BoxesNotificationbarClass BoxesNotificationbarClass;

#define BOXES_TYPE_SIDEBAR (boxes_sidebar_get_type ())
#define BOXES_SIDEBAR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), BOXES_TYPE_SIDEBAR, BoxesSidebar))
#define BOXES_SIDEBAR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), BOXES_TYPE_SIDEBAR, BoxesSidebarClass))
#define BOXES_IS_SIDEBAR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), BOXES_TYPE_SIDEBAR))
#define BOXES_IS_SIDEBAR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), BOXES_TYPE_SIDEBAR))
#define BOXES_SIDEBAR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), BOXES_TYPE_SIDEBAR, BoxesSidebarClass))

typedef struct _BoxesSidebar BoxesSidebar;
typedef struct _BoxesSidebarClass BoxesSidebarClass;

#define BOXES_TYPE_WIZARD (boxes_wizard_get_type ())
#define BOXES_WIZARD(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), BOXES_TYPE_WIZARD, BoxesWizard))
#define BOXES_WIZARD_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), BOXES_TYPE_WIZARD, BoxesWizardClass))
#define BOXES_IS_WIZARD(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), BOXES_TYPE_WIZARD))
#define BOXES_IS_WIZARD_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), BOXES_TYPE_WIZARD))
#define BOXES_WIZARD_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), BOXES_TYPE_WIZARD, BoxesWizardClass))

typedef struct _BoxesWizard BoxesWizard;
typedef struct _BoxesWizardClass BoxesWizardClass;

#define BOXES_TYPE_PROPERTIES (boxes_properties_get_type ())
#define BOXES_PROPERTIES(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), BOXES_TYPE_PROPERTIES, BoxesProperties))
#define BOXES_PROPERTIES_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), BOXES_TYPE_PROPERTIES, BoxesPropertiesClass))
#define BOXES_IS_PROPERTIES(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), BOXES_TYPE_PROPERTIES))
#define BOXES_IS_PROPERTIES_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), BOXES_TYPE_PROPERTIES))
#define BOXES_PROPERTIES_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), BOXES_TYPE_PROPERTIES, BoxesPropertiesClass))

typedef struct _BoxesProperties BoxesProperties;
typedef struct _BoxesPropertiesClass BoxesPropertiesClass;

#define BOXES_TYPE_DISPLAY_PAGE (boxes_display_page_get_type ())
#define BOXES_DISPLAY_PAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), BOXES_TYPE_DISPLAY_PAGE, BoxesDisplayPage))
#define BOXES_DISPLAY_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), BOXES_TYPE_DISPLAY_PAGE, BoxesDisplayPageClass))
#define BOXES_IS_DISPLAY_PAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), BOXES_TYPE_DISPLAY_PAGE))
#define BOXES_IS_DISPLAY_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), BOXES_TYPE_DISPLAY_PAGE))
#define BOXES_DISPLAY_PAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), BOXES_TYPE_DISPLAY_PAGE, BoxesDisplayPageClass))

typedef struct _BoxesDisplayPage BoxesDisplayPage;
typedef struct _BoxesDisplayPageClass BoxesDisplayPageClass;

#define BOXES_TYPE_EMPTY_BOXES (boxes_empty_boxes_get_type ())
#define BOXES_EMPTY_BOXES(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), BOXES_TYPE_EMPTY_BOXES, BoxesEmptyBoxes))
#define BOXES_EMPTY_BOXES_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), BOXES_TYPE_EMPTY_BOXES, BoxesEmptyBoxesClass))
#define BOXES_IS_EMPTY_BOXES(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), BOXES_TYPE_EMPTY_BOXES))
#define BOXES_IS_EMPTY_BOXES_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), BOXES_TYPE_EMPTY_BOXES))
#define BOXES_EMPTY_BOXES_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), BOXES_TYPE_EMPTY_BOXES, BoxesEmptyBoxesClass))

typedef struct _BoxesEmptyBoxes BoxesEmptyBoxes;
typedef struct _BoxesEmptyBoxesClass BoxesEmptyBoxesClass;

#define BOXES_TYPE_COLLECTION_VIEW (boxes_collection_view_get_type ())
#define BOXES_COLLECTION_VIEW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), BOXES_TYPE_COLLECTION_VIEW, BoxesCollectionView))
#define BOXES_COLLECTION_VIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), BOXES_TYPE_COLLECTION_VIEW, BoxesCollectionViewClass))
#define BOXES_IS_COLLECTION_VIEW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), BOXES_TYPE_COLLECTION_VIEW))
#define BOXES_IS_COLLECTION_VIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), BOXES_TYPE_COLLECTION_VIEW))
#define BOXES_COLLECTION_VIEW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), BOXES_TYPE_COLLECTION_VIEW, BoxesCollectionViewClass))

typedef struct _BoxesCollectionView BoxesCollectionView;
typedef struct _BoxesCollectionViewClass BoxesCollectionViewClass;
#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL)))
#define _g_variant_unref0(var) ((var == NULL) ? NULL : (var = (g_variant_unref (var), NULL)))

#define BOXES_TYPE_APP (boxes_app_get_type ())
#define BOXES_APP(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), BOXES_TYPE_APP, BoxesApp))
#define BOXES_APP_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), BOXES_TYPE_APP, BoxesAppClass))
#define BOXES_IS_APP(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), BOXES_TYPE_APP))
#define BOXES_IS_APP_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), BOXES_TYPE_APP))
#define BOXES_APP_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), BOXES_TYPE_APP, BoxesAppClass))

typedef struct _BoxesApp BoxesApp;
typedef struct _BoxesAppClass BoxesAppClass;
typedef struct _BoxesAppPrivate BoxesAppPrivate;

#define BOXES_TYPE_COLLECTION_ITEM (boxes_collection_item_get_type ())
#define BOXES_COLLECTION_ITEM(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), BOXES_TYPE_COLLECTION_ITEM, BoxesCollectionItem))
#define BOXES_COLLECTION_ITEM_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), BOXES_TYPE_COLLECTION_ITEM, BoxesCollectionItemClass))
#define BOXES_IS_COLLECTION_ITEM(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), BOXES_TYPE_COLLECTION_ITEM))
#define BOXES_IS_COLLECTION_ITEM_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), BOXES_TYPE_COLLECTION_ITEM))
#define BOXES_COLLECTION_ITEM_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), BOXES_TYPE_COLLECTION_ITEM, BoxesCollectionItemClass))

typedef struct _BoxesCollectionItem BoxesCollectionItem;
typedef struct _BoxesCollectionItemClass BoxesCollectionItemClass;

#define BOXES_TYPE_COLLECTION (boxes_collection_get_type ())
#define BOXES_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), BOXES_TYPE_COLLECTION, BoxesCollection))
#define BOXES_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), BOXES_TYPE_COLLECTION, BoxesCollectionClass))
#define BOXES_IS_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), BOXES_TYPE_COLLECTION))
#define BOXES_IS_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), BOXES_TYPE_COLLECTION))
#define BOXES_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), BOXES_TYPE_COLLECTION, BoxesCollectionClass))

typedef struct _BoxesCollection BoxesCollection;
typedef struct _BoxesCollectionClass BoxesCollectionClass;

#define BOXES_TYPE_COLLECTION_FILTER (boxes_collection_filter_get_type ())
#define BOXES_COLLECTION_FILTER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), BOXES_TYPE_COLLECTION_FILTER, BoxesCollectionFilter))
#define BOXES_COLLECTION_FILTER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), BOXES_TYPE_COLLECTION_FILTER, BoxesCollectionFilterClass))
#define BOXES_IS_COLLECTION_FILTER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), BOXES_TYPE_COLLECTION_FILTER))
#define BOXES_IS_COLLECTION_FILTER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), BOXES_TYPE_COLLECTION_FILTER))
#define BOXES_COLLECTION_FILTER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), BOXES_TYPE_COLLECTION_FILTER, BoxesCollectionFilterClass))

typedef struct _BoxesCollectionFilter BoxesCollectionFilter;
typedef struct _BoxesCollectionFilterClass BoxesCollectionFilterClass;
typedef struct _BoxesCollectionPrivate BoxesCollectionPrivate;
#define _g_free0(var) (var = (g_free (var), NULL))

typedef enum  {
	BOXES_UI_STATE_NONE,
	BOXES_UI_STATE_COLLECTION,
	BOXES_UI_STATE_CREDS,
	BOXES_UI_STATE_DISPLAY,
	BOXES_UI_STATE_WIZARD,
	BOXES_UI_STATE_PROPERTIES
} BoxesUIState;

struct _BoxesUIIface {
	GTypeInterface parent_iface;
	BoxesUIState (*get_previous_ui_state) (BoxesUI* self);
	void (*set_previous_ui_state) (BoxesUI* self, BoxesUIState value);
	BoxesUIState (*get_ui_state) (BoxesUI* self);
	void (*set_ui_state) (BoxesUI* self, BoxesUIState value);
};

struct _BoxesAppWindow {
	GtkApplicationWindow parent_instance;
	BoxesAppWindowPrivate * priv;
	BoxesSearchbar* searchbar;
	BoxesTopbar* topbar;
	BoxesNotificationbar* notificationbar;
	BoxesSidebar* sidebar;
	BoxesWizard* wizard;
	BoxesProperties* properties;
	BoxesDisplayPage* display_page;
	BoxesEmptyBoxes* empty_boxes;
	GtkStack* below_bin;
	BoxesCollectionView* view;
	GSettings* settings;
};

struct _BoxesAppWindowClass {
	GtkApplicationWindowClass parent_class;
};

struct _BoxesAppWindowPrivate {
	BoxesUIState _previous_ui_state;
	BoxesUIState _ui_state;
	GtkStack* content_bin;
	GtkBox* below_bin_hbox;
	guint configure_id;
};

struct _BoxesApp {
	GtkApplication parent_instance;
	BoxesAppPrivate * priv;
	BoxesCollectionItem* current_item;
	BoxesCollection* collection;
	BoxesCollectionFilter* filter;
};

struct _BoxesAppClass {
	GtkApplicationClass parent_class;
};

struct _BoxesCollection {
	GObject parent_instance;
	BoxesCollectionPrivate * priv;
	GPtrArray* items;
};

struct _BoxesCollectionClass {
	GObjectClass parent_class;
};


static gpointer boxes_app_window_parent_class = NULL;
extern BoxesApp* boxes_app_app;
extern BoxesAppWindow* boxes_app_window;
static BoxesUIIface* boxes_app_window_boxes_ui_parent_iface = NULL;

GType boxes_ui_state_get_type (void) G_GNUC_CONST;
GType boxes_ui_get_type (void) G_GNUC_CONST;
GType boxes_app_window_get_type (void) G_GNUC_CONST;
GType boxes_searchbar_get_type (void) G_GNUC_CONST;
GType boxes_topbar_get_type (void) G_GNUC_CONST;
GType boxes_notificationbar_get_type (void) G_GNUC_CONST;
GType boxes_sidebar_get_type (void) G_GNUC_CONST;
GType boxes_wizard_get_type (void) G_GNUC_CONST;
GType boxes_properties_get_type (void) G_GNUC_CONST;
GType boxes_display_page_get_type (void) G_GNUC_CONST;
GType boxes_empty_boxes_get_type (void) G_GNUC_CONST;
GType boxes_collection_view_get_type (void) G_GNUC_CONST;
#define BOXES_APP_WINDOW_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), BOXES_TYPE_APP_WINDOW, BoxesAppWindowPrivate))
enum  {
	BOXES_APP_WINDOW_DUMMY_PROPERTY,
	BOXES_APP_WINDOW_PREVIOUS_UI_STATE,
	BOXES_APP_WINDOW_UI_STATE,
	BOXES_APP_WINDOW_FULLSCREENED
};
#define BOXES_APP_WINDOW_TRANSITION_DURATION ((guint) 400)
#define BOXES_APP_WINDOW_configure_id_timeout ((guint) 100)
BoxesAppWindow* boxes_app_window_new (GtkApplication* app);
BoxesAppWindow* boxes_app_window_construct (GType object_type, GtkApplication* app);
static void boxes_app_window_ui_state_changed (BoxesAppWindow* self);
static void _boxes_app_window_ui_state_changed_g_object_notify (GObject* _sender, GParamSpec* pspec, gpointer self);
GtkCssProvider* boxes_load_css (const gchar* css);
static gint _variant_get1 (GVariant* value);
static gint _variant_get2 (GVariant* value);
static gint _variant_get3 (GVariant* value);
static gint _variant_get4 (GVariant* value);
void boxes_app_window_setup_ui (BoxesAppWindow* self);
void boxes_topbar_setup_ui (BoxesTopbar* self);
void boxes_wizard_setup_ui (BoxesWizard* self);
void boxes_display_page_setup_ui (BoxesDisplayPage* self);
static void boxes_app_window_save_window_geometry (BoxesAppWindow* self);
static gboolean boxes_app_window_get_maximized (BoxesAppWindow* self);
static GVariant* _variant_new5 (gint* value, gint value_length1);
static GVariant* _variant_new6 (gint* value, gint value_length1);
void boxes_ui_set_state (BoxesUI* self, BoxesUIState new_state);
BoxesUIState boxes_ui_get_ui_state (BoxesUI* self);
GType boxes_app_get_type (void) G_GNUC_CONST;
GType boxes_collection_item_get_type (void) G_GNUC_CONST;
GType boxes_collection_get_type (void) G_GNUC_CONST;
GType boxes_collection_filter_get_type (void) G_GNUC_CONST;
void boxes_app_window_set_fullscreened (BoxesAppWindow* self, gboolean value);
const gchar* boxes_ui_state_to_string (BoxesUIState self);
gboolean boxes_app_window_on_key_pressed (BoxesAppWindow* self, GtkWidget* widget, GdkEventKey* event);
gboolean boxes_app_window_get_fullscreened (BoxesAppWindow* self);
gboolean boxes_app_quit_app (BoxesApp* self);
void boxes_topbar_click_back_button (BoxesTopbar* self);
void boxes_topbar_click_forward_button (BoxesTopbar* self);
void boxes_topbar_click_cancel_button (BoxesTopbar* self);
static gboolean _boxes_app_window_on_key_pressed_gtk_widget_key_press_event (GtkWidget* _sender, GdkEventKey* event, gpointer self);
static gboolean boxes_app_window_on_configure_event (BoxesAppWindow* self);
static gboolean __lambda160_ (BoxesAppWindow* self);
static gboolean ___lambda160__gsource_func (gpointer self);
static gboolean _boxes_app_window_on_configure_event_gtk_widget_configure_event (GtkWidget* _sender, GdkEventConfigure* event, gpointer self);
static gboolean boxes_app_window_on_window_state_event (BoxesAppWindow* self, GdkEventWindowState* event);
static gboolean _boxes_app_window_on_window_state_event_gtk_widget_window_state_event (GtkWidget* _sender, GdkEventWindowState* event, gpointer self);
static gboolean boxes_app_window_on_delete_event (BoxesAppWindow* self);
static gboolean _boxes_app_window_on_delete_event_gtk_widget_delete_event (GtkWidget* _sender, GdkEventAny* event, gpointer self);
static void boxes_app_window_finalize (GObject* obj);
BoxesUIState boxes_ui_get_previous_ui_state (BoxesUI* self);
static void _vala_boxes_app_window_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec);
void boxes_ui_set_previous_ui_state (BoxesUI* self, BoxesUIState value);
void boxes_ui_set_ui_state (BoxesUI* self, BoxesUIState value);
static void _vala_boxes_app_window_set_property (GObject * object, guint property_id, const GValue * value, GParamSpec * pspec);
static void _vala_array_destroy (gpointer array, gint array_length, GDestroyNotify destroy_func);
static void _vala_array_free (gpointer array, gint array_length, GDestroyNotify destroy_func);


static void _boxes_app_window_ui_state_changed_g_object_notify (GObject* _sender, GParamSpec* pspec, gpointer self) {
#line 59 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
	boxes_app_window_ui_state_changed ((BoxesAppWindow*) self);
#line 321 "app-window.c"
}


static gint _variant_get1 (GVariant* value) {
#line 72 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
	return g_variant_get_int32 (value);
#line 328 "app-window.c"
}


static gint _variant_get2 (GVariant* value) {
#line 73 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
	return g_variant_get_int32 (value);
#line 335 "app-window.c"
}


static gint _variant_get3 (GVariant* value) {
#line 83 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
	return g_variant_get_int32 (value);
#line 342 "app-window.c"
}


static gint _variant_get4 (GVariant* value) {
#line 84 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
	return g_variant_get_int32 (value);
#line 349 "app-window.c"
}


BoxesAppWindow* boxes_app_window_construct (GType object_type, GtkApplication* app) {
	BoxesAppWindow * self = NULL;
	GtkApplication* _tmp0_ = NULL;
	const gchar* _tmp1_ = NULL;
	GSettings* _tmp2_ = NULL;
	GtkSettings* _tmp3_ = NULL;
	GtkCssProvider* provider = NULL;
	GtkCssProvider* _tmp4_ = NULL;
	GdkScreen* _tmp5_ = NULL;
	GtkCssProvider* _tmp6_ = NULL;
	GVariant* size = NULL;
	GSettings* _tmp7_ = NULL;
	GVariant* _tmp8_ = NULL;
	GVariant* _tmp9_ = NULL;
	gsize _tmp10_ = 0UL;
	GSettings* _tmp23_ = NULL;
	gboolean _tmp24_ = FALSE;
	GVariant* position = NULL;
	GSettings* _tmp25_ = NULL;
	GVariant* _tmp26_ = NULL;
	GVariant* _tmp27_ = NULL;
	gsize _tmp28_ = 0UL;
#line 54 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
	g_return_val_if_fail (app != NULL, NULL);
#line 55 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
	_tmp0_ = app;
#line 55 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
	_tmp1_ = _ ("Boxes");
#line 55 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
	self = (BoxesAppWindow*) g_object_new (object_type, "application", _tmp0_, "title", _tmp1_, NULL);
#line 57 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
	_tmp2_ = g_settings_new ("org.gnome.boxes");
#line 57 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
	_g_object_unref0 (self->settings);
#line 57 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
	self->settings = _tmp2_;
#line 59 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
	g_signal_connect_object ((GObject*) self, "notify::ui-state", (GCallback) _boxes_app_window_ui_state_changed_g_object_notify, self, 0);
#line 61 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
	gtk_window_set_default_icon_name ("gnome-boxes");
#line 62 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
	_tmp3_ = gtk_settings_get_default ();
#line 62 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
	g_object_set (_tmp3_, "gtk-application-prefer-dark-theme", TRUE, NULL);
#line 64 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
	_tmp4_ = boxes_load_css ("gtk-style.css");
#line 64 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
	provider = _tmp4_;
#line 65 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
	_tmp5_ = gdk_screen_get_default ();
#line 65 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
	_tmp6_ = provider;
#line 65 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
	gtk_style_context_add_provider_for_screen (_tmp5_, (GtkStyleProvider*) _tmp6_, (guint) 600);
#line 70 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
	_tmp7_ = self->settings;
#line 70 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
	_tmp8_ = g_settings_get_value (_tmp7_, "window-size");
#line 70 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
	size = _tmp8_;
#line 71 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
	_tmp9_ = size;
#line 71 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
	_tmp10_ = g_variant_n_children (_tmp9_);
#line 71 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
	if (_tmp10_ == ((gsize) 2)) {
#line 419 "app-window.c"
		gint width = 0;
		GVariant* _tmp11_ = NULL;
		GVariant* _tmp12_ = NULL;
		GVariant* _tmp13_ = NULL;
		gint _tmp14_ = 0;
		gint _tmp15_ = 0;
		gint height = 0;
		GVariant* _tmp16_ = NULL;
		GVariant* _tmp17_ = NULL;
		GVariant* _tmp18_ = NULL;
		gint _tmp19_ = 0;
		gint _tmp20_ = 0;
		gint _tmp21_ = 0;
		gint _tmp22_ = 0;
#line 72 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
		_tmp11_ = size;
#line 72 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
		_tmp12_ = g_variant_get_child_value (_tmp11_, (gsize) 0);
#line 72 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
		_tmp13_ = _tmp12_;
#line 72 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
		_tmp14_ = _variant_get1 (_tmp13_);
#line 72 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
		_tmp15_ = _tmp14_;
#line 72 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
		_g_variant_unref0 (_tmp13_);
#line 72 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
		width = _tmp15_;
#line 73 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
		_tmp16_ = size;
#line 73 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
		_tmp17_ = g_variant_get_child_value (_tmp16_, (gsize) 1);
#line 73 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
		_tmp18_ = _tmp17_;
#line 73 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
		_tmp19_ = _variant_get2 (_tmp18_);
#line 73 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
		_tmp20_ = _tmp19_;
#line 73 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
		_g_variant_unref0 (_tmp18_);
#line 73 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
		height = _tmp20_;
#line 75 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
		_tmp21_ = width;
#line 75 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
		_tmp22_ = height;
#line 75 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
		gtk_window_set_default_size ((GtkWindow*) self, _tmp21_, _tmp22_);
#line 468 "app-window.c"
	}
#line 78 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
	_tmp23_ = self->settings;
#line 78 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
	_tmp24_ = g_settings_get_boolean (_tmp23_, "window-maximized");
#line 78 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
	if (_tmp24_) {
#line 79 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
		gtk_window_maximize ((GtkWindow*) self);
#line 478 "app-window.c"
	}
#line 81 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
	_tmp25_ = self->settings;
#line 81 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
	_tmp26_ = g_settings_get_value (_tmp25_, "window-position");
#line 81 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
	position = _tmp26_;
#line 82 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
	_tmp27_ = position;
#line 82 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
	_tmp28_ = g_variant_n_children (_tmp27_);
#line 82 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
	if (_tmp28_ == ((gsize) 2)) {
#line 492 "app-window.c"
		gint x = 0;
		GVariant* _tmp29_ = NULL;
		GVariant* _tmp30_ = NULL;
		GVariant* _tmp31_ = NULL;
		gint _tmp32_ = 0;
		gint _tmp33_ = 0;
		gint y = 0;
		GVariant* _tmp34_ = NULL;
		GVariant* _tmp35_ = NULL;
		GVariant* _tmp36_ = NULL;
		gint _tmp37_ = 0;
		gint _tmp38_ = 0;
		gint _tmp39_ = 0;
		gint _tmp40_ = 0;
#line 83 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
		_tmp29_ = position;
#line 83 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
		_tmp30_ = g_variant_get_child_value (_tmp29_, (gsize) 0);
#line 83 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
		_tmp31_ = _tmp30_;
#line 83 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
		_tmp32_ = _variant_get3 (_tmp31_);
#line 83 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
		_tmp33_ = _tmp32_;
#line 83 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
		_g_variant_unref0 (_tmp31_);
#line 83 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
		x = _tmp33_;
#line 84 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
		_tmp34_ = position;
#line 84 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
		_tmp35_ = g_variant_get_child_value (_tmp34_, (gsize) 1);
#line 84 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
		_tmp36_ = _tmp35_;
#line 84 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
		_tmp37_ = _variant_get4 (_tmp36_);
#line 84 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
		_tmp38_ = _tmp37_;
#line 84 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
		_g_variant_unref0 (_tmp36_);
#line 84 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
		y = _tmp38_;
#line 86 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
		_tmp39_ = x;
#line 86 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
		_tmp40_ = y;
#line 86 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
		gtk_window_move ((GtkWindow*) self, _tmp39_, _tmp40_);
#line 541 "app-window.c"
	}
#line 54 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
	_g_variant_unref0 (position);
#line 54 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
	_g_variant_unref0 (size);
#line 54 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
	_g_object_unref0 (provider);
#line 54 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
	return self;
#line 551 "app-window.c"
}


BoxesAppWindow* boxes_app_window_new (GtkApplication* app) {
#line 54 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
	return boxes_app_window_construct (BOXES_TYPE_APP_WINDOW, app);
#line 558 "app-window.c"
}


void boxes_app_window_setup_ui (BoxesAppWindow* self) {
	BoxesTopbar* _tmp0_ = NULL;
	BoxesWizard* _tmp1_ = NULL;
	BoxesDisplayPage* _tmp2_ = NULL;
#line 90 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
	g_return_if_fail (self != NULL);
#line 91 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
	_tmp0_ = self->topbar;
#line 91 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
	boxes_topbar_setup_ui (_tmp0_);
#line 92 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
	_tmp1_ = self->wizard;
#line 92 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
	boxes_wizard_setup_ui (_tmp1_);
#line 93 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
	_tmp2_ = self->display_page;
#line 93 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
	boxes_display_page_setup_ui (_tmp2_);
#line 580 "app-window.c"
}


static GVariant* _variant_new5 (gint* value, gint value_length1) {
	gint* _tmp9_;
	GVariantBuilder _tmp10_;
	int _tmp11_;
#line 103 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
	_tmp9_ = value;
#line 103 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
	g_variant_builder_init (&_tmp10_, G_VARIANT_TYPE ("ai"));
#line 103 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
	for (_tmp11_ = 0; _tmp11_ < value_length1; _tmp11_++) {
#line 103 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
		g_variant_builder_add_value (&_tmp10_, g_variant_new_int32 (*_tmp9_));
#line 103 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
		_tmp9_++;
#line 598 "app-window.c"
	}
#line 103 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
	return g_variant_ref_sink (g_variant_builder_end (&_tmp10_));
#line 602 "app-window.c"
}


static GVariant* _variant_new6 (gint* value, gint value_length1) {
	gint* _tmp20_;
	GVariantBuilder _tmp21_;
	int _tmp22_;
#line 106 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
	_tmp20_ = value;
#line 106 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
	g_variant_builder_init (&_tmp21_, G_VARIANT_TYPE ("ai"));
#line 106 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
	for (_tmp22_ = 0; _tmp22_ < value_length1; _tmp22_++) {
#line 106 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
		g_variant_builder_add_value (&_tmp21_, g_variant_new_int32 (*_tmp20_));
#line 106 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
		_tmp20_++;
#line 620 "app-window.c"
	}
#line 106 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
	return g_variant_ref_sink (g_variant_builder_end (&_tmp21_));
#line 624 "app-window.c"
}


static void boxes_app_window_save_window_geometry (BoxesAppWindow* self) {
	gint width = 0;
	gint height = 0;
	gint x = 0;
	gint y = 0;
	gboolean _tmp0_ = FALSE;
	gboolean _tmp1_ = FALSE;
	gint _tmp2_ = 0;
	gint _tmp3_ = 0;
	GSettings* _tmp4_ = NULL;
	gint _tmp5_ = 0;
	gint _tmp6_ = 0;
	gint* _tmp7_ = NULL;
	gint* _tmp8_ = NULL;
	gint _tmp8__length1 = 0;
	GVariant* _tmp12_ = NULL;
	gint _tmp13_ = 0;
	gint _tmp14_ = 0;
	GSettings* _tmp15_ = NULL;
	gint _tmp16_ = 0;
	gint _tmp17_ = 0;
	gint* _tmp18_ = NULL;
	gint* _tmp19_ = NULL;
	gint _tmp19__length1 = 0;
	GVariant* _tmp23_ = NULL;
#line 96 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
	g_return_if_fail (self != NULL);
#line 99 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
	_tmp0_ = boxes_app_window_get_maximized (self);
#line 99 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
	_tmp1_ = _tmp0_;
#line 99 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
	if (_tmp1_) {
#line 100 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
		return;
#line 663 "app-window.c"
	}
#line 102 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
	gtk_window_get_size ((GtkWindow*) self, &_tmp2_, &_tmp3_);
#line 102 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
	width = _tmp2_;
#line 102 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
	height = _tmp3_;
#line 103 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
	_tmp4_ = self->settings;
#line 103 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
	_tmp5_ = width;
#line 103 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
	_tmp6_ = height;
#line 103 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
	_tmp7_ = g_new0 (gint, 2);
#line 103 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
	_tmp7_[0] = _tmp5_;
#line 103 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
	_tmp7_[1] = _tmp6_;
#line 103 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
	_tmp8_ = _tmp7_;
#line 103 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
	_tmp8__length1 = 2;
#line 103 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
	_tmp12_ = _variant_new5 (_tmp8_, 2);
#line 103 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
	g_settings_set_value (_tmp4_, "window-size", _tmp12_);
#line 103 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
	_g_variant_unref0 (_tmp12_);
#line 103 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
	_tmp8_ = (g_free (_tmp8_), NULL);
#line 105 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
	gtk_window_get_position ((GtkWindow*) self, &_tmp13_, &_tmp14_);
#line 105 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
	x = _tmp13_;
#line 105 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
	y = _tmp14_;
#line 106 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
	_tmp15_ = self->settings;
#line 106 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
	_tmp16_ = x;
#line 106 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
	_tmp17_ = y;
#line 106 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
	_tmp18_ = g_new0 (gint, 2);
#line 106 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
	_tmp18_[0] = _tmp16_;
#line 106 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
	_tmp18_[1] = _tmp17_;
#line 106 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
	_tmp19_ = _tmp18_;
#line 106 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
	_tmp19__length1 = 2;
#line 106 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
	_tmp23_ = _variant_new6 (_tmp19_, 2);
#line 106 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
	g_settings_set_value (_tmp15_, "window-position", _tmp23_);
#line 106 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
	_g_variant_unref0 (_tmp23_);
#line 106 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
	_tmp19_ = (g_free (_tmp19_), NULL);
#line 725 "app-window.c"
}


static gpointer _g_object_ref0 (gpointer self) {
#line 112 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
	return self ? g_object_ref (self) : NULL;
#line 732 "app-window.c"
}


static gint g_ptr_array_get_length (GPtrArray* self) {
	gint result;
	guint _tmp0_ = 0U;
#line 4410 "/home/zeenix/jhbuild/share/vala-0.26/vapi/glib-2.0.vapi"
	g_return_val_if_fail (self != NULL, 0);
#line 4410 "/home/zeenix/jhbuild/share/vala-0.26/vapi/glib-2.0.vapi"
	_tmp0_ = self->len;
#line 4410 "/home/zeenix/jhbuild/share/vala-0.26/vapi/glib-2.0.vapi"
	result = (gint) _tmp0_;
#line 4410 "/home/zeenix/jhbuild/share/vala-0.26/vapi/glib-2.0.vapi"
	return result;
#line 747 "app-window.c"
}


static void g_ptr_array_set_length (GPtrArray* self, gint value) {
	gint _tmp0_ = 0;
#line 4411 "/home/zeenix/jhbuild/share/vala-0.26/vapi/glib-2.0.vapi"
	g_return_if_fail (self != NULL);
#line 4411 "/home/zeenix/jhbuild/share/vala-0.26/vapi/glib-2.0.vapi"
	_tmp0_ = value;
#line 4411 "/home/zeenix/jhbuild/share/vala-0.26/vapi/glib-2.0.vapi"
	g_ptr_array_set_size (self, _tmp0_);
#line 759 "app-window.c"
}


static void boxes_app_window_ui_state_changed (BoxesAppWindow* self) {
	BoxesSidebar* _tmp0_ = NULL;
	BoxesUI* _tmp1_ = NULL;
	BoxesTopbar* _tmp2_ = NULL;
	BoxesUI* _tmp3_ = NULL;
	BoxesCollectionView* _tmp4_ = NULL;
	BoxesUI* _tmp5_ = NULL;
	BoxesProperties* _tmp6_ = NULL;
	BoxesUI* _tmp7_ = NULL;
	BoxesWizard* _tmp8_ = NULL;
	BoxesUI* _tmp9_ = NULL;
	BoxesEmptyBoxes* _tmp10_ = NULL;
	BoxesUI* _tmp11_ = NULL;
	BoxesUI** _tmp12_ = NULL;
	BoxesUIState _tmp17_ = 0;
	BoxesUIState _tmp18_ = 0;
	BoxesUIState _tmp20_ = 0;
	BoxesUIState _tmp21_ = 0;
#line 109 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
	g_return_if_fail (self != NULL);
#line 112 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
	_tmp0_ = self->sidebar;
#line 112 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
	_tmp1_ = _g_object_ref0 ((BoxesUI*) _tmp0_);
#line 112 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
	_tmp2_ = self->topbar;
#line 112 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
	_tmp3_ = _g_object_ref0 ((BoxesUI*) _tmp2_);
#line 112 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
	_tmp4_ = self->view;
#line 112 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
	_tmp5_ = _g_object_ref0 ((BoxesUI*) _tmp4_);
#line 112 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
	_tmp6_ = self->properties;
#line 112 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
	_tmp7_ = _g_object_ref0 ((BoxesUI*) _tmp6_);
#line 112 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
	_tmp8_ = self->wizard;
#line 112 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
	_tmp9_ = _g_object_ref0 ((BoxesUI*) _tmp8_);
#line 112 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
	_tmp10_ = self->empty_boxes;
#line 112 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
	_tmp11_ = _g_object_ref0 ((BoxesUI*) _tmp10_);
#line 112 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
	_tmp12_ = g_new0 (BoxesUI*, 6 + 1);
#line 112 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
	_tmp12_[0] = _tmp1_;
#line 112 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
	_tmp12_[1] = _tmp3_;
#line 112 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
	_tmp12_[2] = _tmp5_;
#line 112 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
	_tmp12_[3] = _tmp7_;
#line 112 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
	_tmp12_[4] = _tmp9_;
#line 112 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
	_tmp12_[5] = _tmp11_;
#line 821 "app-window.c"
	{
		BoxesUI** ui_collection = NULL;
		gint ui_collection_length1 = 0;
		gint _ui_collection_size_ = 0;
		gint ui_it = 0;
#line 112 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
		ui_collection = _tmp12_;
#line 112 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
		ui_collection_length1 = 6;
#line 112 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
		for (ui_it = 0; ui_it < 6; ui_it = ui_it + 1) {
#line 833 "app-window.c"
			BoxesUI* _tmp13_ = NULL;
			BoxesUI* ui = NULL;
#line 112 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
			_tmp13_ = _g_object_ref0 (ui_collection[ui_it]);
#line 112 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
			ui = _tmp13_;
#line 840 "app-window.c"
			{
				BoxesUI* _tmp14_ = NULL;
				BoxesUIState _tmp15_ = 0;
				BoxesUIState _tmp16_ = 0;
#line 113 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
				_tmp14_ = ui;
#line 113 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
				_tmp15_ = boxes_ui_get_ui_state ((BoxesUI*) self);
#line 113 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
				_tmp16_ = _tmp15_;
#line 113 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
				boxes_ui_set_state (_tmp14_, _tmp16_);
#line 112 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
				_g_object_unref0 (ui);
#line 855 "app-window.c"
			}
		}
#line 112 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
		ui_collection = (_vala_array_free (ui_collection, ui_collection_length1, (GDestroyNotify) g_object_unref), NULL);
#line 860 "app-window.c"
	}
#line 116 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
	_tmp17_ = boxes_ui_get_ui_state ((BoxesUI*) self);
#line 116 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
	_tmp18_ = _tmp17_;
#line 116 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
	if (_tmp18_ != BOXES_UI_STATE_COLLECTION) {
#line 868 "app-window.c"
		BoxesSearchbar* _tmp19_ = NULL;
#line 117 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
		_tmp19_ = self->searchbar;
#line 117 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
		g_object_set ((GtkSearchBar*) _tmp19_, "search-mode-enabled", FALSE, NULL);
#line 874 "app-window.c"
	}
#line 119 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
	_tmp20_ = boxes_ui_get_ui_state ((BoxesUI*) self);
#line 119 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
	_tmp21_ = _tmp20_;
#line 119 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
	switch (_tmp21_) {
#line 119 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
		case BOXES_UI_STATE_COLLECTION:
#line 884 "app-window.c"
		{
			BoxesApp* _tmp22_ = NULL;
			BoxesCollection* _tmp23_ = NULL;
			GPtrArray* _tmp24_ = NULL;
			gint _tmp25_ = 0;
			gint _tmp26_ = 0;
			BoxesCollectionView* _tmp31_ = NULL;
#line 121 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
			_tmp22_ = boxes_app_app;
#line 121 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
			_tmp23_ = _tmp22_->collection;
#line 121 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
			_tmp24_ = _tmp23_->items;
#line 121 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
			_tmp25_ = g_ptr_array_get_length (_tmp24_);
#line 121 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
			_tmp26_ = _tmp25_;
#line 121 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
			if (_tmp26_ != 0) {
#line 904 "app-window.c"
				GtkStack* _tmp27_ = NULL;
				BoxesCollectionView* _tmp28_ = NULL;
#line 122 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
				_tmp27_ = self->below_bin;
#line 122 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
				_tmp28_ = self->view;
#line 122 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
				gtk_stack_set_visible_child (_tmp27_, (GtkWidget*) _tmp28_);
#line 913 "app-window.c"
			} else {
				GtkStack* _tmp29_ = NULL;
				BoxesEmptyBoxes* _tmp30_ = NULL;
#line 124 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
				_tmp29_ = self->below_bin;
#line 124 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
				_tmp30_ = self->empty_boxes;
#line 124 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
				gtk_stack_set_visible_child (_tmp29_, (GtkWidget*) _tmp30_);
#line 923 "app-window.c"
			}
#line 125 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
			boxes_app_window_set_fullscreened (self, FALSE);
#line 126 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
			_tmp31_ = self->view;
#line 126 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
			gtk_widget_set_visible ((GtkWidget*) _tmp31_, TRUE);
#line 128 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
			break;
#line 933 "app-window.c"
		}
#line 119 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
		case BOXES_UI_STATE_CREDS:
#line 119 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
		case BOXES_UI_STATE_DISPLAY:
#line 939 "app-window.c"
		{
#line 133 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
			break;
#line 943 "app-window.c"
		}
#line 119 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
		case BOXES_UI_STATE_WIZARD:
#line 947 "app-window.c"
		{
			GtkStack* _tmp32_ = NULL;
			GtkBox* _tmp33_ = NULL;
			GtkStack* _tmp34_ = NULL;
			BoxesWizard* _tmp35_ = NULL;
#line 136 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
			_tmp32_ = self->below_bin;
#line 136 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
			_tmp33_ = self->priv->below_bin_hbox;
#line 136 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
			gtk_stack_set_visible_child (_tmp32_, (GtkWidget*) _tmp33_);
#line 137 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
			_tmp34_ = self->priv->content_bin;
#line 137 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
			_tmp35_ = self->wizard;
#line 137 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
			gtk_stack_set_visible_child (_tmp34_, (GtkWidget*) _tmp35_);
#line 139 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
			break;
#line 967 "app-window.c"
		}
#line 119 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
		case BOXES_UI_STATE_PROPERTIES:
#line 971 "app-window.c"
		{
			GtkStack* _tmp36_ = NULL;
			GtkBox* _tmp37_ = NULL;
			GtkStack* _tmp38_ = NULL;
			BoxesProperties* _tmp39_ = NULL;
#line 142 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
			_tmp36_ = self->below_bin;
#line 142 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
			_tmp37_ = self->priv->below_bin_hbox;
#line 142 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
			gtk_stack_set_visible_child (_tmp36_, (GtkWidget*) _tmp37_);
#line 143 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
			_tmp38_ = self->priv->content_bin;
#line 143 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
			_tmp39_ = self->properties;
#line 143 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
			gtk_stack_set_visible_child (_tmp38_, (GtkWidget*) _tmp39_);
#line 145 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
			break;
#line 991 "app-window.c"
		}
		default:
		{
			BoxesUIState _tmp40_ = 0;
			BoxesUIState _tmp41_ = 0;
			GEnumValue* _tmp42_;
			gchar* _tmp43_ = NULL;
			gchar* _tmp44_ = NULL;
#line 148 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
			_tmp40_ = boxes_ui_get_ui_state ((BoxesUI*) self);
#line 148 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
			_tmp41_ = _tmp40_;
#line 148 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
			_tmp42_ = g_enum_get_value (g_type_class_ref (BOXES_TYPE_UI_STATE), _tmp41_);
#line 148 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
			_tmp43_ = g_strdup_printf ("Unhandled UI state %s", (_tmp42_ != NULL) ? _tmp42_->value_name : NULL);
#line 148 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
			_tmp44_ = _tmp43_;
#line 148 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
			g_warning ("app-window.vala:148: %s", _tmp44_);
#line 148 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
			_g_free0 (_tmp44_);
#line 149 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
			break;
#line 1016 "app-window.c"
		}
	}
}


gboolean boxes_app_window_on_key_pressed (BoxesAppWindow* self, GtkWidget* widget, GdkEventKey* event) {
	gboolean result = FALSE;
	GdkModifierType default_modifiers = 0;
	GdkModifierType _tmp0_ = 0;
	GdkEventKey* _tmp1_ = NULL;
	guint _tmp2_ = 0U;
#line 154 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
	g_return_val_if_fail (self != NULL, FALSE);
#line 154 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
	g_return_val_if_fail (widget != NULL, FALSE);
#line 154 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
	g_return_val_if_fail (event != NULL, FALSE);
#line 155 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
	_tmp0_ = gtk_accelerator_get_default_mod_mask ();
#line 155 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
	default_modifiers = _tmp0_;
#line 157 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
	_tmp1_ = event;
#line 157 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
	_tmp2_ = _tmp1_->keyval;
#line 157 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
	if (_tmp2_ == ((guint) GDK_KEY_F11)) {
#line 1044 "app-window.c"
		gboolean _tmp3_ = FALSE;
		gboolean _tmp4_ = FALSE;
#line 158 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
		_tmp3_ = boxes_app_window_get_fullscreened (self);
#line 158 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
		_tmp4_ = _tmp3_;
#line 158 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
		boxes_app_window_set_fullscreened (self, !_tmp4_);
#line 160 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
		result = TRUE;
#line 160 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
		return result;
#line 1057 "app-window.c"
	} else {
		gboolean _tmp5_ = FALSE;
		GdkEventKey* _tmp6_ = NULL;
		guint _tmp7_ = 0U;
#line 161 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
		_tmp6_ = event;
#line 161 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
		_tmp7_ = _tmp6_->keyval;
#line 161 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
		if (_tmp7_ == ((guint) GDK_KEY_q)) {
#line 1068 "app-window.c"
			GdkEventKey* _tmp8_ = NULL;
			GdkModifierType _tmp9_ = 0;
			GdkModifierType _tmp10_ = 0;
#line 162 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
			_tmp8_ = event;
#line 162 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
			_tmp9_ = _tmp8_->state;
#line 162 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
			_tmp10_ = default_modifiers;
#line 162 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
			_tmp5_ = (_tmp9_ & _tmp10_) == GDK_CONTROL_MASK;
#line 1080 "app-window.c"
		} else {
#line 161 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
			_tmp5_ = FALSE;
#line 1084 "app-window.c"
		}
#line 161 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
		if (_tmp5_) {
#line 1088 "app-window.c"
			BoxesApp* _tmp11_ = NULL;
#line 163 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
			_tmp11_ = boxes_app_app;
#line 163 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
			boxes_app_quit_app (_tmp11_);
#line 165 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
			result = TRUE;
#line 165 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
			return result;
#line 1098 "app-window.c"
		} else {
			gboolean _tmp12_ = FALSE;
			GdkEventKey* _tmp13_ = NULL;
			guint _tmp14_ = 0U;
#line 166 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
			_tmp13_ = event;
#line 166 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
			_tmp14_ = _tmp13_->keyval;
#line 166 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
			if (_tmp14_ == ((guint) GDK_KEY_a)) {
#line 1109 "app-window.c"
				GdkEventKey* _tmp15_ = NULL;
				GdkModifierType _tmp16_ = 0;
				GdkModifierType _tmp17_ = 0;
#line 167 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
				_tmp15_ = event;
#line 167 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
				_tmp16_ = _tmp15_->state;
#line 167 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
				_tmp17_ = default_modifiers;
#line 167 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
				_tmp12_ = (_tmp16_ & _tmp17_) == GDK_MOD1_MASK;
#line 1121 "app-window.c"
			} else {
#line 166 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
				_tmp12_ = FALSE;
#line 1125 "app-window.c"
			}
#line 166 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
			if (_tmp12_) {
#line 1129 "app-window.c"
				BoxesApp* _tmp18_ = NULL;
#line 168 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
				_tmp18_ = boxes_app_app;
#line 168 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
				boxes_app_quit_app (_tmp18_);
#line 170 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
				result = TRUE;
#line 170 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
				return result;
#line 1139 "app-window.c"
			} else {
				gboolean _tmp19_ = FALSE;
				GdkEventKey* _tmp20_ = NULL;
				guint _tmp21_ = 0U;
#line 171 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
				_tmp20_ = event;
#line 171 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
				_tmp21_ = _tmp20_->keyval;
#line 171 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
				if (_tmp21_ == ((guint) GDK_KEY_Left)) {
#line 1150 "app-window.c"
					GdkEventKey* _tmp22_ = NULL;
					GdkModifierType _tmp23_ = 0;
					GdkModifierType _tmp24_ = 0;
#line 172 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
					_tmp22_ = event;
#line 172 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
					_tmp23_ = _tmp22_->state;
#line 172 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
					_tmp24_ = default_modifiers;
#line 172 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
					_tmp19_ = (_tmp23_ & _tmp24_) == GDK_MOD1_MASK;
#line 1162 "app-window.c"
				} else {
#line 171 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
					_tmp19_ = FALSE;
#line 1166 "app-window.c"
				}
#line 171 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
				if (_tmp19_) {
#line 1170 "app-window.c"
					BoxesAppWindow* _tmp25_ = NULL;
					BoxesTopbar* _tmp26_ = NULL;
#line 173 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
					_tmp25_ = boxes_app_window;
#line 173 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
					_tmp26_ = _tmp25_->topbar;
#line 173 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
					boxes_topbar_click_back_button (_tmp26_);
#line 174 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
					result = TRUE;
#line 174 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
					return result;
#line 1183 "app-window.c"
				} else {
					gboolean _tmp27_ = FALSE;
					GdkEventKey* _tmp28_ = NULL;
					guint _tmp29_ = 0U;
#line 175 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
					_tmp28_ = event;
#line 175 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
					_tmp29_ = _tmp28_->keyval;
#line 175 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
					if (_tmp29_ == ((guint) GDK_KEY_Right)) {
#line 1194 "app-window.c"
						GdkEventKey* _tmp30_ = NULL;
						GdkModifierType _tmp31_ = 0;
						GdkModifierType _tmp32_ = 0;
#line 176 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
						_tmp30_ = event;
#line 176 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
						_tmp31_ = _tmp30_->state;
#line 176 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
						_tmp32_ = default_modifiers;
#line 176 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
						_tmp27_ = (_tmp31_ & _tmp32_) == GDK_MOD1_MASK;
#line 1206 "app-window.c"
					} else {
#line 175 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
						_tmp27_ = FALSE;
#line 1210 "app-window.c"
					}
#line 175 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
					if (_tmp27_) {
#line 1214 "app-window.c"
						BoxesAppWindow* _tmp33_ = NULL;
						BoxesTopbar* _tmp34_ = NULL;
#line 177 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
						_tmp33_ = boxes_app_window;
#line 177 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
						_tmp34_ = _tmp33_->topbar;
#line 177 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
						boxes_topbar_click_forward_button (_tmp34_);
#line 178 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
						result = TRUE;
#line 178 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
						return result;
#line 1227 "app-window.c"
					} else {
						GdkEventKey* _tmp35_ = NULL;
						guint _tmp36_ = 0U;
#line 179 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
						_tmp35_ = event;
#line 179 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
						_tmp36_ = _tmp35_->keyval;
#line 179 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
						if (_tmp36_ == ((guint) GDK_KEY_Escape)) {
#line 1237 "app-window.c"
							BoxesAppWindow* _tmp37_ = NULL;
							BoxesTopbar* _tmp38_ = NULL;
#line 180 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
							_tmp37_ = boxes_app_window;
#line 180 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
							_tmp38_ = _tmp37_->topbar;
#line 180 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
							boxes_topbar_click_cancel_button (_tmp38_);
#line 1246 "app-window.c"
						}
					}
				}
			}
		}
	}
#line 183 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
	result = FALSE;
#line 183 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
	return result;
#line 1257 "app-window.c"
}


static gboolean _boxes_app_window_on_key_pressed_gtk_widget_key_press_event (GtkWidget* _sender, GdkEventKey* event, gpointer self) {
	gboolean result;
	result = boxes_app_window_on_key_pressed ((BoxesAppWindow*) self, _sender, event);
#line 6 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
	return result;
#line 1266 "app-window.c"
}


static gboolean __lambda160_ (BoxesAppWindow* self) {
	gboolean result = FALSE;
#line 194 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
	self->priv->configure_id = (guint) 0;
#line 195 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
	boxes_app_window_save_window_geometry (self);
#line 197 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
	result = FALSE;
#line 197 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
	return result;
#line 1280 "app-window.c"
}


static gboolean ___lambda160__gsource_func (gpointer self) {
	gboolean result;
	result = __lambda160_ ((BoxesAppWindow*) self);
#line 193 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
	return result;
#line 1289 "app-window.c"
}


static gboolean boxes_app_window_on_configure_event (BoxesAppWindow* self) {
	gboolean result = FALSE;
	gboolean _tmp0_ = FALSE;
	gboolean _tmp1_ = FALSE;
	guint _tmp2_ = 0U;
	guint _tmp4_ = 0U;
#line 187 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
	g_return_val_if_fail (self != NULL, FALSE);
#line 188 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
	_tmp0_ = boxes_app_window_get_fullscreened (self);
#line 188 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
	_tmp1_ = _tmp0_;
#line 188 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
	if (_tmp1_) {
#line 189 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
		result = FALSE;
#line 189 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
		return result;
#line 1311 "app-window.c"
	}
#line 191 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
	_tmp2_ = self->priv->configure_id;
#line 191 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
	if (_tmp2_ != ((guint) 0)) {
#line 1317 "app-window.c"
		guint _tmp3_ = 0U;
#line 192 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
		_tmp3_ = self->priv->configure_id;
#line 192 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
		g_source_remove (_tmp3_);
#line 1323 "app-window.c"
	}
#line 193 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
	_tmp4_ = g_timeout_add_full (G_PRIORITY_DEFAULT, BOXES_APP_WINDOW_configure_id_timeout, ___lambda160__gsource_func, g_object_ref (self), g_object_unref);
#line 193 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
	self->priv->configure_id = _tmp4_;
#line 200 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
	result = FALSE;
#line 200 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
	return result;
#line 1333 "app-window.c"
}


static gboolean _boxes_app_window_on_configure_event_gtk_widget_configure_event (GtkWidget* _sender, GdkEventConfigure* event, gpointer self) {
	gboolean result;
	result = boxes_app_window_on_configure_event ((BoxesAppWindow*) self);
#line 6 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
	return result;
#line 1342 "app-window.c"
}


static gboolean boxes_app_window_on_window_state_event (BoxesAppWindow* self, GdkEventWindowState* event) {
	gboolean result = FALSE;
	GdkEventWindowState* _tmp0_ = NULL;
	GdkWindowState _tmp1_ = 0;
	gboolean _tmp2_ = FALSE;
	gboolean _tmp3_ = FALSE;
	GSettings* _tmp4_ = NULL;
	gboolean _tmp5_ = FALSE;
	gboolean _tmp6_ = FALSE;
#line 204 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
	g_return_val_if_fail (self != NULL, FALSE);
#line 204 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
	g_return_val_if_fail (event != NULL, FALSE);
#line 205 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
	_tmp0_ = event;
#line 205 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
	_tmp1_ = _tmp0_->changed_mask;
#line 205 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
	if ((_tmp1_ & GDK_WINDOW_STATE_FULLSCREEN) == GDK_WINDOW_STATE_FULLSCREEN) {
#line 206 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
		g_object_notify ((GObject*) self, "fullscreened");
#line 1367 "app-window.c"
	}
#line 208 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
	_tmp2_ = boxes_app_window_get_fullscreened (self);
#line 208 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
	_tmp3_ = _tmp2_;
#line 208 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
	if (_tmp3_) {
#line 209 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
		result = FALSE;
#line 209 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
		return result;
#line 1379 "app-window.c"
	}
#line 211 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
	_tmp4_ = self->settings;
#line 211 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
	_tmp5_ = boxes_app_window_get_maximized (self);
#line 211 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
	_tmp6_ = _tmp5_;
#line 211 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
	g_settings_set_boolean (_tmp4_, "window-maximized", _tmp6_);
#line 213 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
	result = FALSE;
#line 213 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
	return result;
#line 1393 "app-window.c"
}


static gboolean _boxes_app_window_on_window_state_event_gtk_widget_window_state_event (GtkWidget* _sender, GdkEventWindowState* event, gpointer self) {
	gboolean result;
	result = boxes_app_window_on_window_state_event ((BoxesAppWindow*) self, event);
#line 6 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
	return result;
#line 1402 "app-window.c"
}


static gboolean boxes_app_window_on_delete_event (BoxesAppWindow* self) {
	gboolean result = FALSE;
	BoxesApp* _tmp0_ = NULL;
	gboolean _tmp1_ = FALSE;
#line 217 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
	g_return_val_if_fail (self != NULL, FALSE);
#line 218 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
	_tmp0_ = boxes_app_app;
#line 218 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
	_tmp1_ = boxes_app_quit_app (_tmp0_);
#line 218 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
	result = _tmp1_;
#line 218 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
	return result;
#line 1420 "app-window.c"
}


static gboolean _boxes_app_window_on_delete_event_gtk_widget_delete_event (GtkWidget* _sender, GdkEventAny* event, gpointer self) {
	gboolean result;
	result = boxes_app_window_on_delete_event ((BoxesAppWindow*) self);
#line 6 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
	return result;
#line 1429 "app-window.c"
}


static BoxesUIState boxes_app_window_real_get_previous_ui_state (BoxesUI* base) {
	BoxesUIState result;
	BoxesAppWindow* self;
	BoxesUIState _tmp0_ = 0;
#line 9 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
	self = (BoxesAppWindow*) base;
#line 9 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
	_tmp0_ = self->priv->_previous_ui_state;
#line 9 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
	result = _tmp0_;
#line 9 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
	return result;
#line 1445 "app-window.c"
}


static void boxes_app_window_real_set_previous_ui_state (BoxesUI* base, BoxesUIState value) {
	BoxesAppWindow* self;
	BoxesUIState _tmp0_ = 0;
#line 9 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
	self = (BoxesAppWindow*) base;
#line 9 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
	_tmp0_ = value;
#line 9 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
	self->priv->_previous_ui_state = _tmp0_;
#line 9 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
	g_object_notify ((GObject *) self, "previous-ui-state");
#line 1460 "app-window.c"
}


static BoxesUIState boxes_app_window_real_get_ui_state (BoxesUI* base) {
	BoxesUIState result;
	BoxesAppWindow* self;
	BoxesUIState _tmp0_ = 0;
#line 10 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
	self = (BoxesAppWindow*) base;
#line 10 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
	_tmp0_ = self->priv->_ui_state;
#line 10 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
	result = _tmp0_;
#line 10 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
	return result;
#line 1476 "app-window.c"
}


static void boxes_app_window_real_set_ui_state (BoxesUI* base, BoxesUIState value) {
	BoxesAppWindow* self;
	BoxesUIState _tmp0_ = 0;
#line 10 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
	self = (BoxesAppWindow*) base;
#line 10 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
	_tmp0_ = value;
#line 10 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
	self->priv->_ui_state = _tmp0_;
#line 10 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
	g_object_notify ((GObject *) self, "ui-state");
#line 1491 "app-window.c"
}


gboolean boxes_app_window_get_fullscreened (BoxesAppWindow* self) {
	gboolean result;
	GdkWindow* _tmp0_ = NULL;
	GdkWindowState _tmp1_ = 0;
#line 14 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
	g_return_val_if_fail (self != NULL, FALSE);
#line 14 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
	_tmp0_ = gtk_widget_get_window ((GtkWidget*) self);
#line 14 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
	_tmp1_ = gdk_window_get_state (_tmp0_);
#line 14 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
	result = (_tmp1_ & GDK_WINDOW_STATE_FULLSCREEN) == GDK_WINDOW_STATE_FULLSCREEN;
#line 14 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
	return result;
#line 1509 "app-window.c"
}


void boxes_app_window_set_fullscreened (BoxesAppWindow* self, gboolean value) {
	gboolean _tmp0_ = FALSE;
#line 15 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
	g_return_if_fail (self != NULL);
#line 16 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
	_tmp0_ = value;
#line 16 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
	if (_tmp0_) {
#line 17 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
		gtk_window_fullscreen ((GtkWindow*) self);
#line 1523 "app-window.c"
	} else {
#line 19 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
		gtk_window_unfullscreen ((GtkWindow*) self);
#line 1527 "app-window.c"
	}
}


static gboolean boxes_app_window_get_maximized (BoxesAppWindow* self) {
	gboolean result;
	GdkWindow* _tmp0_ = NULL;
	GdkWindowState _tmp1_ = 0;
#line 22 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
	g_return_val_if_fail (self != NULL, FALSE);
#line 22 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
	_tmp0_ = gtk_widget_get_window ((GtkWidget*) self);
#line 22 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
	_tmp1_ = gdk_window_get_state (_tmp0_);
#line 22 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
	result = (_tmp1_ & GDK_WINDOW_STATE_MAXIMIZED) == GDK_WINDOW_STATE_MAXIMIZED;
#line 22 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
	return result;
#line 1546 "app-window.c"
}


static void boxes_app_window_class_init (BoxesAppWindowClass * klass) {
	gint BoxesAppWindow_private_offset;
#line 6 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
	boxes_app_window_parent_class = g_type_class_peek_parent (klass);
#line 6 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
	g_type_class_add_private (klass, sizeof (BoxesAppWindowPrivate));
#line 6 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
	G_OBJECT_CLASS (klass)->get_property = _vala_boxes_app_window_get_property;
#line 6 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
	G_OBJECT_CLASS (klass)->set_property = _vala_boxes_app_window_set_property;
#line 6 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
	G_OBJECT_CLASS (klass)->finalize = boxes_app_window_finalize;
#line 6 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
	g_object_class_install_property (G_OBJECT_CLASS (klass), BOXES_APP_WINDOW_PREVIOUS_UI_STATE, g_param_spec_enum ("previous-ui-state", "previous-ui-state", "previous-ui-state", BOXES_TYPE_UI_STATE, 0, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE));
#line 6 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
	g_object_class_install_property (G_OBJECT_CLASS (klass), BOXES_APP_WINDOW_UI_STATE, g_param_spec_enum ("ui-state", "ui-state", "ui-state", BOXES_TYPE_UI_STATE, 0, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE));
#line 6 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
	g_object_class_install_property (G_OBJECT_CLASS (klass), BOXES_APP_WINDOW_FULLSCREENED, g_param_spec_boolean ("fullscreened", "fullscreened", "fullscreened", FALSE, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE));
#line 6 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
	BoxesAppWindow_private_offset = g_type_class_get_instance_private_offset (klass);
#line 6 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
	gtk_widget_class_set_template_from_resource (GTK_WIDGET_CLASS (klass), "/org/gnome/Boxes/ui/app-window.ui");
#line 6 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
	gtk_widget_class_bind_template_child_full (GTK_WIDGET_CLASS (klass), "searchbar", FALSE, G_STRUCT_OFFSET (BoxesAppWindow, searchbar));
#line 6 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
	gtk_widget_class_bind_template_child_full (GTK_WIDGET_CLASS (klass), "topbar", FALSE, G_STRUCT_OFFSET (BoxesAppWindow, topbar));
#line 6 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
	gtk_widget_class_bind_template_child_full (GTK_WIDGET_CLASS (klass), "notificationbar", FALSE, G_STRUCT_OFFSET (BoxesAppWindow, notificationbar));
#line 6 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
	gtk_widget_class_bind_template_child_full (GTK_WIDGET_CLASS (klass), "sidebar", FALSE, G_STRUCT_OFFSET (BoxesAppWindow, sidebar));
#line 6 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
	gtk_widget_class_bind_template_child_full (GTK_WIDGET_CLASS (klass), "wizard", FALSE, G_STRUCT_OFFSET (BoxesAppWindow, wizard));
#line 6 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
	gtk_widget_class_bind_template_child_full (GTK_WIDGET_CLASS (klass), "properties", FALSE, G_STRUCT_OFFSET (BoxesAppWindow, properties));
#line 6 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
	gtk_widget_class_bind_template_child_full (GTK_WIDGET_CLASS (klass), "display_page", FALSE, G_STRUCT_OFFSET (BoxesAppWindow, display_page));
#line 6 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
	gtk_widget_class_bind_template_child_full (GTK_WIDGET_CLASS (klass), "empty_boxes", FALSE, G_STRUCT_OFFSET (BoxesAppWindow, empty_boxes));
#line 6 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
	gtk_widget_class_bind_template_child_full (GTK_WIDGET_CLASS (klass), "below_bin", FALSE, G_STRUCT_OFFSET (BoxesAppWindow, below_bin));
#line 6 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
	gtk_widget_class_bind_template_child_full (GTK_WIDGET_CLASS (klass), "content_bin", FALSE, BoxesAppWindow_private_offset + G_STRUCT_OFFSET (BoxesAppWindowPrivate, content_bin));
#line 6 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
	gtk_widget_class_bind_template_child_full (GTK_WIDGET_CLASS (klass), "below_bin_hbox", FALSE, BoxesAppWindow_private_offset + G_STRUCT_OFFSET (BoxesAppWindowPrivate, below_bin_hbox));
#line 6 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
	gtk_widget_class_bind_template_child_full (GTK_WIDGET_CLASS (klass), "view", FALSE, G_STRUCT_OFFSET (BoxesAppWindow, view));
#line 6 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
	gtk_widget_class_bind_template_callback_full (GTK_WIDGET_CLASS (klass), "on_key_pressed", G_CALLBACK(_boxes_app_window_on_key_pressed_gtk_widget_key_press_event));
#line 6 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
	gtk_widget_class_bind_template_callback_full (GTK_WIDGET_CLASS (klass), "on_configure_event", G_CALLBACK(_boxes_app_window_on_configure_event_gtk_widget_configure_event));
#line 6 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
	gtk_widget_class_bind_template_callback_full (GTK_WIDGET_CLASS (klass), "on_window_state_event", G_CALLBACK(_boxes_app_window_on_window_state_event_gtk_widget_window_state_event));
#line 6 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
	gtk_widget_class_bind_template_callback_full (GTK_WIDGET_CLASS (klass), "on_delete_event", G_CALLBACK(_boxes_app_window_on_delete_event_gtk_widget_delete_event));
#line 1604 "app-window.c"
}


static void boxes_app_window_boxes_ui_interface_init (BoxesUIIface * iface) {
#line 6 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
	boxes_app_window_boxes_ui_parent_iface = g_type_interface_peek_parent (iface);
#line 6 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
	iface->get_previous_ui_state = boxes_app_window_real_get_previous_ui_state;
#line 6 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
	iface->set_previous_ui_state = boxes_app_window_real_set_previous_ui_state;
#line 6 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
	iface->get_ui_state = boxes_app_window_real_get_ui_state;
#line 6 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
	iface->set_ui_state = boxes_app_window_real_set_ui_state;
#line 1619 "app-window.c"
}


static void boxes_app_window_instance_init (BoxesAppWindow * self) {
#line 6 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
	self->priv = BOXES_APP_WINDOW_GET_PRIVATE (self);
#line 6 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
	g_type_ensure (BOXES_TYPE_SEARCHBAR);
#line 6 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
	g_type_ensure (BOXES_TYPE_COLLECTION_VIEW);
#line 6 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
	g_type_ensure (BOXES_TYPE_NOTIFICATIONBAR);
#line 6 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
	g_type_ensure (BOXES_TYPE_WIZARD);
#line 6 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
	g_type_ensure (BOXES_TYPE_DISPLAY_PAGE);
#line 6 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
	g_type_ensure (BOXES_TYPE_TOPBAR);
#line 6 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
	g_type_ensure (BOXES_TYPE_PROPERTIES);
#line 6 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
	g_type_ensure (BOXES_TYPE_EMPTY_BOXES);
#line 6 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
	g_type_ensure (BOXES_TYPE_SIDEBAR);
#line 6 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
	gtk_widget_init_template (GTK_WIDGET (self));
#line 1646 "app-window.c"
}


static void boxes_app_window_finalize (GObject* obj) {
	BoxesAppWindow * self;
#line 6 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, BOXES_TYPE_APP_WINDOW, BoxesAppWindow);
#line 25 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
	_g_object_unref0 (self->searchbar);
#line 27 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
	_g_object_unref0 (self->topbar);
#line 29 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
	_g_object_unref0 (self->notificationbar);
#line 31 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
	_g_object_unref0 (self->sidebar);
#line 33 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
	_g_object_unref0 (self->wizard);
#line 35 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
	_g_object_unref0 (self->properties);
#line 37 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
	_g_object_unref0 (self->display_page);
#line 39 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
	_g_object_unref0 (self->empty_boxes);
#line 41 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
	_g_object_unref0 (self->below_bin);
#line 43 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
	_g_object_unref0 (self->priv->content_bin);
#line 45 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
	_g_object_unref0 (self->priv->below_bin_hbox);
#line 47 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
	_g_object_unref0 (self->view);
#line 49 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
	_g_object_unref0 (self->settings);
#line 6 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
	G_OBJECT_CLASS (boxes_app_window_parent_class)->finalize (obj);
#line 1682 "app-window.c"
}


GType boxes_app_window_get_type (void) {
	static volatile gsize boxes_app_window_type_id__volatile = 0;
	if (g_once_init_enter (&boxes_app_window_type_id__volatile)) {
		static const GTypeInfo g_define_type_info = { sizeof (BoxesAppWindowClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) boxes_app_window_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (BoxesAppWindow), 0, (GInstanceInitFunc) boxes_app_window_instance_init, NULL };
		static const GInterfaceInfo boxes_ui_info = { (GInterfaceInitFunc) boxes_app_window_boxes_ui_interface_init, (GInterfaceFinalizeFunc) NULL, NULL};
		GType boxes_app_window_type_id;
		boxes_app_window_type_id = g_type_register_static (GTK_TYPE_APPLICATION_WINDOW, "BoxesAppWindow", &g_define_type_info, 0);
		g_type_add_interface_static (boxes_app_window_type_id, BOXES_TYPE_UI, &boxes_ui_info);
		g_once_init_leave (&boxes_app_window_type_id__volatile, boxes_app_window_type_id);
	}
	return boxes_app_window_type_id__volatile;
}


static void _vala_boxes_app_window_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec) {
	BoxesAppWindow * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, BOXES_TYPE_APP_WINDOW, BoxesAppWindow);
#line 6 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
	switch (property_id) {
#line 6 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
		case BOXES_APP_WINDOW_PREVIOUS_UI_STATE:
#line 6 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
		g_value_set_enum (value, boxes_ui_get_previous_ui_state ((BoxesUI*) self));
#line 6 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
		break;
#line 6 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
		case BOXES_APP_WINDOW_UI_STATE:
#line 6 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
		g_value_set_enum (value, boxes_ui_get_ui_state ((BoxesUI*) self));
#line 6 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
		break;
#line 6 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
		case BOXES_APP_WINDOW_FULLSCREENED:
#line 6 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
		g_value_set_boolean (value, boxes_app_window_get_fullscreened (self));
#line 6 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
		break;
#line 1723 "app-window.c"
		default:
#line 6 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
#line 6 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
		break;
#line 1729 "app-window.c"
	}
}


static void _vala_boxes_app_window_set_property (GObject * object, guint property_id, const GValue * value, GParamSpec * pspec) {
	BoxesAppWindow * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, BOXES_TYPE_APP_WINDOW, BoxesAppWindow);
#line 6 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
	switch (property_id) {
#line 6 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
		case BOXES_APP_WINDOW_PREVIOUS_UI_STATE:
#line 6 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
		boxes_ui_set_previous_ui_state ((BoxesUI*) self, g_value_get_enum (value));
#line 6 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
		break;
#line 6 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
		case BOXES_APP_WINDOW_UI_STATE:
#line 6 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
		boxes_ui_set_ui_state ((BoxesUI*) self, g_value_get_enum (value));
#line 6 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
		break;
#line 6 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
		case BOXES_APP_WINDOW_FULLSCREENED:
#line 6 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
		boxes_app_window_set_fullscreened (self, g_value_get_boolean (value));
#line 6 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
		break;
#line 1757 "app-window.c"
		default:
#line 6 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
#line 6 "/home/zeenix/checkout/gnome/gnome-boxes/src/app-window.vala"
		break;
#line 1763 "app-window.c"
	}
}


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


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



