/* collection-view.c generated by valac 0.17.3.12-6a5ea3, the Vala compiler
 * generated from collection-view.vala, do not modify */

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

#include <glib.h>
#include <glib-object.h>
#include <clutter/clutter.h>
#include <clutter-gtk/clutter-gtk.h>
#include <gtk/gtk.h>
#include <glib/gi18n-lib.h>
#include <stdlib.h>
#include <string.h>
#include <float.h>
#include <math.h>
#include <gdk/gdk.h>
#include <cairo.h>
#include <gio/gio.h>
#include <gdk-pixbuf/gdk-pixbuf.h>


#define BOXES_TYPE_UI (boxes_ui_get_type ())
#define BOXES_UI(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), BOXES_TYPE_UI, BoxesUI))
#define BOXES_UI_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), BOXES_TYPE_UI, BoxesUIClass))
#define BOXES_IS_UI(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), BOXES_TYPE_UI))
#define BOXES_IS_UI_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), BOXES_TYPE_UI))
#define BOXES_UI_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), BOXES_TYPE_UI, BoxesUIClass))

typedef struct _BoxesUI BoxesUI;
typedef struct _BoxesUIClass BoxesUIClass;
typedef struct _BoxesUIPrivate BoxesUIPrivate;

#define BOXES_TYPE_UI_STATE (boxes_ui_state_get_type ())

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

typedef struct _BoxesCollectionView BoxesCollectionView;
typedef struct _BoxesCollectionViewClass BoxesCollectionViewClass;
typedef struct _BoxesCollectionViewPrivate BoxesCollectionViewPrivate;

#define BOXES_TYPE_CATEGORY (boxes_category_get_type ())
#define BOXES_CATEGORY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), BOXES_TYPE_CATEGORY, BoxesCategory))
#define BOXES_CATEGORY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), BOXES_TYPE_CATEGORY, BoxesCategoryClass))
#define BOXES_IS_CATEGORY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), BOXES_TYPE_CATEGORY))
#define BOXES_IS_CATEGORY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), BOXES_TYPE_CATEGORY))
#define BOXES_CATEGORY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), BOXES_TYPE_CATEGORY, BoxesCategoryClass))

typedef struct _BoxesCategory BoxesCategory;
typedef struct _BoxesCategoryClass BoxesCategoryClass;

#define BOXES_COLLECTION_VIEW_TYPE_MODEL_COLUMNS (boxes_collection_view_model_columns_get_type ())
#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL)))

#define BOXES_CATEGORY_TYPE_KIND (boxes_category_kind_get_type ())

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

typedef struct _BoxesApp BoxesApp;
typedef struct _BoxesAppClass BoxesAppClass;

#define BOXES_TYPE_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 _gtk_tree_path_free0(var) ((var == NULL) ? NULL : (var = (gtk_tree_path_free (var), NULL)))
typedef struct _Block3Data Block3Data;
typedef struct _BoxesAppPrivate BoxesAppPrivate;

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

typedef struct _BoxesTopbar BoxesTopbar;
typedef struct _BoxesTopbarClass BoxesTopbarClass;

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

typedef struct _BoxesNotificationbar BoxesNotificationbar;
typedef struct _BoxesNotificationbarClass BoxesNotificationbarClass;

#define BOXES_TYPE_REVEALER (boxes_revealer_get_type ())
#define BOXES_REVEALER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), BOXES_TYPE_REVEALER, BoxesRevealer))
#define BOXES_REVEALER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), BOXES_TYPE_REVEALER, BoxesRevealerClass))
#define BOXES_IS_REVEALER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), BOXES_TYPE_REVEALER))
#define BOXES_IS_REVEALER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), BOXES_TYPE_REVEALER))
#define BOXES_REVEALER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), BOXES_TYPE_REVEALER, BoxesRevealerClass))

typedef struct _BoxesRevealer BoxesRevealer;
typedef struct _BoxesRevealerClass BoxesRevealerClass;

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

typedef struct _BoxesSidebar BoxesSidebar;
typedef struct _BoxesSidebarClass BoxesSidebarClass;

#define BOXES_TYPE_SELECTIONBAR (boxes_selectionbar_get_type ())
#define BOXES_SELECTIONBAR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), BOXES_TYPE_SELECTIONBAR, BoxesSelectionbar))
#define BOXES_SELECTIONBAR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), BOXES_TYPE_SELECTIONBAR, BoxesSelectionbarClass))
#define BOXES_IS_SELECTIONBAR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), BOXES_TYPE_SELECTIONBAR))
#define BOXES_IS_SELECTIONBAR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), BOXES_TYPE_SELECTIONBAR))
#define BOXES_SELECTIONBAR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), BOXES_TYPE_SELECTIONBAR, BoxesSelectionbarClass))

typedef struct _BoxesSelectionbar BoxesSelectionbar;
typedef struct _BoxesSelectionbarClass BoxesSelectionbarClass;

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

typedef struct _BoxesWizard BoxesWizard;
typedef struct _BoxesWizardClass BoxesWizardClass;

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

typedef struct _BoxesProperties BoxesProperties;
typedef struct _BoxesPropertiesClass BoxesPropertiesClass;

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

typedef struct _BoxesDisplayPage BoxesDisplayPage;
typedef struct _BoxesDisplayPageClass BoxesDisplayPageClass;

#define BOXES_TYPE_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 _Block4Data Block4Data;

#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;
typedef struct _BoxesCategoryPrivate BoxesCategoryPrivate;
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_TYPE_MACHINE_ACTOR (boxes_machine_actor_get_type ())
#define BOXES_MACHINE_ACTOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), BOXES_TYPE_MACHINE_ACTOR, BoxesMachineActor))
#define BOXES_MACHINE_ACTOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), BOXES_TYPE_MACHINE_ACTOR, BoxesMachineActorClass))
#define BOXES_IS_MACHINE_ACTOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), BOXES_TYPE_MACHINE_ACTOR))
#define BOXES_IS_MACHINE_ACTOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), BOXES_TYPE_MACHINE_ACTOR))
#define BOXES_MACHINE_ACTOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), BOXES_TYPE_MACHINE_ACTOR, BoxesMachineActorClass))

typedef struct _BoxesMachineActor BoxesMachineActor;
typedef struct _BoxesMachineActorClass BoxesMachineActorClass;

#define BOXES_TYPE_COLLECTION_SOURCE (boxes_collection_source_get_type ())
#define BOXES_COLLECTION_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), BOXES_TYPE_COLLECTION_SOURCE, BoxesCollectionSource))
#define BOXES_COLLECTION_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), BOXES_TYPE_COLLECTION_SOURCE, BoxesCollectionSourceClass))
#define BOXES_IS_COLLECTION_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), BOXES_TYPE_COLLECTION_SOURCE))
#define BOXES_IS_COLLECTION_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), BOXES_TYPE_COLLECTION_SOURCE))
#define BOXES_COLLECTION_SOURCE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), BOXES_TYPE_COLLECTION_SOURCE, BoxesCollectionSourceClass))

typedef struct _BoxesCollectionSource BoxesCollectionSource;
typedef struct _BoxesCollectionSourceClass BoxesCollectionSourceClass;

#define BOXES_TYPE_DISPLAY_CONFIG (boxes_display_config_get_type ())
#define BOXES_DISPLAY_CONFIG(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), BOXES_TYPE_DISPLAY_CONFIG, BoxesDisplayConfig))
#define BOXES_DISPLAY_CONFIG_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), BOXES_TYPE_DISPLAY_CONFIG, BoxesDisplayConfigClass))
#define BOXES_IS_DISPLAY_CONFIG(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), BOXES_TYPE_DISPLAY_CONFIG))
#define BOXES_IS_DISPLAY_CONFIG_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), BOXES_TYPE_DISPLAY_CONFIG))
#define BOXES_DISPLAY_CONFIG_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), BOXES_TYPE_DISPLAY_CONFIG, BoxesDisplayConfigClass))

typedef struct _BoxesDisplayConfig BoxesDisplayConfig;
typedef struct _BoxesDisplayConfigClass BoxesDisplayConfigClass;
typedef struct _Block5Data Block5Data;
#define _g_free0(var) (var = (g_free (var), NULL))
#define __g_list_free__gtk_tree_path_free0_0(var) ((var == NULL) ? NULL : (var = (_g_list_free__gtk_tree_path_free0_ (var), NULL)))
#define __g_list_free__g_object_unref0_0(var) ((var == NULL) ? NULL : (var = (_g_list_free__g_object_unref0_ (var), NULL)))

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

struct _BoxesUI {
	GObject parent_instance;
	BoxesUIPrivate * priv;
	BoxesUIState previous_ui_state;
};

struct _BoxesUIClass {
	GObjectClass parent_class;
	void (*ui_state_changed) (BoxesUI* self);
	ClutterActor* (*get_actor) (BoxesUI* self);
};

struct _BoxesCollectionView {
	BoxesUI parent_instance;
	BoxesCollectionViewPrivate * priv;
};

struct _BoxesCollectionViewClass {
	BoxesUIClass parent_class;
};

struct _BoxesCollectionViewPrivate {
	GtkClutterActor* gtkactor;
	BoxesCategory* _category;
	GtkIconView* icon_view;
	GtkListStore* model;
};

typedef enum  {
	BOXES_COLLECTION_VIEW_MODEL_COLUMNS_SCREENSHOT,
	BOXES_COLLECTION_VIEW_MODEL_COLUMNS_TITLE,
	BOXES_COLLECTION_VIEW_MODEL_COLUMNS_ITEM
} BoxesCollectionViewModelColumns;

typedef enum  {
	BOXES_CATEGORY_KIND_USER,
	BOXES_CATEGORY_KIND_NEW,
	BOXES_CATEGORY_KIND_FAVORITES,
	BOXES_CATEGORY_KIND_PRIVATE,
	BOXES_CATEGORY_KIND_SHARED
} BoxesCategoryKind;

struct _Block3Data {
	int _ref_count_;
	BoxesCollectionView * self;
	BoxesCollectionItem* current_item;
};

struct _BoxesApp {
	BoxesUI parent_instance;
	BoxesAppPrivate * priv;
	GtkApplicationWindow* window;
	GtkNotebook* notebook;
	GtkClutterEmbed* embed;
	ClutterStage* stage;
	ClutterBinLayout* stage_bin;
	ClutterActor* overlay_bin_actor;
	ClutterBinLayout* overlay_bin;
	BoxesCollectionItem* current_item;
	BoxesTopbar* topbar;
	BoxesNotificationbar* notificationbar;
	BoxesRevealer* sidebar_revealer;
	BoxesRevealer* topbar_revealer;
	BoxesSidebar* sidebar;
	BoxesSelectionbar* selectionbar;
	guint duration;
	GSettings* settings;
	BoxesWizard* wizard;
	BoxesProperties* properties;
	BoxesDisplayPage* display_page;
	BoxesCollection* collection;
	GSimpleAction* action_properties;
	GSimpleAction* action_fullscreen;
	GSimpleAction* action_shutdown;
};

struct _BoxesAppClass {
	BoxesUIClass parent_class;
};

struct _Block4Data {
	int _ref_count_;
	Block3Data * _data3_;
	ClutterActor* actor;
	gulong id;
	gulong completed_id;
};

struct _BoxesCategory {
	GObject parent_instance;
	BoxesCategoryPrivate * priv;
	gchar* name;
	BoxesCategoryKind kind;
};

struct _BoxesCategoryClass {
	GObjectClass parent_class;
};

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

struct _BoxesCollectionItemClass {
	BoxesUIClass parent_class;
};

typedef enum  {
	BOXES_PROPERTIES_PAGE_LOGIN,
	BOXES_PROPERTIES_PAGE_SYSTEM,
	BOXES_PROPERTIES_PAGE_DISPLAY,
	BOXES_PROPERTIES_PAGE_DEVICES,
	BOXES_PROPERTIES_PAGE_LAST
} BoxesPropertiesPage;

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

