/* list-view.c generated by valac 0.39.5, the Vala compiler
 * generated from list-view.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 <libcommon.h>
#include <gio/gio.h>
#include <gdk/gdk.h>
#include <gdk-pixbuf/gdk-pixbuf.h>


#define BOXES_TYPE_ICOLLECTION_VIEW (boxes_icollection_view_get_type ())
#define BOXES_ICOLLECTION_VIEW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), BOXES_TYPE_ICOLLECTION_VIEW, BoxesICollectionView))
#define BOXES_IS_ICOLLECTION_VIEW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), BOXES_TYPE_ICOLLECTION_VIEW))
#define BOXES_ICOLLECTION_VIEW_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), BOXES_TYPE_ICOLLECTION_VIEW, BoxesICollectionViewIface))

typedef struct _BoxesICollectionView BoxesICollectionView;
typedef struct _BoxesICollectionViewIface BoxesICollectionViewIface;

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

typedef struct _BoxesCollectionItem BoxesCollectionItem;
typedef struct _BoxesCollectionItemClass BoxesCollectionItemClass;

#define BOXES_TYPE_SELECTION_CRITERIA (boxes_selection_criteria_get_type ())

#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;

#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_LIST_VIEW (boxes_list_view_get_type ())
#define BOXES_LIST_VIEW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), BOXES_TYPE_LIST_VIEW, BoxesListView))
#define BOXES_LIST_VIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), BOXES_TYPE_LIST_VIEW, BoxesListViewClass))
#define BOXES_IS_LIST_VIEW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), BOXES_TYPE_LIST_VIEW))
#define BOXES_IS_LIST_VIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), BOXES_TYPE_LIST_VIEW))
#define BOXES_LIST_VIEW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), BOXES_TYPE_LIST_VIEW, BoxesListViewClass))

typedef struct _BoxesListView BoxesListView;
typedef struct _BoxesListViewClass BoxesListViewClass;
typedef struct _BoxesListViewPrivate BoxesListViewPrivate;

#define BOXES_LIST_VIEW_TYPE_ITEM_CONNECTIONS (boxes_list_view_item_connections_get_type ())
#define BOXES_LIST_VIEW_ITEM_CONNECTIONS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), BOXES_LIST_VIEW_TYPE_ITEM_CONNECTIONS, BoxesListViewItemConnections))
#define BOXES_LIST_VIEW_ITEM_CONNECTIONS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), BOXES_LIST_VIEW_TYPE_ITEM_CONNECTIONS, BoxesListViewItemConnectionsClass))
#define BOXES_LIST_VIEW_IS_ITEM_CONNECTIONS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), BOXES_LIST_VIEW_TYPE_ITEM_CONNECTIONS))
#define BOXES_LIST_VIEW_IS_ITEM_CONNECTIONS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), BOXES_LIST_VIEW_TYPE_ITEM_CONNECTIONS))
#define BOXES_LIST_VIEW_ITEM_CONNECTIONS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), BOXES_LIST_VIEW_TYPE_ITEM_CONNECTIONS, BoxesListViewItemConnectionsClass))

typedef struct _BoxesListViewItemConnections BoxesListViewItemConnections;
typedef struct _BoxesListViewItemConnectionsClass BoxesListViewItemConnectionsClass;

#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;

#define BOXES_TYPE_ACTIONS_POPOVER (boxes_actions_popover_get_type ())
#define BOXES_ACTIONS_POPOVER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), BOXES_TYPE_ACTIONS_POPOVER, BoxesActionsPopover))
#define BOXES_ACTIONS_POPOVER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), BOXES_TYPE_ACTIONS_POPOVER, BoxesActionsPopoverClass))
#define BOXES_IS_ACTIONS_POPOVER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), BOXES_TYPE_ACTIONS_POPOVER))
#define BOXES_IS_ACTIONS_POPOVER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), BOXES_TYPE_ACTIONS_POPOVER))
#define BOXES_ACTIONS_POPOVER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), BOXES_TYPE_ACTIONS_POPOVER, BoxesActionsPopoverClass))

typedef struct _BoxesActionsPopover BoxesActionsPopover;
typedef struct _BoxesActionsPopoverClass BoxesActionsPopoverClass;
enum  {
	BOXES_LIST_VIEW_0_PROPERTY,
	BOXES_LIST_VIEW_PREVIOUS_UI_STATE_PROPERTY,
	BOXES_LIST_VIEW_UI_STATE_PROPERTY,
	BOXES_LIST_VIEW_FILTER_PROPERTY,
	BOXES_LIST_VIEW_NUM_PROPERTIES
};
static GParamSpec* boxes_list_view_properties[BOXES_LIST_VIEW_NUM_PROPERTIES];
#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL)))
#define _g_hash_table_unref0(var) ((var == NULL) ? NULL : (var = (g_hash_table_unref (var), NULL)))
typedef struct _Block54Data Block54Data;

#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_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 _g_list_free0(var) ((var == NULL) ? NULL : (var = (g_list_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 struct _Block55Data Block55Data;
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;
typedef struct _BoxesCollectionPrivate BoxesCollectionPrivate;

#define BOXES_TYPE_LIST_VIEW_ROW (boxes_list_view_row_get_type ())
#define BOXES_LIST_VIEW_ROW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), BOXES_TYPE_LIST_VIEW_ROW, BoxesListViewRow))
#define BOXES_LIST_VIEW_ROW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), BOXES_TYPE_LIST_VIEW_ROW, BoxesListViewRowClass))
#define BOXES_IS_LIST_VIEW_ROW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), BOXES_TYPE_LIST_VIEW_ROW))
#define BOXES_IS_LIST_VIEW_ROW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), BOXES_TYPE_LIST_VIEW_ROW))
#define BOXES_LIST_VIEW_ROW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), BOXES_TYPE_LIST_VIEW_ROW, BoxesListViewRowClass))

typedef struct _BoxesListViewRow BoxesListViewRow;
typedef struct _BoxesListViewRowClass BoxesListViewRowClass;
typedef struct _Block56Data Block56Data;

#define BOXES_TYPE_LIBVIRT_MACHINE (boxes_libvirt_machine_get_type ())
#define BOXES_LIBVIRT_MACHINE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), BOXES_TYPE_LIBVIRT_MACHINE, BoxesLibvirtMachine))
#define BOXES_LIBVIRT_MACHINE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), BOXES_TYPE_LIBVIRT_MACHINE, BoxesLibvirtMachineClass))
#define BOXES_IS_LIBVIRT_MACHINE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), BOXES_TYPE_LIBVIRT_MACHINE))
#define BOXES_IS_LIBVIRT_MACHINE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), BOXES_TYPE_LIBVIRT_MACHINE))
#define BOXES_LIBVIRT_MACHINE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), BOXES_TYPE_LIBVIRT_MACHINE, BoxesLibvirtMachineClass))

typedef struct _BoxesLibvirtMachine BoxesLibvirtMachine;
typedef struct _BoxesLibvirtMachineClass BoxesLibvirtMachineClass;
typedef struct _Block57Data Block57Data;
typedef struct _BoxesListViewItemConnectionsPrivate BoxesListViewItemConnectionsPrivate;
enum  {
	BOXES_LIST_VIEW_ITEM_CONNECTIONS_0_PROPERTY,
	BOXES_LIST_VIEW_ITEM_CONNECTIONS_VIEW_PROPERTY,
	BOXES_LIST_VIEW_ITEM_CONNECTIONS_MACHINE_PROPERTY,
	BOXES_LIST_VIEW_ITEM_CONNECTIONS_NUM_PROPERTIES
};
static GParamSpec* boxes_list_view_item_connections_properties[BOXES_LIST_VIEW_ITEM_CONNECTIONS_NUM_PROPERTIES];
typedef struct _Block58Data Block58Data;
typedef struct _BoxesCollectionItemPrivate BoxesCollectionItemPrivate;

#define BOXES_TYPE_IPROPERTIES_PROVIDER (boxes_iproperties_provider_get_type ())
#define BOXES_IPROPERTIES_PROVIDER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), BOXES_TYPE_IPROPERTIES_PROVIDER, BoxesIPropertiesProvider))
#define BOXES_IS_IPROPERTIES_PROVIDER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), BOXES_TYPE_IPROPERTIES_PROVIDER))
#define BOXES_IPROPERTIES_PROVIDER_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), BOXES_TYPE_IPROPERTIES_PROVIDER, BoxesIPropertiesProviderIface))

typedef struct _BoxesIPropertiesProvider BoxesIPropertiesProvider;
typedef struct _BoxesIPropertiesProviderIface BoxesIPropertiesProviderIface;

#define BOXES_TYPE_PROPERTIES_PAGE (boxes_properties_page_get_type ())

#define BOXES_TYPE_PROPERTY (boxes_property_get_type ())
#define BOXES_PROPERTY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), BOXES_TYPE_PROPERTY, BoxesProperty))
#define BOXES_PROPERTY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), BOXES_TYPE_PROPERTY, BoxesPropertyClass))
#define BOXES_IS_PROPERTY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), BOXES_TYPE_PROPERTY))
#define BOXES_IS_PROPERTY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), BOXES_TYPE_PROPERTY))
#define BOXES_PROPERTY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), BOXES_TYPE_PROPERTY, BoxesPropertyClass))

typedef struct _BoxesProperty BoxesProperty;
typedef struct _BoxesPropertyClass BoxesPropertyClass;
typedef struct _BoxesMachinePrivate BoxesMachinePrivate;

#define BOXES_MACHINE_TYPE_CONNECT_FLAGS (boxes_machine_connect_flags_get_type ())

typedef enum  {
	BOXES_SELECTION_CRITERIA_ALL,
	BOXES_SELECTION_CRITERIA_NONE,
	BOXES_SELECTION_CRITERIA_RUNNING
} BoxesSelectionCriteria;

struct _BoxesICollectionViewIface {
	GTypeInterface parent_iface;
	GList* (*get_selected_items) (BoxesICollectionView* self);
	void (*activate_first_item) (BoxesICollectionView* self);
	void (*select_by_criteria) (BoxesICollectionView* self, BoxesSelectionCriteria criteria);
	void (*select_all) (BoxesICollectionView* self);
	void (*unselect_all) (BoxesICollectionView* self);
	BoxesCollectionFilter* (*get_filter) (BoxesICollectionView* self);
	void (*set_filter) (BoxesICollectionView* self, BoxesCollectionFilter* value);
};

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,
	BOXES_UI_STATE_TROUBLESHOOT
} 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 _BoxesListView {
	GtkScrolledWindow parent_instance;
	BoxesListViewPrivate * priv;
};

struct _BoxesListViewClass {
	GtkScrolledWindowClass parent_class;
};

struct _BoxesListViewPrivate {
	BoxesUIState _previous_ui_state;
	BoxesUIState _ui_state;
	BoxesCollectionFilter* _filter;
	GtkListBox* list_box;
	GtkSizeGroup* size_group;
	GHashTable* items_connections;
	BoxesAppWindow* window;
	BoxesActionsPopover* context_popover;
};

struct _Block54Data {
	int _ref_count_;
	BoxesListView* self;
	BoxesAppWindow* window;
};

struct _Block55Data {
	int _ref_count_;
	BoxesListView* self;
	GtkListBoxRow* first_row;
};

struct _BoxesApp {
	GtkApplication parent_instance;
	BoxesAppPrivate * priv;
	BoxesCollection* collection;
	BoxesAsyncLauncher* async_launcher;
};

struct _BoxesAppClass {
	GtkApplicationClass parent_class;
};

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

struct _BoxesCollectionClass {
	GObjectClass parent_class;
};

struct _Block56Data {
	int _ref_count_;
	BoxesListView* self;
	BoxesListViewRow* view_row;
};

struct _Block57Data {
	int _ref_count_;
	BoxesListView* self;
	GFunc func;
	gpointer func_target;
};

struct _BoxesListViewItemConnections {
	GObject parent_instance;
	BoxesListViewItemConnectionsPrivate * priv;
};

struct _BoxesListViewItemConnectionsClass {
	GObjectClass parent_class;
};

struct _BoxesListViewItemConnectionsPrivate {
	gulong categories_id;
	gulong name_id;
	gulong info_id;
	BoxesListView* _view;
	BoxesMachine* _machine;
};

struct _Block58Data {
	int _ref_count_;
	BoxesListViewItemConnections* self;
	BoxesListView* view;
};

struct _BoxesCollectionItem {
	GObject parent_instance;
	BoxesCollectionItemPrivate * priv;
};

struct _BoxesCollectionItemClass {
	GObjectClass parent_class;
	gint (*compare) (BoxesCollectionItem* self, BoxesCollectionItem* other);
};

typedef enum  {
	BOXES_PROPERTIES_PAGE_GENERAL,
	BOXES_PROPERTIES_PAGE_SYSTEM,
	BOXES_PROPERTIES_PAGE_DEVICES,
	BOXES_PROPERTIES_PAGE_SNAPSHOTS,
	BOXES_PROPERTIES_PAGE_LAST
} BoxesPropertiesPage;

struct _BoxesIPropertiesProviderIface {
	GTypeInterface parent_iface;
	GList* (*get_properties) (BoxesIPropertiesProvider* self, BoxesPropertiesPage page);
};

typedef enum  {
	BOXES_MACHINE_CONNECT_FLAGS_NONE = 0,
	BOXES_MACHINE_CONNECT_FLAGS_IGNORE_SAVED_STATE = 1 << 0
} BoxesMachineConnectFlags;

struct _BoxesMachine {
	BoxesCollectionItem parent_instance;
	BoxesMachinePrivate * priv;
	BoxesCollectionSource* source;
	BoxesBoxConfig* config;
	gboolean stay_on_display;
};

struct _BoxesMachineClass {
	BoxesCollectionItemClass parent_class;
	void (*save_real) (BoxesMachine* self, GAsyncReadyCallback _callback_, gpointer _user_data_);
	void (*save_real_finish) (BoxesMachine* self, GAsyncResult* _res_, GError** error);
	void (*take_screenshot) (BoxesMachine* self, GAsyncReadyCallback _callback_, gpointer _user_data_);
	GdkPixbuf* (*take_screenshot_finish) (BoxesMachine* self, GAsyncResult* _res_, GError** error);
	GList* (*get_properties) (BoxesMachine* self, BoxesPropertiesPage page);
	void (*connect_display) (BoxesMachine* self, BoxesMachineConnectFlags flags, GAsyncReadyCallback _callback_, gpointer _user_data_);
	void (*connect_display_finish) (BoxesMachine* self, GAsyncResult* _res_, GError** error);
	void (*restart) (BoxesMachine* self);
	void (*clone) (BoxesMachine* self, GAsyncReadyCallback _callback_, gpointer _user_data_);
	void (*clone_finish) (BoxesMachine* self, GAsyncResult* _res_);
	void (*disconnect_display) (BoxesMachine* self);
	void (*update_status) (BoxesMachine* self);
	void (*delete) (BoxesMachine* self, gboolean by_user);
	gboolean (*get_suspend_at_exit) (BoxesMachine* self);
	gboolean (*get_can_save) (BoxesMachine* self);
	gboolean (*get_can_restart) (BoxesMachine* self);
	gboolean (*get_can_clone) (BoxesMachine* self);
	gboolean (*get_should_autosave) (BoxesMachine* self);
	gboolean (*get_is_local) (BoxesMachine* self);
};


static gpointer boxes_list_view_parent_class = NULL;
extern BoxesApp* boxes_app_app;
static gpointer boxes_list_view_item_connections_parent_class = NULL;
static BoxesICollectionViewIface * boxes_list_view_boxes_icollection_view_parent_iface = NULL;
static BoxesUIIface * boxes_list_view_boxes_ui_parent_iface = NULL;

GType boxes_collection_item_get_type (void) G_GNUC_CONST;
GType boxes_selection_criteria_get_type (void) G_GNUC_CONST;
GType boxes_collection_filter_get_type (void) G_GNUC_CONST;
GType boxes_icollection_view_get_type (void) G_GNUC_CONST;
GType boxes_ui_state_get_type (void) G_GNUC_CONST;
GType boxes_ui_get_type (void) G_GNUC_CONST;
GType boxes_list_view_get_type (void) G_GNUC_CONST;
static GType boxes_list_view_item_connections_get_type (void) G_GNUC_CONST G_GNUC_UNUSED;
GType boxes_app_window_get_type (void) G_GNUC_CONST;
GType boxes_actions_popover_get_type (void) G_GNUC_CONST;
#define BOXES_LIST_VIEW_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), BOXES_TYPE_LIST_VIEW, BoxesListViewPrivate))
void boxes_list_view_setup_ui (BoxesListView* self,
                               BoxesAppWindow* window);
static Block54Data* block54_data_ref (Block54Data* _data54_);
static void block54_data_unref (void * _userdata_);
static void __lambda216_ (Block54Data* _data54_);
gboolean boxes_app_window_get_selection_mode (BoxesAppWindow* self);
static void boxes_list_view_update_selection_mode (BoxesListView* self);
static void ___lambda216__g_object_notify (GObject* _sender,
                                    GParamSpec* pspec,
                                    gpointer self);
BoxesActionsPopover* boxes_actions_popover_new (BoxesAppWindow* window);
BoxesActionsPopover* boxes_actions_popover_construct (GType object_type,
                                                      BoxesAppWindow* window);
static void boxes_list_view_add_row (BoxesListView* self,
                              GtkWidget* row);
GType boxes_machine_get_type (void) G_GNUC_CONST;
static BoxesListViewItemConnections* boxes_list_view_item_connections_new (BoxesListView* view,
                                                                    BoxesMachine* machine);
static BoxesListViewItemConnections* boxes_list_view_item_connections_construct (GType object_type,
                                                                          BoxesListView* view,
                                                                          BoxesMachine* machine);
static void boxes_list_view_remove_row (BoxesListView* self,
                                 GtkWidget* row);
static void boxes_list_view_real_select_by_criteria (BoxesICollectionView* base,
                                              BoxesSelectionCriteria criteria);
void boxes_app_window_set_selection_mode (BoxesAppWindow* self,
                                          gboolean value);
static void boxes_list_view_foreach_row (BoxesListView* self,
                                  GFunc func,
                                  void* func_target);
static void ___lambda220_ (BoxesListView* self,
                    GtkListBoxRow* box_row);
static void boxes_list_view_select_row (BoxesListView* self,
                                 GtkListBoxRow* box_row);
static void ____lambda220__gfunc (gconstpointer data,
                           gpointer self);
static void ___lambda221_ (BoxesListView* self,
                    GtkListBoxRow* box_row);
static void boxes_list_view_unselect_row (BoxesListView* self,
                                   GtkListBoxRow* box_row);
static void ____lambda221__gfunc (gconstpointer data,
                           gpointer self);
static void ___lambda222_ (BoxesListView* self,
                    GtkListBoxRow* box_row);
static BoxesCollectionItem* boxes_list_view_get_item_for_row (BoxesListView* self,
                                                       GtkListBoxRow* box_row);
gboolean boxes_machine_get_is_running (BoxesMachine* self);
static void ____lambda222__gfunc (gconstpointer data,
                           gpointer self);
GType boxes_app_get_type (void) G_GNUC_CONST;
static GList* boxes_list_view_real_get_selected_items (BoxesICollectionView* base);
static void _g_object_unref0_ (gpointer var);
static inline void _g_list_free__g_object_unref0_ (GList* self);
static void boxes_list_view_real_activate_first_item (BoxesICollectionView* base);
static Block55Data* block55_data_ref (Block55Data* _data55_);
static void block55_data_unref (void * _userdata_);
static void __lambda223_ (Block55Data* _data55_,
                   GtkListBoxRow* box_row);
static void ___lambda223__gfunc (gconstpointer data,
                          gpointer self);
static void boxes_list_view_setup_list_box (BoxesListView* self);
GType boxes_collection_get_type (void) G_GNUC_CONST;
static GtkWidget* __lambda224_ (BoxesListView* self,
                         GObject* item);
GType boxes_list_view_row_get_type (void) G_GNUC_CONST;
static Block56Data* block56_data_ref (Block56Data* _data56_);
static void block56_data_unref (void * _userdata_);
BoxesListViewRow* boxes_list_view_row_new (BoxesCollectionItem* item);
BoxesListViewRow* boxes_list_view_row_construct (GType object_type,
                                                 BoxesCollectionItem* item);
static void __lambda225_ (Block56Data* _data56_);
static void boxes_list_view_propagate_view_row_selection (BoxesListView* self,
                                                   BoxesListViewRow* view_row);
static void ___lambda225__g_object_notify (GObject* _sender,
                                    GParamSpec* pspec,
                                    gpointer self);
static GtkWidget* ___lambda224__gtk_list_box_create_widget_func (GObject* item,
                                                          gpointer self);
static gboolean boxes_list_view_model_filter (BoxesListView* self,
                                       GtkListBoxRow* box_row);
static gboolean _boxes_list_view_model_filter_gtk_list_box_filter_func (GtkListBoxRow* row,
                                                                 gpointer self);
static void __lambda226_ (BoxesListView* self,
                   GtkListBoxRow* box_row);
GType boxes_libvirt_machine_get_type (void) G_GNUC_CONST;
gboolean boxes_libvirt_machine_get_importing (BoxesLibvirtMachine* self);
void boxes_app_window_select_item (BoxesAppWindow* self,
                                   BoxesCollectionItem* item);
static void ___lambda226__gtk_list_box_row_activated (GtkListBox* _sender,
                                               GtkListBoxRow* row,
                                               gpointer self);
static void _boxes_list_view_add_row_gtk_container_add (GtkContainer* _sender,
                                                 GtkWidget* widget,
                                                 gpointer self);
static void _boxes_list_view_remove_row_gtk_container_remove (GtkContainer* _sender,
                                                       GtkWidget* widget,
                                                       gpointer self);
BoxesCollectionItem* boxes_list_view_row_get_item (BoxesListViewRow* self);
static Block57Data* block57_data_ref (Block57Data* _data57_);
static void block57_data_unref (void * _userdata_);
static void __lambda217_ (Block57Data* _data57_,
                   GtkWidget* child);
static void ___lambda217__gtk_callback (GtkWidget* widget,
                                 gpointer self);
BoxesCollectionFilter* boxes_icollection_view_get_filter (BoxesICollectionView* self);
gboolean boxes_collection_filter_filter (BoxesCollectionFilter* self,
                                         BoxesCollectionItem* item);
static void boxes_list_view_ui_state_changed (BoxesListView* self);
BoxesUIState boxes_ui_get_ui_state (BoxesUI* self);
static gboolean boxes_list_view_on_button_press_event (BoxesListView* self,
                                                GdkEventButton* event);
static gboolean boxes_list_view_on_button_1_press_event (BoxesListView* self,
                                                  GdkEventButton* event);
static gboolean boxes_list_view_on_button_3_press_event (BoxesListView* self,
                                                  GdkEventButton* event);
static gboolean _boxes_list_view_on_button_press_event_gtk_widget_button_release_event (GtkWidget* _sender,
                                                                                 GdkEventButton* event,
                                                                                 gpointer self);
static void boxes_list_view_toggle_row_selected (BoxesListView* self,
                                          GtkListBoxRow* box_row);
static gboolean boxes_list_view_launch_context_popover_for_row (BoxesListView* self,
                                                         GtkListBoxRow* box_row);
static gboolean boxes_list_view_on_key_press_event (BoxesListView* self,
                                             GdkEventKey* event);
static gboolean _boxes_list_view_on_key_press_event_gtk_widget_key_press_event (GtkWidget* _sender,
                                                                         GdkEventKey* event,
                                                                         gpointer self);
void boxes_actions_popover_update_for_item (BoxesActionsPopover* self,
                                            BoxesCollectionItem* item);
static void __lambda218_ (BoxesListView* self,
                   GtkListBoxRow* box_row);
gboolean boxes_list_view_row_get_selection_mode (BoxesListViewRow* self);
void boxes_list_view_row_set_selection_mode (BoxesListViewRow* self,
                                             gboolean value);
static void ___lambda218__gfunc (gconstpointer data,
                          gpointer self);
gboolean boxes_list_view_row_get_selected (BoxesListViewRow* self);
void boxes_list_view_row_set_selected (BoxesListViewRow* self,
                                       gboolean value);
static void boxes_list_view_real_select_all (BoxesICollectionView* base);
static void _boxes_list_view_select_row_gfunc (gconstpointer data,
                                        gpointer self);
static void boxes_list_view_real_unselect_all (BoxesICollectionView* base);
static void _boxes_list_view_unselect_row_gfunc (gconstpointer data,
                                          gpointer self);
BoxesListView* boxes_list_view_new (void);
BoxesListView* boxes_list_view_construct (GType object_type);
static GObject * boxes_list_view_constructor (GType type,
                                       guint n_construct_properties,
                                       GObjectConstructParam * construct_properties);
BoxesCollectionFilter* boxes_collection_filter_new (void);
BoxesCollectionFilter* boxes_collection_filter_construct (GType object_type);
void boxes_icollection_view_set_filter (BoxesICollectionView* self,
                                        BoxesCollectionFilter* value);
static void _boxes_list_view___lambda227_ (BoxesListView* self);
static void __boxes_list_view___lambda227__g_object_notify (GObject* _sender,
                                                     GParamSpec* pspec,
                                                     gpointer self);
static void _boxes_list_view___lambda228_ (BoxesListView* self);
static void __boxes_list_view___lambda228__boxes_collection_filter_filter_func_changed (BoxesCollectionFilter* _sender,
                                                                                 gpointer self);
static void _boxes_list_view_ui_state_changed_g_object_notify (GObject* _sender,
                                                        GParamSpec* pspec,
                                                        gpointer self);
#define BOXES_LIST_VIEW_ITEM_CONNECTIONS_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), BOXES_LIST_VIEW_TYPE_ITEM_CONNECTIONS, BoxesListViewItemConnectionsPrivate))
static Block58Data* block58_data_ref (Block58Data* _data58_);
static void block58_data_unref (void * _userdata_);
static void boxes_list_view_item_connections_set_view (BoxesListViewItemConnections* self,
                                                BoxesListView* value);
static void boxes_list_view_item_connections_set_machine (BoxesListViewItemConnections* self,
                                                   BoxesMachine* value);
GType boxes_properties_page_get_type (void) G_GNUC_CONST;
GType boxes_property_get_type (void) G_GNUC_CONST;
GType boxes_iproperties_provider_get_type (void) G_GNUC_CONST;
GType boxes_machine_connect_flags_get_type (void) G_GNUC_CONST;
static void __lambda213_ (Block58Data* _data58_);
static void ___lambda213__g_object_notify (GObject* _sender,
                                    GParamSpec* pspec,
                                    gpointer self);
static void __lambda214_ (Block58Data* _data58_);
static void ___lambda214__g_object_notify (GObject* _sender,
                                    GParamSpec* pspec,
                                    gpointer self);
static void __lambda215_ (Block58Data* _data58_);
static void ___lambda215__g_object_notify (GObject* _sender,
                                    GParamSpec* pspec,
                                    gpointer self);
static void boxes_list_view_item_connections_real_dispose (GObject* base);
static BoxesMachine* boxes_list_view_item_connections_get_machine (BoxesListViewItemConnections* self);
static BoxesListView* boxes_list_view_item_connections_get_view (BoxesListViewItemConnections* self);
static void boxes_list_view_item_connections_finalize (GObject * obj);
static void _vala_boxes_list_view_item_connections_get_property (GObject * object,
                                                          guint property_id,
                                                          GValue * value,
                                                          GParamSpec * pspec);
static void _vala_boxes_list_view_item_connections_set_property (GObject * object,
                                                          guint property_id,
                                                          const GValue * value,
                                                          GParamSpec * pspec);
static void boxes_list_view_finalize (GObject * obj);
BoxesUIState boxes_ui_get_previous_ui_state (BoxesUI* self);
static void _vala_boxes_list_view_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_list_view_set_property (GObject * object,
                                         guint property_id,
                                         const GValue * value,
                                         GParamSpec * pspec);


static gpointer
_g_object_ref0 (gpointer self)
{
#line 71 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	return self ? g_object_ref (self) : NULL;
#line 619 "list-view.c"
}


static Block54Data*
block54_data_ref (Block54Data* _data54_)
{
#line 71 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	g_atomic_int_inc (&_data54_->_ref_count_);
#line 71 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	return _data54_;
#line 630 "list-view.c"
}


static void
block54_data_unref (void * _userdata_)
{
	Block54Data* _data54_;
	_data54_ = (Block54Data*) _userdata_;
#line 71 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	if (g_atomic_int_dec_and_test (&_data54_->_ref_count_)) {
#line 641 "list-view.c"
		BoxesListView* self;
#line 71 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
		self = _data54_->self;
#line 71 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
		_g_object_unref0 (_data54_->window);
#line 71 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
		_g_object_unref0 (self);
#line 71 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
		g_slice_free (Block54Data, _data54_);
#line 651 "list-view.c"
	}
}


static void
__lambda216_ (Block54Data* _data54_)
{
	BoxesListView* self;
	GtkSelectionMode _tmp0_ = 0;
	gboolean _tmp1_;
	gboolean _tmp2_;
	GtkListBox* _tmp3_;
#line 74 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	self = _data54_->self;
#line 75 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	_tmp1_ = boxes_app_window_get_selection_mode (_data54_->window);
#line 75 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	_tmp2_ = _tmp1_;
#line 75 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	if (_tmp2_) {
#line 75 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
		_tmp0_ = GTK_SELECTION_MULTIPLE;
#line 674 "list-view.c"
	} else {
#line 76 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
		_tmp0_ = GTK_SELECTION_NONE;
#line 678 "list-view.c"
	}
#line 75 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	_tmp3_ = self->priv->list_box;
#line 75 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	gtk_list_box_set_selection_mode (_tmp3_, _tmp0_);
#line 78 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	boxes_list_view_update_selection_mode (self);
#line 686 "list-view.c"
}


static void
___lambda216__g_object_notify (GObject* _sender,
                               GParamSpec* pspec,
                               gpointer self)
{
#line 74 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	__lambda216_ (self);
#line 697 "list-view.c"
}


void
boxes_list_view_setup_ui (BoxesListView* self,
                          BoxesAppWindow* window)
{
	Block54Data* _data54_;
	BoxesAppWindow* _tmp0_;
	BoxesAppWindow* _tmp1_;
	BoxesActionsPopover* _tmp2_;
#line 71 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	g_return_if_fail (self != NULL);
#line 71 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	g_return_if_fail (window != NULL);
#line 71 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	_data54_ = g_slice_new0 (Block54Data);
#line 71 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	_data54_->_ref_count_ = 1;
#line 71 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	_data54_->self = g_object_ref (self);
#line 71 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	_tmp0_ = _g_object_ref0 (window);
#line 71 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	_g_object_unref0 (_data54_->window);
#line 71 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	_data54_->window = _tmp0_;
#line 72 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	_tmp1_ = _g_object_ref0 (_data54_->window);
#line 72 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	_g_object_unref0 (self->priv->window);
#line 72 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	self->priv->window = _tmp1_;
#line 74 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	g_signal_connect_data ((GObject*) _data54_->window, "notify::selection-mode", (GCallback) ___lambda216__g_object_notify, block54_data_ref (_data54_), (GClosureNotify) block54_data_unref, 0);
#line 81 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	_tmp2_ = boxes_actions_popover_new (_data54_->window);
#line 81 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	g_object_ref_sink (_tmp2_);
#line 81 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	_g_object_unref0 (self->priv->context_popover);
#line 81 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	self->priv->context_popover = _tmp2_;
#line 71 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	block54_data_unref (_data54_);
#line 71 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	_data54_ = NULL;
#line 745 "list-view.c"
}


static void
boxes_list_view_add_row (BoxesListView* self,
                         GtkWidget* row)
{
	BoxesCollectionItem* item = NULL;
	BoxesCollectionItem* _tmp0_;
	BoxesMachine* machine = NULL;
	BoxesMachine* _tmp1_;
	GHashTable* _tmp2_;
	BoxesCollectionItem* _tmp3_;
	BoxesListViewItemConnections* _tmp4_;
#line 84 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	g_return_if_fail (self != NULL);
#line 84 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	g_return_if_fail (row != NULL);
#line 85 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	_tmp0_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (row, BOXES_TYPE_COLLECTION_ITEM) ? ((BoxesCollectionItem*) row) : NULL);
#line 85 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	item = _tmp0_;
#line 86 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	_tmp1_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (item, BOXES_TYPE_MACHINE) ? ((BoxesMachine*) item) : NULL);
#line 86 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	machine = _tmp1_;
#line 88 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	_tmp2_ = self->priv->items_connections;
#line 88 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	_tmp3_ = _g_object_ref0 (item);
#line 88 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	_tmp4_ = boxes_list_view_item_connections_new (self, machine);
#line 88 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	g_hash_table_insert (_tmp2_, _tmp3_, _tmp4_);
#line 84 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	_g_object_unref0 (machine);
#line 84 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	_g_object_unref0 (item);
#line 784 "list-view.c"
}


static void
boxes_list_view_remove_row (BoxesListView* self,
                            GtkWidget* row)
{
	BoxesCollectionItem* item = NULL;
	BoxesCollectionItem* _tmp0_;
	GHashTable* _tmp1_;
	GtkSizeGroup* _tmp2_;
#line 91 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	g_return_if_fail (self != NULL);
#line 91 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	g_return_if_fail (row != NULL);
#line 92 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	_tmp0_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (row, BOXES_TYPE_COLLECTION_ITEM) ? ((BoxesCollectionItem*) row) : NULL);
#line 92 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	item = _tmp0_;
#line 93 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	_tmp1_ = self->priv->items_connections;
#line 93 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	g_hash_table_remove (_tmp1_, item);
#line 95 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	_tmp2_ = self->priv->size_group;
#line 95 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	gtk_size_group_remove_widget (_tmp2_, row);
#line 91 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	_g_object_unref0 (item);
#line 814 "list-view.c"
}


static void
___lambda220_ (BoxesListView* self,
               GtkListBoxRow* box_row)
{
#line 104 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	g_return_if_fail (box_row != NULL);
#line 104 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	boxes_list_view_select_row (self, box_row);
#line 826 "list-view.c"
}


static void
____lambda220__gfunc (gconstpointer data,
                      gpointer self)
{
#line 104 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	___lambda220_ ((BoxesListView*) self, (GtkListBoxRow*) data);
#line 836 "list-view.c"
}


static void
___lambda221_ (BoxesListView* self,
               GtkListBoxRow* box_row)
{
#line 108 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	g_return_if_fail (box_row != NULL);
#line 108 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	boxes_list_view_unselect_row (self, box_row);
#line 848 "list-view.c"
}


static void
____lambda221__gfunc (gconstpointer data,
                      gpointer self)
{
#line 108 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	___lambda221_ ((BoxesListView*) self, (GtkListBoxRow*) data);
#line 858 "list-view.c"
}


static void
___lambda222_ (BoxesListView* self,
               GtkListBoxRow* box_row)
{
	BoxesCollectionItem* item = NULL;
	BoxesCollectionItem* _tmp0_;
	gboolean _tmp1_ = FALSE;
	gboolean _tmp2_ = FALSE;
	BoxesCollectionItem* _tmp3_;
#line 112 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	g_return_if_fail (box_row != NULL);
#line 113 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	_tmp0_ = boxes_list_view_get_item_for_row (self, box_row);
#line 113 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	item = _tmp0_;
#line 114 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	_tmp3_ = item;
#line 114 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	if (_tmp3_ != NULL) {
#line 881 "list-view.c"
		BoxesCollectionItem* _tmp4_;
#line 114 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
		_tmp4_ = item;
#line 114 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
		_tmp2_ = G_TYPE_CHECK_INSTANCE_TYPE (_tmp4_, BOXES_TYPE_MACHINE);
#line 887 "list-view.c"
	} else {
#line 114 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
		_tmp2_ = FALSE;
#line 891 "list-view.c"
	}
#line 114 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	if (_tmp2_) {
#line 895 "list-view.c"
		BoxesCollectionItem* _tmp5_;
		gboolean _tmp6_;
		gboolean _tmp7_;
#line 114 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
		_tmp5_ = item;
#line 114 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
		_tmp6_ = boxes_machine_get_is_running (G_TYPE_CHECK_INSTANCE_TYPE (_tmp5_, BOXES_TYPE_MACHINE) ? ((BoxesMachine*) _tmp5_) : NULL);
#line 114 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
		_tmp7_ = _tmp6_;
#line 114 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
		_tmp1_ = _tmp7_;
#line 907 "list-view.c"
	} else {
#line 114 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
		_tmp1_ = FALSE;
#line 911 "list-view.c"
	}
#line 114 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	if (_tmp1_) {
#line 115 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
		boxes_list_view_select_row (self, box_row);
#line 917 "list-view.c"
	} else {
#line 117 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
		boxes_list_view_unselect_row (self, box_row);
#line 921 "list-view.c"
	}
#line 112 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	_g_object_unref0 (item);
#line 925 "list-view.c"
}


static void
____lambda222__gfunc (gconstpointer data,
                      gpointer self)
{
#line 112 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	___lambda222_ ((BoxesListView*) self, (GtkListBoxRow*) data);
#line 935 "list-view.c"
}


static void
boxes_list_view_real_select_by_criteria (BoxesICollectionView* base,
                                         BoxesSelectionCriteria criteria)
{
	BoxesListView * self;
	BoxesAppWindow* _tmp0_;
	BoxesApp* _tmp1_;
#line 98 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	self = (BoxesListView*) base;
#line 99 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	_tmp0_ = self->priv->window;
#line 99 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	boxes_app_window_set_selection_mode (_tmp0_, TRUE);
#line 101 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	switch (criteria) {
#line 954 "list-view.c"
		default:
#line 101 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
		case BOXES_SELECTION_CRITERIA_ALL:
#line 958 "list-view.c"
		{
#line 104 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
			boxes_list_view_foreach_row (self, ____lambda220__gfunc, self);
#line 106 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
			break;
#line 964 "list-view.c"
		}
#line 101 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
		case BOXES_SELECTION_CRITERIA_NONE:
#line 968 "list-view.c"
		{
#line 108 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
			boxes_list_view_foreach_row (self, ____lambda221__gfunc, self);
#line 110 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
			break;
#line 974 "list-view.c"
		}
#line 101 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
		case BOXES_SELECTION_CRITERIA_RUNNING:
#line 978 "list-view.c"
		{
#line 112 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
			boxes_list_view_foreach_row (self, ____lambda222__gfunc, self);
#line 120 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
			break;
#line 984 "list-view.c"
		}
	}
#line 123 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	_tmp1_ = boxes_app_app;
#line 123 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	g_object_notify ((GObject*) _tmp1_, "selected-items");
#line 991 "list-view.c"
}


static void
_g_object_unref0_ (gpointer var)
{
#line 134 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	(var == NULL) ? NULL : (var = (g_object_unref (var), NULL));
#line 1000 "list-view.c"
}


static inline void
_g_list_free__g_object_unref0_ (GList* self)
{
#line 134 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	g_list_free_full (self, (GDestroyNotify) _g_object_unref0_);
#line 1009 "list-view.c"
}


static GList*
boxes_list_view_real_get_selected_items (BoxesICollectionView* base)
{
	BoxesListView * self;
	GList* result = NULL;
	GList* selected = NULL;
	GtkListBox* _tmp0_;
	GList* _tmp1_;
	GList* _tmp6_;
#line 126 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	self = (BoxesListView*) base;
#line 127 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	selected = NULL;
#line 129 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	_tmp0_ = self->priv->list_box;
#line 129 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	_tmp1_ = gtk_list_box_get_selected_rows (_tmp0_);
#line 1030 "list-view.c"
	{
		GList* box_row_collection = NULL;
		GList* box_row_it = NULL;
#line 129 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
		box_row_collection = _tmp1_;
#line 129 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
		for (box_row_it = box_row_collection; box_row_it != NULL; box_row_it = box_row_it->next) {
#line 1038 "list-view.c"
			GtkListBoxRow* box_row = NULL;
#line 129 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
			box_row = (GtkListBoxRow*) box_row_it->data;
#line 1042 "list-view.c"
			{
				BoxesCollectionItem* item = NULL;
				GtkListBoxRow* _tmp2_;
				BoxesCollectionItem* _tmp3_;
				BoxesCollectionItem* _tmp4_;
				BoxesCollectionItem* _tmp5_;
#line 130 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
				_tmp2_ = box_row;
#line 130 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
				_tmp3_ = boxes_list_view_get_item_for_row (self, _tmp2_);
#line 130 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
				item = _tmp3_;
#line 131 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
				_tmp4_ = item;
#line 131 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
				_tmp5_ = _g_object_ref0 (_tmp4_);
#line 131 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
				selected = g_list_append (selected, _tmp5_);
#line 129 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
				_g_object_unref0 (item);
#line 1063 "list-view.c"
			}
		}
#line 129 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
		_g_list_free0 (box_row_collection);
#line 1068 "list-view.c"
	}
#line 134 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	_tmp6_ = selected;
#line 134 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	selected = NULL;
#line 134 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	result = _tmp6_;
#line 134 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	__g_list_free__g_object_unref0_0 (selected);
#line 134 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	return result;
#line 1080 "list-view.c"
}


static Block55Data*
block55_data_ref (Block55Data* _data55_)
{
#line 137 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	g_atomic_int_inc (&_data55_->_ref_count_);
#line 137 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	return _data55_;
#line 1091 "list-view.c"
}


static void
block55_data_unref (void * _userdata_)
{
	Block55Data* _data55_;
	_data55_ = (Block55Data*) _userdata_;
#line 137 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	if (g_atomic_int_dec_and_test (&_data55_->_ref_count_)) {
#line 1102 "list-view.c"
		BoxesListView* self;
#line 137 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
		self = _data55_->self;
#line 137 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
		_g_object_unref0 (_data55_->first_row);
#line 137 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
		_g_object_unref0 (self);
#line 137 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
		g_slice_free (Block55Data, _data55_);
#line 1112 "list-view.c"
	}
}


static void
__lambda223_ (Block55Data* _data55_,
              GtkListBoxRow* box_row)
{
	BoxesListView* self;
	GtkListBoxRow* _tmp0_;
#line 139 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	self = _data55_->self;
#line 139 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	g_return_if_fail (box_row != NULL);
#line 140 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	_tmp0_ = _data55_->first_row;
#line 140 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	if (_tmp0_ == NULL) {
#line 1131 "list-view.c"
		GtkListBoxRow* _tmp1_;
#line 141 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
		_tmp1_ = _g_object_ref0 (box_row);
#line 141 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
		_g_object_unref0 (_data55_->first_row);
#line 141 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
		_data55_->first_row = _tmp1_;
#line 1139 "list-view.c"
	}
}


static void
___lambda223__gfunc (gconstpointer data,
                     gpointer self)
{
#line 139 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	__lambda223_ (self, (GtkListBoxRow*) data);
#line 1150 "list-view.c"
}


static void
boxes_list_view_real_activate_first_item (BoxesICollectionView* base)
{
	BoxesListView * self;
	Block55Data* _data55_;
	GtkListBoxRow* _tmp0_;
#line 137 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	self = (BoxesListView*) base;
#line 137 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	_data55_ = g_slice_new0 (Block55Data);
#line 137 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	_data55_->_ref_count_ = 1;
#line 137 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	_data55_->self = g_object_ref (self);
#line 138 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	_data55_->first_row = NULL;
#line 139 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	boxes_list_view_foreach_row (self, ___lambda223__gfunc, _data55_);
#line 144 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	_tmp0_ = _data55_->first_row;
#line 144 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	if (_tmp0_ == NULL) {
#line 1176 "list-view.c"
		GtkListBox* _tmp1_;
		GtkListBoxRow* _tmp2_;
#line 145 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
		_tmp1_ = self->priv->list_box;
#line 145 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
		_tmp2_ = _data55_->first_row;
#line 145 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
		g_signal_emit_by_name (_tmp1_, "row-activated", _tmp2_);
#line 1185 "list-view.c"
	}
#line 137 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	block55_data_unref (_data55_);
#line 137 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	_data55_ = NULL;
#line 1191 "list-view.c"
}


static Block56Data*
block56_data_ref (Block56Data* _data56_)
{
#line 149 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	g_atomic_int_inc (&_data56_->_ref_count_);
#line 149 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	return _data56_;
#line 1202 "list-view.c"
}


static void
block56_data_unref (void * _userdata_)
{
	Block56Data* _data56_;
	_data56_ = (Block56Data*) _userdata_;
#line 149 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	if (g_atomic_int_dec_and_test (&_data56_->_ref_count_)) {
#line 1213 "list-view.c"
		BoxesListView* self;
#line 149 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
		self = _data56_->self;
#line 149 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
		_g_object_unref0 (_data56_->view_row);
#line 149 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
		_g_object_unref0 (self);
#line 149 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
		g_slice_free (Block56Data, _data56_);
#line 1223 "list-view.c"
	}
}


static void
__lambda225_ (Block56Data* _data56_)
{
	BoxesListView* self;
#line 155 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	self = _data56_->self;
#line 156 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	boxes_list_view_propagate_view_row_selection (self, _data56_->view_row);
#line 1236 "list-view.c"
}


static void
___lambda225__g_object_notify (GObject* _sender,
                               GParamSpec* pspec,
                               gpointer self)
{
#line 155 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	__lambda225_ (self);
#line 1247 "list-view.c"
}


static GtkWidget*
__lambda224_ (BoxesListView* self,
              GObject* item)
{
	GtkWidget* result = NULL;
	Block56Data* _data56_;
	GtkListBoxRow* box_row = NULL;
	GtkListBoxRow* _tmp0_;
	GtkSizeGroup* _tmp1_;
	BoxesListViewRow* _tmp2_;
#line 149 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	g_return_val_if_fail (item != NULL, NULL);
#line 149 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	_data56_ = g_slice_new0 (Block56Data);
#line 149 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	_data56_->_ref_count_ = 1;
#line 149 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	_data56_->self = g_object_ref (self);
#line 150 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	_tmp0_ = (GtkListBoxRow*) gtk_list_box_row_new ();
#line 150 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	g_object_ref_sink (_tmp0_);
#line 150 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	box_row = _tmp0_;
#line 151 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	_tmp1_ = self->priv->size_group;
#line 151 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	gtk_size_group_add_widget (_tmp1_, (GtkWidget*) box_row);
#line 152 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	_tmp2_ = boxes_list_view_row_new (G_TYPE_CHECK_INSTANCE_TYPE (item, BOXES_TYPE_COLLECTION_ITEM) ? ((BoxesCollectionItem*) item) : NULL);
#line 152 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	g_object_ref_sink (_tmp2_);
#line 152 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	_data56_->view_row = _tmp2_;
#line 153 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	gtk_container_add ((GtkContainer*) box_row, (GtkWidget*) _data56_->view_row);
#line 155 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	g_signal_connect_data ((GObject*) _data56_->view_row, "notify::selected", (GCallback) ___lambda225__g_object_notify, block56_data_ref (_data56_), (GClosureNotify) block56_data_unref, 0);
#line 159 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	gtk_widget_set_visible ((GtkWidget*) box_row, TRUE);
#line 160 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	gtk_widget_set_visible ((GtkWidget*) _data56_->view_row, TRUE);
#line 162 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	result = (GtkWidget*) box_row;
#line 162 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	block56_data_unref (_data56_);
#line 162 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	_data56_ = NULL;
#line 162 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	return result;
#line 1301 "list-view.c"
}


static GtkWidget*
___lambda224__gtk_list_box_create_widget_func (GObject* item,
                                               gpointer self)
{
	GtkWidget* result;
	result = __lambda224_ ((BoxesListView*) self, item);
#line 149 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	return result;
#line 1313 "list-view.c"
}


static gboolean
_boxes_list_view_model_filter_gtk_list_box_filter_func (GtkListBoxRow* row,
                                                        gpointer self)
{
	gboolean result;
	result = boxes_list_view_model_filter ((BoxesListView*) self, row);
#line 165 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	return result;
#line 1325 "list-view.c"
}


static void
__lambda226_ (BoxesListView* self,
              GtkListBoxRow* box_row)
{
	BoxesAppWindow* _tmp0_;
	gboolean _tmp1_;
	gboolean _tmp2_;
	BoxesCollectionItem* item = NULL;
	BoxesCollectionItem* _tmp3_;
	gboolean _tmp4_ = FALSE;
	BoxesCollectionItem* _tmp5_;
	BoxesAppWindow* _tmp9_;
	BoxesCollectionItem* _tmp10_;
#line 167 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	g_return_if_fail (box_row != NULL);
#line 168 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	_tmp0_ = self->priv->window;
#line 168 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	_tmp1_ = boxes_app_window_get_selection_mode (_tmp0_);
#line 168 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	_tmp2_ = _tmp1_;
#line 168 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	if (_tmp2_) {
#line 169 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
		return;
#line 1354 "list-view.c"
	}
#line 171 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	_tmp3_ = boxes_list_view_get_item_for_row (self, box_row);
#line 171 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	item = _tmp3_;
#line 172 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	_tmp5_ = item;
#line 172 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	if (G_TYPE_CHECK_INSTANCE_TYPE (_tmp5_, BOXES_TYPE_LIBVIRT_MACHINE)) {
#line 1364 "list-view.c"
		BoxesCollectionItem* _tmp6_;
		gboolean _tmp7_;
		gboolean _tmp8_;
#line 172 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
		_tmp6_ = item;
#line 172 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
		_tmp7_ = boxes_libvirt_machine_get_importing (G_TYPE_CHECK_INSTANCE_TYPE (_tmp6_, BOXES_TYPE_LIBVIRT_MACHINE) ? ((BoxesLibvirtMachine*) _tmp6_) : NULL);
#line 172 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
		_tmp8_ = _tmp7_;
#line 172 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
		_tmp4_ = _tmp8_;
#line 1376 "list-view.c"
	} else {
#line 172 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
		_tmp4_ = FALSE;
#line 1380 "list-view.c"
	}
#line 172 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	if (_tmp4_) {
#line 173 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
		_g_object_unref0 (item);
#line 173 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
		return;
#line 1388 "list-view.c"
	}
#line 175 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	_tmp9_ = self->priv->window;
#line 175 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	_tmp10_ = item;
#line 175 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	boxes_app_window_select_item (_tmp9_, _tmp10_);
#line 167 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	_g_object_unref0 (item);
#line 1398 "list-view.c"
}


static void
___lambda226__gtk_list_box_row_activated (GtkListBox* _sender,
                                          GtkListBoxRow* row,
                                          gpointer self)
{
#line 167 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	__lambda226_ ((BoxesListView*) self, row);
#line 1409 "list-view.c"
}


static void
_boxes_list_view_add_row_gtk_container_add (GtkContainer* _sender,
                                            GtkWidget* widget,
                                            gpointer self)
{
#line 178 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	boxes_list_view_add_row ((BoxesListView*) self, widget);
#line 1420 "list-view.c"
}


static void
_boxes_list_view_remove_row_gtk_container_remove (GtkContainer* _sender,
                                                  GtkWidget* widget,
                                                  gpointer self)
{
#line 179 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	boxes_list_view_remove_row ((BoxesListView*) self, widget);
#line 1431 "list-view.c"
}


static void
boxes_list_view_setup_list_box (BoxesListView* self)
{
	GtkListBox* _tmp0_;
	BoxesApp* _tmp1_;
	BoxesCollection* _tmp2_;
	GListStore* _tmp3_;
	GtkListBox* _tmp4_;
	GtkListBox* _tmp5_;
	GtkListBox* _tmp6_;
	GtkListBox* _tmp7_;
	GtkListBox* _tmp8_;
#line 148 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	g_return_if_fail (self != NULL);
#line 149 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	_tmp0_ = self->priv->list_box;
#line 149 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	_tmp1_ = boxes_app_app;
#line 149 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	_tmp2_ = _tmp1_->collection;
#line 149 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	_tmp3_ = _tmp2_->items;
#line 149 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	gtk_list_box_bind_model (_tmp0_, (GListModel*) _tmp3_, ___lambda224__gtk_list_box_create_widget_func, g_object_ref (self), g_object_unref);
#line 164 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	_tmp4_ = self->priv->list_box;
#line 164 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	gtk_list_box_set_selection_mode (_tmp4_, GTK_SELECTION_NONE);
#line 165 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	_tmp5_ = self->priv->list_box;
#line 165 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	gtk_list_box_set_filter_func (_tmp5_, _boxes_list_view_model_filter_gtk_list_box_filter_func, g_object_ref (self), g_object_unref);
#line 167 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	_tmp6_ = self->priv->list_box;
#line 167 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	g_signal_connect_object (_tmp6_, "row-activated", (GCallback) ___lambda226__gtk_list_box_row_activated, self, 0);
#line 178 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	_tmp7_ = self->priv->list_box;
#line 178 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	g_signal_connect_object (G_TYPE_CHECK_INSTANCE_TYPE (_tmp7_, gtk_container_get_type ()) ? ((GtkContainer*) _tmp7_) : NULL, "add", (GCallback) _boxes_list_view_add_row_gtk_container_add, self, 0);
#line 179 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	_tmp8_ = self->priv->list_box;
#line 179 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	g_signal_connect_object (G_TYPE_CHECK_INSTANCE_TYPE (_tmp8_, gtk_container_get_type ()) ? ((GtkContainer*) _tmp8_) : NULL, "remove", (GCallback) _boxes_list_view_remove_row_gtk_container_remove, self, 0);
#line 181 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	boxes_list_view_update_selection_mode (self);
#line 1481 "list-view.c"
}


static BoxesCollectionItem*
boxes_list_view_get_item_for_row (BoxesListView* self,
                                  GtkListBoxRow* box_row)
{
	BoxesCollectionItem* result = NULL;
	BoxesListViewRow* view = NULL;
	GtkWidget* _tmp0_;
	BoxesListViewRow* _tmp1_;
	BoxesListViewRow* _tmp2_;
	BoxesListViewRow* _tmp3_;
	BoxesCollectionItem* _tmp4_;
	BoxesCollectionItem* _tmp5_;
	BoxesCollectionItem* _tmp6_;
#line 184 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 184 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	g_return_val_if_fail (box_row != NULL, NULL);
#line 185 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	_tmp0_ = gtk_bin_get_child ((GtkBin*) box_row);
#line 185 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	_tmp1_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp0_, BOXES_TYPE_LIST_VIEW_ROW) ? ((BoxesListViewRow*) _tmp0_) : NULL);
#line 185 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	view = _tmp1_;
#line 186 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	_tmp2_ = view;
#line 186 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	if (_tmp2_ == NULL) {
#line 187 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
		result = NULL;
#line 187 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
		_g_object_unref0 (view);
#line 187 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
		return result;
#line 1518 "list-view.c"
	}
#line 189 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	_tmp3_ = view;
#line 189 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	_tmp4_ = boxes_list_view_row_get_item (_tmp3_);
#line 189 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	_tmp5_ = _tmp4_;
#line 189 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	_tmp6_ = _g_object_ref0 (_tmp5_);
#line 189 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	result = _tmp6_;
#line 189 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	_g_object_unref0 (view);
#line 189 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	return result;
#line 1534 "list-view.c"
}


static Block57Data*
block57_data_ref (Block57Data* _data57_)
{
#line 192 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	g_atomic_int_inc (&_data57_->_ref_count_);
#line 192 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	return _data57_;
#line 1545 "list-view.c"
}


static void
block57_data_unref (void * _userdata_)
{
	Block57Data* _data57_;
	_data57_ = (Block57Data*) _userdata_;
#line 192 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	if (g_atomic_int_dec_and_test (&_data57_->_ref_count_)) {
#line 1556 "list-view.c"
		BoxesListView* self;
#line 192 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
		self = _data57_->self;
#line 192 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
		_g_object_unref0 (self);
#line 192 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
		g_slice_free (Block57Data, _data57_);
#line 1564 "list-view.c"
	}
}


static void
__lambda217_ (Block57Data* _data57_,
              GtkWidget* child)
{
	BoxesListView* self;
	GtkListBoxRow* box_row = NULL;
	GtkListBoxRow* _tmp0_;
	GtkListBoxRow* _tmp1_;
	GtkListBoxRow* _tmp2_;
#line 193 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	self = _data57_->self;
#line 193 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	g_return_if_fail (child != NULL);
#line 194 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	_tmp0_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (child, gtk_list_box_row_get_type ()) ? ((GtkListBoxRow*) child) : NULL);
#line 194 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	box_row = _tmp0_;
#line 195 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	_tmp1_ = box_row;
#line 195 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	if (_tmp1_ == NULL) {
#line 196 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
		_g_object_unref0 (box_row);
#line 196 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
		return;
#line 1594 "list-view.c"
	}
#line 198 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	_tmp2_ = box_row;
#line 198 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	_data57_->func (_tmp2_, _data57_->func_target);
#line 193 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	_g_object_unref0 (box_row);
#line 1602 "list-view.c"
}


static void
___lambda217__gtk_callback (GtkWidget* widget,
                            gpointer self)
{
#line 193 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	__lambda217_ (self, widget);
#line 1612 "list-view.c"
}


static void
boxes_list_view_foreach_row (BoxesListView* self,
                             GFunc func,
                             void* func_target)
{
	Block57Data* _data57_;
	GtkListBox* _tmp0_;
#line 192 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	g_return_if_fail (self != NULL);
#line 192 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	_data57_ = g_slice_new0 (Block57Data);
#line 192 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	_data57_->_ref_count_ = 1;
#line 192 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	_data57_->self = g_object_ref (self);
#line 192 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	_data57_->func = func;
#line 192 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	_data57_->func_target = func_target;
#line 193 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	_tmp0_ = self->priv->list_box;
#line 193 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	gtk_container_forall ((GtkContainer*) _tmp0_, ___lambda217__gtk_callback, _data57_);
#line 192 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	block57_data_unref (_data57_);
#line 192 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	_data57_ = NULL;
#line 1643 "list-view.c"
}


static gboolean
boxes_list_view_model_filter (BoxesListView* self,
                              GtkListBoxRow* box_row)
{
	gboolean result = FALSE;
	BoxesListViewRow* view = NULL;
	GtkWidget* _tmp0_;
	BoxesListViewRow* _tmp1_;
	BoxesListViewRow* _tmp2_;
	BoxesCollectionItem* item = NULL;
	BoxesListViewRow* _tmp3_;
	BoxesCollectionItem* _tmp4_;
	BoxesCollectionItem* _tmp5_;
	BoxesCollectionItem* _tmp6_;
	BoxesCollectionItem* _tmp7_;
	BoxesCollectionFilter* _tmp8_;
	BoxesCollectionFilter* _tmp9_;
	BoxesCollectionItem* _tmp10_;
#line 202 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	g_return_val_if_fail (self != NULL, FALSE);
#line 202 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	g_return_val_if_fail (box_row != NULL, FALSE);
#line 203 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	_tmp0_ = gtk_bin_get_child ((GtkBin*) box_row);
#line 203 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	_tmp1_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp0_, BOXES_TYPE_LIST_VIEW_ROW) ? ((BoxesListViewRow*) _tmp0_) : NULL);
#line 203 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	view = _tmp1_;
#line 204 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	_tmp2_ = view;
#line 204 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	if (_tmp2_ == NULL) {
#line 205 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
		result = FALSE;
#line 205 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
		_g_object_unref0 (view);
#line 205 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
		return result;
#line 1685 "list-view.c"
	}
#line 207 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	_tmp3_ = view;
#line 207 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	_tmp4_ = boxes_list_view_row_get_item (_tmp3_);
#line 207 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	_tmp5_ = _tmp4_;
#line 207 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	_tmp6_ = _g_object_ref0 (_tmp5_);
#line 207 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	item = _tmp6_;
#line 208 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	_tmp7_ = item;
#line 208 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	if (_tmp7_ == NULL) {
#line 209 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
		result = FALSE;
#line 209 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
		_g_object_unref0 (item);
#line 209 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
		_g_object_unref0 (view);
#line 209 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
		return result;
#line 1709 "list-view.c"
	}
#line 211 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	_tmp8_ = boxes_icollection_view_get_filter ((BoxesICollectionView*) self);
#line 211 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	_tmp9_ = _tmp8_;
#line 211 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	_tmp10_ = item;
#line 211 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	result = boxes_collection_filter_filter (_tmp9_, G_TYPE_CHECK_INSTANCE_TYPE (_tmp10_, BOXES_TYPE_COLLECTION_ITEM) ? ((BoxesCollectionItem*) _tmp10_) : NULL);
#line 211 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	_g_object_unref0 (item);
#line 211 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	_g_object_unref0 (view);
#line 211 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	return result;
#line 1725 "list-view.c"
}


static void
boxes_list_view_ui_state_changed (BoxesListView* self)
{
	BoxesUIState _tmp0_;
	BoxesUIState _tmp1_;
#line 214 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	g_return_if_fail (self != NULL);
#line 215 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	_tmp0_ = boxes_ui_get_ui_state ((BoxesUI*) self);
#line 215 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	_tmp1_ = _tmp0_;
#line 215 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	if (_tmp1_ == BOXES_UI_STATE_COLLECTION) {
#line 1742 "list-view.c"
		GtkListBox* _tmp2_;
#line 216 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
		_tmp2_ = self->priv->list_box;
#line 216 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
		gtk_list_box_unselect_all (_tmp2_);
#line 1748 "list-view.c"
	}
}


static gboolean
boxes_list_view_on_button_press_event (BoxesListView* self,
                                       GdkEventButton* event)
{
	gboolean result = FALSE;
	GdkEventType _tmp0_;
	guint _tmp1_;
#line 220 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	g_return_val_if_fail (self != NULL, FALSE);
#line 220 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	g_return_val_if_fail (event != NULL, FALSE);
#line 221 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	_tmp0_ = event->type;
#line 221 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	if (_tmp0_ != GDK_BUTTON_RELEASE) {
#line 222 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
		result = FALSE;
#line 222 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
		return result;
#line 1772 "list-view.c"
	}
#line 224 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	_tmp1_ = event->button;
#line 224 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	switch (_tmp1_) {
#line 224 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
		case 1:
#line 1780 "list-view.c"
		{
#line 226 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
			result = boxes_list_view_on_button_1_press_event (self, event);
#line 226 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
			return result;
#line 1786 "list-view.c"
		}
#line 224 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
		case 3:
#line 1790 "list-view.c"
		{
#line 228 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
			result = boxes_list_view_on_button_3_press_event (self, event);
#line 228 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
			return result;
#line 1796 "list-view.c"
		}
		default:
		{
#line 230 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
			result = FALSE;
#line 230 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
			return result;
#line 1804 "list-view.c"
		}
	}
}


static gboolean
_boxes_list_view_on_button_press_event_gtk_widget_button_release_event (GtkWidget* _sender,
                                                                        GdkEventButton* event,
                                                                        gpointer self)
{
	gboolean result;
	result = boxes_list_view_on_button_press_event ((BoxesListView*) self, event);
#line 4 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	return result;
#line 1819 "list-view.c"
}


static gboolean
boxes_list_view_on_button_1_press_event (BoxesListView* self,
                                         GdkEventButton* event)
{
	gboolean result = FALSE;
	BoxesAppWindow* _tmp0_;
	gboolean _tmp1_;
	gboolean _tmp2_;
	GdkWindow* _tmp3_;
	GtkListBox* _tmp4_;
	GdkWindow* _tmp5_;
	GtkListBoxRow* box_row = NULL;
	GtkListBox* _tmp6_;
	gdouble _tmp7_;
	GtkListBoxRow* _tmp8_;
	GtkListBoxRow* _tmp9_;
	GtkListBoxRow* _tmp10_;
	GtkListBoxRow* _tmp11_;
#line 234 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	g_return_val_if_fail (self != NULL, FALSE);
#line 234 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	g_return_val_if_fail (event != NULL, FALSE);
#line 235 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	_tmp0_ = self->priv->window;
#line 235 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	_tmp1_ = boxes_app_window_get_selection_mode (_tmp0_);
#line 235 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	_tmp2_ = _tmp1_;
#line 235 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	if (!_tmp2_) {
#line 236 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
		result = FALSE;
#line 236 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
		return result;
#line 1857 "list-view.c"
	}
#line 239 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	_tmp3_ = event->window;
#line 239 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	_tmp4_ = self->priv->list_box;
#line 239 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	_tmp5_ = gtk_widget_get_window ((GtkWidget*) _tmp4_);
#line 239 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	if (_tmp3_ != _tmp5_) {
#line 240 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
		result = FALSE;
#line 240 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
		return result;
#line 1871 "list-view.c"
	}
#line 242 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	_tmp6_ = self->priv->list_box;
#line 242 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	_tmp7_ = event->y;
#line 242 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	_tmp8_ = gtk_list_box_get_row_at_y (_tmp6_, (gint) _tmp7_);
#line 242 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	_tmp9_ = _g_object_ref0 (_tmp8_);
#line 242 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	box_row = _tmp9_;
#line 243 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	_tmp10_ = box_row;
#line 243 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	if (_tmp10_ == NULL) {
#line 244 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
		result = FALSE;
#line 244 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
		_g_object_unref0 (box_row);
#line 244 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
		return result;
#line 1893 "list-view.c"
	}
#line 246 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	_tmp11_ = box_row;
#line 246 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	boxes_list_view_toggle_row_selected (self, _tmp11_);
#line 248 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	result = TRUE;
#line 248 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	_g_object_unref0 (box_row);
#line 248 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	return result;
#line 1905 "list-view.c"
}


static gboolean
boxes_list_view_on_button_3_press_event (BoxesListView* self,
                                         GdkEventButton* event)
{
	gboolean result = FALSE;
	GtkListBoxRow* box_row = NULL;
	GtkListBox* _tmp0_;
	gdouble _tmp1_;
	GtkListBoxRow* _tmp2_;
	GtkListBoxRow* _tmp3_;
	GtkListBoxRow* _tmp4_;
	GtkListBoxRow* _tmp5_;
#line 251 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	g_return_val_if_fail (self != NULL, FALSE);
#line 251 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	g_return_val_if_fail (event != NULL, FALSE);
#line 252 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	_tmp0_ = self->priv->list_box;
#line 252 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	_tmp1_ = event->y;
#line 252 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	_tmp2_ = gtk_list_box_get_row_at_y (_tmp0_, (gint) _tmp1_);
#line 252 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	_tmp3_ = _g_object_ref0 (_tmp2_);
#line 252 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	box_row = _tmp3_;
#line 253 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	_tmp4_ = box_row;
#line 253 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	if (_tmp4_ == NULL) {
#line 254 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
		result = FALSE;
#line 254 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
		_g_object_unref0 (box_row);
#line 254 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
		return result;
#line 1945 "list-view.c"
	}
#line 256 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	_tmp5_ = box_row;
#line 256 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	result = boxes_list_view_launch_context_popover_for_row (self, _tmp5_);
#line 256 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	_g_object_unref0 (box_row);
#line 256 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	return result;
#line 1955 "list-view.c"
}


static gboolean
boxes_list_view_on_key_press_event (BoxesListView* self,
                                    GdkEventKey* event)
{
	gboolean result = FALSE;
	guint _tmp0_;
	GtkListBoxRow* box_row = NULL;
	GtkListBox* _tmp1_;
	GtkListBoxRow* _tmp2_;
	GtkListBoxRow* _tmp3_;
	GtkListBoxRow* _tmp4_;
	GtkListBoxRow* _tmp5_;
#line 260 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	g_return_val_if_fail (self != NULL, FALSE);
#line 260 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	g_return_val_if_fail (event != NULL, FALSE);
#line 261 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	_tmp0_ = event->keyval;
#line 261 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	if (_tmp0_ != ((guint) GDK_KEY_Menu)) {
#line 262 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
		result = FALSE;
#line 262 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
		return result;
#line 1983 "list-view.c"
	}
#line 264 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	_tmp1_ = self->priv->list_box;
#line 264 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	_tmp2_ = gtk_list_box_get_selected_row (_tmp1_);
#line 264 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	_tmp3_ = _g_object_ref0 (_tmp2_);
#line 264 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	box_row = _tmp3_;
#line 265 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	_tmp4_ = box_row;
#line 265 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	if (_tmp4_ == NULL) {
#line 266 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
		result = FALSE;
#line 266 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
		_g_object_unref0 (box_row);
#line 266 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
		return result;
#line 2003 "list-view.c"
	}
#line 268 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	_tmp5_ = box_row;
#line 268 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	result = boxes_list_view_launch_context_popover_for_row (self, _tmp5_);
#line 268 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	_g_object_unref0 (box_row);
#line 268 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	return result;
#line 2013 "list-view.c"
}


static gboolean
_boxes_list_view_on_key_press_event_gtk_widget_key_press_event (GtkWidget* _sender,
                                                                GdkEventKey* event,
                                                                gpointer self)
{
	gboolean result;
	result = boxes_list_view_on_key_press_event ((BoxesListView*) self, event);
#line 4 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	return result;
#line 2026 "list-view.c"
}


static gboolean
boxes_list_view_launch_context_popover_for_row (BoxesListView* self,
                                                GtkListBoxRow* box_row)
{
	gboolean result = FALSE;
	BoxesCollectionItem* item = NULL;
	BoxesCollectionItem* _tmp0_;
	BoxesCollectionItem* _tmp1_;
	BoxesActionsPopover* _tmp2_;
	BoxesCollectionItem* _tmp3_;
	BoxesActionsPopover* _tmp4_;
	BoxesActionsPopover* _tmp5_;
#line 271 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	g_return_val_if_fail (self != NULL, FALSE);
#line 271 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	g_return_val_if_fail (box_row != NULL, FALSE);
#line 272 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	_tmp0_ = boxes_list_view_get_item_for_row (self, box_row);
#line 272 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	item = _tmp0_;
#line 273 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	_tmp1_ = item;
#line 273 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	if (_tmp1_ == NULL) {
#line 274 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
		result = FALSE;
#line 274 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
		_g_object_unref0 (item);
#line 274 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
		return result;
#line 2060 "list-view.c"
	}
#line 276 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	_tmp2_ = self->priv->context_popover;
#line 276 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	_tmp3_ = item;
#line 276 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	boxes_actions_popover_update_for_item (_tmp2_, _tmp3_);
#line 277 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	_tmp4_ = self->priv->context_popover;
#line 277 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	gtk_popover_set_relative_to ((GtkPopover*) _tmp4_, (GtkWidget*) box_row);
#line 278 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	_tmp5_ = self->priv->context_popover;
#line 278 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	gtk_widget_show ((GtkWidget*) _tmp5_);
#line 280 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	result = TRUE;
#line 280 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	_g_object_unref0 (item);
#line 280 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	return result;
#line 2082 "list-view.c"
}


static void
__lambda218_ (BoxesListView* self,
              GtkListBoxRow* box_row)
{
	BoxesListViewRow* view_row = NULL;
	GtkWidget* _tmp0_;
	BoxesListViewRow* _tmp1_;
	BoxesListViewRow* _tmp2_;
	gboolean _tmp3_;
	gboolean _tmp4_;
	BoxesAppWindow* _tmp5_;
	gboolean _tmp6_;
	gboolean _tmp7_;
#line 284 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	g_return_if_fail (box_row != NULL);
#line 285 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	_tmp0_ = gtk_bin_get_child ((GtkBin*) box_row);
#line 285 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	_tmp1_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp0_, BOXES_TYPE_LIST_VIEW_ROW) ? ((BoxesListViewRow*) _tmp0_) : NULL);
#line 285 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	view_row = _tmp1_;
#line 287 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	_tmp2_ = view_row;
#line 287 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	_tmp3_ = boxes_list_view_row_get_selection_mode (_tmp2_);
#line 287 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	_tmp4_ = _tmp3_;
#line 287 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	_tmp5_ = self->priv->window;
#line 287 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	_tmp6_ = boxes_app_window_get_selection_mode (_tmp5_);
#line 287 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	_tmp7_ = _tmp6_;
#line 287 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	if (_tmp4_ != _tmp7_) {
#line 2121 "list-view.c"
		BoxesListViewRow* _tmp8_;
		BoxesAppWindow* _tmp9_;
		gboolean _tmp10_;
		gboolean _tmp11_;
#line 288 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
		_tmp8_ = view_row;
#line 288 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
		_tmp9_ = self->priv->window;
#line 288 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
		_tmp10_ = boxes_app_window_get_selection_mode (_tmp9_);
#line 288 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
		_tmp11_ = _tmp10_;
#line 288 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
		boxes_list_view_row_set_selection_mode (_tmp8_, _tmp11_);
#line 2136 "list-view.c"
	}
#line 290 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	boxes_list_view_unselect_row (self, box_row);
#line 284 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	_g_object_unref0 (view_row);
#line 2142 "list-view.c"
}


static void
___lambda218__gfunc (gconstpointer data,
                     gpointer self)
{
#line 284 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	__lambda218_ ((BoxesListView*) self, (GtkListBoxRow*) data);
#line 2152 "list-view.c"
}


static void
boxes_list_view_update_selection_mode (BoxesListView* self)
{
#line 283 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	g_return_if_fail (self != NULL);
#line 284 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	boxes_list_view_foreach_row (self, ___lambda218__gfunc, self);
#line 2163 "list-view.c"
}


static void
boxes_list_view_propagate_view_row_selection (BoxesListView* self,
                                              BoxesListViewRow* view_row)
{
	GtkListBoxRow* box_row = NULL;
	GtkContainer* _tmp0_;
	GtkContainer* _tmp1_;
	GtkListBoxRow* _tmp2_;
	gboolean _tmp3_;
	gboolean _tmp4_;
#line 294 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	g_return_if_fail (self != NULL);
#line 294 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	g_return_if_fail (view_row != NULL);
#line 295 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	_tmp0_ = gtk_widget_get_parent ((GtkWidget*) view_row);
#line 295 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	_tmp1_ = _tmp0_;
#line 295 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	_tmp2_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp1_, gtk_list_box_row_get_type ()) ? ((GtkListBoxRow*) _tmp1_) : NULL);
#line 295 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	box_row = _tmp2_;
#line 297 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	_tmp3_ = boxes_list_view_row_get_selected (view_row);
#line 297 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	_tmp4_ = _tmp3_;
#line 297 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	if (_tmp4_) {
#line 2195 "list-view.c"
		GtkListBoxRow* _tmp5_;
#line 298 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
		_tmp5_ = box_row;
#line 298 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
		boxes_list_view_select_row (self, _tmp5_);
#line 2201 "list-view.c"
	} else {
		GtkListBoxRow* _tmp6_;
#line 300 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
		_tmp6_ = box_row;
#line 300 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
		boxes_list_view_unselect_row (self, _tmp6_);
#line 2208 "list-view.c"
	}
#line 294 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	_g_object_unref0 (box_row);
#line 2212 "list-view.c"
}


static void
boxes_list_view_toggle_row_selected (BoxesListView* self,
                                     GtkListBoxRow* box_row)
{
	BoxesListViewRow* view_row = NULL;
	GtkWidget* _tmp0_;
	BoxesListViewRow* _tmp1_;
	BoxesListViewRow* _tmp2_;
	gboolean _tmp3_;
	gboolean _tmp4_;
#line 303 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	g_return_if_fail (self != NULL);
#line 303 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	g_return_if_fail (box_row != NULL);
#line 304 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	_tmp0_ = gtk_bin_get_child ((GtkBin*) box_row);
#line 304 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	_tmp1_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp0_, BOXES_TYPE_LIST_VIEW_ROW) ? ((BoxesListViewRow*) _tmp0_) : NULL);
#line 304 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	view_row = _tmp1_;
#line 306 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	_tmp2_ = view_row;
#line 306 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	_tmp3_ = boxes_list_view_row_get_selected (_tmp2_);
#line 306 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	_tmp4_ = _tmp3_;
#line 306 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	if (_tmp4_) {
#line 307 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
		boxes_list_view_unselect_row (self, box_row);
#line 2246 "list-view.c"
	} else {
#line 309 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
		boxes_list_view_select_row (self, box_row);
#line 2250 "list-view.c"
	}
#line 303 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	_g_object_unref0 (view_row);
#line 2254 "list-view.c"
}


static void
boxes_list_view_select_row (BoxesListView* self,
                            GtkListBoxRow* box_row)
{
	BoxesListViewRow* view_row = NULL;
	GtkWidget* _tmp0_;
	BoxesListViewRow* _tmp1_;
	GtkListBox* _tmp2_;
	BoxesListViewRow* _tmp3_;
	gboolean _tmp4_;
	gboolean _tmp5_;
	BoxesApp* _tmp7_;
#line 312 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	g_return_if_fail (self != NULL);
#line 312 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	g_return_if_fail (box_row != NULL);
#line 313 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	_tmp0_ = gtk_bin_get_child ((GtkBin*) box_row);
#line 313 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	_tmp1_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp0_, BOXES_TYPE_LIST_VIEW_ROW) ? ((BoxesListViewRow*) _tmp0_) : NULL);
#line 313 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	view_row = _tmp1_;
#line 315 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	_tmp2_ = self->priv->list_box;
#line 315 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	gtk_list_box_select_row (_tmp2_, box_row);
#line 316 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	_tmp3_ = view_row;
#line 316 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	_tmp4_ = boxes_list_view_row_get_selected (_tmp3_);
#line 316 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	_tmp5_ = _tmp4_;
#line 316 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	if (!_tmp5_) {
#line 2292 "list-view.c"
		BoxesListViewRow* _tmp6_;
#line 317 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
		_tmp6_ = view_row;
#line 317 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
		boxes_list_view_row_set_selected (_tmp6_, TRUE);
#line 2298 "list-view.c"
	}
#line 319 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	_tmp7_ = boxes_app_app;
#line 319 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	g_object_notify ((GObject*) _tmp7_, "selected-items");
#line 312 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	_g_object_unref0 (view_row);
#line 2306 "list-view.c"
}


static void
boxes_list_view_unselect_row (BoxesListView* self,
                              GtkListBoxRow* box_row)
{
	BoxesListViewRow* view_row = NULL;
	GtkWidget* _tmp0_;
	BoxesListViewRow* _tmp1_;
	GtkListBox* _tmp2_;
	BoxesListViewRow* _tmp3_;
	gboolean _tmp4_;
	gboolean _tmp5_;
	BoxesApp* _tmp7_;
#line 322 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	g_return_if_fail (self != NULL);
#line 322 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	g_return_if_fail (box_row != NULL);
#line 323 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	_tmp0_ = gtk_bin_get_child ((GtkBin*) box_row);
#line 323 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	_tmp1_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp0_, BOXES_TYPE_LIST_VIEW_ROW) ? ((BoxesListViewRow*) _tmp0_) : NULL);
#line 323 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	view_row = _tmp1_;
#line 325 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	_tmp2_ = self->priv->list_box;
#line 325 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	gtk_list_box_unselect_row (_tmp2_, box_row);
#line 326 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	_tmp3_ = view_row;
#line 326 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	_tmp4_ = boxes_list_view_row_get_selected (_tmp3_);
#line 326 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	_tmp5_ = _tmp4_;
#line 326 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	if (_tmp5_) {
#line 2344 "list-view.c"
		BoxesListViewRow* _tmp6_;
#line 327 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
		_tmp6_ = view_row;
#line 327 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
		boxes_list_view_row_set_selected (_tmp6_, FALSE);
#line 2350 "list-view.c"
	}
#line 329 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	_tmp7_ = boxes_app_app;
#line 329 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	g_object_notify ((GObject*) _tmp7_, "selected-items");
#line 322 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	_g_object_unref0 (view_row);
#line 2358 "list-view.c"
}


static void
_boxes_list_view_select_row_gfunc (gconstpointer data,
                                   gpointer self)
{
#line 335 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	boxes_list_view_select_row ((BoxesListView*) self, (GtkListBoxRow*) data);
#line 2368 "list-view.c"
}


static void
boxes_list_view_real_select_all (BoxesICollectionView* base)
{
	BoxesListView * self;
	GtkListBox* _tmp0_;
	BoxesApp* _tmp1_;
#line 332 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	self = (BoxesListView*) base;
#line 333 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	_tmp0_ = self->priv->list_box;
#line 333 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	gtk_list_box_select_all (_tmp0_);
#line 335 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	boxes_list_view_foreach_row (self, _boxes_list_view_select_row_gfunc, self);
#line 337 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	_tmp1_ = boxes_app_app;
#line 337 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	g_object_notify ((GObject*) _tmp1_, "selected-items");
#line 2390 "list-view.c"
}


static void
_boxes_list_view_unselect_row_gfunc (gconstpointer data,
                                     gpointer self)
{
#line 343 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	boxes_list_view_unselect_row ((BoxesListView*) self, (GtkListBoxRow*) data);
#line 2400 "list-view.c"
}


static void
boxes_list_view_real_unselect_all (BoxesICollectionView* base)
{
	BoxesListView * self;
	GtkListBox* _tmp0_;
	BoxesApp* _tmp1_;
#line 340 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	self = (BoxesListView*) base;
#line 341 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	_tmp0_ = self->priv->list_box;
#line 341 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	gtk_list_box_unselect_all (_tmp0_);
#line 343 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	boxes_list_view_foreach_row (self, _boxes_list_view_unselect_row_gfunc, self);
#line 345 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	_tmp1_ = boxes_app_app;
#line 345 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	g_object_notify ((GObject*) _tmp1_, "selected-items");
#line 2422 "list-view.c"
}


BoxesListView*
boxes_list_view_construct (GType object_type)
{
	BoxesListView * self = NULL;
#line 4 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	self = (BoxesListView*) g_object_new (object_type, NULL);
#line 4 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	return self;
#line 2434 "list-view.c"
}


BoxesListView*
boxes_list_view_new (void)
{
#line 4 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	return boxes_list_view_construct (BOXES_TYPE_LIST_VIEW);
#line 2443 "list-view.c"
}


static BoxesUIState
boxes_list_view_real_get_previous_ui_state (BoxesUI* base)
{
	BoxesUIState result;
	BoxesListView* self;
	BoxesUIState _tmp0_;
#line 5 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	self = (BoxesListView*) base;
#line 5 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	_tmp0_ = self->priv->_previous_ui_state;
#line 5 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	result = _tmp0_;
#line 5 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	return result;
#line 2461 "list-view.c"
}


static void
boxes_list_view_real_set_previous_ui_state (BoxesUI* base,
                                            BoxesUIState value)
{
	BoxesListView* self;
#line 5 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	self = (BoxesListView*) base;
#line 5 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	if (boxes_list_view_real_get_previous_ui_state (base) != value) {
#line 5 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
		self->priv->_previous_ui_state = value;
#line 5 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
		g_object_notify_by_pspec ((GObject *) self, boxes_list_view_properties[BOXES_LIST_VIEW_PREVIOUS_UI_STATE_PROPERTY]);
#line 2478 "list-view.c"
	}
}


static BoxesUIState
boxes_list_view_real_get_ui_state (BoxesUI* base)
{
	BoxesUIState result;
	BoxesListView* self;
	BoxesUIState _tmp0_;
#line 6 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	self = (BoxesListView*) base;
#line 6 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	_tmp0_ = self->priv->_ui_state;
#line 6 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	result = _tmp0_;
#line 6 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	return result;
#line 2497 "list-view.c"
}


static void
boxes_list_view_real_set_ui_state (BoxesUI* base,
                                   BoxesUIState value)
{
	BoxesListView* self;
#line 6 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	self = (BoxesListView*) base;
#line 6 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	if (boxes_list_view_real_get_ui_state (base) != value) {
#line 6 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
		self->priv->_ui_state = value;
#line 6 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
		g_object_notify_by_pspec ((GObject *) self, boxes_list_view_properties[BOXES_LIST_VIEW_UI_STATE_PROPERTY]);
#line 2514 "list-view.c"
	}
}


static BoxesCollectionFilter*
boxes_list_view_real_get_filter (BoxesICollectionView* base)
{
	BoxesCollectionFilter* result;
	BoxesListView* self;
	BoxesCollectionFilter* _tmp0_;
#line 8 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	self = (BoxesListView*) base;
#line 8 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	_tmp0_ = self->priv->_filter;
#line 8 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	result = _tmp0_;
#line 8 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	return result;
#line 2533 "list-view.c"
}


static void
boxes_list_view_real_set_filter (BoxesICollectionView* base,
                                 BoxesCollectionFilter* value)
{
	BoxesListView* self;
#line 8 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	self = (BoxesListView*) base;
#line 8 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	if (boxes_list_view_real_get_filter (base) != value) {
#line 2546 "list-view.c"
		BoxesCollectionFilter* _tmp0_;
#line 8 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
		_tmp0_ = _g_object_ref0 (value);
#line 8 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
		_g_object_unref0 (self->priv->_filter);
#line 8 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
		self->priv->_filter = _tmp0_;
#line 8 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
		g_object_notify_by_pspec ((GObject *) self, boxes_list_view_properties[BOXES_LIST_VIEW_FILTER_PROPERTY]);
#line 2556 "list-view.c"
	}
}


static void
_boxes_list_view___lambda227_ (BoxesListView* self)
{
	GtkListBox* _tmp0_;
#line 62 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	_tmp0_ = self->priv->list_box;
#line 62 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	gtk_list_box_invalidate_filter (_tmp0_);
#line 2569 "list-view.c"
}


static void
__boxes_list_view___lambda227__g_object_notify (GObject* _sender,
                                                GParamSpec* pspec,
                                                gpointer self)
{
#line 61 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	_boxes_list_view___lambda227_ ((BoxesListView*) self);
#line 2580 "list-view.c"
}


static void
_boxes_list_view___lambda228_ (BoxesListView* self)
{
	GtkListBox* _tmp0_;
#line 65 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	_tmp0_ = self->priv->list_box;
#line 65 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	gtk_list_box_invalidate_filter (_tmp0_);
#line 2592 "list-view.c"
}


static void
__boxes_list_view___lambda228__boxes_collection_filter_filter_func_changed (BoxesCollectionFilter* _sender,
                                                                            gpointer self)
{
#line 64 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	_boxes_list_view___lambda228_ ((BoxesListView*) self);
#line 2602 "list-view.c"
}


static void
_boxes_list_view_ui_state_changed_g_object_notify (GObject* _sender,
                                                   GParamSpec* pspec,
                                                   gpointer self)
{
#line 68 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	boxes_list_view_ui_state_changed ((BoxesListView*) self);
#line 2613 "list-view.c"
}


static GObject *
boxes_list_view_constructor (GType type,
                             guint n_construct_properties,
                             GObjectConstructParam * construct_properties)
{
	GObject * obj;
	GObjectClass * parent_class;
	BoxesListView * self;
	GHashFunc _tmp0_;
	GEqualFunc _tmp1_;
	GHashTable* _tmp2_;
	GtkSizeGroup* _tmp3_;
	BoxesCollectionFilter* _tmp4_;
	BoxesCollectionFilter* _tmp5_;
	BoxesCollectionFilter* _tmp6_;
	BoxesCollectionFilter* _tmp7_;
	BoxesCollectionFilter* _tmp8_;
	BoxesCollectionFilter* _tmp9_;
#line 54 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	parent_class = G_OBJECT_CLASS (boxes_list_view_parent_class);
#line 54 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	obj = parent_class->constructor (type, n_construct_properties, construct_properties);
#line 54 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, BOXES_TYPE_LIST_VIEW, BoxesListView);
#line 55 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	_tmp0_ = g_direct_hash;
#line 55 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	_tmp1_ = g_direct_equal;
#line 55 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	_tmp2_ = g_hash_table_new_full (_tmp0_, _tmp1_, _g_object_unref0_, _g_object_unref0_);
#line 55 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	_g_hash_table_unref0 (self->priv->items_connections);
#line 55 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	self->priv->items_connections = _tmp2_;
#line 57 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	boxes_list_view_setup_list_box (self);
#line 59 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	_tmp3_ = gtk_size_group_new (GTK_SIZE_GROUP_VERTICAL);
#line 59 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	_g_object_unref0 (self->priv->size_group);
#line 59 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	self->priv->size_group = _tmp3_;
#line 60 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	_tmp4_ = boxes_collection_filter_new ();
#line 60 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	_tmp5_ = _tmp4_;
#line 60 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	boxes_icollection_view_set_filter ((BoxesICollectionView*) self, _tmp5_);
#line 60 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	_g_object_unref0 (_tmp5_);
#line 61 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	_tmp6_ = boxes_icollection_view_get_filter ((BoxesICollectionView*) self);
#line 61 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	_tmp7_ = _tmp6_;
#line 61 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	g_signal_connect_object ((GObject*) _tmp7_, "notify::text", (GCallback) __boxes_list_view___lambda227__g_object_notify, self, 0);
#line 64 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	_tmp8_ = boxes_icollection_view_get_filter ((BoxesICollectionView*) self);
#line 64 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	_tmp9_ = _tmp8_;
#line 64 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	g_signal_connect_object (_tmp9_, "filter-func-changed", (GCallback) __boxes_list_view___lambda228__boxes_collection_filter_filter_func_changed, self, 0);
#line 68 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	g_signal_connect_object ((GObject*) self, "notify::ui-state", (GCallback) _boxes_list_view_ui_state_changed_g_object_notify, self, 0);
#line 54 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	return obj;
#line 2683 "list-view.c"
}


static Block58Data*
block58_data_ref (Block58Data* _data58_)
{
#line 28 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	g_atomic_int_inc (&_data58_->_ref_count_);
#line 28 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	return _data58_;
#line 2694 "list-view.c"
}


static void
block58_data_unref (void * _userdata_)
{
	Block58Data* _data58_;
	_data58_ = (Block58Data*) _userdata_;
#line 28 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	if (g_atomic_int_dec_and_test (&_data58_->_ref_count_)) {
#line 2705 "list-view.c"
		BoxesListViewItemConnections* self;
#line 28 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
		self = _data58_->self;
#line 28 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
		_g_object_unref0 (_data58_->view);
#line 28 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
		_g_object_unref0 (self);
#line 28 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
		g_slice_free (Block58Data, _data58_);
#line 2715 "list-view.c"
	}
}


static void
__lambda213_ (Block58Data* _data58_)
{
	BoxesListViewItemConnections* self;
	GtkListBox* _tmp0_;
	GtkListBox* _tmp1_;
#line 32 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	self = _data58_->self;
#line 33 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	_tmp0_ = _data58_->view->priv->list_box;
#line 33 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	gtk_list_box_invalidate_sort (_tmp0_);
#line 34 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	_tmp1_ = _data58_->view->priv->list_box;
#line 34 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	gtk_list_box_invalidate_filter (_tmp1_);
#line 2736 "list-view.c"
}


static void
___lambda213__g_object_notify (GObject* _sender,
                               GParamSpec* pspec,
                               gpointer self)
{
#line 32 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	__lambda213_ (self);
#line 2747 "list-view.c"
}


static void
__lambda214_ (Block58Data* _data58_)
{
	BoxesListViewItemConnections* self;
	GtkListBox* _tmp0_;
	GtkListBox* _tmp1_;
#line 36 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	self = _data58_->self;
#line 37 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	_tmp0_ = _data58_->view->priv->list_box;
#line 37 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	gtk_list_box_invalidate_sort (_tmp0_);
#line 38 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	_tmp1_ = _data58_->view->priv->list_box;
#line 38 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	gtk_list_box_invalidate_filter (_tmp1_);
#line 2767 "list-view.c"
}


static void
___lambda214__g_object_notify (GObject* _sender,
                               GParamSpec* pspec,
                               gpointer self)
{
#line 36 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	__lambda214_ (self);
#line 2778 "list-view.c"
}


static void
__lambda215_ (Block58Data* _data58_)
{
	BoxesListViewItemConnections* self;
	GtkListBox* _tmp0_;
	GtkListBox* _tmp1_;
#line 40 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	self = _data58_->self;
#line 41 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	_tmp0_ = _data58_->view->priv->list_box;
#line 41 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	gtk_list_box_invalidate_sort (_tmp0_);
#line 42 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	_tmp1_ = _data58_->view->priv->list_box;
#line 42 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	gtk_list_box_invalidate_filter (_tmp1_);
#line 2798 "list-view.c"
}


static void
___lambda215__g_object_notify (GObject* _sender,
                               GParamSpec* pspec,
                               gpointer self)
{
#line 40 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	__lambda215_ (self);
#line 2809 "list-view.c"
}


static BoxesListViewItemConnections*
boxes_list_view_item_connections_construct (GType object_type,
                                            BoxesListView* view,
                                            BoxesMachine* machine)
{
	BoxesListViewItemConnections * self = NULL;
	Block58Data* _data58_;
	BoxesListView* _tmp0_;
	BoxesBoxConfig* _tmp1_;
	gulong _tmp2_;
	gulong _tmp3_;
	gulong _tmp4_;
#line 28 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	g_return_val_if_fail (view != NULL, NULL);
#line 28 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	g_return_val_if_fail (machine != NULL, NULL);
#line 28 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	_data58_ = g_slice_new0 (Block58Data);
#line 28 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	_data58_->_ref_count_ = 1;
#line 28 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	_tmp0_ = _g_object_ref0 (view);
#line 28 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	_g_object_unref0 (_data58_->view);
#line 28 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	_data58_->view = _tmp0_;
#line 28 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	self = (BoxesListViewItemConnections*) g_object_new (object_type, NULL);
#line 28 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	_data58_->self = g_object_ref (self);
#line 29 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	boxes_list_view_item_connections_set_view (self, _data58_->view);
#line 30 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	boxes_list_view_item_connections_set_machine (self, machine);
#line 32 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	_tmp1_ = machine->config;
#line 32 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	_tmp2_ = g_signal_connect_data ((GObject*) _tmp1_, "notify::categories", (GCallback) ___lambda213__g_object_notify, block58_data_ref (_data58_), (GClosureNotify) block58_data_unref, 0);
#line 32 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	self->priv->categories_id = _tmp2_;
#line 36 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	_tmp3_ = g_signal_connect_data ((GObject*) machine, "notify::name", (GCallback) ___lambda214__g_object_notify, block58_data_ref (_data58_), (GClosureNotify) block58_data_unref, 0);
#line 36 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	self->priv->name_id = _tmp3_;
#line 40 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	_tmp4_ = g_signal_connect_data ((GObject*) machine, "notify::info", (GCallback) ___lambda215__g_object_notify, block58_data_ref (_data58_), (GClosureNotify) block58_data_unref, 0);
#line 40 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	self->priv->info_id = _tmp4_;
#line 28 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	block58_data_unref (_data58_);
#line 28 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	_data58_ = NULL;
#line 28 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	return self;
#line 2867 "list-view.c"
}


static BoxesListViewItemConnections*
boxes_list_view_item_connections_new (BoxesListView* view,
                                      BoxesMachine* machine)
{
#line 28 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	return boxes_list_view_item_connections_construct (BOXES_LIST_VIEW_TYPE_ITEM_CONNECTIONS, view, machine);
#line 2877 "list-view.c"
}


static void
boxes_list_view_item_connections_real_dispose (GObject* base)
{
	BoxesListViewItemConnections * self;
	BoxesMachine* _tmp0_;
	BoxesBoxConfig* _tmp1_;
	gulong _tmp2_;
	BoxesMachine* _tmp3_;
	gulong _tmp4_;
	BoxesMachine* _tmp5_;
	gulong _tmp6_;
#line 46 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	self = (BoxesListViewItemConnections*) base;
#line 47 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	_tmp0_ = self->priv->_machine;
#line 47 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	_tmp1_ = _tmp0_->config;
#line 47 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	_tmp2_ = self->priv->categories_id;
#line 47 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	g_signal_handler_disconnect ((GObject*) _tmp1_, _tmp2_);
#line 48 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	_tmp3_ = self->priv->_machine;
#line 48 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	_tmp4_ = self->priv->name_id;
#line 48 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	g_signal_handler_disconnect ((GObject*) _tmp3_, _tmp4_);
#line 49 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	_tmp5_ = self->priv->_machine;
#line 49 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	_tmp6_ = self->priv->info_id;
#line 49 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	g_signal_handler_disconnect ((GObject*) _tmp5_, _tmp6_);
#line 50 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	G_OBJECT_CLASS (boxes_list_view_item_connections_parent_class)->dispose (G_TYPE_CHECK_INSTANCE_CAST (self, G_TYPE_OBJECT, GObject));
#line 2916 "list-view.c"
}


static BoxesListView*
boxes_list_view_item_connections_get_view (BoxesListViewItemConnections* self)
{
	BoxesListView* result;
	BoxesListView* _tmp0_;
#line 25 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 25 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	_tmp0_ = self->priv->_view;
#line 25 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	result = _tmp0_;
#line 25 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	return result;
#line 2933 "list-view.c"
}


static void
boxes_list_view_item_connections_set_view (BoxesListViewItemConnections* self,
                                           BoxesListView* value)
{
#line 25 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	g_return_if_fail (self != NULL);
#line 25 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	if (boxes_list_view_item_connections_get_view (self) != value) {
#line 25 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
		self->priv->_view = value;
#line 25 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
		g_object_notify_by_pspec ((GObject *) self, boxes_list_view_item_connections_properties[BOXES_LIST_VIEW_ITEM_CONNECTIONS_VIEW_PROPERTY]);
#line 2949 "list-view.c"
	}
}


static BoxesMachine*
boxes_list_view_item_connections_get_machine (BoxesListViewItemConnections* self)
{
	BoxesMachine* result;
	BoxesMachine* _tmp0_;
#line 26 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 26 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	_tmp0_ = self->priv->_machine;
#line 26 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	result = _tmp0_;
#line 26 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	return result;
#line 2967 "list-view.c"
}


static void
boxes_list_view_item_connections_set_machine (BoxesListViewItemConnections* self,
                                              BoxesMachine* value)
{
#line 26 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	g_return_if_fail (self != NULL);
#line 26 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	if (boxes_list_view_item_connections_get_machine (self) != value) {
#line 2979 "list-view.c"
		BoxesMachine* _tmp0_;
#line 26 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
		_tmp0_ = _g_object_ref0 (value);
#line 26 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
		_g_object_unref0 (self->priv->_machine);
#line 26 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
		self->priv->_machine = _tmp0_;
#line 26 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
		g_object_notify_by_pspec ((GObject *) self, boxes_list_view_item_connections_properties[BOXES_LIST_VIEW_ITEM_CONNECTIONS_MACHINE_PROPERTY]);
#line 2989 "list-view.c"
	}
}


static void
boxes_list_view_item_connections_class_init (BoxesListViewItemConnectionsClass * klass)
{
#line 20 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	boxes_list_view_item_connections_parent_class = g_type_class_peek_parent (klass);
#line 20 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	g_type_class_add_private (klass, sizeof (BoxesListViewItemConnectionsPrivate));
#line 20 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	((GObjectClass *) klass)->dispose = (void (*) (GObject *)) boxes_list_view_item_connections_real_dispose;
#line 20 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	G_OBJECT_CLASS (klass)->get_property = _vala_boxes_list_view_item_connections_get_property;
#line 20 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	G_OBJECT_CLASS (klass)->set_property = _vala_boxes_list_view_item_connections_set_property;
#line 20 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	G_OBJECT_CLASS (klass)->finalize = boxes_list_view_item_connections_finalize;
#line 20 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	g_object_class_install_property (G_OBJECT_CLASS (klass), BOXES_LIST_VIEW_ITEM_CONNECTIONS_VIEW_PROPERTY, boxes_list_view_item_connections_properties[BOXES_LIST_VIEW_ITEM_CONNECTIONS_VIEW_PROPERTY] = g_param_spec_object ("view", "view", "view", BOXES_TYPE_LIST_VIEW, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE));
#line 20 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	g_object_class_install_property (G_OBJECT_CLASS (klass), BOXES_LIST_VIEW_ITEM_CONNECTIONS_MACHINE_PROPERTY, boxes_list_view_item_connections_properties[BOXES_LIST_VIEW_ITEM_CONNECTIONS_MACHINE_PROPERTY] = g_param_spec_object ("machine", "machine", "machine", BOXES_TYPE_MACHINE, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE));
#line 3013 "list-view.c"
}


static void
boxes_list_view_item_connections_instance_init (BoxesListViewItemConnections * self)
{
#line 20 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	self->priv = BOXES_LIST_VIEW_ITEM_CONNECTIONS_GET_PRIVATE (self);
#line 3022 "list-view.c"
}


static void
boxes_list_view_item_connections_finalize (GObject * obj)
{
	BoxesListViewItemConnections * self;
#line 20 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, BOXES_LIST_VIEW_TYPE_ITEM_CONNECTIONS, BoxesListViewItemConnections);
#line 26 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	_g_object_unref0 (self->priv->_machine);
#line 20 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	G_OBJECT_CLASS (boxes_list_view_item_connections_parent_class)->finalize (obj);
#line 3036 "list-view.c"
}


static GType
boxes_list_view_item_connections_get_type (void)
{
	static volatile gsize boxes_list_view_item_connections_type_id__volatile = 0;
	if (g_once_init_enter (&boxes_list_view_item_connections_type_id__volatile)) {
		static const GTypeInfo g_define_type_info = { sizeof (BoxesListViewItemConnectionsClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) boxes_list_view_item_connections_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (BoxesListViewItemConnections), 0, (GInstanceInitFunc) boxes_list_view_item_connections_instance_init, NULL };
		GType boxes_list_view_item_connections_type_id;
		boxes_list_view_item_connections_type_id = g_type_register_static (G_TYPE_OBJECT, "BoxesListViewItemConnections", &g_define_type_info, 0);
		g_once_init_leave (&boxes_list_view_item_connections_type_id__volatile, boxes_list_view_item_connections_type_id);
	}
	return boxes_list_view_item_connections_type_id__volatile;
}


static void
_vala_boxes_list_view_item_connections_get_property (GObject * object,
                                                     guint property_id,
                                                     GValue * value,
                                                     GParamSpec * pspec)
{
	BoxesListViewItemConnections * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, BOXES_LIST_VIEW_TYPE_ITEM_CONNECTIONS, BoxesListViewItemConnections);
#line 20 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	switch (property_id) {
#line 20 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
		case BOXES_LIST_VIEW_ITEM_CONNECTIONS_VIEW_PROPERTY:
#line 20 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
		g_value_set_object (value, boxes_list_view_item_connections_get_view (self));
#line 20 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
		break;
#line 20 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
		case BOXES_LIST_VIEW_ITEM_CONNECTIONS_MACHINE_PROPERTY:
#line 20 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
		g_value_set_object (value, boxes_list_view_item_connections_get_machine (self));
#line 20 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
		break;
#line 3076 "list-view.c"
		default:
#line 20 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
#line 20 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
		break;
#line 3082 "list-view.c"
	}
}


static void
_vala_boxes_list_view_item_connections_set_property (GObject * object,
                                                     guint property_id,
                                                     const GValue * value,
                                                     GParamSpec * pspec)
{
	BoxesListViewItemConnections * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, BOXES_LIST_VIEW_TYPE_ITEM_CONNECTIONS, BoxesListViewItemConnections);
#line 20 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	switch (property_id) {
#line 20 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
		case BOXES_LIST_VIEW_ITEM_CONNECTIONS_VIEW_PROPERTY:
#line 20 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
		boxes_list_view_item_connections_set_view (self, g_value_get_object (value));
#line 20 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
		break;
#line 20 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
		case BOXES_LIST_VIEW_ITEM_CONNECTIONS_MACHINE_PROPERTY:
#line 20 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
		boxes_list_view_item_connections_set_machine (self, g_value_get_object (value));
#line 20 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
		break;
#line 3109 "list-view.c"
		default:
#line 20 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
#line 20 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
		break;
#line 3115 "list-view.c"
	}
}


static void
boxes_list_view_class_init (BoxesListViewClass * klass)
{
	gint BoxesListView_private_offset;
#line 4 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	boxes_list_view_parent_class = g_type_class_peek_parent (klass);
#line 4 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	g_type_class_add_private (klass, sizeof (BoxesListViewPrivate));
#line 4 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	G_OBJECT_CLASS (klass)->get_property = _vala_boxes_list_view_get_property;
#line 4 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	G_OBJECT_CLASS (klass)->set_property = _vala_boxes_list_view_set_property;
#line 4 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	G_OBJECT_CLASS (klass)->constructor = boxes_list_view_constructor;
#line 4 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	G_OBJECT_CLASS (klass)->finalize = boxes_list_view_finalize;
#line 4 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	g_object_class_install_property (G_OBJECT_CLASS (klass), BOXES_LIST_VIEW_PREVIOUS_UI_STATE_PROPERTY, boxes_list_view_properties[BOXES_LIST_VIEW_PREVIOUS_UI_STATE_PROPERTY] = 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 4 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	g_object_class_install_property (G_OBJECT_CLASS (klass), BOXES_LIST_VIEW_UI_STATE_PROPERTY, boxes_list_view_properties[BOXES_LIST_VIEW_UI_STATE_PROPERTY] = 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 4 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	g_object_class_install_property (G_OBJECT_CLASS (klass), BOXES_LIST_VIEW_FILTER_PROPERTY, boxes_list_view_properties[BOXES_LIST_VIEW_FILTER_PROPERTY] = g_param_spec_object ("filter", "filter", "filter", BOXES_TYPE_COLLECTION_FILTER, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE));
#line 4 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	BoxesListView_private_offset = g_type_class_get_instance_private_offset (klass);
#line 4 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	gtk_widget_class_set_template_from_resource (GTK_WIDGET_CLASS (klass), "/org/gnome/Boxes/ui/list-view.ui");
#line 4 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	gtk_widget_class_bind_template_child_full (GTK_WIDGET_CLASS (klass), "list_box", FALSE, BoxesListView_private_offset + G_STRUCT_OFFSET (BoxesListViewPrivate, list_box));
#line 4 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	gtk_widget_class_bind_template_callback_full (GTK_WIDGET_CLASS (klass), "on_button_press_event", G_CALLBACK(_boxes_list_view_on_button_press_event_gtk_widget_button_release_event));
#line 4 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	gtk_widget_class_bind_template_callback_full (GTK_WIDGET_CLASS (klass), "on_key_press_event", G_CALLBACK(_boxes_list_view_on_key_press_event_gtk_widget_key_press_event));
#line 3152 "list-view.c"
}


static void
boxes_list_view_boxes_icollection_view_interface_init (BoxesICollectionViewIface * iface)
{
#line 4 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	boxes_list_view_boxes_icollection_view_parent_iface = g_type_interface_peek_parent (iface);
#line 4 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	iface->select_by_criteria = (void (*) (BoxesICollectionView *, BoxesSelectionCriteria)) boxes_list_view_real_select_by_criteria;
#line 4 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	iface->get_selected_items = (GList* (*) (BoxesICollectionView *)) boxes_list_view_real_get_selected_items;
#line 4 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	iface->activate_first_item = (void (*) (BoxesICollectionView *)) boxes_list_view_real_activate_first_item;
#line 4 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	iface->select_all = (void (*) (BoxesICollectionView *)) boxes_list_view_real_select_all;
#line 4 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	iface->unselect_all = (void (*) (BoxesICollectionView *)) boxes_list_view_real_unselect_all;
#line 4 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	iface->get_filter = boxes_list_view_real_get_filter;
#line 4 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	iface->set_filter = boxes_list_view_real_set_filter;
#line 3175 "list-view.c"
}


static void
boxes_list_view_boxes_ui_interface_init (BoxesUIIface * iface)
{
#line 4 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	boxes_list_view_boxes_ui_parent_iface = g_type_interface_peek_parent (iface);
#line 4 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	iface->get_previous_ui_state = boxes_list_view_real_get_previous_ui_state;
#line 4 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	iface->set_previous_ui_state = boxes_list_view_real_set_previous_ui_state;
#line 4 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	iface->get_ui_state = boxes_list_view_real_get_ui_state;
#line 4 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	iface->set_ui_state = boxes_list_view_real_set_ui_state;
#line 3192 "list-view.c"
}


static void
boxes_list_view_instance_init (BoxesListView * self)
{
#line 4 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	self->priv = BOXES_LIST_VIEW_GET_PRIVATE (self);
#line 4 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	gtk_widget_init_template (GTK_WIDGET (self));
#line 3203 "list-view.c"
}


static void
boxes_list_view_finalize (GObject * obj)
{
	BoxesListView * self;
#line 4 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, BOXES_TYPE_LIST_VIEW, BoxesListView);
#line 8 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	_g_object_unref0 (self->priv->_filter);
#line 11 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	_g_object_unref0 (self->priv->list_box);
#line 13 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	_g_object_unref0 (self->priv->size_group);
#line 15 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	_g_hash_table_unref0 (self->priv->items_connections);
#line 17 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	_g_object_unref0 (self->priv->window);
#line 18 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	_g_object_unref0 (self->priv->context_popover);
#line 4 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	G_OBJECT_CLASS (boxes_list_view_parent_class)->finalize (obj);
#line 3227 "list-view.c"
}


GType
boxes_list_view_get_type (void)
{
	static volatile gsize boxes_list_view_type_id__volatile = 0;
	if (g_once_init_enter (&boxes_list_view_type_id__volatile)) {
		static const GTypeInfo g_define_type_info = { sizeof (BoxesListViewClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) boxes_list_view_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (BoxesListView), 0, (GInstanceInitFunc) boxes_list_view_instance_init, NULL };
		static const GInterfaceInfo boxes_icollection_view_info = { (GInterfaceInitFunc) boxes_list_view_boxes_icollection_view_interface_init, (GInterfaceFinalizeFunc) NULL, NULL};
		static const GInterfaceInfo boxes_ui_info = { (GInterfaceInitFunc) boxes_list_view_boxes_ui_interface_init, (GInterfaceFinalizeFunc) NULL, NULL};
		GType boxes_list_view_type_id;
		boxes_list_view_type_id = g_type_register_static (gtk_scrolled_window_get_type (), "BoxesListView", &g_define_type_info, 0);
		g_type_add_interface_static (boxes_list_view_type_id, BOXES_TYPE_ICOLLECTION_VIEW, &boxes_icollection_view_info);
		g_type_add_interface_static (boxes_list_view_type_id, BOXES_TYPE_UI, &boxes_ui_info);
		g_once_init_leave (&boxes_list_view_type_id__volatile, boxes_list_view_type_id);
	}
	return boxes_list_view_type_id__volatile;
}


static void
_vala_boxes_list_view_get_property (GObject * object,
                                    guint property_id,
                                    GValue * value,
                                    GParamSpec * pspec)
{
	BoxesListView * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, BOXES_TYPE_LIST_VIEW, BoxesListView);
#line 4 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	switch (property_id) {
#line 4 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
		case BOXES_LIST_VIEW_PREVIOUS_UI_STATE_PROPERTY:
#line 4 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
		g_value_set_enum (value, boxes_ui_get_previous_ui_state ((BoxesUI*) self));
#line 4 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
		break;
#line 4 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
		case BOXES_LIST_VIEW_UI_STATE_PROPERTY:
#line 4 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
		g_value_set_enum (value, boxes_ui_get_ui_state ((BoxesUI*) self));
#line 4 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
		break;
#line 4 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
		case BOXES_LIST_VIEW_FILTER_PROPERTY:
#line 4 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
		g_value_set_object (value, boxes_icollection_view_get_filter ((BoxesICollectionView*) self));
#line 4 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
		break;
#line 3277 "list-view.c"
		default:
#line 4 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
#line 4 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
		break;
#line 3283 "list-view.c"
	}
}


static void
_vala_boxes_list_view_set_property (GObject * object,
                                    guint property_id,
                                    const GValue * value,
                                    GParamSpec * pspec)
{
	BoxesListView * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, BOXES_TYPE_LIST_VIEW, BoxesListView);
#line 4 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
	switch (property_id) {
#line 4 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
		case BOXES_LIST_VIEW_PREVIOUS_UI_STATE_PROPERTY:
#line 4 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
		boxes_ui_set_previous_ui_state ((BoxesUI*) self, g_value_get_enum (value));
#line 4 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
		break;
#line 4 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
		case BOXES_LIST_VIEW_UI_STATE_PROPERTY:
#line 4 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
		boxes_ui_set_ui_state ((BoxesUI*) self, g_value_get_enum (value));
#line 4 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
		break;
#line 4 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
		case BOXES_LIST_VIEW_FILTER_PROPERTY:
#line 4 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
		boxes_icollection_view_set_filter ((BoxesICollectionView*) self, g_value_get_object (value));
#line 4 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
		break;
#line 3316 "list-view.c"
		default:
#line 4 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
#line 4 "/home/fborges/checkout/gnome-boxes/src/list-view.vala"
		break;
#line 3322 "list-view.c"
	}
}



