/* app-window.c generated by valac 0.25.2.7-aa52, 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_SELECTIONBAR (boxes_selectionbar_get_type ())
#define BOXES_SELECTIONBAR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), BOXES_TYPE_SELECTIONBAR, BoxesSelectionbar))
#define BOXES_SELECTIONBAR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), BOXES_TYPE_SELECTIONBAR, BoxesSelectionbarClass))
#define BOXES_IS_SELECTIONBAR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), BOXES_TYPE_SELECTIONBAR))
#define BOXES_IS_SELECTIONBAR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), BOXES_TYPE_SELECTIONBAR))
#define BOXES_SELECTIONBAR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), BOXES_TYPE_SELECTIONBAR, BoxesSelectionbarClass))

typedef struct _BoxesSelectionbar BoxesSelectionbar;
typedef struct _BoxesSelectionbarClass BoxesSelectionbarClass;

#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 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 _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_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;

#define BOXES_TYPE_MACHINE (boxes_machine_get_type ())
#define BOXES_MACHINE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), BOXES_TYPE_MACHINE, BoxesMachine))
#define BOXES_MACHINE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), BOXES_TYPE_MACHINE, BoxesMachineClass))
#define BOXES_IS_MACHINE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), BOXES_TYPE_MACHINE))
#define BOXES_IS_MACHINE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), BOXES_TYPE_MACHINE))
#define BOXES_MACHINE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), BOXES_TYPE_MACHINE, BoxesMachineClass))

typedef struct _BoxesMachine BoxesMachine;
typedef struct _BoxesMachineClass BoxesMachineClass;

#define BOXES_MACHINE_TYPE_MACHINE_STATE (boxes_machine_machine_state_get_type ())
#define _g_variant_unref0(var) ((var == NULL) ? NULL : (var = (g_variant_unref (var), NULL)))
typedef struct _BoxesNotificationbarPrivate BoxesNotificationbarPrivate;
typedef struct _BoxesAppPrivate BoxesAppPrivate;

#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))
#define __g_list_free__g_object_unref0_0(var) ((var == NULL) ? NULL : (var = (_g_list_free__g_object_unref0_ (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;
	BoxesSelectionbar* selectionbar;
	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;
	BoxesCollectionItem* _current_item;
	GBinding* status_bind;
	gulong got_error_id;
	gulong machine_state_notify_id;
	gulong machine_deleted_notify_id;
	gboolean _selection_mode;
	GtkStack* content_bin;
	GtkBox* below_bin_hbox;
	guint configure_id;
};

typedef enum  {
	BOXES_MACHINE_MACHINE_STATE_UNKNOWN,
	BOXES_MACHINE_MACHINE_STATE_STOPPED,
	BOXES_MACHINE_MACHINE_STATE_FORCE_STOPPED,
	BOXES_MACHINE_MACHINE_STATE_RUNNING,
	BOXES_MACHINE_MACHINE_STATE_PAUSED,
	BOXES_MACHINE_MACHINE_STATE_SAVED,
	BOXES_MACHINE_MACHINE_STATE_SLEEPING
} BoxesMachineMachineState;

struct _BoxesNotificationbar {
	GtkGrid parent_instance;
	BoxesNotificationbarPrivate * priv;
	BoxesSearchbar* searchbar;
};

struct _BoxesNotificationbarClass {
	GtkGridClass parent_class;
};

struct _BoxesApp {
	GtkApplication parent_instance;
	BoxesAppPrivate * priv;
	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;
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_selectionbar_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;
GType boxes_collection_item_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_CURRENT_ITEM,
	BOXES_APP_WINDOW_FULLSCREENED,
	BOXES_APP_WINDOW_SELECTION_MODE
};
#define BOXES_APP_WINDOW_TRANSITION_DURATION ((guint) 400)
#define BOXES_APP_WINDOW_configure_id_timeout ((guint) 100)
static void boxes_app_window_on_machine_state_notify (BoxesAppWindow* self);
GType boxes_app_get_type (void) G_GNUC_CONST;
BoxesAppWindow* boxes_app_get_main_window (BoxesApp* self);
BoxesCollectionItem* boxes_app_window_get_current_item (BoxesAppWindow* self);
GType boxes_machine_get_type (void) G_GNUC_CONST;
GType boxes_machine_machine_state_get_type (void) G_GNUC_CONST;
BoxesMachineMachineState boxes_machine_get_state (BoxesMachine* self);
static gboolean boxes_app_window_on_delete_event (BoxesAppWindow* self);
static void boxes_app_window_on_machine_deleted_notify (BoxesAppWindow* self);
gboolean boxes_machine_get_deleted (BoxesMachine* self);
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, BoxesAppWindow* window);
void boxes_wizard_setup_ui (BoxesWizard* self, BoxesAppWindow* window);
void boxes_display_page_setup_ui (BoxesDisplayPage* self, BoxesAppWindow* window);
void boxes_collection_view_setup_ui (BoxesCollectionView* self, BoxesAppWindow* window);
void boxes_selectionbar_setup_ui (BoxesSelectionbar* self, BoxesAppWindow* window);
void boxes_searchbar_setup_ui (BoxesSearchbar* self, BoxesAppWindow* window);
void boxes_sidebar_setup_ui (BoxesSidebar* self, BoxesAppWindow* window);
void boxes_properties_setup_ui (BoxesProperties* self, BoxesAppWindow* window);
void boxes_empty_boxes_setup_ui (BoxesEmptyBoxes* self, BoxesAppWindow* window);
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_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);
void boxes_topbar_set_status (BoxesTopbar* self, const gchar* value);
GCancellable* boxes_machine_get_connecting_cancellable (BoxesMachine* self);
const gchar* boxes_ui_state_to_string (BoxesUIState self);
void boxes_app_window_show_properties (BoxesAppWindow* self);
GList* boxes_collection_view_get_selected_items (BoxesCollectionView* self);
void boxes_app_window_set_selection_mode (BoxesAppWindow* self, gboolean value);
void boxes_app_window_set_current_item (BoxesAppWindow* self, BoxesCollectionItem* value);
static void _g_object_unref0_ (gpointer var);
static void _g_list_free__g_object_unref0_ (GList* self);
void boxes_app_window_connect_to (BoxesAppWindow* self, BoxesMachine* machine);
void boxes_machine_set_window (BoxesMachine* self, BoxesAppWindow* value);
static void __lambda101_ (BoxesAppWindow* self, const gchar* message);
GdNotification* boxes_notificationbar_display_error (BoxesNotificationbar* self, const gchar* message, gint timeout);
#define BOXES_NOTIFICATIONBAR_DEFAULT_TIMEOUT 6
static void ___lambda101__boxes_machine_got_error (BoxesMachine* _sender, const gchar* message, gpointer self);
void boxes_app_window_select_item (BoxesAppWindow* self, BoxesCollectionItem* item);
gboolean boxes_app_window_get_selection_mode (BoxesAppWindow* self);
BoxesAppWindow* boxes_machine_get_window (BoxesMachine* 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_new_button (BoxesTopbar* self);
void boxes_topbar_click_search_button (BoxesTopbar* 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 __lambda188_ (BoxesAppWindow* self);
static gboolean ___lambda188__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);
gboolean boxes_app_remove_window (BoxesApp* self, BoxesAppWindow* window);
static gboolean _boxes_app_window_on_delete_event_gtk_widget_delete_event (GtkWidget* _sender, GdkEventAny* event, gpointer self);
static void _boxes_app_window_on_machine_state_notify_g_object_notify (GObject* _sender, GParamSpec* pspec, gpointer self);
static void _boxes_app_window_on_machine_deleted_notify_g_object_notify (GObject* _sender, GParamSpec* pspec, 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_on_machine_state_notify (BoxesAppWindow* self) {
	gboolean _tmp0_ = FALSE;
	BoxesApp* _tmp1_ = NULL;
	BoxesAppWindow* _tmp2_ = NULL;
	BoxesAppWindow* _tmp3_ = NULL;
#line 63 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	g_return_if_fail (self != NULL);
#line 64 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	_tmp1_ = boxes_app_app;
#line 64 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	_tmp2_ = boxes_app_get_main_window (_tmp1_);
#line 64 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	_tmp3_ = _tmp2_;
#line 64 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	if (self != _tmp3_) {
#line 421 "app-window.c"
		BoxesCollectionItem* _tmp4_ = NULL;
		BoxesCollectionItem* _tmp5_ = NULL;
		BoxesMachineMachineState _tmp6_ = 0;
		BoxesMachineMachineState _tmp7_ = 0;
#line 64 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
		_tmp4_ = boxes_app_window_get_current_item (self);
#line 64 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
		_tmp5_ = _tmp4_;
#line 64 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
		_tmp6_ = boxes_machine_get_state (G_TYPE_CHECK_INSTANCE_TYPE (_tmp5_, BOXES_TYPE_MACHINE) ? ((BoxesMachine*) _tmp5_) : NULL);
#line 64 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
		_tmp7_ = _tmp6_;
#line 64 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
		_tmp0_ = _tmp7_ != BOXES_MACHINE_MACHINE_STATE_RUNNING;
#line 436 "app-window.c"
	} else {
#line 64 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
		_tmp0_ = FALSE;
#line 440 "app-window.c"
	}
#line 64 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	if (_tmp0_) {
#line 65 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
		boxes_app_window_on_delete_event (self);
#line 446 "app-window.c"
	}
}


static void boxes_app_window_on_machine_deleted_notify (BoxesAppWindow* self) {
	gboolean _tmp0_ = FALSE;
	BoxesApp* _tmp1_ = NULL;
	BoxesAppWindow* _tmp2_ = NULL;
	BoxesAppWindow* _tmp3_ = NULL;
#line 68 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	g_return_if_fail (self != NULL);
#line 69 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	_tmp1_ = boxes_app_app;
#line 69 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	_tmp2_ = boxes_app_get_main_window (_tmp1_);
#line 69 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	_tmp3_ = _tmp2_;
#line 69 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	if (self != _tmp3_) {
#line 466 "app-window.c"
		BoxesCollectionItem* _tmp4_ = NULL;
		BoxesCollectionItem* _tmp5_ = NULL;
		gboolean _tmp6_ = FALSE;
		gboolean _tmp7_ = FALSE;
#line 69 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
		_tmp4_ = boxes_app_window_get_current_item (self);
#line 69 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
		_tmp5_ = _tmp4_;
#line 69 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
		_tmp6_ = boxes_machine_get_deleted (G_TYPE_CHECK_INSTANCE_TYPE (_tmp5_, BOXES_TYPE_MACHINE) ? ((BoxesMachine*) _tmp5_) : NULL);
#line 69 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
		_tmp7_ = _tmp6_;
#line 69 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
		_tmp0_ = _tmp7_;
#line 481 "app-window.c"
	} else {
#line 69 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
		_tmp0_ = FALSE;
#line 485 "app-window.c"
	}
#line 69 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	if (_tmp0_) {
#line 70 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
		boxes_app_window_on_delete_event (self);
#line 491 "app-window.c"
	}
}


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


static gint _variant_get1 (GVariant* value) {
#line 123 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	return g_variant_get_int32 (value);
#line 506 "app-window.c"
}


static gint _variant_get2 (GVariant* value) {
#line 124 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	return g_variant_get_int32 (value);
#line 513 "app-window.c"
}


static gint _variant_get3 (GVariant* value) {
#line 134 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	return g_variant_get_int32 (value);
#line 520 "app-window.c"
}


static gint _variant_get4 (GVariant* value) {
#line 135 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	return g_variant_get_int32 (value);
#line 527 "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 105 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	g_return_val_if_fail (app != NULL, NULL);
#line 106 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	_tmp0_ = app;
#line 106 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	_tmp1_ = _ ("Boxes");
#line 106 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	self = (BoxesAppWindow*) g_object_new (object_type, "application", _tmp0_, "title", _tmp1_, NULL);
#line 108 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	_tmp2_ = g_settings_new ("org.gnome.boxes");
#line 108 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	_g_object_unref0 (self->settings);
#line 108 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	self->settings = _tmp2_;
#line 110 "/home/mclasen/Sources/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 112 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	gtk_window_set_default_icon_name ("gnome-boxes");
#line 113 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	_tmp3_ = gtk_settings_get_default ();
#line 113 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	g_object_set (_tmp3_, "gtk-application-prefer-dark-theme", TRUE, NULL);
#line 115 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	_tmp4_ = boxes_load_css ("gtk-style.css");
#line 115 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	provider = _tmp4_;
#line 116 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	_tmp5_ = gdk_screen_get_default ();
#line 116 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	_tmp6_ = provider;
#line 116 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	gtk_style_context_add_provider_for_screen (_tmp5_, (GtkStyleProvider*) _tmp6_, (guint) 600);
#line 121 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	_tmp7_ = self->settings;
#line 121 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	_tmp8_ = g_settings_get_value (_tmp7_, "window-size");
#line 121 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	size = _tmp8_;
#line 122 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	_tmp9_ = size;
#line 122 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	_tmp10_ = g_variant_n_children (_tmp9_);
#line 122 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	if (_tmp10_ == ((gsize) 2)) {
#line 597 "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 123 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
		_tmp11_ = size;
#line 123 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
		_tmp12_ = g_variant_get_child_value (_tmp11_, (gsize) 0);
#line 123 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
		_tmp13_ = _tmp12_;
#line 123 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
		_tmp14_ = _variant_get1 (_tmp13_);
#line 123 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
		_tmp15_ = _tmp14_;
#line 123 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
		_g_variant_unref0 (_tmp13_);
#line 123 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
		width = _tmp15_;
#line 124 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
		_tmp16_ = size;
#line 124 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
		_tmp17_ = g_variant_get_child_value (_tmp16_, (gsize) 1);
#line 124 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
		_tmp18_ = _tmp17_;
#line 124 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
		_tmp19_ = _variant_get2 (_tmp18_);
#line 124 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
		_tmp20_ = _tmp19_;
#line 124 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
		_g_variant_unref0 (_tmp18_);
#line 124 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
		height = _tmp20_;
#line 126 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
		_tmp21_ = width;
#line 126 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
		_tmp22_ = height;
#line 126 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
		gtk_window_set_default_size ((GtkWindow*) self, _tmp21_, _tmp22_);
#line 646 "app-window.c"
	}
#line 129 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	_tmp23_ = self->settings;
#line 129 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	_tmp24_ = g_settings_get_boolean (_tmp23_, "window-maximized");
#line 129 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	if (_tmp24_) {
#line 130 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
		gtk_window_maximize ((GtkWindow*) self);
#line 656 "app-window.c"
	}
#line 132 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	_tmp25_ = self->settings;
#line 132 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	_tmp26_ = g_settings_get_value (_tmp25_, "window-position");
#line 132 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	position = _tmp26_;
#line 133 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	_tmp27_ = position;
#line 133 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	_tmp28_ = g_variant_n_children (_tmp27_);
#line 133 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	if (_tmp28_ == ((gsize) 2)) {
#line 670 "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 134 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
		_tmp29_ = position;
#line 134 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
		_tmp30_ = g_variant_get_child_value (_tmp29_, (gsize) 0);
#line 134 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
		_tmp31_ = _tmp30_;
#line 134 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
		_tmp32_ = _variant_get3 (_tmp31_);
#line 134 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
		_tmp33_ = _tmp32_;
#line 134 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
		_g_variant_unref0 (_tmp31_);
#line 134 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
		x = _tmp33_;
#line 135 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
		_tmp34_ = position;
#line 135 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
		_tmp35_ = g_variant_get_child_value (_tmp34_, (gsize) 1);
#line 135 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
		_tmp36_ = _tmp35_;
#line 135 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
		_tmp37_ = _variant_get4 (_tmp36_);
#line 135 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
		_tmp38_ = _tmp37_;
#line 135 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
		_g_variant_unref0 (_tmp36_);
#line 135 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
		y = _tmp38_;
#line 137 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
		_tmp39_ = x;
#line 137 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
		_tmp40_ = y;
#line 137 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
		gtk_window_move ((GtkWindow*) self, _tmp39_, _tmp40_);
#line 719 "app-window.c"
	}
#line 105 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	_g_variant_unref0 (position);
#line 105 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	_g_variant_unref0 (size);
#line 105 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	_g_object_unref0 (provider);
#line 105 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	return self;
#line 729 "app-window.c"
}


BoxesAppWindow* boxes_app_window_new (GtkApplication* app) {
#line 105 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	return boxes_app_window_construct (BOXES_TYPE_APP_WINDOW, app);
#line 736 "app-window.c"
}


static gpointer _g_object_ref0 (gpointer self) {
#line 151 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	return self ? g_object_ref (self) : NULL;
#line 743 "app-window.c"
}


void boxes_app_window_setup_ui (BoxesAppWindow* self) {
	BoxesTopbar* _tmp0_ = NULL;
	BoxesWizard* _tmp1_ = NULL;
	BoxesDisplayPage* _tmp2_ = NULL;
	BoxesCollectionView* _tmp3_ = NULL;
	BoxesSelectionbar* _tmp4_ = NULL;
	BoxesSearchbar* _tmp5_ = NULL;
	BoxesSidebar* _tmp6_ = NULL;
	BoxesProperties* _tmp7_ = NULL;
	BoxesEmptyBoxes* _tmp8_ = NULL;
	BoxesNotificationbar* _tmp9_ = NULL;
	BoxesSearchbar* _tmp10_ = NULL;
	BoxesSearchbar* _tmp11_ = NULL;
#line 141 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	g_return_if_fail (self != NULL);
#line 142 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	_tmp0_ = self->topbar;
#line 142 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	boxes_topbar_setup_ui (_tmp0_, self);
#line 143 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	_tmp1_ = self->wizard;
#line 143 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	boxes_wizard_setup_ui (_tmp1_, self);
#line 144 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	_tmp2_ = self->display_page;
#line 144 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	boxes_display_page_setup_ui (_tmp2_, self);
#line 145 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	_tmp3_ = self->view;
#line 145 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	boxes_collection_view_setup_ui (_tmp3_, self);
#line 146 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	_tmp4_ = self->selectionbar;
#line 146 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	boxes_selectionbar_setup_ui (_tmp4_, self);
#line 147 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	_tmp5_ = self->searchbar;
#line 147 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	boxes_searchbar_setup_ui (_tmp5_, self);
#line 148 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	_tmp6_ = self->sidebar;
#line 148 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	boxes_sidebar_setup_ui (_tmp6_, self);
#line 149 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	_tmp7_ = self->properties;
#line 149 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	boxes_properties_setup_ui (_tmp7_, self);
#line 150 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	_tmp8_ = self->empty_boxes;
#line 150 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	boxes_empty_boxes_setup_ui (_tmp8_, self);
#line 151 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	_tmp9_ = self->notificationbar;
#line 151 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	_tmp10_ = self->searchbar;
#line 151 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	_tmp11_ = _g_object_ref0 (_tmp10_);
#line 151 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	_g_object_unref0 (_tmp9_->searchbar);
#line 151 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	_tmp9_->searchbar = _tmp11_;
#line 808 "app-window.c"
}


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


static GVariant* _variant_new6 (gint* value, gint value_length1) {
	gint* _tmp20_;
	GVariantBuilder _tmp21_;
	int _tmp22_;
#line 164 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	_tmp20_ = value;
#line 164 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	g_variant_builder_init (&_tmp21_, G_VARIANT_TYPE ("ai"));
#line 164 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	for (_tmp22_ = 0; _tmp22_ < value_length1; _tmp22_++) {
#line 164 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
		g_variant_builder_add_value (&_tmp21_, g_variant_new_int32 (*_tmp20_));
#line 164 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
		_tmp20_++;
#line 848 "app-window.c"
	}
#line 164 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	return g_variant_ref_sink (g_variant_builder_end (&_tmp21_));
#line 852 "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 154 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	g_return_if_fail (self != NULL);
#line 157 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	_tmp0_ = boxes_app_window_get_maximized (self);
#line 157 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	_tmp1_ = _tmp0_;
#line 157 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	if (_tmp1_) {
#line 158 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
		return;
#line 891 "app-window.c"
	}
#line 160 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	gtk_window_get_size ((GtkWindow*) self, &_tmp2_, &_tmp3_);
#line 160 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	width = _tmp2_;
#line 160 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	height = _tmp3_;
#line 161 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	_tmp4_ = self->settings;
#line 161 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	_tmp5_ = width;
#line 161 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	_tmp6_ = height;
#line 161 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	_tmp7_ = g_new0 (gint, 2);
#line 161 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	_tmp7_[0] = _tmp5_;
#line 161 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	_tmp7_[1] = _tmp6_;
#line 161 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	_tmp8_ = _tmp7_;
#line 161 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	_tmp8__length1 = 2;
#line 161 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	_tmp12_ = _variant_new5 (_tmp8_, 2);
#line 161 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	g_settings_set_value (_tmp4_, "window-size", _tmp12_);
#line 161 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	_g_variant_unref0 (_tmp12_);
#line 161 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	_tmp8_ = (g_free (_tmp8_), NULL);
#line 163 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	gtk_window_get_position ((GtkWindow*) self, &_tmp13_, &_tmp14_);
#line 163 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	x = _tmp13_;
#line 163 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	y = _tmp14_;
#line 164 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	_tmp15_ = self->settings;
#line 164 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	_tmp16_ = x;
#line 164 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	_tmp17_ = y;
#line 164 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	_tmp18_ = g_new0 (gint, 2);
#line 164 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	_tmp18_[0] = _tmp16_;
#line 164 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	_tmp18_[1] = _tmp17_;
#line 164 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	_tmp19_ = _tmp18_;
#line 164 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	_tmp19__length1 = 2;
#line 164 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	_tmp23_ = _variant_new6 (_tmp19_, 2);
#line 164 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	g_settings_set_value (_tmp15_, "window-position", _tmp23_);
#line 164 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	_g_variant_unref0 (_tmp23_);
#line 164 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	_tmp19_ = (g_free (_tmp19_), NULL);
#line 953 "app-window.c"
}


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


static void g_ptr_array_set_length (GPtrArray* self, gint value) {
	gint _tmp0_ = 0;
#line 4408 "/home/mclasen/gnome/share/vala-0.26/vapi/glib-2.0.vapi"
	g_return_if_fail (self != NULL);
#line 4408 "/home/mclasen/gnome/share/vala-0.26/vapi/glib-2.0.vapi"
	_tmp0_ = value;
#line 4408 "/home/mclasen/gnome/share/vala-0.26/vapi/glib-2.0.vapi"
	g_ptr_array_set_size (self, _tmp0_);
#line 980 "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;
	BoxesCollectionItem* _tmp57_ = NULL;
	BoxesCollectionItem* _tmp58_ = NULL;
#line 167 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	g_return_if_fail (self != NULL);
#line 170 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	_tmp0_ = self->sidebar;
#line 170 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	_tmp1_ = _g_object_ref0 ((BoxesUI*) _tmp0_);
#line 170 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	_tmp2_ = self->topbar;
#line 170 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	_tmp3_ = _g_object_ref0 ((BoxesUI*) _tmp2_);
#line 170 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	_tmp4_ = self->view;
#line 170 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	_tmp5_ = _g_object_ref0 ((BoxesUI*) _tmp4_);
#line 170 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	_tmp6_ = self->properties;
#line 170 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	_tmp7_ = _g_object_ref0 ((BoxesUI*) _tmp6_);
#line 170 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	_tmp8_ = self->wizard;
#line 170 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	_tmp9_ = _g_object_ref0 ((BoxesUI*) _tmp8_);
#line 170 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	_tmp10_ = self->empty_boxes;
#line 170 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	_tmp11_ = _g_object_ref0 ((BoxesUI*) _tmp10_);
#line 170 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	_tmp12_ = g_new0 (BoxesUI*, 6 + 1);
#line 170 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	_tmp12_[0] = _tmp1_;
#line 170 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	_tmp12_[1] = _tmp3_;
#line 170 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	_tmp12_[2] = _tmp5_;
#line 170 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	_tmp12_[3] = _tmp7_;
#line 170 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	_tmp12_[4] = _tmp9_;
#line 170 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	_tmp12_[5] = _tmp11_;
#line 1044 "app-window.c"
	{
		BoxesUI** ui_collection = NULL;
		gint ui_collection_length1 = 0;
		gint _ui_collection_size_ = 0;
		gint ui_it = 0;
#line 170 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
		ui_collection = _tmp12_;
#line 170 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
		ui_collection_length1 = 6;
#line 170 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
		for (ui_it = 0; ui_it < 6; ui_it = ui_it + 1) {
#line 1056 "app-window.c"
			BoxesUI* _tmp13_ = NULL;
			BoxesUI* ui = NULL;
#line 170 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
			_tmp13_ = _g_object_ref0 (ui_collection[ui_it]);
#line 170 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
			ui = _tmp13_;
#line 1063 "app-window.c"
			{
				BoxesUI* _tmp14_ = NULL;
				BoxesUIState _tmp15_ = 0;
				BoxesUIState _tmp16_ = 0;
#line 171 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
				_tmp14_ = ui;
#line 171 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
				_tmp15_ = boxes_ui_get_ui_state ((BoxesUI*) self);
#line 171 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
				_tmp16_ = _tmp15_;
#line 171 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
				boxes_ui_set_state (_tmp14_, _tmp16_);
#line 170 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
				_g_object_unref0 (ui);
#line 1078 "app-window.c"
			}
		}
#line 170 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
		ui_collection = (_vala_array_free (ui_collection, ui_collection_length1, (GDestroyNotify) g_object_unref), NULL);
#line 1083 "app-window.c"
	}
#line 174 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	_tmp17_ = boxes_ui_get_ui_state ((BoxesUI*) self);
#line 174 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	_tmp18_ = _tmp17_;
#line 174 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	if (_tmp18_ != BOXES_UI_STATE_COLLECTION) {
#line 1091 "app-window.c"
		BoxesSearchbar* _tmp19_ = NULL;
#line 175 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
		_tmp19_ = self->searchbar;
#line 175 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
		g_object_set ((GtkSearchBar*) _tmp19_, "search-mode-enabled", FALSE, NULL);
#line 1097 "app-window.c"
	}
#line 177 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	_tmp20_ = boxes_ui_get_ui_state ((BoxesUI*) self);
#line 177 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	_tmp21_ = _tmp20_;
#line 177 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	switch (_tmp21_) {
#line 177 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
		case BOXES_UI_STATE_COLLECTION:
#line 1107 "app-window.c"
		{
			BoxesApp* _tmp22_ = NULL;
			BoxesCollection* _tmp23_ = NULL;
			GPtrArray* _tmp24_ = NULL;
			gint _tmp25_ = 0;
			gint _tmp26_ = 0;
			BoxesCollectionView* _tmp31_ = NULL;
			BoxesTopbar* _tmp32_ = NULL;
			BoxesCollectionItem* _tmp33_ = NULL;
			BoxesCollectionItem* _tmp34_ = NULL;
#line 179 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
			_tmp22_ = boxes_app_app;
#line 179 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
			_tmp23_ = _tmp22_->collection;
#line 179 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
			_tmp24_ = _tmp23_->items;
#line 179 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
			_tmp25_ = g_ptr_array_get_length (_tmp24_);
#line 179 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
			_tmp26_ = _tmp25_;
#line 179 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
			if (_tmp26_ != 0) {
#line 1130 "app-window.c"
				GtkStack* _tmp27_ = NULL;
				BoxesCollectionView* _tmp28_ = NULL;
#line 180 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
				_tmp27_ = self->below_bin;
#line 180 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
				_tmp28_ = self->view;
#line 180 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
				gtk_stack_set_visible_child (_tmp27_, (GtkWidget*) _tmp28_);
#line 1139 "app-window.c"
			} else {
				GtkStack* _tmp29_ = NULL;
				BoxesEmptyBoxes* _tmp30_ = NULL;
#line 182 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
				_tmp29_ = self->below_bin;
#line 182 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
				_tmp30_ = self->empty_boxes;
#line 182 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
				gtk_stack_set_visible_child (_tmp29_, (GtkWidget*) _tmp30_);
#line 1149 "app-window.c"
			}
#line 183 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
			boxes_app_window_set_fullscreened (self, FALSE);
#line 184 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
			_tmp31_ = self->view;
#line 184 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
			gtk_widget_set_visible ((GtkWidget*) _tmp31_, TRUE);
#line 186 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
			_g_object_unref0 (self->priv->status_bind);
#line 186 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
			self->priv->status_bind = NULL;
#line 187 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
			_tmp32_ = self->topbar;
#line 187 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
			boxes_topbar_set_status (_tmp32_, NULL);
#line 188 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
			_tmp33_ = boxes_app_window_get_current_item (self);
#line 188 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
			_tmp34_ = _tmp33_;
#line 188 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
			if (G_TYPE_CHECK_INSTANCE_TYPE (_tmp34_, BOXES_TYPE_MACHINE)) {
#line 1171 "app-window.c"
				BoxesMachine* machine = NULL;
				BoxesCollectionItem* _tmp35_ = NULL;
				BoxesCollectionItem* _tmp36_ = NULL;
				BoxesMachine* _tmp37_ = NULL;
				gulong _tmp38_ = 0UL;
				BoxesMachine* _tmp41_ = NULL;
				GCancellable* _tmp42_ = NULL;
				GCancellable* _tmp43_ = NULL;
#line 189 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
				_tmp35_ = boxes_app_window_get_current_item (self);
#line 189 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
				_tmp36_ = _tmp35_;
#line 189 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
				_tmp37_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp36_, BOXES_TYPE_MACHINE) ? ((BoxesMachine*) _tmp36_) : NULL);
#line 189 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
				machine = _tmp37_;
#line 190 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
				_tmp38_ = self->priv->got_error_id;
#line 190 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
				if (_tmp38_ != ((gulong) 0)) {
#line 1192 "app-window.c"
					BoxesMachine* _tmp39_ = NULL;
					gulong _tmp40_ = 0UL;
#line 191 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
					_tmp39_ = machine;
#line 191 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
					_tmp40_ = self->priv->got_error_id;
#line 191 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
					g_signal_handler_disconnect ((GObject*) _tmp39_, _tmp40_);
#line 192 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
					self->priv->got_error_id = (gulong) 0;
#line 1203 "app-window.c"
				}
#line 195 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
				_tmp41_ = machine;
#line 195 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
				_tmp42_ = boxes_machine_get_connecting_cancellable (_tmp41_);
#line 195 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
				_tmp43_ = _tmp42_;
#line 195 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
				g_cancellable_cancel (_tmp43_);
#line 188 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
				_g_object_unref0 (machine);
#line 1215 "app-window.c"
			}
#line 198 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
			break;
#line 1219 "app-window.c"
		}
#line 177 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
		case BOXES_UI_STATE_CREDS:
#line 177 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
		case BOXES_UI_STATE_DISPLAY:
#line 1225 "app-window.c"
		{
#line 203 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
			break;
#line 1229 "app-window.c"
		}
#line 177 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
		case BOXES_UI_STATE_WIZARD:
#line 1233 "app-window.c"
		{
			GtkStack* _tmp44_ = NULL;
			GtkBox* _tmp45_ = NULL;
			GtkStack* _tmp46_ = NULL;
			BoxesWizard* _tmp47_ = NULL;
#line 206 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
			_tmp44_ = self->below_bin;
#line 206 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
			_tmp45_ = self->priv->below_bin_hbox;
#line 206 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
			gtk_stack_set_visible_child (_tmp44_, (GtkWidget*) _tmp45_);
#line 207 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
			_tmp46_ = self->priv->content_bin;
#line 207 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
			_tmp47_ = self->wizard;
#line 207 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
			gtk_stack_set_visible_child (_tmp46_, (GtkWidget*) _tmp47_);
#line 209 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
			break;
#line 1253 "app-window.c"
		}
#line 177 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
		case BOXES_UI_STATE_PROPERTIES:
#line 1257 "app-window.c"
		{
			GtkStack* _tmp48_ = NULL;
			GtkBox* _tmp49_ = NULL;
			GtkStack* _tmp50_ = NULL;
			BoxesProperties* _tmp51_ = NULL;
#line 212 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
			_tmp48_ = self->below_bin;
#line 212 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
			_tmp49_ = self->priv->below_bin_hbox;
#line 212 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
			gtk_stack_set_visible_child (_tmp48_, (GtkWidget*) _tmp49_);
#line 213 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
			_tmp50_ = self->priv->content_bin;
#line 213 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
			_tmp51_ = self->properties;
#line 213 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
			gtk_stack_set_visible_child (_tmp50_, (GtkWidget*) _tmp51_);
#line 215 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
			break;
#line 1277 "app-window.c"
		}
		default:
		{
			BoxesUIState _tmp52_ = 0;
			BoxesUIState _tmp53_ = 0;
			GEnumValue* _tmp54_;
			gchar* _tmp55_ = NULL;
			gchar* _tmp56_ = NULL;
#line 218 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
			_tmp52_ = boxes_ui_get_ui_state ((BoxesUI*) self);
#line 218 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
			_tmp53_ = _tmp52_;
#line 218 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
			_tmp54_ = g_enum_get_value (g_type_class_ref (BOXES_TYPE_UI_STATE), _tmp53_);
#line 218 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
			_tmp55_ = g_strdup_printf ("Unhandled UI state %s", (_tmp54_ != NULL) ? _tmp54_->value_name : NULL);
#line 218 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
			_tmp56_ = _tmp55_;
#line 218 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
			g_warning ("app-window.vala:218: %s", _tmp56_);
#line 218 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
			_g_free0 (_tmp56_);
#line 219 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
			break;
#line 1302 "app-window.c"
		}
	}
#line 222 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	_tmp57_ = boxes_app_window_get_current_item (self);
#line 222 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	_tmp58_ = _tmp57_;
#line 222 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	if (_tmp58_ != NULL) {
#line 1311 "app-window.c"
		BoxesCollectionItem* _tmp59_ = NULL;
		BoxesCollectionItem* _tmp60_ = NULL;
		BoxesUIState _tmp61_ = 0;
		BoxesUIState _tmp62_ = 0;
#line 223 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
		_tmp59_ = boxes_app_window_get_current_item (self);
#line 223 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
		_tmp60_ = _tmp59_;
#line 223 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
		_tmp61_ = boxes_ui_get_ui_state ((BoxesUI*) self);
#line 223 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
		_tmp62_ = _tmp61_;
#line 223 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
		boxes_ui_set_state ((BoxesUI*) _tmp60_, _tmp62_);
#line 1326 "app-window.c"
	}
}


static void _g_object_unref0_ (gpointer var) {
#line 226 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	(var == NULL) ? NULL : (var = (g_object_unref (var), NULL));
#line 1334 "app-window.c"
}


static void _g_list_free__g_object_unref0_ (GList* self) {
#line 226 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	g_list_foreach (self, (GFunc) _g_object_unref0_, NULL);
#line 226 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	g_list_free (self);
#line 1343 "app-window.c"
}


void boxes_app_window_show_properties (BoxesAppWindow* self) {
	GList* selected_items = NULL;
	BoxesCollectionView* _tmp0_ = NULL;
	GList* _tmp1_ = NULL;
#line 226 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	g_return_if_fail (self != NULL);
#line 227 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	_tmp0_ = self->view;
#line 227 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	_tmp1_ = boxes_collection_view_get_selected_items (_tmp0_);
#line 227 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	selected_items = _tmp1_;
#line 229 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	boxes_app_window_set_selection_mode (self, FALSE);
#line 1361 "app-window.c"
	{
		GList* item_collection = NULL;
		GList* item_it = NULL;
#line 232 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
		item_collection = selected_items;
#line 232 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
		for (item_it = item_collection; item_it != NULL; item_it = item_it->next) {
#line 1369 "app-window.c"
			BoxesCollectionItem* _tmp2_ = NULL;
			BoxesCollectionItem* item = NULL;
#line 232 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
			_tmp2_ = _g_object_ref0 ((BoxesCollectionItem*) item_it->data);
#line 232 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
			item = _tmp2_;
#line 1376 "app-window.c"
			{
				BoxesCollectionItem* _tmp3_ = NULL;
#line 233 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
				_tmp3_ = item;
#line 233 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
				boxes_app_window_set_current_item (self, _tmp3_);
#line 234 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
				boxes_ui_set_state ((BoxesUI*) self, BOXES_UI_STATE_PROPERTIES);
#line 235 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
				_g_object_unref0 (item);
#line 235 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
				break;
#line 1389 "app-window.c"
			}
		}
	}
#line 226 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	__g_list_free__g_object_unref0_0 (selected_items);
#line 1395 "app-window.c"
}


static void __lambda101_ (BoxesAppWindow* self, const gchar* message) {
	BoxesNotificationbar* _tmp0_ = NULL;
	const gchar* _tmp1_ = NULL;
	GdNotification* _tmp2_ = NULL;
	GdNotification* _tmp3_ = NULL;
#line 246 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	g_return_if_fail (message != NULL);
#line 247 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	_tmp0_ = self->notificationbar;
#line 247 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	_tmp1_ = message;
#line 247 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	_tmp2_ = boxes_notificationbar_display_error (_tmp0_, _tmp1_, BOXES_NOTIFICATIONBAR_DEFAULT_TIMEOUT);
#line 247 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	_tmp3_ = _tmp2_;
#line 247 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	_g_object_unref0 (_tmp3_);
#line 1416 "app-window.c"
}


static void ___lambda101__boxes_machine_got_error (BoxesMachine* _sender, const gchar* message, gpointer self) {
#line 246 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	__lambda101_ ((BoxesAppWindow*) self, message);
#line 1423 "app-window.c"
}


void boxes_app_window_connect_to (BoxesAppWindow* self, BoxesMachine* machine) {
	BoxesMachine* _tmp0_ = NULL;
	BoxesMachine* _tmp1_ = NULL;
	BoxesMachine* _tmp2_ = NULL;
	BoxesTopbar* _tmp3_ = NULL;
	GBinding* _tmp4_ = NULL;
	GBinding* _tmp5_ = NULL;
	BoxesMachine* _tmp6_ = NULL;
	gulong _tmp7_ = 0UL;
	BoxesUIState _tmp8_ = 0;
	BoxesUIState _tmp9_ = 0;
#line 239 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	g_return_if_fail (self != NULL);
#line 239 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	g_return_if_fail (machine != NULL);
#line 240 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	_tmp0_ = machine;
#line 240 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	boxes_app_window_set_current_item (self, (BoxesCollectionItem*) _tmp0_);
#line 241 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	_tmp1_ = machine;
#line 241 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	boxes_machine_set_window (_tmp1_, self);
#line 244 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	_tmp2_ = machine;
#line 244 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	_tmp3_ = self->topbar;
#line 244 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	_tmp4_ = g_object_bind_property_with_closures ((GObject*) _tmp2_, "status", (GObject*) _tmp3_, "status", G_BINDING_SYNC_CREATE, (GClosure*) ((NULL == NULL) ? NULL : g_cclosure_new ((GCallback) NULL, NULL, NULL)), (GClosure*) ((NULL == NULL) ? NULL : g_cclosure_new ((GCallback) NULL, NULL, NULL)));
#line 244 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	_tmp5_ = _g_object_ref0 (_tmp4_);
#line 244 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	_g_object_unref0 (self->priv->status_bind);
#line 244 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	self->priv->status_bind = _tmp5_;
#line 246 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	_tmp6_ = machine;
#line 246 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	_tmp7_ = g_signal_connect_object (_tmp6_, "got-error", (GCallback) ___lambda101__boxes_machine_got_error, self, 0);
#line 246 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	self->priv->got_error_id = _tmp7_;
#line 250 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	_tmp8_ = boxes_ui_get_ui_state ((BoxesUI*) self);
#line 250 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	_tmp9_ = _tmp8_;
#line 250 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	if (_tmp9_ != BOXES_UI_STATE_CREDS) {
#line 251 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
		boxes_ui_set_state ((BoxesUI*) self, BOXES_UI_STATE_CREDS);
#line 1476 "app-window.c"
	}
}


void boxes_app_window_select_item (BoxesAppWindow* self, BoxesCollectionItem* item) {
	gboolean _tmp0_ = FALSE;
	BoxesUIState _tmp1_ = 0;
	BoxesUIState _tmp2_ = 0;
#line 254 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	g_return_if_fail (self != NULL);
#line 254 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	g_return_if_fail (item != NULL);
#line 255 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	_tmp1_ = boxes_ui_get_ui_state ((BoxesUI*) self);
#line 255 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	_tmp2_ = _tmp1_;
#line 255 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	if (_tmp2_ == BOXES_UI_STATE_COLLECTION) {
#line 1495 "app-window.c"
		gboolean _tmp3_ = FALSE;
		gboolean _tmp4_ = FALSE;
#line 255 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
		_tmp3_ = boxes_app_window_get_selection_mode (self);
#line 255 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
		_tmp4_ = _tmp3_;
#line 255 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
		_tmp0_ = !_tmp4_;
#line 1504 "app-window.c"
	} else {
#line 255 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
		_tmp0_ = FALSE;
#line 1508 "app-window.c"
	}
#line 255 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	if (_tmp0_) {
#line 1512 "app-window.c"
		BoxesCollectionItem* _tmp5_ = NULL;
		BoxesMachine* machine = NULL;
		BoxesCollectionItem* _tmp6_ = NULL;
		BoxesMachine* _tmp7_ = NULL;
		BoxesMachine* _tmp8_ = NULL;
		BoxesAppWindow* _tmp9_ = NULL;
		BoxesAppWindow* _tmp10_ = NULL;
		BoxesApp* _tmp11_ = NULL;
		BoxesAppWindow* _tmp12_ = NULL;
		BoxesAppWindow* _tmp13_ = NULL;
		BoxesCollectionItem* _tmp17_ = NULL;
		BoxesCollectionItem* _tmp18_ = NULL;
		BoxesCollectionItem* _tmp19_ = NULL;
		BoxesCollectionItem* _tmp21_ = NULL;
#line 256 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
		_tmp5_ = item;
#line 256 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
		g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (_tmp5_, BOXES_TYPE_MACHINE));
#line 258 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
		_tmp6_ = item;
#line 258 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
		_tmp7_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp6_, BOXES_TYPE_MACHINE) ? ((BoxesMachine*) _tmp6_) : NULL);
#line 258 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
		machine = _tmp7_;
#line 260 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
		_tmp8_ = machine;
#line 260 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
		_tmp9_ = boxes_machine_get_window (_tmp8_);
#line 260 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
		_tmp10_ = _tmp9_;
#line 260 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
		_tmp11_ = boxes_app_app;
#line 260 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
		_tmp12_ = boxes_app_get_main_window (_tmp11_);
#line 260 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
		_tmp13_ = _tmp12_;
#line 260 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
		if (_tmp10_ != _tmp13_) {
#line 1551 "app-window.c"
			BoxesMachine* _tmp14_ = NULL;
			BoxesAppWindow* _tmp15_ = NULL;
			BoxesAppWindow* _tmp16_ = NULL;
#line 261 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
			_tmp14_ = machine;
#line 261 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
			_tmp15_ = boxes_machine_get_window (_tmp14_);
#line 261 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
			_tmp16_ = _tmp15_;
#line 261 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
			gtk_window_present ((GtkWindow*) _tmp16_);
#line 263 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
			_g_object_unref0 (machine);
#line 263 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
			return;
#line 1567 "app-window.c"
		}
#line 266 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
		_tmp17_ = item;
#line 266 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
		boxes_app_window_set_current_item (self, _tmp17_);
#line 268 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
		_tmp18_ = boxes_app_window_get_current_item (self);
#line 268 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
		_tmp19_ = _tmp18_;
#line 268 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
		if (G_TYPE_CHECK_INSTANCE_TYPE (_tmp19_, BOXES_TYPE_MACHINE)) {
#line 1579 "app-window.c"
			BoxesMachine* _tmp20_ = NULL;
#line 269 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
			_tmp20_ = machine;
#line 269 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
			boxes_app_window_connect_to (self, _tmp20_);
#line 1585 "app-window.c"
		} else {
#line 271 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
			g_warning ("app-window.vala:271: unknown item, fix your code");
#line 1589 "app-window.c"
		}
#line 273 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
		_tmp21_ = item;
#line 273 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
		g_signal_emit_by_name (self, "item-selected", _tmp21_);
#line 255 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
		_g_object_unref0 (machine);
#line 1597 "app-window.c"
	} else {
		BoxesUIState _tmp22_ = 0;
		BoxesUIState _tmp23_ = 0;
#line 274 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
		_tmp22_ = boxes_ui_get_ui_state ((BoxesUI*) self);
#line 274 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
		_tmp23_ = _tmp22_;
#line 274 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
		if (_tmp23_ == BOXES_UI_STATE_WIZARD) {
#line 1607 "app-window.c"
			BoxesCollectionItem* _tmp24_ = NULL;
#line 275 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
			_tmp24_ = item;
#line 275 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
			boxes_app_window_set_current_item (self, _tmp24_);
#line 277 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
			boxes_ui_set_state ((BoxesUI*) self, BOXES_UI_STATE_PROPERTIES);
#line 1615 "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 282 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	g_return_val_if_fail (self != NULL, FALSE);
#line 282 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	g_return_val_if_fail (widget != NULL, FALSE);
#line 282 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	g_return_val_if_fail (event != NULL, FALSE);
#line 283 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	_tmp0_ = gtk_accelerator_get_default_mod_mask ();
#line 283 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	default_modifiers = _tmp0_;
#line 285 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	_tmp1_ = event;
#line 285 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	_tmp2_ = _tmp1_->keyval;
#line 285 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	if (_tmp2_ == ((guint) GDK_KEY_F11)) {
#line 1643 "app-window.c"
		gboolean _tmp3_ = FALSE;
		gboolean _tmp4_ = FALSE;
#line 286 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
		_tmp3_ = boxes_app_window_get_fullscreened (self);
#line 286 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
		_tmp4_ = _tmp3_;
#line 286 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
		boxes_app_window_set_fullscreened (self, !_tmp4_);
#line 288 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
		result = TRUE;
#line 288 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
		return result;
#line 1656 "app-window.c"
	} else {
		GdkEventKey* _tmp5_ = NULL;
		guint _tmp6_ = 0U;
#line 289 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
		_tmp5_ = event;
#line 289 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
		_tmp6_ = _tmp5_->keyval;
#line 289 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
		if (_tmp6_ == ((guint) GDK_KEY_F1)) {
#line 1666 "app-window.c"
			BoxesApp* _tmp7_ = NULL;
#line 290 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
			_tmp7_ = boxes_app_app;
#line 290 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
			g_action_group_activate_action ((GActionGroup*) _tmp7_, "help", NULL);
#line 292 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
			result = TRUE;
#line 292 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
			return result;
#line 1676 "app-window.c"
		} else {
			gboolean _tmp8_ = FALSE;
			GdkEventKey* _tmp9_ = NULL;
			guint _tmp10_ = 0U;
#line 293 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
			_tmp9_ = event;
#line 293 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
			_tmp10_ = _tmp9_->keyval;
#line 293 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
			if (_tmp10_ == ((guint) GDK_KEY_q)) {
#line 1687 "app-window.c"
				GdkEventKey* _tmp11_ = NULL;
				GdkModifierType _tmp12_ = 0;
				GdkModifierType _tmp13_ = 0;
#line 294 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
				_tmp11_ = event;
#line 294 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
				_tmp12_ = _tmp11_->state;
#line 294 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
				_tmp13_ = default_modifiers;
#line 294 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
				_tmp8_ = (_tmp12_ & _tmp13_) == GDK_CONTROL_MASK;
#line 1699 "app-window.c"
			} else {
#line 293 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
				_tmp8_ = FALSE;
#line 1703 "app-window.c"
			}
#line 293 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
			if (_tmp8_) {
#line 1707 "app-window.c"
				BoxesApp* _tmp14_ = NULL;
#line 295 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
				_tmp14_ = boxes_app_app;
#line 295 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
				boxes_app_quit_app (_tmp14_);
#line 297 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
				result = TRUE;
#line 297 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
				return result;
#line 1717 "app-window.c"
			} else {
				gboolean _tmp15_ = FALSE;
				GdkEventKey* _tmp16_ = NULL;
				guint _tmp17_ = 0U;
#line 298 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
				_tmp16_ = event;
#line 298 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
				_tmp17_ = _tmp16_->keyval;
#line 298 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
				if (_tmp17_ == ((guint) GDK_KEY_n)) {
#line 1728 "app-window.c"
					GdkEventKey* _tmp18_ = NULL;
					GdkModifierType _tmp19_ = 0;
					GdkModifierType _tmp20_ = 0;
#line 299 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
					_tmp18_ = event;
#line 299 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
					_tmp19_ = _tmp18_->state;
#line 299 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
					_tmp20_ = default_modifiers;
#line 299 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
					_tmp15_ = (_tmp19_ & _tmp20_) == GDK_CONTROL_MASK;
#line 1740 "app-window.c"
				} else {
#line 298 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
					_tmp15_ = FALSE;
#line 1744 "app-window.c"
				}
#line 298 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
				if (_tmp15_) {
#line 1748 "app-window.c"
					BoxesTopbar* _tmp21_ = NULL;
#line 300 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
					_tmp21_ = self->topbar;
#line 300 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
					boxes_topbar_click_new_button (_tmp21_);
#line 302 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
					result = TRUE;
#line 302 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
					return result;
#line 1758 "app-window.c"
				} else {
					gboolean _tmp22_ = FALSE;
					GdkEventKey* _tmp23_ = NULL;
					guint _tmp24_ = 0U;
#line 303 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
					_tmp23_ = event;
#line 303 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
					_tmp24_ = _tmp23_->keyval;
#line 303 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
					if (_tmp24_ == ((guint) GDK_KEY_f)) {
#line 1769 "app-window.c"
						GdkEventKey* _tmp25_ = NULL;
						GdkModifierType _tmp26_ = 0;
						GdkModifierType _tmp27_ = 0;
#line 304 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
						_tmp25_ = event;
#line 304 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
						_tmp26_ = _tmp25_->state;
#line 304 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
						_tmp27_ = default_modifiers;
#line 304 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
						_tmp22_ = (_tmp26_ & _tmp27_) == GDK_CONTROL_MASK;
#line 1781 "app-window.c"
					} else {
#line 303 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
						_tmp22_ = FALSE;
#line 1785 "app-window.c"
					}
#line 303 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
					if (_tmp22_) {
#line 1789 "app-window.c"
						BoxesTopbar* _tmp28_ = NULL;
#line 305 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
						_tmp28_ = self->topbar;
#line 305 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
						boxes_topbar_click_search_button (_tmp28_);
#line 307 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
						result = TRUE;
#line 307 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
						return result;
#line 1799 "app-window.c"
					} else {
						gboolean _tmp29_ = FALSE;
						GdkEventKey* _tmp30_ = NULL;
						guint _tmp31_ = 0U;
#line 308 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
						_tmp30_ = event;
#line 308 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
						_tmp31_ = _tmp30_->keyval;
#line 308 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
						if (_tmp31_ == ((guint) GDK_KEY_a)) {
#line 1810 "app-window.c"
							GdkEventKey* _tmp32_ = NULL;
							GdkModifierType _tmp33_ = 0;
							GdkModifierType _tmp34_ = 0;
#line 309 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
							_tmp32_ = event;
#line 309 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
							_tmp33_ = _tmp32_->state;
#line 309 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
							_tmp34_ = default_modifiers;
#line 309 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
							_tmp29_ = (_tmp33_ & _tmp34_) == GDK_MOD1_MASK;
#line 1822 "app-window.c"
						} else {
#line 308 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
							_tmp29_ = FALSE;
#line 1826 "app-window.c"
						}
#line 308 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
						if (_tmp29_) {
#line 1830 "app-window.c"
							BoxesApp* _tmp35_ = NULL;
#line 310 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
							_tmp35_ = boxes_app_app;
#line 310 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
							boxes_app_quit_app (_tmp35_);
#line 312 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
							result = TRUE;
#line 312 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
							return result;
#line 1840 "app-window.c"
						} else {
							gboolean _tmp36_ = FALSE;
							GdkEventKey* _tmp37_ = NULL;
							guint _tmp38_ = 0U;
#line 313 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
							_tmp37_ = event;
#line 313 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
							_tmp38_ = _tmp37_->keyval;
#line 313 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
							if (_tmp38_ == ((guint) GDK_KEY_Left)) {
#line 1851 "app-window.c"
								GdkEventKey* _tmp39_ = NULL;
								GdkModifierType _tmp40_ = 0;
								GdkModifierType _tmp41_ = 0;
#line 314 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
								_tmp39_ = event;
#line 314 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
								_tmp40_ = _tmp39_->state;
#line 314 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
								_tmp41_ = default_modifiers;
#line 314 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
								_tmp36_ = (_tmp40_ & _tmp41_) == GDK_MOD1_MASK;
#line 1863 "app-window.c"
							} else {
#line 313 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
								_tmp36_ = FALSE;
#line 1867 "app-window.c"
							}
#line 313 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
							if (_tmp36_) {
#line 1871 "app-window.c"
								BoxesTopbar* _tmp42_ = NULL;
#line 315 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
								_tmp42_ = self->topbar;
#line 315 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
								boxes_topbar_click_back_button (_tmp42_);
#line 316 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
								result = TRUE;
#line 316 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
								return result;
#line 1881 "app-window.c"
							} else {
								gboolean _tmp43_ = FALSE;
								GdkEventKey* _tmp44_ = NULL;
								guint _tmp45_ = 0U;
#line 317 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
								_tmp44_ = event;
#line 317 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
								_tmp45_ = _tmp44_->keyval;
#line 317 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
								if (_tmp45_ == ((guint) GDK_KEY_Right)) {
#line 1892 "app-window.c"
									GdkEventKey* _tmp46_ = NULL;
									GdkModifierType _tmp47_ = 0;
									GdkModifierType _tmp48_ = 0;
#line 318 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
									_tmp46_ = event;
#line 318 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
									_tmp47_ = _tmp46_->state;
#line 318 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
									_tmp48_ = default_modifiers;
#line 318 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
									_tmp43_ = (_tmp47_ & _tmp48_) == GDK_MOD1_MASK;
#line 1904 "app-window.c"
								} else {
#line 317 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
									_tmp43_ = FALSE;
#line 1908 "app-window.c"
								}
#line 317 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
								if (_tmp43_) {
#line 1912 "app-window.c"
									BoxesTopbar* _tmp49_ = NULL;
#line 319 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
									_tmp49_ = self->topbar;
#line 319 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
									boxes_topbar_click_forward_button (_tmp49_);
#line 320 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
									result = TRUE;
#line 320 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
									return result;
#line 1922 "app-window.c"
								} else {
									GdkEventKey* _tmp50_ = NULL;
									guint _tmp51_ = 0U;
#line 321 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
									_tmp50_ = event;
#line 321 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
									_tmp51_ = _tmp50_->keyval;
#line 321 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
									if (_tmp51_ == ((guint) GDK_KEY_Escape)) {
#line 1932 "app-window.c"
										BoxesTopbar* _tmp52_ = NULL;
#line 322 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
										_tmp52_ = self->topbar;
#line 322 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
										boxes_topbar_click_cancel_button (_tmp52_);
#line 1938 "app-window.c"
									}
								}
							}
						}
					}
				}
			}
		}
	}
#line 325 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	result = FALSE;
#line 325 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	return result;
#line 1952 "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/mclasen/Sources/gnome-boxes/src/app-window.vala"
	return result;
#line 1961 "app-window.c"
}


static gboolean __lambda188_ (BoxesAppWindow* self) {
	gboolean result = FALSE;
#line 336 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	self->priv->configure_id = (guint) 0;
#line 337 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	boxes_app_window_save_window_geometry (self);
#line 339 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	result = FALSE;
#line 339 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	return result;
#line 1975 "app-window.c"
}


static gboolean ___lambda188__gsource_func (gpointer self) {
	gboolean result;
	result = __lambda188_ ((BoxesAppWindow*) self);
#line 335 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	return result;
#line 1984 "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 329 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	g_return_val_if_fail (self != NULL, FALSE);
#line 330 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	_tmp0_ = boxes_app_window_get_fullscreened (self);
#line 330 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	_tmp1_ = _tmp0_;
#line 330 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	if (_tmp1_) {
#line 331 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
		result = FALSE;
#line 331 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
		return result;
#line 2006 "app-window.c"
	}
#line 333 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	_tmp2_ = self->priv->configure_id;
#line 333 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	if (_tmp2_ != ((guint) 0)) {
#line 2012 "app-window.c"
		guint _tmp3_ = 0U;
#line 334 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
		_tmp3_ = self->priv->configure_id;
#line 334 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
		g_source_remove (_tmp3_);
#line 2018 "app-window.c"
	}
#line 335 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	_tmp4_ = g_timeout_add_full (G_PRIORITY_DEFAULT, BOXES_APP_WINDOW_configure_id_timeout, ___lambda188__gsource_func, g_object_ref (self), g_object_unref);
#line 335 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	self->priv->configure_id = _tmp4_;
#line 342 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	result = FALSE;
#line 342 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	return result;
#line 2028 "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/mclasen/Sources/gnome-boxes/src/app-window.vala"
	return result;
#line 2037 "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 346 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	g_return_val_if_fail (self != NULL, FALSE);
#line 346 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	g_return_val_if_fail (event != NULL, FALSE);
#line 347 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	_tmp0_ = event;
#line 347 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	_tmp1_ = _tmp0_->changed_mask;
#line 347 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	if ((_tmp1_ & GDK_WINDOW_STATE_FULLSCREEN) == GDK_WINDOW_STATE_FULLSCREEN) {
#line 348 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
		g_object_notify ((GObject*) self, "fullscreened");
#line 2062 "app-window.c"
	}
#line 350 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	_tmp2_ = boxes_app_window_get_fullscreened (self);
#line 350 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	_tmp3_ = _tmp2_;
#line 350 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	if (_tmp3_) {
#line 351 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
		result = FALSE;
#line 351 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
		return result;
#line 2074 "app-window.c"
	}
#line 353 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	_tmp4_ = self->settings;
#line 353 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	_tmp5_ = boxes_app_window_get_maximized (self);
#line 353 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	_tmp6_ = _tmp5_;
#line 353 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	g_settings_set_boolean (_tmp4_, "window-maximized", _tmp6_);
#line 355 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	result = FALSE;
#line 355 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	return result;
#line 2088 "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/mclasen/Sources/gnome-boxes/src/app-window.vala"
	return result;
#line 2097 "app-window.c"
}


static gboolean boxes_app_window_on_delete_event (BoxesAppWindow* self) {
	gboolean result = FALSE;
	gboolean _tmp0_ = FALSE;
	BoxesCollectionItem* _tmp1_ = NULL;
	BoxesCollectionItem* _tmp2_ = NULL;
	BoxesCollectionItem* _tmp5_ = NULL;
	BoxesCollectionItem* _tmp6_ = NULL;
	BoxesApp* _tmp9_ = NULL;
	gboolean _tmp10_ = FALSE;
#line 359 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	g_return_val_if_fail (self != NULL, FALSE);
#line 360 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	_tmp1_ = boxes_app_window_get_current_item (self);
#line 360 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	_tmp2_ = _tmp1_;
#line 360 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	if (_tmp2_ == NULL) {
#line 360 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
		_tmp0_ = TRUE;
#line 2120 "app-window.c"
	} else {
		BoxesCollectionItem* _tmp3_ = NULL;
		BoxesCollectionItem* _tmp4_ = NULL;
#line 360 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
		_tmp3_ = boxes_app_window_get_current_item (self);
#line 360 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
		_tmp4_ = _tmp3_;
#line 360 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
		_tmp0_ = G_TYPE_CHECK_INSTANCE_TYPE (_tmp4_, BOXES_TYPE_MACHINE);
#line 2130 "app-window.c"
	}
#line 360 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	g_return_if_fail (_tmp0_);
#line 362 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	_tmp5_ = boxes_app_window_get_current_item (self);
#line 362 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	_tmp6_ = _tmp5_;
#line 362 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	if (_tmp6_ != NULL) {
#line 2140 "app-window.c"
		BoxesCollectionItem* _tmp7_ = NULL;
		BoxesCollectionItem* _tmp8_ = NULL;
#line 363 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
		_tmp7_ = boxes_app_window_get_current_item (self);
#line 363 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
		_tmp8_ = _tmp7_;
#line 363 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
		boxes_machine_set_window (G_TYPE_CHECK_INSTANCE_TYPE (_tmp8_, BOXES_TYPE_MACHINE) ? ((BoxesMachine*) _tmp8_) : NULL, NULL);
#line 2149 "app-window.c"
	}
#line 365 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	_tmp9_ = boxes_app_app;
#line 365 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	_tmp10_ = boxes_app_remove_window (_tmp9_, self);
#line 365 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	result = _tmp10_;
#line 365 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	return result;
#line 2159 "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/mclasen/Sources/gnome-boxes/src/app-window.vala"
	return result;
#line 2168 "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/mclasen/Sources/gnome-boxes/src/app-window.vala"
	self = (BoxesAppWindow*) base;
#line 9 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	_tmp0_ = self->priv->_previous_ui_state;
#line 9 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	result = _tmp0_;
#line 9 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	return result;
#line 2184 "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/mclasen/Sources/gnome-boxes/src/app-window.vala"
	self = (BoxesAppWindow*) base;
#line 9 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	_tmp0_ = value;
#line 9 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	self->priv->_previous_ui_state = _tmp0_;
#line 9 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	g_object_notify ((GObject *) self, "previous-ui-state");
#line 2199 "app-window.c"
}


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


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


BoxesCollectionItem* boxes_app_window_get_current_item (BoxesAppWindow* self) {
	BoxesCollectionItem* result;
	BoxesCollectionItem* _tmp0_ = NULL;
#line 15 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 16 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	_tmp0_ = self->priv->_current_item;
#line 16 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	result = _tmp0_;
#line 16 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	return result;
#line 2245 "app-window.c"
}


static void _boxes_app_window_on_machine_state_notify_g_object_notify (GObject* _sender, GParamSpec* pspec, gpointer self) {
#line 30 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	boxes_app_window_on_machine_state_notify ((BoxesAppWindow*) self);
#line 2252 "app-window.c"
}


static void _boxes_app_window_on_machine_deleted_notify_g_object_notify (GObject* _sender, GParamSpec* pspec, gpointer self) {
#line 31 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	boxes_app_window_on_machine_deleted_notify ((BoxesAppWindow*) self);
#line 2259 "app-window.c"
}


void boxes_app_window_set_current_item (BoxesAppWindow* self, BoxesCollectionItem* value) {
	BoxesCollectionItem* _tmp0_ = NULL;
	BoxesCollectionItem* _tmp3_ = NULL;
	BoxesCollectionItem* _tmp4_ = NULL;
	BoxesCollectionItem* _tmp5_ = NULL;
#line 19 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	g_return_if_fail (self != NULL);
#line 20 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	_tmp0_ = self->priv->_current_item;
#line 20 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	if (_tmp0_ != NULL) {
#line 2274 "app-window.c"
		BoxesCollectionItem* _tmp1_ = NULL;
		gulong _tmp2_ = 0UL;
#line 21 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
		_tmp1_ = self->priv->_current_item;
#line 21 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
		_tmp2_ = self->priv->machine_state_notify_id;
#line 21 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
		g_signal_handler_disconnect ((GObject*) _tmp1_, _tmp2_);
#line 22 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
		self->priv->machine_state_notify_id = (gulong) 0;
#line 23 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
		self->priv->machine_deleted_notify_id = (gulong) 0;
#line 2287 "app-window.c"
	}
#line 26 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	_tmp3_ = value;
#line 26 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	_tmp4_ = _g_object_ref0 (_tmp3_);
#line 26 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	_g_object_unref0 (self->priv->_current_item);
#line 26 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	self->priv->_current_item = _tmp4_;
#line 27 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	_tmp5_ = self->priv->_current_item;
#line 27 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	if (_tmp5_ != NULL) {
#line 2301 "app-window.c"
		BoxesMachine* machine = NULL;
		BoxesCollectionItem* _tmp6_ = NULL;
		BoxesMachine* _tmp7_ = NULL;
		BoxesMachine* _tmp8_ = NULL;
		gulong _tmp9_ = 0UL;
		BoxesMachine* _tmp10_ = NULL;
		gulong _tmp11_ = 0UL;
#line 28 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
		_tmp6_ = self->priv->_current_item;
#line 28 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
		_tmp7_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp6_, BOXES_TYPE_MACHINE) ? ((BoxesMachine*) _tmp6_) : NULL);
#line 28 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
		machine = _tmp7_;
#line 30 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
		_tmp8_ = machine;
#line 30 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
		_tmp9_ = g_signal_connect_object ((GObject*) _tmp8_, "notify::state", (GCallback) _boxes_app_window_on_machine_state_notify_g_object_notify, self, 0);
#line 30 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
		self->priv->machine_state_notify_id = _tmp9_;
#line 31 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
		_tmp10_ = machine;
#line 31 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
		_tmp11_ = g_signal_connect_object ((GObject*) _tmp10_, "notify::deleted", (GCallback) _boxes_app_window_on_machine_deleted_notify_g_object_notify, self, 0);
#line 31 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
		self->priv->machine_deleted_notify_id = _tmp11_;
#line 27 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
		_g_object_unref0 (machine);
#line 2329 "app-window.c"
	}
#line 19 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	g_object_notify ((GObject *) self, "current-item");
#line 2333 "app-window.c"
}


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


void boxes_app_window_set_fullscreened (BoxesAppWindow* self, gboolean value) {
	gboolean _tmp0_ = FALSE;
#line 45 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	g_return_if_fail (self != NULL);
#line 46 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	_tmp0_ = value;
#line 46 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	if (_tmp0_) {
#line 47 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
		gtk_window_fullscreen ((GtkWindow*) self);
#line 2365 "app-window.c"
	} else {
#line 49 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
		gtk_window_unfullscreen ((GtkWindow*) self);
#line 2369 "app-window.c"
	}
}


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


gboolean boxes_app_window_get_selection_mode (BoxesAppWindow* self) {
	gboolean result;
	gboolean _tmp0_ = FALSE;
#line 55 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	g_return_val_if_fail (self != NULL, FALSE);
#line 55 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	_tmp0_ = self->priv->_selection_mode;
#line 55 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	result = _tmp0_;
#line 55 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	return result;
#line 2403 "app-window.c"
}


void boxes_app_window_set_selection_mode (BoxesAppWindow* self, gboolean value) {
	BoxesUIState _tmp0_ = 0;
	BoxesUIState _tmp1_ = 0;
	gboolean _tmp2_ = FALSE;
#line 56 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	g_return_if_fail (self != NULL);
#line 57 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	_tmp0_ = boxes_ui_get_ui_state ((BoxesUI*) self);
#line 57 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	_tmp1_ = _tmp0_;
#line 57 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	g_return_if_fail (_tmp1_ == BOXES_UI_STATE_COLLECTION);
#line 59 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	_tmp2_ = value;
#line 59 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	self->priv->_selection_mode = _tmp2_;
#line 56 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	g_object_notify ((GObject *) self, "selection-mode");
#line 2425 "app-window.c"
}


static void boxes_app_window_class_init (BoxesAppWindowClass * klass) {
	gint BoxesAppWindow_private_offset;
#line 6 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	boxes_app_window_parent_class = g_type_class_peek_parent (klass);
#line 6 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	g_type_class_add_private (klass, sizeof (BoxesAppWindowPrivate));
#line 6 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	G_OBJECT_CLASS (klass)->get_property = _vala_boxes_app_window_get_property;
#line 6 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	G_OBJECT_CLASS (klass)->set_property = _vala_boxes_app_window_set_property;
#line 6 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	G_OBJECT_CLASS (klass)->finalize = boxes_app_window_finalize;
#line 6 "/home/mclasen/Sources/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/mclasen/Sources/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/mclasen/Sources/gnome-boxes/src/app-window.vala"
	g_object_class_install_property (G_OBJECT_CLASS (klass), BOXES_APP_WINDOW_CURRENT_ITEM, g_param_spec_object ("current-item", "current-item", "current-item", BOXES_TYPE_COLLECTION_ITEM, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE));
#line 6 "/home/mclasen/Sources/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/mclasen/Sources/gnome-boxes/src/app-window.vala"
	g_object_class_install_property (G_OBJECT_CLASS (klass), BOXES_APP_WINDOW_SELECTION_MODE, g_param_spec_boolean ("selection-mode", "selection-mode", "selection-mode", FALSE, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE));
#line 6 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	BoxesAppWindow_private_offset = g_type_class_get_instance_private_offset (klass);
#line 6 "/home/mclasen/Sources/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/mclasen/Sources/gnome-boxes/src/app-window.vala"
	g_signal_new ("item_selected", BOXES_TYPE_APP_WINDOW, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_marshal_VOID__OBJECT, G_TYPE_NONE, 1, BOXES_TYPE_COLLECTION_ITEM);
#line 6 "/home/mclasen/Sources/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/mclasen/Sources/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/mclasen/Sources/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/mclasen/Sources/gnome-boxes/src/app-window.vala"
	gtk_widget_class_bind_template_child_full (GTK_WIDGET_CLASS (klass), "selectionbar", FALSE, G_STRUCT_OFFSET (BoxesAppWindow, selectionbar));
#line 6 "/home/mclasen/Sources/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/mclasen/Sources/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/mclasen/Sources/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/mclasen/Sources/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/mclasen/Sources/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/mclasen/Sources/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/mclasen/Sources/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/mclasen/Sources/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/mclasen/Sources/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/mclasen/Sources/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/mclasen/Sources/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/mclasen/Sources/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/mclasen/Sources/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 2491 "app-window.c"
}


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


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


static void boxes_app_window_finalize (GObject* obj) {
	BoxesAppWindow * self;
#line 6 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, BOXES_TYPE_APP_WINDOW, BoxesAppWindow);
#line 13 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	_g_object_unref0 (self->priv->_current_item);
#line 37 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	_g_object_unref0 (self->priv->status_bind);
#line 74 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	_g_object_unref0 (self->searchbar);
#line 76 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	_g_object_unref0 (self->topbar);
#line 78 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	_g_object_unref0 (self->notificationbar);
#line 80 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	_g_object_unref0 (self->selectionbar);
#line 82 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	_g_object_unref0 (self->sidebar);
#line 84 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	_g_object_unref0 (self->wizard);
#line 86 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	_g_object_unref0 (self->properties);
#line 88 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	_g_object_unref0 (self->display_page);
#line 90 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	_g_object_unref0 (self->empty_boxes);
#line 92 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	_g_object_unref0 (self->below_bin);
#line 94 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	_g_object_unref0 (self->priv->content_bin);
#line 96 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	_g_object_unref0 (self->priv->below_bin_hbox);
#line 98 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	_g_object_unref0 (self->view);
#line 100 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	_g_object_unref0 (self->settings);
#line 6 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
	G_OBJECT_CLASS (boxes_app_window_parent_class)->finalize (obj);
#line 2577 "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_application_window_get_type (), "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/mclasen/Sources/gnome-boxes/src/app-window.vala"
	switch (property_id) {
#line 6 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
		case BOXES_APP_WINDOW_PREVIOUS_UI_STATE:
#line 6 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
		g_value_set_enum (value, boxes_ui_get_previous_ui_state ((BoxesUI*) self));
#line 6 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
		break;
#line 6 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
		case BOXES_APP_WINDOW_UI_STATE:
#line 6 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
		g_value_set_enum (value, boxes_ui_get_ui_state ((BoxesUI*) self));
#line 6 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
		break;
#line 6 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
		case BOXES_APP_WINDOW_CURRENT_ITEM:
#line 6 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
		g_value_set_object (value, boxes_app_window_get_current_item (self));
#line 6 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
		break;
#line 6 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
		case BOXES_APP_WINDOW_FULLSCREENED:
#line 6 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
		g_value_set_boolean (value, boxes_app_window_get_fullscreened (self));
#line 6 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
		break;
#line 6 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
		case BOXES_APP_WINDOW_SELECTION_MODE:
#line 6 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
		g_value_set_boolean (value, boxes_app_window_get_selection_mode (self));
#line 6 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
		break;
#line 2630 "app-window.c"
		default:
#line 6 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
#line 6 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
		break;
#line 2636 "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/mclasen/Sources/gnome-boxes/src/app-window.vala"
	switch (property_id) {
#line 6 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
		case BOXES_APP_WINDOW_PREVIOUS_UI_STATE:
#line 6 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
		boxes_ui_set_previous_ui_state ((BoxesUI*) self, g_value_get_enum (value));
#line 6 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
		break;
#line 6 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
		case BOXES_APP_WINDOW_UI_STATE:
#line 6 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
		boxes_ui_set_ui_state ((BoxesUI*) self, g_value_get_enum (value));
#line 6 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
		break;
#line 6 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
		case BOXES_APP_WINDOW_CURRENT_ITEM:
#line 6 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
		boxes_app_window_set_current_item (self, g_value_get_object (value));
#line 6 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
		break;
#line 6 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
		case BOXES_APP_WINDOW_FULLSCREENED:
#line 6 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
		boxes_app_window_set_fullscreened (self, g_value_get_boolean (value));
#line 6 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
		break;
#line 6 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
		case BOXES_APP_WINDOW_SELECTION_MODE:
#line 6 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
		boxes_app_window_set_selection_mode (self, g_value_get_boolean (value));
#line 6 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
		break;
#line 2676 "app-window.c"
		default:
#line 6 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
#line 6 "/home/mclasen/Sources/gnome-boxes/src/app-window.vala"
		break;
#line 2682 "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);
}