struct _BoxesMachine {
	BoxesCollectionItem parent_instance;
	BoxesMachinePrivate * priv;
	BoxesMachineActor* machine_actor;
	BoxesCollectionSource* source;
	BoxesDisplayConfig* config;
	gboolean stay_on_display;
	gboolean deleted;
};

struct _BoxesMachineClass {
	BoxesCollectionItemClass parent_class;
	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);
	gchar* (*get_screenshot_prefix) (BoxesMachine* self);
	void (*connect_display) (BoxesMachine* self);
	void (*disconnect_display) (BoxesMachine* self);
	void (*delete) (BoxesMachine* self, gboolean by_user);
};

struct _Block5Data {
	int _ref_count_;
	BoxesCollectionView * self;
	BoxesMachine* machine;
	GtkTreeIter iter;
	BoxesCollectionItem* item;
};


static gpointer boxes_collection_view_parent_class = NULL;
extern BoxesApp* boxes_app_app;

GType boxes_ui_get_type (void) G_GNUC_CONST;
GType boxes_ui_state_get_type (void) G_GNUC_CONST;
GType boxes_collection_view_get_type (void) G_GNUC_CONST;
GType boxes_category_get_type (void) G_GNUC_CONST;
#define BOXES_COLLECTION_VIEW_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), BOXES_TYPE_COLLECTION_VIEW, BoxesCollectionViewPrivate))
enum  {
	BOXES_COLLECTION_VIEW_DUMMY_PROPERTY,
	BOXES_COLLECTION_VIEW_ACTOR,
	BOXES_COLLECTION_VIEW_CATEGORY,
	BOXES_COLLECTION_VIEW_VISIBLE
};
static GType boxes_collection_view_model_columns_get_type (void) G_GNUC_UNUSED;
BoxesCollectionView* boxes_collection_view_new (void);
BoxesCollectionView* boxes_collection_view_construct (GType object_type);
BoxesUI* boxes_ui_construct (GType object_type);
GType boxes_category_kind_get_type (void) G_GNUC_CONST;
BoxesCategory* boxes_category_new (const gchar* name, BoxesCategoryKind kind);
BoxesCategory* boxes_category_construct (GType object_type, const gchar* name, BoxesCategoryKind kind);
void boxes_collection_view_set_category (BoxesCollectionView* self, BoxesCategory* value);
static void boxes_collection_view_setup_view (BoxesCollectionView* self);
GType boxes_app_get_type (void) G_GNUC_CONST;
static void __lambda91_ (BoxesCollectionView* self);
gboolean boxes_app_get_selection_mode (BoxesApp* self);
static void ___lambda91__g_object_notify (GObject* _sender, GParamSpec* pspec, gpointer self);
GType boxes_collection_item_get_type (void) G_GNUC_CONST;
static void boxes_collection_view_get_item_pos (BoxesCollectionView* self, BoxesCollectionItem* item, gfloat* x, gfloat* y);
static GtkTreePath* boxes_collection_view_get_path_for_item (BoxesCollectionView* self, BoxesCollectionItem* item);
static void boxes_collection_view_real_ui_state_changed (BoxesUI* base);
static Block3Data* block3_data_ref (Block3Data* _data3_);
static void block3_data_unref (void * _userdata_);
GType boxes_topbar_get_type (void) G_GNUC_CONST;
GType boxes_notificationbar_get_type (void) G_GNUC_CONST;
GType boxes_revealer_get_type (void) G_GNUC_CONST;
GType boxes_sidebar_get_type (void) G_GNUC_CONST;
GType boxes_selectionbar_get_type (void) G_GNUC_CONST;
GType boxes_wizard_get_type (void) G_GNUC_CONST;
GType boxes_properties_get_type (void) G_GNUC_CONST;
GType boxes_display_page_get_type (void) G_GNUC_CONST;
GType boxes_collection_get_type (void) G_GNUC_CONST;
BoxesUIState boxes_ui_get_ui_state (BoxesUI* self);
static Block4Data* block4_data_ref (Block4Data* _data4_);
static void block4_data_unref (void * _userdata_);
ClutterActor* boxes_ui_get_actor (BoxesUI* self);
#define BOXES_MACHINE_SCREENSHOT_WIDTH 180
static void ____lambda92_ (Block4Data* _data4_, GtkAllocation* allocation);
static gboolean __lambda93_ (Block4Data* _data4_);
static gboolean ___lambda93__gsource_func (gpointer self);
static void _____lambda92__gtk_widget_size_allocate (GtkWidget* _sender, GtkAllocation* allocation, gpointer self);
static void ____lambda94_ (Block4Data* _data4_);
void boxes_actor_remove (ClutterActor* actor);
static void _____lambda94__clutter_actor_transitions_completed (ClutterActor* _sender, gpointer self);
#define BOXES_MACHINE_SCREENSHOT_HEIGHT 134
void boxes_fade_actor (ClutterActor* actor, guint opacity);
void boxes_ui_set_ui_state (BoxesUI* self, BoxesUIState value);
void boxes_collection_view_update_item_visible (BoxesCollectionView* self, BoxesCollectionItem* item);
GType boxes_machine_get_type (void) G_GNUC_CONST;
BoxesCategory* boxes_collection_view_get_category (BoxesCollectionView* self);
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_actor_get_type (void) G_GNUC_CONST;
GType boxes_collection_source_get_type (void) G_GNUC_CONST;
GType boxes_display_config_get_type (void) G_GNUC_CONST;
gchar** boxes_display_config_get_categories (BoxesDisplayConfig* self, int* result_length1);
static gboolean _vala_string_array_contains (gchar** stack, int stack_length, gchar* needle);
static void boxes_collection_view_append (BoxesCollectionView* self, GdkPixbuf* pixbuf, const gchar* title, BoxesCollectionItem* item, GtkTreeIter* result);
static GtkTreeIter* _gtk_tree_iter_dup (GtkTreeIter* self);
void boxes_collection_view_add_item (BoxesCollectionView* self, BoxesCollectionItem* item);
static Block5Data* block5_data_ref (Block5Data* _data5_);
static void block5_data_unref (void * _userdata_);
GdkPixbuf* boxes_machine_get_pixbuf (BoxesMachine* self);
const gchar* boxes_collection_item_get_name (BoxesCollectionItem* self);
static void __lambda95_ (Block5Data* _data5_);
static void ___lambda95__g_object_notify (GObject* _sender, GParamSpec* pspec, gpointer self);
static void __lambda96_ (Block5Data* _data5_);
static void ___lambda96__g_object_notify (GObject* _sender, GParamSpec* pspec, gpointer self);
GList* boxes_collection_view_get_selected_items (BoxesCollectionView* self);
static BoxesCollectionItem* boxes_collection_view_get_item_for_path (BoxesCollectionView* self, GtkTreePath* path);
static void _gtk_tree_path_free0_ (gpointer var);
static void _g_list_free__gtk_tree_path_free0_ (GList* self);
static void _g_object_unref0_ (gpointer var);
static void _g_list_free__g_object_unref0_ (GList* self);
void boxes_collection_view_remove_item (BoxesCollectionView* self, BoxesCollectionItem* item);
static gint __lambda6_ (BoxesCollectionView* self, GtkTreeModel* model, GtkTreeIter* a, GtkTreeIter* b);
static gint ___lambda6__gtk_tree_iter_compare_func (GtkTreeModel* model, GtkTreeIter* a, GtkTreeIter* b, gpointer self);
static gboolean __lambda7_ (BoxesCollectionView* self, GdkEventButton* event);
static gboolean ___lambda7__gtk_widget_button_press_event (GtkWidget* _sender, GdkEventButton* event, gpointer self);
void boxes_icon_view_activate_on_single_click (GtkIconView* icon_view, gboolean should_activate);
static void __lambda9_ (BoxesCollectionView* self, GtkIconView* view, GtkTreePath* path);
gboolean boxes_app_select_item (BoxesApp* self, BoxesCollectionItem* item);
static void ___lambda9__gtk_icon_view_item_activated (GtkIconView* _sender, GtkTreePath* path, gpointer self);
static void __lambda90_ (BoxesCollectionView* self);
static void ___lambda90__gtk_icon_view_selection_changed (GtkIconView* _sender, gpointer self);
void boxes_collection_view_set_visible (BoxesCollectionView* self, gboolean value);
static void boxes_collection_view_finalize (GObject* obj);
static void _vala_boxes_collection_view_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec);
static void _vala_boxes_collection_view_set_property (GObject * object, guint property_id, const GValue * value, GParamSpec * pspec);
static void _vala_array_destroy (gpointer array, gint array_length, GDestroyNotify destroy_func);
static void _vala_array_free (gpointer array, gint array_length, GDestroyNotify destroy_func);


static GType boxes_collection_view_model_columns_get_type (void) {
	static volatile gsize boxes_collection_view_model_columns_type_id__volatile = 0;
	if (g_once_init_enter (&boxes_collection_view_model_columns_type_id__volatile)) {
		static const GEnumValue values[] = {{BOXES_COLLECTION_VIEW_MODEL_COLUMNS_SCREENSHOT, "BOXES_COLLECTION_VIEW_MODEL_COLUMNS_SCREENSHOT", "screenshot"}, {BOXES_COLLECTION_VIEW_MODEL_COLUMNS_TITLE, "BOXES_COLLECTION_VIEW_MODEL_COLUMNS_TITLE", "title"}, {BOXES_COLLECTION_VIEW_MODEL_COLUMNS_ITEM, "BOXES_COLLECTION_VIEW_MODEL_COLUMNS_ITEM", "item"}, {0, NULL, NULL}};
		GType boxes_collection_view_model_columns_type_id;
		boxes_collection_view_model_columns_type_id = g_enum_register_static ("BoxesCollectionViewModelColumns", values);
		g_once_init_leave (&boxes_collection_view_model_columns_type_id__volatile, boxes_collection_view_model_columns_type_id);
	}
	return boxes_collection_view_model_columns_type_id__volatile;
}


static void __lambda91_ (BoxesCollectionView* self) {
	GtkSelectionMode _tmp0_ = 0;
	BoxesApp* _tmp1_;
	gboolean _tmp2_;
	gboolean _tmp3_;
	GtkSelectionMode _tmp4_;
	GtkSelectionMode mode;
	GtkIconView* _tmp5_;
#line 34 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	_tmp1_ = boxes_app_app;
#line 34 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	_tmp2_ = boxes_app_get_selection_mode (_tmp1_);
#line 34 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	_tmp3_ = _tmp2_;
#line 34 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	if (_tmp3_) {
#line 34 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
		_tmp0_ = GTK_SELECTION_MULTIPLE;
#line 538 "collection-view.c"
	} else {
#line 34 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
		_tmp0_ = GTK_SELECTION_NONE;
#line 542 "collection-view.c"
	}
#line 34 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	_tmp4_ = _tmp0_;
#line 34 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	mode = _tmp4_;
#line 35 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	_tmp5_ = self->priv->icon_view;
#line 35 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	gtk_icon_view_set_selection_mode (_tmp5_, mode);
#line 552 "collection-view.c"
}


static void ___lambda91__g_object_notify (GObject* _sender, GParamSpec* pspec, gpointer self) {
#line 33 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	__lambda91_ (self);
#line 559 "collection-view.c"
}


BoxesCollectionView* boxes_collection_view_construct (GType object_type) {
	BoxesCollectionView * self = NULL;
	const gchar* _tmp0_ = NULL;
	BoxesCategory* _tmp1_;
	BoxesCategory* _tmp2_;
	BoxesApp* _tmp3_;
#line 30 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	self = (BoxesCollectionView*) boxes_ui_construct (object_type);
#line 31 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	_tmp0_ = _ ("New and Recent");
#line 31 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	_tmp1_ = boxes_category_new (_tmp0_, BOXES_CATEGORY_KIND_NEW);
#line 31 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	_tmp2_ = _tmp1_;
#line 31 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	boxes_collection_view_set_category (self, _tmp2_);
#line 31 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	_g_object_unref0 (_tmp2_);
#line 32 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	boxes_collection_view_setup_view (self);
#line 33 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	_tmp3_ = boxes_app_app;
#line 33 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	g_signal_connect_object ((GObject*) _tmp3_, "notify::selection-mode", (GCallback) ___lambda91__g_object_notify, self, 0);
#line 30 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	return self;
#line 589 "collection-view.c"
}


BoxesCollectionView* boxes_collection_view_new (void) {
#line 30 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	return boxes_collection_view_construct (BOXES_TYPE_COLLECTION_VIEW);
#line 596 "collection-view.c"
}


static void boxes_collection_view_get_item_pos (BoxesCollectionView* self, BoxesCollectionItem* item, gfloat* x, gfloat* y) {
	gfloat _vala_x = 0.0F;
	gfloat _vala_y = 0.0F;
	GdkRectangle rect = {0};
	BoxesCollectionItem* _tmp0_;
	GtkTreePath* _tmp1_ = NULL;
	GtkTreePath* path;
	GtkTreePath* _tmp2_;
#line 39 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	g_return_if_fail (self != NULL);
#line 39 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	g_return_if_fail (item != NULL);
#line 41 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	_tmp0_ = item;
#line 41 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	_tmp1_ = boxes_collection_view_get_path_for_item (self, _tmp0_);
#line 41 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	path = _tmp1_;
#line 42 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	_tmp2_ = path;
#line 42 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	if (_tmp2_ != NULL) {
#line 622 "collection-view.c"
		GtkIconView* _tmp3_;
		GtkTreePath* _tmp4_;
		GdkRectangle _tmp5_ = {0};
		GdkRectangle _tmp6_;
		gint _tmp7_;
		GdkRectangle _tmp8_;
		gint _tmp9_;
#line 43 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
		_tmp3_ = self->priv->icon_view;
#line 43 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
		_tmp4_ = path;
#line 43 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
		gtk_icon_view_get_cell_rect (_tmp3_, _tmp4_, NULL, &_tmp5_);
#line 43 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
		rect = _tmp5_;
#line 44 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
		_tmp6_ = rect;
#line 44 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
		_tmp7_ = _tmp6_.x;
#line 44 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
		_vala_x = (gfloat) _tmp7_;
#line 45 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
		_tmp8_ = rect;
#line 45 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
		_tmp9_ = _tmp8_.y;
#line 45 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
		_vala_y = (gfloat) _tmp9_;
#line 650 "collection-view.c"
	} else {
#line 47 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
		_vala_x = 0.0f;
#line 48 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
		_vala_y = 0.0f;
#line 656 "collection-view.c"
	}
#line 39 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	_gtk_tree_path_free0 (path);
#line 39 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	if (x) {
#line 39 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
		*x = _vala_x;
#line 664 "collection-view.c"
	}
#line 39 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	if (y) {
#line 39 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
		*y = _vala_y;
#line 670 "collection-view.c"
	}
}


static Block3Data* block3_data_ref (Block3Data* _data3_) {
#line 52 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	g_atomic_int_inc (&_data3_->_ref_count_);
#line 52 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	return _data3_;
#line 680 "collection-view.c"
}


static void block3_data_unref (void * _userdata_) {
	Block3Data* _data3_;
	_data3_ = (Block3Data*) _userdata_;
#line 52 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	if (g_atomic_int_dec_and_test (&_data3_->_ref_count_)) {
#line 689 "collection-view.c"
		BoxesCollectionView * self;
#line 52 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
		self = _data3_->self;
#line 52 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
		_g_object_unref0 (_data3_->current_item);
#line 52 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
		_g_object_unref0 (self);
#line 52 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
		g_slice_free (Block3Data, _data3_);
#line 699 "collection-view.c"
	}
}


static gpointer _g_object_ref0 (gpointer self) {
#line 54 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	return self ? g_object_ref (self) : NULL;
#line 707 "collection-view.c"
}


static Block4Data* block4_data_ref (Block4Data* _data4_) {
#line 59 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	g_atomic_int_inc (&_data4_->_ref_count_);
#line 59 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	return _data4_;
#line 716 "collection-view.c"
}


static void block4_data_unref (void * _userdata_) {
	Block4Data* _data4_;
	_data4_ = (Block4Data*) _userdata_;
#line 59 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	if (g_atomic_int_dec_and_test (&_data4_->_ref_count_)) {
#line 725 "collection-view.c"
		BoxesCollectionView * self;
#line 59 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
		self = _data4_->_data3_->self;
#line 59 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
		_g_object_unref0 (_data4_->actor);
#line 59 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
		block3_data_unref (_data4_->_data3_);
#line 59 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
		_data4_->_data3_ = NULL;
#line 59 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
		g_slice_free (Block4Data, _data4_);
#line 737 "collection-view.c"
	}
}


static gboolean __lambda93_ (Block4Data* _data4_) {
	Block3Data* _data3_;
	BoxesCollectionView * self;
	gboolean result = FALSE;
	gfloat item_x2 = 0.0F;
	gfloat item_y2 = 0.0F;
	BoxesCollectionItem* _tmp0_;
	gfloat _tmp1_ = 0.0F;
	gfloat _tmp2_ = 0.0F;
	ClutterActor* _tmp3_;
	ClutterActor* _tmp4_;
#line 75 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	_data3_ = _data4_->_data3_;
#line 75 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	self = _data3_->self;
#line 77 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	_tmp0_ = _data3_->current_item;
#line 77 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	boxes_collection_view_get_item_pos (self, _tmp0_, &_tmp1_, &_tmp2_);
#line 77 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	item_x2 = _tmp1_;
#line 77 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	item_y2 = _tmp2_;
#line 78 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	_tmp3_ = _data4_->actor;
#line 78 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	clutter_actor_set_x (_tmp3_, item_x2);
#line 79 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	_tmp4_ = _data4_->actor;
#line 79 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	clutter_actor_set_y (_tmp4_, item_y2);
#line 80 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	result = FALSE;
#line 80 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	return result;
#line 777 "collection-view.c"
}


static gboolean ___lambda93__gsource_func (gpointer self) {
	gboolean result;
	result = __lambda93_ (self);
#line 75 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	return result;
#line 786 "collection-view.c"
}


static void ____lambda92_ (Block4Data* _data4_, GtkAllocation* allocation) {
	Block3Data* _data3_;
	BoxesCollectionView * self;
#line 74 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	_data3_ = _data4_->_data3_;
#line 74 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	self = _data3_->self;
#line 74 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	g_return_if_fail (allocation != NULL);
#line 75 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	g_idle_add_full (G_PRIORITY_HIGH, ___lambda93__gsource_func, block4_data_ref (_data4_), block4_data_unref);
#line 801 "collection-view.c"
}


static void _____lambda92__gtk_widget_size_allocate (GtkWidget* _sender, GtkAllocation* allocation, gpointer self) {
#line 74 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	____lambda92_ (self, allocation);
#line 808 "collection-view.c"
}


static void ____lambda94_ (Block4Data* _data4_) {
	Block3Data* _data3_;
	BoxesCollectionView * self;
	ClutterActor* _tmp0_;
	gulong _tmp1_;
	GtkIconView* _tmp2_;
	gulong _tmp3_;
	gboolean _tmp4_ = FALSE;
	BoxesApp* _tmp5_;
	BoxesUIState _tmp6_;
	BoxesUIState _tmp7_;
	gboolean _tmp13_;
#line 84 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	_data3_ = _data4_->_data3_;
#line 84 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	self = _data3_->self;
#line 85 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	_tmp0_ = _data4_->actor;
#line 85 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	_tmp1_ = _data4_->completed_id;
#line 85 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	g_signal_handler_disconnect ((GObject*) _tmp0_, _tmp1_);
#line 86 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	_tmp2_ = self->priv->icon_view;
#line 86 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	_tmp3_ = _data4_->id;
#line 86 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	g_signal_handler_disconnect ((GObject*) _tmp2_, _tmp3_);
#line 87 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	_tmp5_ = boxes_app_app;
#line 87 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	_tmp6_ = boxes_ui_get_ui_state ((BoxesUI*) _tmp5_);
#line 87 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	_tmp7_ = _tmp6_;
#line 87 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	if (_tmp7_ == BOXES_UI_STATE_COLLECTION) {
#line 87 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
		_tmp4_ = TRUE;
#line 850 "collection-view.c"
	} else {
		BoxesApp* _tmp8_;
		BoxesCollectionItem* _tmp9_;
		ClutterActor* _tmp10_;
		ClutterActor* _tmp11_;
		ClutterActor* _tmp12_;
#line 88 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
		_tmp8_ = boxes_app_app;
#line 88 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
		_tmp9_ = _tmp8_->current_item;
#line 88 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
		_tmp10_ = boxes_ui_get_actor ((BoxesUI*) _tmp9_);
#line 88 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
		_tmp11_ = _tmp10_;
#line 88 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
		_tmp12_ = _data4_->actor;
#line 88 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
		_tmp4_ = _tmp11_ != _tmp12_;
#line 869 "collection-view.c"
	}
#line 87 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	_tmp13_ = _tmp4_;
#line 87 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	if (_tmp13_) {
#line 875 "collection-view.c"
		ClutterActor* _tmp14_;
#line 89 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
		_tmp14_ = _data4_->actor;
#line 89 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
		boxes_actor_remove (_tmp14_);
#line 881 "collection-view.c"
	}
}


static void _____lambda94__clutter_actor_transitions_completed (ClutterActor* _sender, gpointer self) {
#line 84 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	____lambda94_ (self);
#line 889 "collection-view.c"
}


static void boxes_collection_view_real_ui_state_changed (BoxesUI* base) {
	BoxesCollectionView * self;
	Block3Data* _data3_;
	guint opacity;
	BoxesApp* _tmp0_;
	BoxesCollectionItem* _tmp1_;
	BoxesCollectionItem* _tmp2_;
	BoxesUIState _tmp3_;
	BoxesUIState _tmp4_;
	ClutterActor* _tmp67_;
	ClutterActor* _tmp68_;
	guint _tmp69_;
	BoxesCollectionItem* _tmp70_;
#line 52 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	self = (BoxesCollectionView*) base;
#line 52 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	_data3_ = g_slice_new0 (Block3Data);
#line 52 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	_data3_->_ref_count_ = 1;
#line 52 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	_data3_->self = g_object_ref (self);
#line 53 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	opacity = (guint) 0;
#line 54 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	_tmp0_ = boxes_app_app;
#line 54 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	_tmp1_ = _tmp0_->current_item;
#line 54 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	_tmp2_ = _g_object_ref0 (_tmp1_);
#line 54 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	_data3_->current_item = _tmp2_;
#line 55 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	_tmp3_ = boxes_ui_get_ui_state ((BoxesUI*) self);
#line 55 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	_tmp4_ = _tmp3_;
#line 55 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	switch (_tmp4_) {
#line 55 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
		case BOXES_UI_STATE_COLLECTION:
#line 932 "collection-view.c"
		{
			GtkIconView* _tmp5_;
			BoxesCollectionItem* _tmp6_;
#line 57 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
			opacity = (guint) 255;
#line 58 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
			_tmp5_ = self->priv->icon_view;
#line 58 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
			g_signal_emit_by_name (_tmp5_, "unselect-all");
#line 59 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
			_tmp6_ = _data3_->current_item;
#line 59 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
			if (_tmp6_ != NULL) {
#line 946 "collection-view.c"
				Block4Data* _data4_;
				BoxesCollectionItem* _tmp7_;
				ClutterActor* _tmp8_;
				ClutterActor* _tmp9_;
				ClutterActor* _tmp10_;
				ClutterActor* _tmp11_;
				ClutterActor* _tmp12_;
				BoxesApp* _tmp13_;
				ClutterBinLayout* _tmp14_;
				ClutterActor* _tmp15_;
				gfloat item_x = 0.0F;
				gfloat item_y = 0.0F;
				BoxesCollectionItem* _tmp16_;
				gfloat _tmp17_ = 0.0F;
				gfloat _tmp18_ = 0.0F;
				ClutterActor* _tmp19_;
				gfloat _tmp20_;
				ClutterActor* _tmp21_;
				gfloat _tmp22_;
				ClutterActor* _tmp23_;
				ClutterActor* _tmp24_;
				ClutterActor* _tmp25_;
				BoxesApp* _tmp26_;
				guint _tmp27_;
				GtkIconView* _tmp28_;
				gulong _tmp29_ = 0UL;
				ClutterActor* _tmp30_;
				gulong _tmp31_ = 0UL;
#line 59 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
				_data4_ = g_slice_new0 (Block4Data);
#line 59 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
				_data4_->_ref_count_ = 1;
#line 59 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
				_data4_->_data3_ = block3_data_ref (_data3_);
#line 60 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
				_tmp7_ = _data3_->current_item;
#line 60 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
				_tmp8_ = boxes_ui_get_actor ((BoxesUI*) _tmp7_);
#line 60 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
				_tmp9_ = _tmp8_;
#line 60 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
				_tmp10_ = _g_object_ref0 (_tmp9_);
#line 60 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
				_data4_->actor = _tmp10_;
#line 61 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
				_tmp11_ = _data4_->actor;
#line 61 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
				clutter_actor_set_easing_duration (_tmp11_, (guint) 0);
#line 62 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
				_tmp12_ = _data4_->actor;
#line 62 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
				clutter_actor_show (_tmp12_);
#line 64 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
				_tmp13_ = boxes_app_app;
#line 64 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
				_tmp14_ = _tmp13_->overlay_bin;
#line 64 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
				_tmp15_ = _data4_->actor;
#line 64 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
				clutter_bin_layout_set_alignment (_tmp14_, _tmp15_, CLUTTER_BIN_ALIGNMENT_FIXED, CLUTTER_BIN_ALIGNMENT_FIXED);
#line 68 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
				_tmp16_ = _data3_->current_item;
#line 68 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
				boxes_collection_view_get_item_pos (self, _tmp16_, &_tmp17_, &_tmp18_);
#line 68 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
				item_x = _tmp17_;
#line 68 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
				item_y = _tmp18_;
#line 69 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
				_tmp19_ = _data4_->actor;
#line 69 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
				_tmp20_ = item_x;
#line 69 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
				clutter_actor_set_x (_tmp19_, _tmp20_);
#line 70 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
				_tmp21_ = _data4_->actor;
#line 70 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
				_tmp22_ = item_y;
#line 70 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
				clutter_actor_set_y (_tmp21_, _tmp22_);
#line 71 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
				_tmp23_ = _data4_->actor;
#line 71 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
				_tmp24_ = _data4_->actor;
#line 71 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
				g_object_set (_tmp24_, "natural-width", (gfloat) BOXES_MACHINE_SCREENSHOT_WIDTH, NULL);
#line 71 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
				g_object_set (_tmp23_, "min-width", (gfloat) BOXES_MACHINE_SCREENSHOT_WIDTH, NULL);
#line 73 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
				_tmp25_ = _data4_->actor;
#line 73 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
				_tmp26_ = boxes_app_app;
#line 73 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
				_tmp27_ = _tmp26_->duration;
#line 73 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
				clutter_actor_set_easing_duration (_tmp25_, _tmp27_);
#line 74 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
				_tmp28_ = self->priv->icon_view;
#line 74 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
				_tmp29_ = g_signal_connect_data ((GtkWidget*) _tmp28_, "size-allocate", (GCallback) _____lambda92__gtk_widget_size_allocate, block4_data_ref (_data4_), (GClosureNotify) block4_data_unref, 0);
#line 74 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
				_data4_->id = _tmp29_;
#line 83 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
				_data4_->completed_id = (gulong) 0;
#line 84 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
				_tmp30_ = _data4_->actor;
#line 84 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
				_tmp31_ = g_signal_connect_data (_tmp30_, "transitions-completed", (GCallback) _____lambda94__clutter_actor_transitions_completed, block4_data_ref (_data4_), (GClosureNotify) block4_data_unref, 0);
#line 84 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
				_data4_->completed_id = _tmp31_;
#line 59 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
				block4_data_unref (_data4_);
#line 59 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
				_data4_ = NULL;
#line 1061 "collection-view.c"
			}
#line 92 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
			break;
#line 1065 "collection-view.c"
		}
#line 55 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
		case BOXES_UI_STATE_CREDS:
#line 1069 "collection-view.c"
		{
			BoxesCollectionItem* _tmp32_;
			ClutterActor* _tmp33_;
			ClutterActor* _tmp34_;
			ClutterActor* _tmp35_;
			ClutterActor* actor;
			ClutterActor* _tmp36_;
			ClutterActor* _tmp37_ = NULL;
			ClutterActor* _tmp52_;
			ClutterActor* _tmp53_;
			BoxesApp* _tmp54_;
			ClutterBinLayout* _tmp55_;
			ClutterActor* _tmp56_;
			ClutterActor* _tmp57_;
			BoxesApp* _tmp58_;
			guint _tmp59_;
#line 95 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
			_tmp32_ = _data3_->current_item;
#line 95 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
			_tmp33_ = boxes_ui_get_actor ((BoxesUI*) _tmp32_);
#line 95 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
			_tmp34_ = _tmp33_;
#line 95 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
			_tmp35_ = _g_object_ref0 (_tmp34_);
#line 95 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
			actor = _tmp35_;
#line 96 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
			_tmp36_ = actor;
#line 96 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
			_tmp37_ = clutter_actor_get_parent (_tmp36_);
#line 96 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
			if (_tmp37_ == NULL) {
#line 1102 "collection-view.c"
				BoxesApp* _tmp38_;
				ClutterBinLayout* _tmp39_;
				ClutterActor* _tmp40_;
				ClutterActor* _tmp41_;
				gfloat item_x = 0.0F;
				gfloat item_y = 0.0F;
				BoxesCollectionItem* _tmp42_;
				gfloat _tmp43_ = 0.0F;
				gfloat _tmp44_ = 0.0F;
				gfloat _tmp45_;
				gfloat _tmp46_;
				gfloat _tmp47_;
				gfloat _tmp48_;
				ClutterActorBox _tmp49_ = {0};
				ClutterActorBox box;
				ClutterActor* _tmp50_;
				ClutterActorBox _tmp51_;
#line 97 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
				_tmp38_ = boxes_app_app;
#line 97 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
				_tmp39_ = _tmp38_->overlay_bin;
#line 97 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
				_tmp40_ = actor;
#line 97 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
				clutter_bin_layout_add (_tmp39_, _tmp40_, CLUTTER_BIN_ALIGNMENT_FIXED, CLUTTER_BIN_ALIGNMENT_FIXED);
#line 100 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
				_tmp41_ = actor;
#line 100 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
				clutter_actor_set_easing_mode (_tmp41_, CLUTTER_LINEAR);
#line 103 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
				_tmp42_ = _data3_->current_item;
#line 103 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
				boxes_collection_view_get_item_pos (self, _tmp42_, &_tmp43_, &_tmp44_);
#line 103 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
				item_x = _tmp43_;
#line 103 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
				item_y = _tmp44_;
#line 104 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
				_tmp45_ = item_x;
#line 104 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
				_tmp46_ = item_y;
#line 104 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
				_tmp47_ = item_x;
#line 104 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
				_tmp48_ = item_y;
#line 104 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
				_tmp49_.x1 = _tmp45_;
#line 104 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
				_tmp49_.y1 = _tmp46_;
#line 104 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
				_tmp49_.x2 = _tmp47_ + BOXES_MACHINE_SCREENSHOT_WIDTH;
#line 104 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
				_tmp49_.y2 = _tmp48_ + (BOXES_MACHINE_SCREENSHOT_HEIGHT * 2);
#line 104 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
				box = _tmp49_;
#line 105 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
				_tmp50_ = actor;
#line 105 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
				_tmp51_ = box;
#line 105 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
				clutter_actor_allocate (_tmp50_, &_tmp51_, 0);
#line 1164 "collection-view.c"
			}
#line 108 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
			_tmp52_ = actor;
#line 108 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
			_tmp53_ = actor;
#line 108 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
			g_object_set (_tmp53_, "natural-width", (gfloat) (BOXES_MACHINE_SCREENSHOT_WIDTH * 2), NULL);
#line 108 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
			g_object_set (_tmp52_, "min-width", (gfloat) (BOXES_MACHINE_SCREENSHOT_WIDTH * 2), NULL);
#line 109 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
			_tmp54_ = boxes_app_app;
#line 109 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
			_tmp55_ = _tmp54_->overlay_bin;
#line 109 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
			_tmp56_ = actor;
#line 109 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
			clutter_bin_layout_set_alignment (_tmp55_, _tmp56_, CLUTTER_BIN_ALIGNMENT_CENTER, CLUTTER_BIN_ALIGNMENT_CENTER);
#line 112 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
			_tmp57_ = actor;
#line 112 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
			_tmp58_ = boxes_app_app;
#line 112 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
			_tmp59_ = _tmp58_->duration;
#line 112 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
			clutter_actor_set_easing_duration (_tmp57_, _tmp59_);
#line 113 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
			_g_object_unref0 (actor);
#line 113 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
			break;
#line 1194 "collection-view.c"
		}
#line 55 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
		case BOXES_UI_STATE_WIZARD:
#line 1198 "collection-view.c"
		{
			BoxesCollectionItem* _tmp60_;
#line 116 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
			_tmp60_ = _data3_->current_item;
#line 116 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
			if (_tmp60_ != NULL) {
#line 1205 "collection-view.c"
				BoxesCollectionItem* _tmp61_;
				ClutterActor* _tmp62_;
				ClutterActor* _tmp63_;
#line 117 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
				_tmp61_ = _data3_->current_item;
#line 117 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
				_tmp62_ = boxes_ui_get_actor ((BoxesUI*) _tmp61_);
#line 117 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
				_tmp63_ = _tmp62_;
#line 117 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
				boxes_actor_remove (_tmp63_);
#line 1217 "collection-view.c"
			}
#line 118 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
			break;
#line 1221 "collection-view.c"
		}
#line 55 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
		case BOXES_UI_STATE_PROPERTIES:
#line 1225 "collection-view.c"
		{
			BoxesCollectionItem* _tmp64_;
			ClutterActor* _tmp65_;
			ClutterActor* _tmp66_;
#line 121 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
			_tmp64_ = _data3_->current_item;
#line 121 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
			_tmp65_ = boxes_ui_get_actor ((BoxesUI*) _tmp64_);
#line 121 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
			_tmp66_ = _tmp65_;
#line 121 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
			clutter_actor_hide (_tmp66_);
#line 122 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
			break;
#line 1240 "collection-view.c"
		}
		default:
#line 55 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
		break;
#line 1245 "collection-view.c"
	}
#line 125 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	_tmp67_ = boxes_ui_get_actor ((BoxesUI*) self);
#line 125 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	_tmp68_ = _tmp67_;
#line 125 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	_tmp69_ = opacity;
#line 125 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	boxes_fade_actor (_tmp68_, _tmp69_);
#line 127 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	_tmp70_ = _data3_->current_item;
#line 127 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	if (_tmp70_ != NULL) {
#line 1259 "collection-view.c"
		BoxesCollectionItem* _tmp71_;
		BoxesUIState _tmp72_;
		BoxesUIState _tmp73_;
#line 128 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
		_tmp71_ = _data3_->current_item;
#line 128 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
		_tmp72_ = boxes_ui_get_ui_state ((BoxesUI*) self);
#line 128 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
		_tmp73_ = _tmp72_;
#line 128 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
		boxes_ui_set_ui_state ((BoxesUI*) _tmp71_, _tmp73_);
#line 1271 "collection-view.c"
	}
#line 52 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	block3_data_unref (_data3_);
#line 52 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	_data3_ = NULL;
#line 1277 "collection-view.c"
}


static gboolean _vala_string_array_contains (gchar** stack, int stack_length, gchar* needle) {
	int i;
#line 140 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	for (i = 0; i < stack_length; i++) {
#line 140 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
		if (g_strcmp0 (stack[i], needle) == 0) {
#line 140 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
			return TRUE;
#line 1289 "collection-view.c"
		}
	}
#line 140 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	return FALSE;
#line 1294 "collection-view.c"
}


void boxes_collection_view_update_item_visible (BoxesCollectionView* self, BoxesCollectionItem* item) {
	gboolean visible;
	BoxesCollectionItem* _tmp0_;
	BoxesCollectionItem* _tmp14_;
	ClutterActor* _tmp15_;
	ClutterActor* _tmp16_;
	gboolean _tmp17_;
#line 131 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	g_return_if_fail (self != NULL);
#line 131 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	g_return_if_fail (item != NULL);
#line 132 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	visible = FALSE;
#line 135 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	_tmp0_ = item;
#line 135 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	if (G_TYPE_CHECK_INSTANCE_TYPE (_tmp0_, BOXES_TYPE_MACHINE)) {
#line 1315 "collection-view.c"
		BoxesCollectionItem* _tmp1_;
		BoxesMachine* _tmp2_;
		BoxesMachine* machine;
		BoxesCategory* _tmp3_;
		BoxesCategory* _tmp4_;
		BoxesCategoryKind _tmp5_;
#line 136 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
		_tmp1_ = item;
#line 136 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
		_tmp2_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp1_, BOXES_TYPE_MACHINE) ? ((BoxesMachine*) _tmp1_) : NULL);
#line 136 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
		machine = _tmp2_;
#line 138 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
		_tmp3_ = boxes_collection_view_get_category (self);
#line 138 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
		_tmp4_ = _tmp3_;
#line 138 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
		_tmp5_ = _tmp4_->kind;
#line 138 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
		switch (_tmp5_) {
#line 138 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
			case BOXES_CATEGORY_KIND_USER:
#line 1338 "collection-view.c"
			{
				BoxesCategory* _tmp6_;
				BoxesCategory* _tmp7_;
				const gchar* _tmp8_;
				BoxesMachine* _tmp9_;
				BoxesDisplayConfig* _tmp10_;
				gchar** _tmp11_;
				gint _tmp11__length1;
				gchar** _tmp12_;
				gint _tmp12__length1;
				gchar** _tmp13_;
				gint _tmp13__length1;
#line 140 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
				_tmp6_ = boxes_collection_view_get_category (self);
#line 140 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
				_tmp7_ = _tmp6_;
#line 140 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
				_tmp8_ = _tmp7_->name;
#line 140 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
				_tmp9_ = machine;
#line 140 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
				_tmp10_ = _tmp9_->config;
#line 140 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
				_tmp11_ = boxes_display_config_get_categories (_tmp10_, &_tmp11__length1);
#line 140 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
				_tmp12_ = _tmp11_;
#line 140 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
				_tmp12__length1 = _tmp11__length1;
#line 140 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
				_tmp13_ = _tmp12_;
#line 140 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
				_tmp13__length1 = _tmp12__length1;
#line 140 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
				visible = _vala_string_array_contains (_tmp13_, _tmp12__length1, _tmp8_);
#line 140 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
				_tmp13_ = (_vala_array_free (_tmp13_, _tmp13__length1, (GDestroyNotify) g_free), NULL);
#line 141 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
				break;
#line 1377 "collection-view.c"
			}
#line 138 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
			case BOXES_CATEGORY_KIND_NEW:
#line 1381 "collection-view.c"
			{
#line 143 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
				visible = TRUE;
#line 144 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
				break;
#line 1387 "collection-view.c"
			}
			default:
#line 138 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
			break;
#line 1392 "collection-view.c"
		}
#line 135 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
		_g_object_unref0 (machine);
#line 1396 "collection-view.c"
	}
#line 148 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	_tmp14_ = item;
#line 148 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	_tmp15_ = boxes_ui_get_actor ((BoxesUI*) _tmp14_);
#line 148 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	_tmp16_ = _tmp15_;
#line 148 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	_tmp17_ = visible;
#line 148 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	g_object_set (_tmp16_, "visible", _tmp17_, NULL);
#line 1408 "collection-view.c"
}


static GtkTreeIter* _gtk_tree_iter_dup (GtkTreeIter* self) {
	GtkTreeIter* dup;
#line 162 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	dup = g_new0 (GtkTreeIter, 1);
#line 162 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	memcpy (dup, self, sizeof (GtkTreeIter));
#line 162 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	return dup;
#line 1420 "collection-view.c"
}


static gpointer __gtk_tree_iter_dup0 (gpointer self) {
#line 162 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	return self ? _gtk_tree_iter_dup (self) : NULL;
#line 1427 "collection-view.c"
}


static void boxes_collection_view_append (BoxesCollectionView* self, GdkPixbuf* pixbuf, const gchar* title, BoxesCollectionItem* item, GtkTreeIter* result) {
	GtkTreeIter iter = {0};
	GtkListStore* _tmp0_;
	GtkTreeIter _tmp1_ = {0};
	GtkListStore* _tmp2_;
	GtkTreeIter _tmp3_;
	GdkPixbuf* _tmp4_;
	GtkListStore* _tmp5_;
	GtkTreeIter _tmp6_;
	const gchar* _tmp7_;
	GtkListStore* _tmp8_;
	GtkTreeIter _tmp9_;
	BoxesCollectionItem* _tmp10_;
	BoxesCollectionItem* _tmp11_;
	GtkTreeIter _tmp12_;
	GtkTreeIter* _tmp13_;
#line 151 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	g_return_if_fail (self != NULL);
#line 151 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	g_return_if_fail (pixbuf != NULL);
#line 151 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	g_return_if_fail (title != NULL);
#line 151 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	g_return_if_fail (item != NULL);
#line 157 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	_tmp0_ = self->priv->model;
#line 157 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	gtk_list_store_append (_tmp0_, &_tmp1_);
#line 157 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	iter = _tmp1_;
#line 158 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	_tmp2_ = self->priv->model;
#line 158 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	_tmp3_ = iter;
#line 158 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	_tmp4_ = pixbuf;
#line 158 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	gtk_list_store_set (_tmp2_, &_tmp3_, BOXES_COLLECTION_VIEW_MODEL_COLUMNS_SCREENSHOT, _tmp4_, -1);
#line 159 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	_tmp5_ = self->priv->model;
#line 159 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	_tmp6_ = iter;
#line 159 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	_tmp7_ = title;
#line 159 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	gtk_list_store_set (_tmp5_, &_tmp6_, BOXES_COLLECTION_VIEW_MODEL_COLUMNS_TITLE, _tmp7_, -1);
#line 160 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	_tmp8_ = self->priv->model;
#line 160 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	_tmp9_ = iter;
#line 160 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	_tmp10_ = item;
#line 160 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	gtk_list_store_set (_tmp8_, &_tmp9_, BOXES_COLLECTION_VIEW_MODEL_COLUMNS_ITEM, _tmp10_, -1);
#line 162 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	_tmp11_ = item;
#line 162 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	_tmp12_ = iter;
#line 162 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	_tmp13_ = __gtk_tree_iter_dup0 (&_tmp12_);
#line 162 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	g_object_set_data_full ((GObject*) _tmp11_, "iter", _tmp13_, g_free);
#line 164 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	*result = iter;
#line 164 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	return;
#line 1497 "collection-view.c"
}


static Block5Data* block5_data_ref (Block5Data* _data5_) {
#line 167 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	g_atomic_int_inc (&_data5_->_ref_count_);
#line 167 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	return _data5_;
#line 1506 "collection-view.c"
}


static void block5_data_unref (void * _userdata_) {
	Block5Data* _data5_;
	_data5_ = (Block5Data*) _userdata_;
#line 167 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	if (g_atomic_int_dec_and_test (&_data5_->_ref_count_)) {
#line 1515 "collection-view.c"
		BoxesCollectionView * self;
#line 167 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
		self = _data5_->self;
#line 167 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
		_g_object_unref0 (_data5_->machine);
#line 167 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
		_g_object_unref0 (_data5_->item);
#line 167 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
		_g_object_unref0 (self);
#line 167 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
		g_slice_free (Block5Data, _data5_);
#line 1527 "collection-view.c"
	}
}


static void __lambda95_ (Block5Data* _data5_) {
	BoxesCollectionView * self;
	GtkListStore* _tmp0_;
	GtkTreeIter _tmp1_;
	BoxesMachine* _tmp2_;
	GdkPixbuf* _tmp3_;
	GdkPixbuf* _tmp4_;
#line 176 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	self = _data5_->self;
#line 178 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	_tmp0_ = self->priv->model;
#line 178 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	_tmp1_ = _data5_->iter;
#line 178 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	_tmp2_ = _data5_->machine;
#line 178 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	_tmp3_ = boxes_machine_get_pixbuf (_tmp2_);
#line 178 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	_tmp4_ = _tmp3_;
#line 178 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	gtk_list_store_set (_tmp0_, &_tmp1_, BOXES_COLLECTION_VIEW_MODEL_COLUMNS_SCREENSHOT, _tmp4_, -1);
#line 1553 "collection-view.c"
}


static void ___lambda95__g_object_notify (GObject* _sender, GParamSpec* pspec, gpointer self) {
#line 176 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	__lambda95_ (self);
#line 1560 "collection-view.c"
}


static void __lambda96_ (Block5Data* _data5_) {
	BoxesCollectionView * self;
	GtkListStore* _tmp0_;
	GtkTreeIter _tmp1_;
	BoxesCollectionItem* _tmp2_;
	const gchar* _tmp3_;
	const gchar* _tmp4_;
#line 182 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	self = _data5_->self;
#line 184 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	_tmp0_ = self->priv->model;
#line 184 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	_tmp1_ = _data5_->iter;
#line 184 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	_tmp2_ = _data5_->item;
#line 184 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	_tmp3_ = boxes_collection_item_get_name (_tmp2_);
#line 184 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	_tmp4_ = _tmp3_;
#line 184 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	gtk_list_store_set (_tmp0_, &_tmp1_, BOXES_COLLECTION_VIEW_MODEL_COLUMNS_TITLE, _tmp4_, -1);
#line 1585 "collection-view.c"
}


static void ___lambda96__g_object_notify (GObject* _sender, GParamSpec* pspec, gpointer self) {
#line 182 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	__lambda96_ (self);
#line 1592 "collection-view.c"
}


void boxes_collection_view_add_item (BoxesCollectionView* self, BoxesCollectionItem* item) {
	Block5Data* _data5_;
	BoxesCollectionItem* _tmp0_;
	BoxesCollectionItem* _tmp1_;
	BoxesCollectionItem* _tmp2_;
	BoxesMachine* _tmp3_;
	BoxesMachine* _tmp4_;
	BoxesMachine* _tmp7_;
	GdkPixbuf* _tmp8_;
	GdkPixbuf* _tmp9_;
	BoxesMachine* _tmp10_;
	const gchar* _tmp11_;
	const gchar* _tmp12_;
	BoxesCollectionItem* _tmp13_;
	GtkTreeIter _tmp14_ = {0};
	BoxesMachine* _tmp15_;
	gulong _tmp16_ = 0UL;
	gulong pixbuf_id;
	BoxesCollectionItem* _tmp17_;
	gulong _tmp18_;
	BoxesCollectionItem* _tmp19_;
	gulong _tmp20_ = 0UL;
	gulong name_id;
	BoxesCollectionItem* _tmp21_;
	gulong _tmp22_;
	BoxesCollectionItem* _tmp23_;
	BoxesCollectionItem* _tmp24_;
	ClutterActor* _tmp25_;
	ClutterActor* _tmp26_;
	BoxesCollectionItem* _tmp27_;
#line 167 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	g_return_if_fail (self != NULL);
#line 167 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	g_return_if_fail (item != NULL);
#line 167 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	_data5_ = g_slice_new0 (Block5Data);
#line 167 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	_data5_->_ref_count_ = 1;
#line 167 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	_data5_->self = g_object_ref (self);
#line 167 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	_tmp0_ = item;
#line 167 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	_tmp1_ = _g_object_ref0 (_tmp0_);
#line 167 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	_data5_->item = _tmp1_;
#line 168 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	_tmp2_ = _data5_->item;
#line 168 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	_tmp3_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp2_, BOXES_TYPE_MACHINE) ? ((BoxesMachine*) _tmp2_) : NULL);
#line 168 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	_data5_->machine = _tmp3_;
#line 170 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	_tmp4_ = _data5_->machine;
#line 170 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	if (_tmp4_ == NULL) {
#line 1652 "collection-view.c"
		gchar* _tmp5_ = NULL;
		gchar* _tmp6_;
#line 171 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
		_tmp5_ = g_strdup_printf ("Cannot add item %p", &_data5_->item);
#line 171 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
		_tmp6_ = _tmp5_;
#line 171 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
		g_warning ("collection-view.vala:171: %s", _tmp6_);
#line 171 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
		_g_free0 (_tmp6_);
#line 172 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
		block5_data_unref (_data5_);
#line 172 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
		_data5_ = NULL;
#line 172 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
		return;
#line 1669 "collection-view.c"
	}
#line 175 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	_tmp7_ = _data5_->machine;
#line 175 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	_tmp8_ = boxes_machine_get_pixbuf (_tmp7_);
#line 175 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	_tmp9_ = _tmp8_;
#line 175 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	_tmp10_ = _data5_->machine;
#line 175 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	_tmp11_ = boxes_collection_item_get_name ((BoxesCollectionItem*) _tmp10_);
#line 175 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	_tmp12_ = _tmp11_;
#line 175 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	_tmp13_ = _data5_->item;
#line 175 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	boxes_collection_view_append (self, _tmp9_, _tmp12_, _tmp13_, &_tmp14_);
#line 175 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	_data5_->iter = _tmp14_;
#line 176 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	_tmp15_ = _data5_->machine;
#line 176 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	_tmp16_ = g_signal_connect_data ((GObject*) _tmp15_, "notify::pixbuf", (GCallback) ___lambda95__g_object_notify, block5_data_ref (_data5_), (GClosureNotify) block5_data_unref, 0);
#line 176 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	pixbuf_id = _tmp16_;
#line 180 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	_tmp17_ = _data5_->item;
#line 180 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	_tmp18_ = pixbuf_id;
#line 180 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	g_object_set_data_full ((GObject*) _tmp17_, "pixbuf_id", (gpointer) ((guintptr) _tmp18_), NULL);
#line 182 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	_tmp19_ = _data5_->item;
#line 182 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	_tmp20_ = g_signal_connect_data ((GObject*) _tmp19_, "notify::name", (GCallback) ___lambda96__g_object_notify, block5_data_ref (_data5_), (GClosureNotify) block5_data_unref, 0);
#line 182 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	name_id = _tmp20_;
#line 186 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	_tmp21_ = _data5_->item;
#line 186 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	_tmp22_ = name_id;
#line 186 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	g_object_set_data_full ((GObject*) _tmp21_, "name_id", (gpointer) ((guintptr) _tmp22_), NULL);
#line 188 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	_tmp23_ = _data5_->item;
#line 188 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	boxes_ui_set_ui_state ((BoxesUI*) _tmp23_, BOXES_UI_STATE_COLLECTION);
#line 189 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	_tmp24_ = _data5_->item;
#line 189 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	_tmp25_ = boxes_ui_get_actor ((BoxesUI*) _tmp24_);
#line 189 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	_tmp26_ = _tmp25_;
#line 189 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	boxes_actor_remove (_tmp26_);
#line 191 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	_tmp27_ = _data5_->item;
#line 191 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	boxes_collection_view_update_item_visible (self, _tmp27_);
#line 167 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	block5_data_unref (_data5_);
#line 167 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	_data5_ = NULL;
#line 1733 "collection-view.c"
}


static gpointer _gtk_tree_path_copy0 (gpointer self) {
#line 198 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	return self ? gtk_tree_path_copy (self) : NULL;
#line 1740 "collection-view.c"
}


static void _gtk_tree_path_free0_ (gpointer var) {
#line 201 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	(var == NULL) ? NULL : (var = (gtk_tree_path_free (var), NULL));
#line 1747 "collection-view.c"
}


static void _g_list_free__gtk_tree_path_free0_ (GList* self) {
#line 201 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	g_list_foreach (self, (GFunc) _gtk_tree_path_free0_, NULL);
#line 201 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	g_list_free (self);
#line 1756 "collection-view.c"
}


static void _g_object_unref0_ (gpointer var) {
#line 194 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	(var == NULL) ? NULL : (var = (g_object_unref (var), NULL));
#line 1763 "collection-view.c"
}


static void _g_list_free__g_object_unref0_ (GList* self) {
#line 194 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	g_list_foreach (self, (GFunc) _g_object_unref0_, NULL);
#line 194 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	g_list_free (self);
#line 1772 "collection-view.c"
}


GList* boxes_collection_view_get_selected_items (BoxesCollectionView* self) {
	GList* result = NULL;
	GList* list;
	GtkIconView* _tmp0_;
	GList* _tmp1_ = NULL;
	GList* selected;
	GList* _tmp2_;
#line 194 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 195 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	list = NULL;
#line 196 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	_tmp0_ = self->priv->icon_view;
#line 196 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	_tmp1_ = gtk_icon_view_get_selected_items (_tmp0_);
#line 196 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	selected = _tmp1_;
#line 198 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	_tmp2_ = selected;
#line 1795 "collection-view.c"
	{
		GList* path_collection = NULL;
		GList* path_it = NULL;
#line 198 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
		path_collection = _tmp2_;
#line 198 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
		for (path_it = path_collection; path_it != NULL; path_it = path_it->next) {
#line 1803 "collection-view.c"
			GtkTreePath* _tmp3_;
			GtkTreePath* path = NULL;
#line 198 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
			_tmp3_ = _gtk_tree_path_copy0 ((GtkTreePath*) path_it->data);
#line 198 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
			path = _tmp3_;
#line 1810 "collection-view.c"
			{
				GtkTreePath* _tmp4_;
				BoxesCollectionItem* _tmp5_ = NULL;
#line 199 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
				_tmp4_ = path;
#line 199 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
				_tmp5_ = boxes_collection_view_get_item_for_path (self, _tmp4_);
#line 199 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
				list = g_list_append (list, _tmp5_);
#line 198 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
				_gtk_tree_path_free0 (path);
#line 1822 "collection-view.c"
			}
		}
	}
#line 201 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	result = list;
#line 201 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	__g_list_free__gtk_tree_path_free0_0 (selected);
#line 201 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	return result;
#line 1832 "collection-view.c"
}


void boxes_collection_view_remove_item (BoxesCollectionView* self, BoxesCollectionItem* item) {
	BoxesCollectionItem* _tmp0_;
	gconstpointer _tmp1_ = NULL;
	GtkTreeIter* _tmp2_;
	GtkTreeIter* iter;
	GtkTreeIter* _tmp3_;
	GtkListStore* _tmp4_;
	GtkTreeIter* _tmp5_;
	GtkTreeIter _tmp6_;
	BoxesCollectionItem* _tmp7_;
	BoxesCollectionItem* _tmp8_;
	gconstpointer _tmp9_ = NULL;
	gulong pixbuf_id;
	BoxesCollectionItem* _tmp10_;
	gulong _tmp11_;
	BoxesCollectionItem* _tmp12_;
	gconstpointer _tmp13_ = NULL;
	gulong name_id;
	BoxesCollectionItem* _tmp14_;
	gulong _tmp15_;
#line 204 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	g_return_if_fail (self != NULL);
#line 204 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	g_return_if_fail (item != NULL);
#line 205 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	_tmp0_ = item;
#line 205 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	_tmp1_ = g_object_get_data ((GObject*) _tmp0_, "iter");
#line 205 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	_tmp2_ = __gtk_tree_iter_dup0 ((GtkTreeIter*) _tmp1_);
#line 205 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	iter = _tmp2_;
#line 206 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	_tmp3_ = iter;
#line 206 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	if (_tmp3_ == NULL) {
#line 207 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
		g_debug ("collection-view.vala:207: item not in view or already removed");
#line 208 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
		_g_free0 (iter);
#line 208 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
		return;
#line 1878 "collection-view.c"
	}
#line 211 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	_tmp4_ = self->priv->model;
#line 211 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	_tmp5_ = iter;
#line 211 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	_tmp6_ = *_tmp5_;
#line 211 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	gtk_list_store_remove (_tmp4_, &_tmp6_);
#line 212 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	_tmp7_ = item;
#line 212 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	g_object_set_data_full ((GObject*) _tmp7_, "iter", NULL, g_free);
#line 214 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	_tmp8_ = item;
#line 214 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	_tmp9_ = g_object_get_data ((GObject*) _tmp8_, "pixbuf_id");
#line 214 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	pixbuf_id = (gulong) ((guintptr) _tmp9_);
#line 215 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	_tmp10_ = item;
#line 215 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	_tmp11_ = pixbuf_id;
#line 215 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	g_signal_handler_disconnect ((GObject*) _tmp10_, _tmp11_);
#line 216 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	_tmp12_ = item;
#line 216 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	_tmp13_ = g_object_get_data ((GObject*) _tmp12_, "name_id");
#line 216 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	name_id = (gulong) ((guintptr) _tmp13_);
#line 217 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	_tmp14_ = item;
#line 217 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	_tmp15_ = name_id;
#line 217 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	g_signal_handler_disconnect ((GObject*) _tmp14_, _tmp15_);
#line 204 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	_g_free0 (iter);
#line 1918 "collection-view.c"
}


static GtkTreePath* boxes_collection_view_get_path_for_item (BoxesCollectionView* self, BoxesCollectionItem* item) {
	GtkTreePath* result = NULL;
	BoxesCollectionItem* _tmp0_;
	gconstpointer _tmp1_ = NULL;
	GtkTreeIter* _tmp2_;
	GtkTreeIter* iter;
	GtkTreeIter* _tmp3_;
	GtkListStore* _tmp4_;
	GtkTreeIter* _tmp5_;
	GtkTreeIter _tmp6_;
	GtkTreePath* _tmp7_ = NULL;
#line 220 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 220 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	g_return_val_if_fail (item != NULL, NULL);
#line 221 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	_tmp0_ = item;
#line 221 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	_tmp1_ = g_object_get_data ((GObject*) _tmp0_, "iter");
#line 221 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	_tmp2_ = __gtk_tree_iter_dup0 ((GtkTreeIter*) _tmp1_);
#line 221 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	iter = _tmp2_;
#line 222 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	_tmp3_ = iter;
#line 222 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	if (_tmp3_ == NULL) {
#line 223 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
		result = NULL;
#line 223 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
		_g_free0 (iter);
#line 223 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
		return result;
#line 1955 "collection-view.c"
	}
#line 224 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	_tmp4_ = self->priv->model;
#line 224 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	_tmp5_ = iter;
#line 224 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	_tmp6_ = *_tmp5_;
#line 224 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	_tmp7_ = gtk_tree_model_get_path ((GtkTreeModel*) _tmp4_, &_tmp6_);
#line 224 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	result = _tmp7_;
#line 224 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	_g_free0 (iter);
#line 224 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	return result;
#line 1971 "collection-view.c"
}


static BoxesCollectionItem* boxes_collection_view_get_item_for_path (BoxesCollectionView* self, GtkTreePath* path) {
	BoxesCollectionItem* result = NULL;
	GtkTreeIter iter = {0};
	GValue value = {0};
	GtkListStore* _tmp0_;
	GtkTreePath* _tmp1_;
	GtkTreeIter _tmp2_ = {0};
	GtkListStore* _tmp3_;
	GtkTreeIter _tmp4_;
	GValue _tmp5_ = {0};
	GValue _tmp6_;
	BoxesCollectionItem* _tmp7_;
#line 227 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 227 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	g_return_val_if_fail (path != NULL, NULL);
#line 231 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	_tmp0_ = self->priv->model;
#line 231 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	_tmp1_ = path;
#line 231 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	gtk_tree_model_get_iter ((GtkTreeModel*) _tmp0_, &_tmp2_, _tmp1_);
#line 231 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	iter = _tmp2_;
#line 232 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	_tmp3_ = self->priv->model;
#line 232 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	_tmp4_ = iter;
#line 232 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	gtk_tree_model_get_value ((GtkTreeModel*) _tmp3_, &_tmp4_, (gint) BOXES_COLLECTION_VIEW_MODEL_COLUMNS_ITEM, &_tmp5_);
#line 232 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	G_IS_VALUE (&value) ? (g_value_unset (&value), NULL) : NULL;
#line 232 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	value = _tmp5_;
#line 234 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	_tmp6_ = value;
#line 234 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	_tmp7_ = _g_object_ref0 (g_value_get_object (&_tmp6_));
#line 234 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	result = _tmp7_;
#line 234 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	G_IS_VALUE (&value) ? (g_value_unset (&value), NULL) : NULL;
#line 234 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	return result;
#line 2019 "collection-view.c"
}


static gint __lambda6_ (BoxesCollectionView* self, GtkTreeModel* model, GtkTreeIter* a, GtkTreeIter* b) {
	gint result = 0;
	BoxesCollectionItem* item_a = NULL;
	BoxesCollectionItem* item_b = NULL;
	GtkTreeModel* _tmp0_;
	GtkTreeIter _tmp1_;
	GtkTreeModel* _tmp2_;
	GtkTreeIter _tmp3_;
	gboolean _tmp4_ = FALSE;
	BoxesCollectionItem* _tmp5_;
	gboolean _tmp7_;
	BoxesCollectionItem* _tmp8_;
	const gchar* _tmp9_;
	const gchar* _tmp10_;
	BoxesCollectionItem* _tmp11_;
	const gchar* _tmp12_;
	const gchar* _tmp13_;
	gint _tmp14_ = 0;
#line 242 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	g_return_val_if_fail (model != NULL, 0);
#line 242 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	g_return_val_if_fail (a != NULL, 0);
#line 242 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	g_return_val_if_fail (b != NULL, 0);
#line 245 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	_tmp0_ = model;
#line 245 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	_tmp1_ = *a;
#line 245 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	gtk_tree_model_get (_tmp0_, &_tmp1_, BOXES_COLLECTION_VIEW_MODEL_COLUMNS_ITEM, &item_a, -1);
#line 246 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	_tmp2_ = model;
#line 246 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	_tmp3_ = *b;
#line 246 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	gtk_tree_model_get (_tmp2_, &_tmp3_, BOXES_COLLECTION_VIEW_MODEL_COLUMNS_ITEM, &item_b, -1);
#line 248 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	_tmp5_ = item_a;
#line 248 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	if (_tmp5_ == NULL) {
#line 248 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
		_tmp4_ = TRUE;
#line 2065 "collection-view.c"
	} else {
		BoxesCollectionItem* _tmp6_;
#line 248 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
		_tmp6_ = item_b;
#line 248 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
		_tmp4_ = _tmp6_ == NULL;
#line 2072 "collection-view.c"
	}
#line 248 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	_tmp7_ = _tmp4_;
#line 248 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	if (_tmp7_) {
#line 249 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
		result = 0;
#line 249 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
		_g_object_unref0 (item_b);
#line 249 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
		_g_object_unref0 (item_a);
#line 249 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
		return result;
#line 2086 "collection-view.c"
	}
#line 251 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	_tmp8_ = item_a;
#line 251 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	_tmp9_ = boxes_collection_item_get_name (_tmp8_);
#line 251 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	_tmp10_ = _tmp9_;
#line 251 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	_tmp11_ = item_b;
#line 251 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	_tmp12_ = boxes_collection_item_get_name (_tmp11_);
#line 251 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	_tmp13_ = _tmp12_;
#line 251 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	_tmp14_ = g_utf8_collate (_tmp10_, _tmp13_);
#line 251 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	result = _tmp14_;
#line 251 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	_g_object_unref0 (item_b);
#line 251 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	_g_object_unref0 (item_a);
#line 251 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	return result;
#line 2110 "collection-view.c"
}


static gint ___lambda6__gtk_tree_iter_compare_func (GtkTreeModel* model, GtkTreeIter* a, GtkTreeIter* b, gpointer self) {
	gint result;
	result = __lambda6_ (self, model, a, b);
#line 242 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	return result;
#line 2119 "collection-view.c"
}


static gboolean __lambda7_ (BoxesCollectionView* self, GdkEventButton* event) {
	gboolean result = FALSE;
	BoxesApp* _tmp0_;
	gboolean _tmp1_;
	gboolean _tmp2_;
#line 257 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	g_return_val_if_fail (event != NULL, FALSE);
#line 258 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	_tmp0_ = boxes_app_app;
#line 258 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	_tmp1_ = boxes_app_get_selection_mode (_tmp0_);
#line 258 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	_tmp2_ = _tmp1_;
#line 258 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	if (_tmp2_) {
#line 2138 "collection-view.c"
		GdkModifierType _tmp3_;
		GtkIconView* _tmp4_;
		GdkModifierType _tmp5_ = 0;
#line 259 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
		_tmp3_ = (*event).state;
#line 259 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
		_tmp4_ = self->priv->icon_view;
#line 259 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
		_tmp5_ = gtk_widget_get_modifier_mask ((GtkWidget*) _tmp4_, GDK_MODIFIER_INTENT_MODIFY_SELECTION);
#line 259 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
		(*event).state = _tmp3_ | _tmp5_;
#line 2150 "collection-view.c"
	}
#line 261 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	result = FALSE;
#line 261 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	return result;
#line 2156 "collection-view.c"
}


static gboolean ___lambda7__gtk_widget_button_press_event (GtkWidget* _sender, GdkEventButton* event, gpointer self) {
	gboolean result;
	result = __lambda7_ (self, event);
#line 257 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	return result;
#line 2165 "collection-view.c"
}


static void __lambda9_ (BoxesCollectionView* self, GtkIconView* view, GtkTreePath* path) {
	GtkTreePath* _tmp0_;
	BoxesCollectionItem* _tmp1_ = NULL;
	BoxesCollectionItem* item;
	BoxesApp* _tmp2_;
#line 268 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	g_return_if_fail (view != NULL);
#line 268 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	g_return_if_fail (path != NULL);
#line 269 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	_tmp0_ = path;
#line 269 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	_tmp1_ = boxes_collection_view_get_item_for_path (self, _tmp0_);
#line 269 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	item = _tmp1_;
#line 270 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	_tmp2_ = boxes_app_app;
#line 270 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	boxes_app_select_item (_tmp2_, item);
#line 268 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	_g_object_unref0 (item);
#line 2190 "collection-view.c"
}


static void ___lambda9__gtk_icon_view_item_activated (GtkIconView* _sender, GtkTreePath* path, gpointer self) {
#line 268 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	__lambda9_ (self, _sender, path);
#line 2197 "collection-view.c"
}


static void __lambda90_ (BoxesCollectionView* self) {
	BoxesApp* _tmp0_;
#line 273 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	_tmp0_ = boxes_app_app;
#line 273 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	g_object_notify ((GObject*) _tmp0_, "selected-items");
#line 2207 "collection-view.c"
}


static void ___lambda90__gtk_icon_view_selection_changed (GtkIconView* _sender, gpointer self) {
#line 272 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	__lambda90_ (self);
#line 2214 "collection-view.c"
}


static void boxes_collection_view_setup_view (BoxesCollectionView* self) {
	GtkListStore* _tmp0_;
	GtkListStore* _tmp1_;
	GtkListStore* _tmp2_;
	GtkListStore* _tmp3_;
	GtkIconView* _tmp4_;
	GtkIconView* _tmp5_;
	GtkStyleContext* _tmp6_ = NULL;
	GtkIconView* _tmp7_;
	GtkIconView* _tmp8_;
	GtkIconView* _tmp9_;
	GtkIconView* _tmp10_;
	GtkIconView* _tmp11_;
	GtkIconView* _tmp12_;
	GtkIconView* _tmp13_;
	GtkIconView* _tmp14_;
	GtkCellRendererPixbuf* _tmp15_;
	GtkCellRendererPixbuf* pixbuf_renderer;
	GtkIconView* _tmp16_;
	GtkIconView* _tmp17_;
	GtkCellRendererText* _tmp18_;
	GtkCellRendererText* text_renderer;
	GtkIconView* _tmp19_;
	GtkIconView* _tmp20_;
	GtkScrolledWindow* _tmp21_;
	GtkScrolledWindow* scrolled_window;
	GtkIconView* _tmp22_;
	GtkClutterActor* _tmp23_;
	GtkClutterActor* _tmp24_;
	GtkWidget* _tmp25_ = NULL;
	GtkStyleContext* _tmp26_ = NULL;
	GtkClutterActor* _tmp27_;
#line 237 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	g_return_if_fail (self != NULL);
#line 238 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	_tmp0_ = gtk_list_store_new (3, GDK_TYPE_PIXBUF, G_TYPE_STRING, BOXES_TYPE_COLLECTION_ITEM);
#line 238 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	_g_object_unref0 (self->priv->model);
#line 238 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	self->priv->model = _tmp0_;
#line 242 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	_tmp1_ = self->priv->model;
#line 242 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	gtk_tree_sortable_set_default_sort_func ((GtkTreeSortable*) _tmp1_, ___lambda6__gtk_tree_iter_compare_func, g_object_ref (self), g_object_unref);
#line 253 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	_tmp2_ = self->priv->model;
#line 253 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	gtk_tree_sortable_set_sort_column_id ((GtkTreeSortable*) _tmp2_, GTK_TREE_SORTABLE_DEFAULT_SORT_COLUMN_ID, GTK_SORT_ASCENDING);
#line 255 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	_tmp3_ = self->priv->model;
#line 255 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	_tmp4_ = (GtkIconView*) gtk_icon_view_new_with_model ((GtkTreeModel*) _tmp3_);
#line 255 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	g_object_ref_sink (_tmp4_);
#line 255 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	_g_object_unref0 (self->priv->icon_view);
#line 255 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	self->priv->icon_view = _tmp4_;
#line 256 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	_tmp5_ = self->priv->icon_view;
#line 256 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	_tmp6_ = gtk_widget_get_style_context ((GtkWidget*) _tmp5_);
#line 256 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	gtk_style_context_add_class (_tmp6_, "boxes-bg");
#line 257 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	_tmp7_ = self->priv->icon_view;
#line 257 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	g_signal_connect_object ((GtkWidget*) _tmp7_, "button-press-event", (GCallback) ___lambda7__gtk_widget_button_press_event, self, 0);
#line 263 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	_tmp8_ = self->priv->icon_view;
#line 263 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	gtk_icon_view_set_item_width (_tmp8_, 185);
#line 264 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	_tmp9_ = self->priv->icon_view;
#line 264 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	gtk_icon_view_set_column_spacing (_tmp9_, 20);
#line 265 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	_tmp10_ = self->priv->icon_view;
#line 265 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	gtk_icon_view_set_margin (_tmp10_, 16);
#line 266 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	_tmp11_ = self->priv->icon_view;
#line 266 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	boxes_icon_view_activate_on_single_click (_tmp11_, TRUE);
#line 267 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	_tmp12_ = self->priv->icon_view;
#line 267 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	gtk_icon_view_set_selection_mode (_tmp12_, GTK_SELECTION_NONE);
#line 268 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	_tmp13_ = self->priv->icon_view;
#line 268 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	g_signal_connect_object (_tmp13_, "item-activated", (GCallback) ___lambda9__gtk_icon_view_item_activated, self, 0);
#line 272 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	_tmp14_ = self->priv->icon_view;
#line 272 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	g_signal_connect_object (_tmp14_, "selection-changed", (GCallback) ___lambda90__gtk_icon_view_selection_changed, self, 0);
#line 275 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	_tmp15_ = (GtkCellRendererPixbuf*) gtk_cell_renderer_pixbuf_new ();
#line 275 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	g_object_ref_sink (_tmp15_);
#line 275 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	pixbuf_renderer = _tmp15_;
#line 276 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	g_object_set ((GtkCellRenderer*) pixbuf_renderer, "xalign", 0.5f, NULL);
#line 277 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	g_object_set ((GtkCellRenderer*) pixbuf_renderer, "yalign", 0.5f, NULL);
#line 278 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	_tmp16_ = self->priv->icon_view;
#line 278 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	gtk_cell_layout_pack_start ((GtkCellLayout*) _tmp16_, (GtkCellRenderer*) pixbuf_renderer, FALSE);
#line 279 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	_tmp17_ = self->priv->icon_view;
#line 279 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	gtk_cell_layout_add_attribute ((GtkCellLayout*) _tmp17_, (GtkCellRenderer*) pixbuf_renderer, "pixbuf", (gint) BOXES_COLLECTION_VIEW_MODEL_COLUMNS_SCREENSHOT);
#line 281 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	_tmp18_ = (GtkCellRendererText*) gtk_cell_renderer_text_new ();
#line 281 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	g_object_ref_sink (_tmp18_);
#line 281 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	text_renderer = _tmp18_;
#line 282 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	g_object_set ((GtkCellRenderer*) text_renderer, "xalign", 0.5f, NULL);
#line 283 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	g_object_set (text_renderer, "foreground", "white", NULL);
#line 284 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	_tmp19_ = self->priv->icon_view;
#line 284 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	gtk_cell_layout_pack_start ((GtkCellLayout*) _tmp19_, (GtkCellRenderer*) text_renderer, FALSE);
#line 285 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	_tmp20_ = self->priv->icon_view;
#line 285 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	gtk_cell_layout_add_attribute ((GtkCellLayout*) _tmp20_, (GtkCellRenderer*) text_renderer, "text", (gint) BOXES_COLLECTION_VIEW_MODEL_COLUMNS_TITLE);
#line 287 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	_tmp21_ = (GtkScrolledWindow*) gtk_scrolled_window_new (NULL, NULL);
#line 287 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	g_object_ref_sink (_tmp21_);
#line 287 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	scrolled_window = _tmp21_;
#line 290 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	_tmp22_ = self->priv->icon_view;
#line 290 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	gtk_container_add ((GtkContainer*) scrolled_window, (GtkWidget*) _tmp22_);
#line 291 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	gtk_widget_show_all ((GtkWidget*) scrolled_window);
#line 293 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	_tmp23_ = (GtkClutterActor*) gtk_clutter_actor_new_with_contents ((GtkWidget*) scrolled_window);
#line 293 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	g_object_ref_sink (_tmp23_);
#line 293 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	_g_object_unref0 (self->priv->gtkactor);
#line 293 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	self->priv->gtkactor = _tmp23_;
#line 294 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	_tmp24_ = self->priv->gtkactor;
#line 294 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	_tmp25_ = gtk_clutter_actor_get_widget (_tmp24_);
#line 294 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	_tmp26_ = gtk_widget_get_style_context (_tmp25_);
#line 294 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	gtk_style_context_add_class (_tmp26_, "boxes-bg");
#line 295 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	_tmp27_ = self->priv->gtkactor;
#line 295 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	clutter_actor_set_name ((ClutterActor*) _tmp27_, "collection-view");
#line 237 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	_g_object_unref0 (scrolled_window);
#line 237 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	_g_object_unref0 (text_renderer);
#line 237 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	_g_object_unref0 (pixbuf_renderer);
#line 2388 "collection-view.c"
}


static ClutterActor* boxes_collection_view_real_get_actor (BoxesUI* base) {
	ClutterActor* result;
	BoxesCollectionView* self;
	GtkClutterActor* _tmp0_;
#line 5 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	self = (BoxesCollectionView*) base;
#line 5 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	_tmp0_ = self->priv->gtkactor;
#line 5 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	result = (ClutterActor*) _tmp0_;
#line 5 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	return result;
#line 2404 "collection-view.c"
}


BoxesCategory* boxes_collection_view_get_category (BoxesCollectionView* self) {
	BoxesCategory* result;
	BoxesCategory* _tmp0_;
#line 11 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 11 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	_tmp0_ = self->priv->_category;
#line 11 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	result = _tmp0_;
#line 11 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	return result;
#line 2419 "collection-view.c"
}


void boxes_collection_view_set_category (BoxesCollectionView* self, BoxesCategory* value) {
	BoxesCategory* _tmp0_;
	BoxesCategory* _tmp1_;
#line 12 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	g_return_if_fail (self != NULL);
#line 13 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	_tmp0_ = value;
#line 13 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	_tmp1_ = _g_object_ref0 (_tmp0_);
#line 13 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	_g_object_unref0 (self->priv->_category);
#line 13 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	self->priv->_category = _tmp1_;
#line 12 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	g_object_notify ((GObject *) self, "category");
#line 2438 "collection-view.c"
}


void boxes_collection_view_set_visible (BoxesCollectionView* self, gboolean value) {
	GtkIconView* _tmp0_;
	gboolean _tmp1_;
#line 27 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	g_return_if_fail (self != NULL);
#line 27 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	_tmp0_ = self->priv->icon_view;
#line 27 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	_tmp1_ = value;
#line 27 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	gtk_widget_set_visible ((GtkWidget*) _tmp0_, _tmp1_);
#line 27 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	g_object_notify ((GObject *) self, "visible");
#line 2455 "collection-view.c"
}


static void boxes_collection_view_class_init (BoxesCollectionViewClass * klass) {
#line 4 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	boxes_collection_view_parent_class = g_type_class_peek_parent (klass);
#line 4 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	g_type_class_add_private (klass, sizeof (BoxesCollectionViewPrivate));
#line 4 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	BOXES_UI_CLASS (klass)->ui_state_changed = boxes_collection_view_real_ui_state_changed;
#line 4 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	BOXES_UI_CLASS (klass)->get_actor = boxes_collection_view_real_get_actor;
#line 4 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	G_OBJECT_CLASS (klass)->get_property = _vala_boxes_collection_view_get_property;
#line 4 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	G_OBJECT_CLASS (klass)->set_property = _vala_boxes_collection_view_set_property;
#line 4 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	G_OBJECT_CLASS (klass)->finalize = boxes_collection_view_finalize;
#line 4 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	g_object_class_install_property (G_OBJECT_CLASS (klass), BOXES_COLLECTION_VIEW_ACTOR, g_param_spec_object ("actor", "actor", "actor", clutter_actor_get_type (), G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE));
#line 4 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	g_object_class_install_property (G_OBJECT_CLASS (klass), BOXES_COLLECTION_VIEW_CATEGORY, g_param_spec_object ("category", "category", "category", BOXES_TYPE_CATEGORY, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE));
#line 4 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	g_object_class_install_property (G_OBJECT_CLASS (klass), BOXES_COLLECTION_VIEW_VISIBLE, g_param_spec_boolean ("visible", "visible", "visible", FALSE, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_WRITABLE));
#line 2480 "collection-view.c"
}


static void boxes_collection_view_instance_init (BoxesCollectionView * self) {
#line 4 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	self->priv = BOXES_COLLECTION_VIEW_GET_PRIVATE (self);
#line 2487 "collection-view.c"
}


static void boxes_collection_view_finalize (GObject* obj) {
	BoxesCollectionView * self;
#line 4 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, BOXES_TYPE_COLLECTION_VIEW, BoxesCollectionView);
#line 7 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	_g_object_unref0 (self->priv->gtkactor);
#line 9 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	_g_object_unref0 (self->priv->_category);
#line 18 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	_g_object_unref0 (self->priv->icon_view);
#line 24 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	_g_object_unref0 (self->priv->model);
#line 4 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	G_OBJECT_CLASS (boxes_collection_view_parent_class)->finalize (obj);
#line 2505 "collection-view.c"
}


GType boxes_collection_view_get_type (void) {
	static volatile gsize boxes_collection_view_type_id__volatile = 0;
	if (g_once_init_enter (&boxes_collection_view_type_id__volatile)) {
		static const GTypeInfo g_define_type_info = { sizeof (BoxesCollectionViewClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) boxes_collection_view_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (BoxesCollectionView), 0, (GInstanceInitFunc) boxes_collection_view_instance_init, NULL };
		GType boxes_collection_view_type_id;
		boxes_collection_view_type_id = g_type_register_static (BOXES_TYPE_UI, "BoxesCollectionView", &g_define_type_info, 0);
		g_once_init_leave (&boxes_collection_view_type_id__volatile, boxes_collection_view_type_id);
	}
	return boxes_collection_view_type_id__volatile;
}


static void _vala_boxes_collection_view_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec) {
	BoxesCollectionView * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, BOXES_TYPE_COLLECTION_VIEW, BoxesCollectionView);
#line 4 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	switch (property_id) {
#line 4 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
		case BOXES_COLLECTION_VIEW_ACTOR:
#line 4 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
		g_value_set_object (value, boxes_ui_get_actor ((BoxesUI*) self));
#line 4 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
		break;
#line 4 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
		case BOXES_COLLECTION_VIEW_CATEGORY:
#line 4 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
		g_value_set_object (value, boxes_collection_view_get_category (self));
#line 4 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
		break;
#line 2538 "collection-view.c"
		default:
#line 4 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
#line 4 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
		break;
#line 2544 "collection-view.c"
	}
}


static void _vala_boxes_collection_view_set_property (GObject * object, guint property_id, const GValue * value, GParamSpec * pspec) {
	BoxesCollectionView * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, BOXES_TYPE_COLLECTION_VIEW, BoxesCollectionView);
#line 4 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
	switch (property_id) {
#line 4 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
		case BOXES_COLLECTION_VIEW_CATEGORY:
#line 4 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
		boxes_collection_view_set_category (self, g_value_get_object (value));
#line 4 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
		break;
#line 4 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
		case BOXES_COLLECTION_VIEW_VISIBLE:
#line 4 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
		boxes_collection_view_set_visible (self, g_value_get_boolean (value));
#line 4 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
		break;
#line 2566 "collection-view.c"
		default:
#line 4 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
#line 4 "/extra-data/checkout/gnome/gnome-boxes/src/collection-view.vala"
		break;
#line 2572 "collection-view.c"
	}
}


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


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



