/* ShortcutsList.c generated by valac 0.56.19, the Vala compiler
 * generated from ShortcutsList.vala, do not modify */

/*
* Copyright (c) 2017-2018 elementary, LLC. (https://elementary.io)
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public
* License as published by the Free Software Foundation; either
* version 2 of the License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
* General Public License for more details.
*
* You should have received a copy of the GNU General Public
* License along with this program; if not, write to the
* Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
* Boston, MA 02110-1301 USA
*/

#include <glib-object.h>
#include <stdlib.h>
#include <string.h>
#include <glib.h>
#include <gio/gio.h>
#include "keyboard.h"
#include <glib/gi18n-lib.h>

#if !defined(VALA_STRICT_C)
#if !defined(__clang__) && defined(__GNUC__) && (__GNUC__ >= 14)
#pragma GCC diagnostic warning "-Wincompatible-pointer-types"
#elif defined(__clang__) && (__clang_major__ >= 16)
#pragma clang diagnostic ignored "-Wincompatible-function-pointer-types"
#pragma clang diagnostic ignored "-Wincompatible-pointer-types"
#endif
#endif

#define KEYBOARD_SHORTCUTS_TYPE_GROUP (keyboard_shortcuts_group_get_type ())
typedef struct _KeyboardShortcutsGroup KeyboardShortcutsGroup;
#define _g_free0(var) (var = (g_free (var), NULL))
#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL)))
enum  {
	KEYBOARD_SHORTCUTS_ACTION_0_PROPERTY,
	KEYBOARD_SHORTCUTS_ACTION_SCHEMA_PROPERTY,
	KEYBOARD_SHORTCUTS_ACTION_ACTION_PROPERTY,
	KEYBOARD_SHORTCUTS_ACTION_KEY_PROPERTY,
	KEYBOARD_SHORTCUTS_ACTION_NUM_PROPERTIES
};
static GParamSpec* keyboard_shortcuts_action_properties[KEYBOARD_SHORTCUTS_ACTION_NUM_PROPERTIES];

#define KEYBOARD_SHORTCUTS_TYPE_SHORTCUTS_LIST (keyboard_shortcuts_shortcuts_list_get_type ())
#define KEYBOARD_SHORTCUTS_SHORTCUTS_LIST(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), KEYBOARD_SHORTCUTS_TYPE_SHORTCUTS_LIST, KeyboardShortcutsShortcutsList))
#define KEYBOARD_SHORTCUTS_SHORTCUTS_LIST_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), KEYBOARD_SHORTCUTS_TYPE_SHORTCUTS_LIST, KeyboardShortcutsShortcutsListClass))
#define KEYBOARD_SHORTCUTS_IS_SHORTCUTS_LIST(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), KEYBOARD_SHORTCUTS_TYPE_SHORTCUTS_LIST))
#define KEYBOARD_SHORTCUTS_IS_SHORTCUTS_LIST_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), KEYBOARD_SHORTCUTS_TYPE_SHORTCUTS_LIST))
#define KEYBOARD_SHORTCUTS_SHORTCUTS_LIST_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), KEYBOARD_SHORTCUTS_TYPE_SHORTCUTS_LIST, KeyboardShortcutsShortcutsListClass))

typedef struct _KeyboardShortcutsShortcutsList KeyboardShortcutsShortcutsList;
typedef struct _KeyboardShortcutsShortcutsListClass KeyboardShortcutsShortcutsListClass;
typedef struct _KeyboardShortcutsShortcutsListPrivate KeyboardShortcutsShortcutsListPrivate;
enum  {
	KEYBOARD_SHORTCUTS_SHORTCUTS_LIST_0_PROPERTY,
	KEYBOARD_SHORTCUTS_SHORTCUTS_LIST_NUM_PROPERTIES
};
static GParamSpec* keyboard_shortcuts_shortcuts_list_properties[KEYBOARD_SHORTCUTS_SHORTCUTS_LIST_NUM_PROPERTIES];

#define KEYBOARD_SHORTCUTS_TYPE_SETTINGS (keyboard_shortcuts_settings_get_type ())
#define KEYBOARD_SHORTCUTS_SETTINGS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), KEYBOARD_SHORTCUTS_TYPE_SETTINGS, KeyboardShortcutsSettings))
#define KEYBOARD_SHORTCUTS_SETTINGS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), KEYBOARD_SHORTCUTS_TYPE_SETTINGS, KeyboardShortcutsSettingsClass))
#define KEYBOARD_SHORTCUTS_IS_SETTINGS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), KEYBOARD_SHORTCUTS_TYPE_SETTINGS))
#define KEYBOARD_SHORTCUTS_IS_SETTINGS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), KEYBOARD_SHORTCUTS_TYPE_SETTINGS))
#define KEYBOARD_SHORTCUTS_SETTINGS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), KEYBOARD_SHORTCUTS_TYPE_SETTINGS, KeyboardShortcutsSettingsClass))

typedef struct _KeyboardShortcutsSettings KeyboardShortcutsSettings;
typedef struct _KeyboardShortcutsSettingsClass KeyboardShortcutsSettingsClass;

struct _KeyboardShortcutsGroup {
	gchar* icon_name;
	gchar* label;
	GListStore* list;
};

struct _KeyboardShortcutsActionPrivate {
	KeyboardShortcutsSchema _schema;
	gchar* _action;
	gchar* _key;
};

struct _KeyboardShortcutsShortcutsList {
	GObject parent_instance;
	KeyboardShortcutsShortcutsListPrivate * priv;
	KeyboardShortcutsGroup* groups;
	gint groups_length1;
	gint _groups_size_;
	KeyboardShortcutsGroup windows_group;
	KeyboardShortcutsGroup workspaces_group;
	KeyboardShortcutsGroup screenshot_group;
	KeyboardShortcutsGroup launchers_group;
	KeyboardShortcutsGroup media_group;
	KeyboardShortcutsGroup a11y_group;
	KeyboardShortcutsGroup system_group;
	KeyboardShortcutsGroup keyboard_layouts_group;
	KeyboardShortcutsGroup custom_group;
};

struct _KeyboardShortcutsShortcutsListClass {
	GObjectClass parent_class;
};

static gint KeyboardShortcutsAction_private_offset;
static gpointer keyboard_shortcuts_action_parent_class = NULL;
static gpointer keyboard_shortcuts_shortcuts_list_parent_class = NULL;
static GOnce keyboard_shortcuts_shortcuts_list_instance;
static GOnce keyboard_shortcuts_shortcuts_list_instance = G_ONCE_INIT;

VALA_EXTERN GType keyboard_shortcuts_group_get_type (void) G_GNUC_CONST ;
VALA_EXTERN KeyboardShortcutsGroup* keyboard_shortcuts_group_dup (const KeyboardShortcutsGroup* self);
VALA_EXTERN void keyboard_shortcuts_group_free (KeyboardShortcutsGroup* self);
VALA_EXTERN void keyboard_shortcuts_group_copy (const KeyboardShortcutsGroup* self,
                                    KeyboardShortcutsGroup* dest);
VALA_EXTERN void keyboard_shortcuts_group_destroy (KeyboardShortcutsGroup* self);
static void keyboard_shortcuts_action_finalize (GObject * obj);
static GType keyboard_shortcuts_action_get_type_once (void);
static void _vala_keyboard_shortcuts_action_get_property (GObject * object,
                                                   guint property_id,
                                                   GValue * value,
                                                   GParamSpec * pspec);
static void _vala_keyboard_shortcuts_action_set_property (GObject * object,
                                                   guint property_id,
                                                   const GValue * value,
                                                   GParamSpec * pspec);
VALA_EXTERN GType keyboard_shortcuts_shortcuts_list_get_type (void) G_GNUC_CONST ;
static void _vala_KeyboardShortcutsGroup_array_free (KeyboardShortcutsGroup * array,
                                              gssize array_length);
VALA_EXTERN KeyboardShortcutsShortcutsList* keyboard_shortcuts_shortcuts_list_get_default (void);
static KeyboardShortcutsShortcutsList* __lambda57_ (void);
static KeyboardShortcutsShortcutsList* keyboard_shortcuts_shortcuts_list_new (void);
static KeyboardShortcutsShortcutsList* keyboard_shortcuts_shortcuts_list_construct (GType object_type);
static gpointer ___lambda57__gthread_func (gpointer self);
VALA_EXTERN GListStore* keyboard_shortcuts_shortcuts_list_get_model (KeyboardShortcutsShortcutsList* self,
                                                         KeyboardShortcutsSectionID group);
VALA_EXTERN void keyboard_shortcuts_shortcuts_list_add_action (KeyboardShortcutsShortcutsList* self,
                                                   KeyboardShortcutsGroup* group,
                                                   KeyboardShortcutsSchema schema,
                                                   const gchar* action,
                                                   const gchar* key);
VALA_EXTERN GType keyboard_shortcuts_settings_get_type (void) G_GNUC_CONST ;
VALA_EXTERN KeyboardShortcutsSettings* keyboard_shortcuts_settings_get_default (void);
VALA_EXTERN gboolean keyboard_shortcuts_settings_valid (KeyboardShortcutsSettings* self,
                                            KeyboardShortcutsSchema schema,
                                            const gchar* key);
static GObject * keyboard_shortcuts_shortcuts_list_constructor (GType type,
                                                         guint n_construct_properties,
                                                         GObjectConstructParam * construct_properties);
static void keyboard_shortcuts_shortcuts_list_finalize (GObject * obj);
static GType keyboard_shortcuts_shortcuts_list_get_type_once (void);

static gpointer
_g_object_ref0 (gpointer self)
{
	return self ? g_object_ref (self) : NULL;
}

void
keyboard_shortcuts_group_copy (const KeyboardShortcutsGroup* self,
                               KeyboardShortcutsGroup* dest)
{
	const gchar* _tmp0_;
	gchar* _tmp1_;
	const gchar* _tmp2_;
	gchar* _tmp3_;
	GListStore* _tmp4_;
	GListStore* _tmp5_;
	_tmp0_ = (*self).icon_name;
	_tmp1_ = g_strdup (_tmp0_);
	_g_free0 ((*dest).icon_name);
	(*dest).icon_name = _tmp1_;
	_tmp2_ = (*self).label;
	_tmp3_ = g_strdup (_tmp2_);
	_g_free0 ((*dest).label);
	(*dest).label = _tmp3_;
	_tmp4_ = (*self).list;
	_tmp5_ = _g_object_ref0 (_tmp4_);
	_g_object_unref0 ((*dest).list);
	(*dest).list = _tmp5_;
}

void
keyboard_shortcuts_group_destroy (KeyboardShortcutsGroup* self)
{
	_g_free0 ((*self).icon_name);
	_g_free0 ((*self).label);
	_g_object_unref0 ((*self).list);
}

KeyboardShortcutsGroup*
keyboard_shortcuts_group_dup (const KeyboardShortcutsGroup* self)
{
	KeyboardShortcutsGroup* dup;
	dup = g_new0 (KeyboardShortcutsGroup, 1);
	keyboard_shortcuts_group_copy (self, dup);
	return dup;
}

void
keyboard_shortcuts_group_free (KeyboardShortcutsGroup* self)
{
	keyboard_shortcuts_group_destroy (self);
	g_free (self);
}

static GType
keyboard_shortcuts_group_get_type_once (void)
{
	GType keyboard_shortcuts_group_type_id;
	keyboard_shortcuts_group_type_id = g_boxed_type_register_static ("KeyboardShortcutsGroup", (GBoxedCopyFunc) keyboard_shortcuts_group_dup, (GBoxedFreeFunc) keyboard_shortcuts_group_free);
	return keyboard_shortcuts_group_type_id;
}

GType
keyboard_shortcuts_group_get_type (void)
{
	static volatile gsize keyboard_shortcuts_group_type_id__once = 0;
	if (g_once_init_enter (&keyboard_shortcuts_group_type_id__once)) {
		GType keyboard_shortcuts_group_type_id;
		keyboard_shortcuts_group_type_id = keyboard_shortcuts_group_get_type_once ();
		g_once_init_leave (&keyboard_shortcuts_group_type_id__once, keyboard_shortcuts_group_type_id);
	}
	return keyboard_shortcuts_group_type_id__once;
}

static inline gpointer
keyboard_shortcuts_action_get_instance_private (KeyboardShortcutsAction* self)
{
	return G_STRUCT_MEMBER_P (self, KeyboardShortcutsAction_private_offset);
}

KeyboardShortcutsAction*
keyboard_shortcuts_action_construct (GType object_type,
                                     KeyboardShortcutsSchema schema,
                                     const gchar* action,
                                     const gchar* key)
{
	KeyboardShortcutsAction * self = NULL;
	g_return_val_if_fail (action != NULL, NULL);
	g_return_val_if_fail (key != NULL, NULL);
	self = (KeyboardShortcutsAction*) g_object_new (object_type, "schema", schema, "action", action, "key", key, NULL);
	return self;
}

KeyboardShortcutsAction*
keyboard_shortcuts_action_new (KeyboardShortcutsSchema schema,
                               const gchar* action,
                               const gchar* key)
{
	return keyboard_shortcuts_action_construct (KEYBOARD_SHORTCUTS_TYPE_ACTION, schema, action, key);
}

KeyboardShortcutsSchema
keyboard_shortcuts_action_get_schema (KeyboardShortcutsAction* self)
{
	KeyboardShortcutsSchema result;
	g_return_val_if_fail (self != NULL, 0);
	result = self->priv->_schema;
	return result;
}

static void
keyboard_shortcuts_action_set_schema (KeyboardShortcutsAction* self,
                                      KeyboardShortcutsSchema value)
{
	KeyboardShortcutsSchema old_value;
	g_return_if_fail (self != NULL);
	old_value = keyboard_shortcuts_action_get_schema (self);
	if (old_value != value) {
		self->priv->_schema = value;
		g_object_notify_by_pspec ((GObject *) self, keyboard_shortcuts_action_properties[KEYBOARD_SHORTCUTS_ACTION_SCHEMA_PROPERTY]);
	}
}

const gchar*
keyboard_shortcuts_action_get_action (KeyboardShortcutsAction* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_action;
	result = _tmp0_;
	return result;
}

static void
keyboard_shortcuts_action_set_action (KeyboardShortcutsAction* self,
                                      const gchar* value)
{
	gchar* old_value;
	g_return_if_fail (self != NULL);
	old_value = keyboard_shortcuts_action_get_action (self);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_action);
		self->priv->_action = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, keyboard_shortcuts_action_properties[KEYBOARD_SHORTCUTS_ACTION_ACTION_PROPERTY]);
	}
}

const gchar*
keyboard_shortcuts_action_get_key (KeyboardShortcutsAction* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_key;
	result = _tmp0_;
	return result;
}

static void
keyboard_shortcuts_action_set_key (KeyboardShortcutsAction* self,
                                   const gchar* value)
{
	gchar* old_value;
	g_return_if_fail (self != NULL);
	old_value = keyboard_shortcuts_action_get_key (self);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_key);
		self->priv->_key = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, keyboard_shortcuts_action_properties[KEYBOARD_SHORTCUTS_ACTION_KEY_PROPERTY]);
	}
}

static void
keyboard_shortcuts_action_class_init (KeyboardShortcutsActionClass * klass,
                                      gpointer klass_data)
{
	keyboard_shortcuts_action_parent_class = g_type_class_peek_parent (klass);
	g_type_class_adjust_private_offset (klass, &KeyboardShortcutsAction_private_offset);
	G_OBJECT_CLASS (klass)->get_property = _vala_keyboard_shortcuts_action_get_property;
	G_OBJECT_CLASS (klass)->set_property = _vala_keyboard_shortcuts_action_set_property;
	G_OBJECT_CLASS (klass)->finalize = keyboard_shortcuts_action_finalize;
	g_object_class_install_property (G_OBJECT_CLASS (klass), KEYBOARD_SHORTCUTS_ACTION_SCHEMA_PROPERTY, keyboard_shortcuts_action_properties[KEYBOARD_SHORTCUTS_ACTION_SCHEMA_PROPERTY] = g_param_spec_enum ("schema", "schema", "schema", KEYBOARD_SHORTCUTS_TYPE_SCHEMA, 0, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE | G_PARAM_CONSTRUCT_ONLY));
	g_object_class_install_property (G_OBJECT_CLASS (klass), KEYBOARD_SHORTCUTS_ACTION_ACTION_PROPERTY, keyboard_shortcuts_action_properties[KEYBOARD_SHORTCUTS_ACTION_ACTION_PROPERTY] = g_param_spec_string ("action", "action", "action", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE | G_PARAM_CONSTRUCT_ONLY));
	g_object_class_install_property (G_OBJECT_CLASS (klass), KEYBOARD_SHORTCUTS_ACTION_KEY_PROPERTY, keyboard_shortcuts_action_properties[KEYBOARD_SHORTCUTS_ACTION_KEY_PROPERTY] = g_param_spec_string ("key", "key", "key", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE | G_PARAM_CONSTRUCT_ONLY));
}

static void
keyboard_shortcuts_action_instance_init (KeyboardShortcutsAction * self,
                                         gpointer klass)
{
	self->priv = keyboard_shortcuts_action_get_instance_private (self);
}

static void
keyboard_shortcuts_action_finalize (GObject * obj)
{
	KeyboardShortcutsAction * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, KEYBOARD_SHORTCUTS_TYPE_ACTION, KeyboardShortcutsAction);
	_g_free0 (self->priv->_action);
	_g_free0 (self->priv->_key);
	G_OBJECT_CLASS (keyboard_shortcuts_action_parent_class)->finalize (obj);
}

static GType
keyboard_shortcuts_action_get_type_once (void)
{
	static const GTypeInfo g_define_type_info = { sizeof (KeyboardShortcutsActionClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) keyboard_shortcuts_action_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (KeyboardShortcutsAction), 0, (GInstanceInitFunc) keyboard_shortcuts_action_instance_init, NULL };
	GType keyboard_shortcuts_action_type_id;
	keyboard_shortcuts_action_type_id = g_type_register_static (G_TYPE_OBJECT, "KeyboardShortcutsAction", &g_define_type_info, 0);
	KeyboardShortcutsAction_private_offset = g_type_add_instance_private (keyboard_shortcuts_action_type_id, sizeof (KeyboardShortcutsActionPrivate));
	return keyboard_shortcuts_action_type_id;
}

GType
keyboard_shortcuts_action_get_type (void)
{
	static volatile gsize keyboard_shortcuts_action_type_id__once = 0;
	if (g_once_init_enter (&keyboard_shortcuts_action_type_id__once)) {
		GType keyboard_shortcuts_action_type_id;
		keyboard_shortcuts_action_type_id = keyboard_shortcuts_action_get_type_once ();
		g_once_init_leave (&keyboard_shortcuts_action_type_id__once, keyboard_shortcuts_action_type_id);
	}
	return keyboard_shortcuts_action_type_id__once;
}

static void
_vala_keyboard_shortcuts_action_get_property (GObject * object,
                                              guint property_id,
                                              GValue * value,
                                              GParamSpec * pspec)
{
	KeyboardShortcutsAction * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, KEYBOARD_SHORTCUTS_TYPE_ACTION, KeyboardShortcutsAction);
	switch (property_id) {
		case KEYBOARD_SHORTCUTS_ACTION_SCHEMA_PROPERTY:
		g_value_set_enum (value, keyboard_shortcuts_action_get_schema (self));
		break;
		case KEYBOARD_SHORTCUTS_ACTION_ACTION_PROPERTY:
		g_value_set_string (value, keyboard_shortcuts_action_get_action (self));
		break;
		case KEYBOARD_SHORTCUTS_ACTION_KEY_PROPERTY:
		g_value_set_string (value, keyboard_shortcuts_action_get_key (self));
		break;
		default:
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
		break;
	}
}

static void
_vala_keyboard_shortcuts_action_set_property (GObject * object,
                                              guint property_id,
                                              const GValue * value,
                                              GParamSpec * pspec)
{
	KeyboardShortcutsAction * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, KEYBOARD_SHORTCUTS_TYPE_ACTION, KeyboardShortcutsAction);
	switch (property_id) {
		case KEYBOARD_SHORTCUTS_ACTION_SCHEMA_PROPERTY:
		keyboard_shortcuts_action_set_schema (self, g_value_get_enum (value));
		break;
		case KEYBOARD_SHORTCUTS_ACTION_ACTION_PROPERTY:
		keyboard_shortcuts_action_set_action (self, g_value_get_string (value));
		break;
		case KEYBOARD_SHORTCUTS_ACTION_KEY_PROPERTY:
		keyboard_shortcuts_action_set_key (self, g_value_get_string (value));
		break;
		default:
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
		break;
	}
}

static void
_vala_KeyboardShortcutsGroup_array_free (KeyboardShortcutsGroup * array,
                                         gssize array_length)
{
	if (array != NULL) {
		gssize i;
		for (i = 0; i < array_length; i = i + 1) {
			keyboard_shortcuts_group_destroy (&array[i]);
		}
	}
	g_free (array);
}

static KeyboardShortcutsShortcutsList*
__lambda57_ (void)
{
	KeyboardShortcutsShortcutsList* _tmp0_;
	KeyboardShortcutsShortcutsList* result;
	_tmp0_ = keyboard_shortcuts_shortcuts_list_new ();
	result = _tmp0_;
	return result;
}

static gpointer
___lambda57__gthread_func (gpointer self)
{
	gpointer result;
	result = __lambda57_ ();
	return result;
}

KeyboardShortcutsShortcutsList*
keyboard_shortcuts_shortcuts_list_get_default (void)
{
	gconstpointer _tmp0_;
	KeyboardShortcutsShortcutsList* result;
	_tmp0_ = g_once (&keyboard_shortcuts_shortcuts_list_instance, ___lambda57__gthread_func, NULL);
	result = (KeyboardShortcutsShortcutsList*) _tmp0_;
	return result;
}

static KeyboardShortcutsShortcutsList*
keyboard_shortcuts_shortcuts_list_construct (GType object_type)
{
	KeyboardShortcutsShortcutsList * self = NULL;
	self = (KeyboardShortcutsShortcutsList*) g_object_new (object_type, NULL);
	return self;
}

static KeyboardShortcutsShortcutsList*
keyboard_shortcuts_shortcuts_list_new (void)
{
	return keyboard_shortcuts_shortcuts_list_construct (KEYBOARD_SHORTCUTS_TYPE_SHORTCUTS_LIST);
}

GListStore*
keyboard_shortcuts_shortcuts_list_get_model (KeyboardShortcutsShortcutsList* self,
                                             KeyboardShortcutsSectionID group)
{
	KeyboardShortcutsGroup* _tmp0_;
	gint _tmp0__length1;
	KeyboardShortcutsGroup _tmp1_;
	GListStore* _tmp2_;
	GListStore* _tmp3_;
	GListStore* result;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->groups;
	_tmp0__length1 = self->groups_length1;
	_tmp1_ = _tmp0_[group];
	_tmp2_ = _tmp1_.list;
	_tmp3_ = _g_object_ref0 (_tmp2_);
	result = _tmp3_;
	return result;
}

void
keyboard_shortcuts_shortcuts_list_add_action (KeyboardShortcutsShortcutsList* self,
                                              KeyboardShortcutsGroup* group,
                                              KeyboardShortcutsSchema schema,
                                              const gchar* action,
                                              const gchar* key)
{
	KeyboardShortcutsAction* action_object = NULL;
	KeyboardShortcutsAction* _tmp0_;
	KeyboardShortcutsSettings* _tmp1_;
	g_return_if_fail (self != NULL);
	g_return_if_fail (group != NULL);
	g_return_if_fail (action != NULL);
	g_return_if_fail (key != NULL);
	_tmp0_ = keyboard_shortcuts_action_new (schema, action, key);
	action_object = _tmp0_;
	_tmp1_ = keyboard_shortcuts_settings_get_default ();
	if (keyboard_shortcuts_settings_valid (_tmp1_, schema, key)) {
		KeyboardShortcutsGroup _tmp2_;
		GListStore* _tmp3_;
		KeyboardShortcutsAction* _tmp4_;
		_tmp2_ = *group;
		_tmp3_ = _tmp2_.list;
		_tmp4_ = action_object;
		g_list_store_append (_tmp3_, (GObject*) _tmp4_);
	}
	_g_object_unref0 (action_object);
}

static GObject *
keyboard_shortcuts_shortcuts_list_constructor (GType type,
                                               guint n_construct_properties,
                                               GObjectConstructParam * construct_properties)
{
	GObject * obj;
	GObjectClass * parent_class;
	KeyboardShortcutsShortcutsList * self;
	GListStore* _tmp0_;
	KeyboardShortcutsGroup _tmp1_ = {0};
	gchar* _tmp2_;
	gchar* _tmp3_;
	GListStore* _tmp4_;
	KeyboardShortcutsGroup _tmp5_ = {0};
	gchar* _tmp6_;
	gchar* _tmp7_;
	GListStore* _tmp8_;
	KeyboardShortcutsGroup _tmp9_ = {0};
	gchar* _tmp10_;
	gchar* _tmp11_;
	GListStore* _tmp12_;
	KeyboardShortcutsGroup _tmp13_ = {0};
	gchar* _tmp14_;
	gchar* _tmp15_;
	GListStore* _tmp16_;
	KeyboardShortcutsGroup _tmp17_ = {0};
	gchar* _tmp18_;
	gchar* _tmp19_;
	GListStore* _tmp20_;
	KeyboardShortcutsGroup _tmp21_ = {0};
	gchar* _tmp22_;
	gchar* _tmp23_;
	GListStore* _tmp24_;
	KeyboardShortcutsGroup _tmp25_ = {0};
	gchar* _tmp26_;
	gchar* _tmp27_;
	GListStore* _tmp28_;
	KeyboardShortcutsGroup _tmp29_ = {0};
	gchar* _tmp30_;
	gchar* _tmp31_;
	GListStore* _tmp32_;
	KeyboardShortcutsGroup _tmp33_ = {0};
	gchar* _tmp34_;
	gchar* _tmp35_;
	KeyboardShortcutsGroup _tmp36_;
	KeyboardShortcutsGroup _tmp37_;
	KeyboardShortcutsGroup _tmp38_ = {0};
	KeyboardShortcutsGroup _tmp39_;
	KeyboardShortcutsGroup _tmp40_;
	KeyboardShortcutsGroup _tmp41_ = {0};
	KeyboardShortcutsGroup _tmp42_;
	KeyboardShortcutsGroup _tmp43_;
	KeyboardShortcutsGroup _tmp44_ = {0};
	KeyboardShortcutsGroup _tmp45_;
	KeyboardShortcutsGroup _tmp46_;
	KeyboardShortcutsGroup _tmp47_ = {0};
	KeyboardShortcutsGroup _tmp48_;
	KeyboardShortcutsGroup _tmp49_;
	KeyboardShortcutsGroup _tmp50_ = {0};
	KeyboardShortcutsGroup _tmp51_;
	KeyboardShortcutsGroup _tmp52_;
	KeyboardShortcutsGroup _tmp53_ = {0};
	KeyboardShortcutsGroup _tmp54_;
	KeyboardShortcutsGroup _tmp55_;
	KeyboardShortcutsGroup _tmp56_ = {0};
	KeyboardShortcutsGroup _tmp57_;
	KeyboardShortcutsGroup _tmp58_;
	KeyboardShortcutsGroup _tmp59_ = {0};
	KeyboardShortcutsGroup* _tmp60_;
	parent_class = G_OBJECT_CLASS (keyboard_shortcuts_shortcuts_list_parent_class);
	obj = parent_class->constructor (type, n_construct_properties, construct_properties);
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, KEYBOARD_SHORTCUTS_TYPE_SHORTCUTS_LIST, KeyboardShortcutsShortcutsList);
	_tmp0_ = g_list_store_new (KEYBOARD_SHORTCUTS_TYPE_ACTION);
	memset (&_tmp1_, 0, sizeof (KeyboardShortcutsGroup));
	_g_object_unref0 (_tmp1_.list);
	_tmp1_.list = _tmp0_;
	keyboard_shortcuts_group_destroy (&self->windows_group);
	self->windows_group = _tmp1_;
	_tmp2_ = g_strdup ("io.elementary.settings.keyboard.windows");
	_g_free0 (self->windows_group.icon_name);
	self->windows_group.icon_name = _tmp2_;
	_tmp3_ = g_strdup (_ ("Windows"));
	_g_free0 (self->windows_group.label);
	self->windows_group.label = _tmp3_;
	keyboard_shortcuts_shortcuts_list_add_action (self, &self->windows_group, KEYBOARD_SHORTCUTS_SCHEMA_WM, _ ("Close"), "close");
	keyboard_shortcuts_shortcuts_list_add_action (self, &self->windows_group, KEYBOARD_SHORTCUTS_SCHEMA_WM, _ ("Lower"), "lower");
	keyboard_shortcuts_shortcuts_list_add_action (self, &self->windows_group, KEYBOARD_SHORTCUTS_SCHEMA_WM, _ ("Maximize"), "maximize");
	keyboard_shortcuts_shortcuts_list_add_action (self, &self->windows_group, KEYBOARD_SHORTCUTS_SCHEMA_WM, _ ("Unmaximize"), "unmaximize");
	keyboard_shortcuts_shortcuts_list_add_action (self, &self->windows_group, KEYBOARD_SHORTCUTS_SCHEMA_WM, _ ("Toggle Maximized"), "toggle-maximized");
	keyboard_shortcuts_shortcuts_list_add_action (self, &self->windows_group, KEYBOARD_SHORTCUTS_SCHEMA_WM, _ ("Hide"), "minimize");
	keyboard_shortcuts_shortcuts_list_add_action (self, &self->windows_group, KEYBOARD_SHORTCUTS_SCHEMA_WM, _ ("Toggle Fullscreen"), "toggle-fullscreen");
	keyboard_shortcuts_shortcuts_list_add_action (self, &self->windows_group, KEYBOARD_SHORTCUTS_SCHEMA_WM, _ ("Toggle on all Workspaces"), "toggle-on-all-workspaces");
	keyboard_shortcuts_shortcuts_list_add_action (self, &self->windows_group, KEYBOARD_SHORTCUTS_SCHEMA_WM, _ ("Toggle always on Top"), "toggle-above");
	keyboard_shortcuts_shortcuts_list_add_action (self, &self->windows_group, KEYBOARD_SHORTCUTS_SCHEMA_WM, _ ("Cycle Windows"), "switch-windows");
	keyboard_shortcuts_shortcuts_list_add_action (self, &self->windows_group, KEYBOARD_SHORTCUTS_SCHEMA_WM, _ ("Cycle Windows backwards"), "switch-windows-backward");
	keyboard_shortcuts_shortcuts_list_add_action (self, &self->windows_group, KEYBOARD_SHORTCUTS_SCHEMA_WM, _ ("Cycle Windows of application"), "switch-group");
	keyboard_shortcuts_shortcuts_list_add_action (self, &self->windows_group, KEYBOARD_SHORTCUTS_SCHEMA_WM, _ ("Cycle Windows of application backwards"), "switch-group-backward");
	keyboard_shortcuts_shortcuts_list_add_action (self, &self->windows_group, KEYBOARD_SHORTCUTS_SCHEMA_MUTTER, _ ("Tile Left"), "toggle-tiled-left");
	keyboard_shortcuts_shortcuts_list_add_action (self, &self->windows_group, KEYBOARD_SHORTCUTS_SCHEMA_MUTTER, _ ("Tile Right"), "toggle-tiled-right");
	keyboard_shortcuts_shortcuts_list_add_action (self, &self->windows_group, KEYBOARD_SHORTCUTS_SCHEMA_GALA, _ ("Window Overview"), "expose-windows");
	keyboard_shortcuts_shortcuts_list_add_action (self, &self->windows_group, KEYBOARD_SHORTCUTS_SCHEMA_GALA, _ ("Show All Windows"), "expose-all-windows");
	keyboard_shortcuts_shortcuts_list_add_action (self, &self->windows_group, KEYBOARD_SHORTCUTS_SCHEMA_GALA, _ ("Picture in Picture Mode"), "pip");
	keyboard_shortcuts_shortcuts_list_add_action (self, &self->windows_group, KEYBOARD_SHORTCUTS_SCHEMA_WM, _ ("Move to display above"), "move-to-monitor-up");
	keyboard_shortcuts_shortcuts_list_add_action (self, &self->windows_group, KEYBOARD_SHORTCUTS_SCHEMA_WM, _ ("Move to display below"), "move-to-monitor-down");
	keyboard_shortcuts_shortcuts_list_add_action (self, &self->windows_group, KEYBOARD_SHORTCUTS_SCHEMA_WM, _ ("Move to right display"), "move-to-monitor-right");
	keyboard_shortcuts_shortcuts_list_add_action (self, &self->windows_group, KEYBOARD_SHORTCUTS_SCHEMA_WM, _ ("Move to left display"), "move-to-monitor-left");
	_tmp4_ = g_list_store_new (KEYBOARD_SHORTCUTS_TYPE_ACTION);
	memset (&_tmp5_, 0, sizeof (KeyboardShortcutsGroup));
	_g_object_unref0 (_tmp5_.list);
	_tmp5_.list = _tmp4_;
	keyboard_shortcuts_group_destroy (&self->workspaces_group);
	self->workspaces_group = _tmp5_;
	_tmp6_ = g_strdup ("preferences-desktop-workspaces");
	_g_free0 (self->workspaces_group.icon_name);
	self->workspaces_group.icon_name = _tmp6_;
	_tmp7_ = g_strdup (_ ("Workspaces"));
	_g_free0 (self->workspaces_group.label);
	self->workspaces_group.label = _tmp7_;
	keyboard_shortcuts_shortcuts_list_add_action (self, &self->workspaces_group, KEYBOARD_SHORTCUTS_SCHEMA_GALA, _ ("Multitasking View"), "toggle-multitasking-view");
	keyboard_shortcuts_shortcuts_list_add_action (self, &self->workspaces_group, KEYBOARD_SHORTCUTS_SCHEMA_WM, _ ("Switch left"), "switch-to-workspace-left");
	keyboard_shortcuts_shortcuts_list_add_action (self, &self->workspaces_group, KEYBOARD_SHORTCUTS_SCHEMA_WM, _ ("Switch right"), "switch-to-workspace-right");
	keyboard_shortcuts_shortcuts_list_add_action (self, &self->workspaces_group, KEYBOARD_SHORTCUTS_SCHEMA_GALA, _ ("Switch to first"), "switch-to-workspace-first");
	keyboard_shortcuts_shortcuts_list_add_action (self, &self->workspaces_group, KEYBOARD_SHORTCUTS_SCHEMA_GALA, _ ("Switch to new"), "switch-to-workspace-last");
	keyboard_shortcuts_shortcuts_list_add_action (self, &self->workspaces_group, KEYBOARD_SHORTCUTS_SCHEMA_WM, _ ("Switch to workspace 1"), "switch-to-workspace-1");
	keyboard_shortcuts_shortcuts_list_add_action (self, &self->workspaces_group, KEYBOARD_SHORTCUTS_SCHEMA_WM, _ ("Switch to workspace 2"), "switch-to-workspace-2");
	keyboard_shortcuts_shortcuts_list_add_action (self, &self->workspaces_group, KEYBOARD_SHORTCUTS_SCHEMA_WM, _ ("Switch to workspace 3"), "switch-to-workspace-3");
	keyboard_shortcuts_shortcuts_list_add_action (self, &self->workspaces_group, KEYBOARD_SHORTCUTS_SCHEMA_WM, _ ("Switch to workspace 4"), "switch-to-workspace-4");
	keyboard_shortcuts_shortcuts_list_add_action (self, &self->workspaces_group, KEYBOARD_SHORTCUTS_SCHEMA_WM, _ ("Switch to workspace 5"), "switch-to-workspace-5");
	keyboard_shortcuts_shortcuts_list_add_action (self, &self->workspaces_group, KEYBOARD_SHORTCUTS_SCHEMA_WM, _ ("Switch to workspace 6"), "switch-to-workspace-6");
	keyboard_shortcuts_shortcuts_list_add_action (self, &self->workspaces_group, KEYBOARD_SHORTCUTS_SCHEMA_WM, _ ("Switch to workspace 7"), "switch-to-workspace-7");
	keyboard_shortcuts_shortcuts_list_add_action (self, &self->workspaces_group, KEYBOARD_SHORTCUTS_SCHEMA_WM, _ ("Switch to workspace 8"), "switch-to-workspace-8");
	keyboard_shortcuts_shortcuts_list_add_action (self, &self->workspaces_group, KEYBOARD_SHORTCUTS_SCHEMA_WM, _ ("Switch to workspace 9"), "switch-to-workspace-9");
	keyboard_shortcuts_shortcuts_list_add_action (self, &self->workspaces_group, KEYBOARD_SHORTCUTS_SCHEMA_GALA, _ ("Cycle workspaces"), "cycle-workspaces-next");
	keyboard_shortcuts_shortcuts_list_add_action (self, &self->workspaces_group, KEYBOARD_SHORTCUTS_SCHEMA_GALA, _ ("Cycle workspaces backwards"), "cycle-workspaces-previous");
	keyboard_shortcuts_shortcuts_list_add_action (self, &self->workspaces_group, KEYBOARD_SHORTCUTS_SCHEMA_WM, _ ("Move to workspace 1"), "move-to-workspace-1");
	keyboard_shortcuts_shortcuts_list_add_action (self, &self->workspaces_group, KEYBOARD_SHORTCUTS_SCHEMA_WM, _ ("Move to workspace 2"), "move-to-workspace-2");
	keyboard_shortcuts_shortcuts_list_add_action (self, &self->workspaces_group, KEYBOARD_SHORTCUTS_SCHEMA_WM, _ ("Move to workspace 3"), "move-to-workspace-3");
	keyboard_shortcuts_shortcuts_list_add_action (self, &self->workspaces_group, KEYBOARD_SHORTCUTS_SCHEMA_WM, _ ("Move to workspace 4"), "move-to-workspace-4");
	keyboard_shortcuts_shortcuts_list_add_action (self, &self->workspaces_group, KEYBOARD_SHORTCUTS_SCHEMA_WM, _ ("Move to workspace 5"), "move-to-workspace-5");
	keyboard_shortcuts_shortcuts_list_add_action (self, &self->workspaces_group, KEYBOARD_SHORTCUTS_SCHEMA_WM, _ ("Move to workspace 6"), "move-to-workspace-6");
	keyboard_shortcuts_shortcuts_list_add_action (self, &self->workspaces_group, KEYBOARD_SHORTCUTS_SCHEMA_WM, _ ("Move to workspace 7"), "move-to-workspace-7");
	keyboard_shortcuts_shortcuts_list_add_action (self, &self->workspaces_group, KEYBOARD_SHORTCUTS_SCHEMA_WM, _ ("Move to workspace 8"), "move-to-workspace-8");
	keyboard_shortcuts_shortcuts_list_add_action (self, &self->workspaces_group, KEYBOARD_SHORTCUTS_SCHEMA_WM, _ ("Move to workspace 9"), "move-to-workspace-9");
	keyboard_shortcuts_shortcuts_list_add_action (self, &self->workspaces_group, KEYBOARD_SHORTCUTS_SCHEMA_WM, _ ("Move to left workspace"), "move-to-workspace-left");
	keyboard_shortcuts_shortcuts_list_add_action (self, &self->workspaces_group, KEYBOARD_SHORTCUTS_SCHEMA_WM, _ ("Move to right workspace"), "move-to-workspace-right");
	_tmp8_ = g_list_store_new (KEYBOARD_SHORTCUTS_TYPE_ACTION);
	memset (&_tmp9_, 0, sizeof (KeyboardShortcutsGroup));
	_g_object_unref0 (_tmp9_.list);
	_tmp9_.list = _tmp8_;
	keyboard_shortcuts_group_destroy (&self->screenshot_group);
	self->screenshot_group = _tmp9_;
	_tmp10_ = g_strdup ("accessories-screenshot-tool");
	_g_free0 (self->screenshot_group.icon_name);
	self->screenshot_group.icon_name = _tmp10_;
	_tmp11_ = g_strdup (_ ("Screenshots"));
	_g_free0 (self->screenshot_group.label);
	self->screenshot_group.label = _tmp11_;
	keyboard_shortcuts_shortcuts_list_add_action (self, &self->screenshot_group, KEYBOARD_SHORTCUTS_SCHEMA_GALA, _ ("Grab the whole screen"), "screenshot");
	keyboard_shortcuts_shortcuts_list_add_action (self, &self->screenshot_group, KEYBOARD_SHORTCUTS_SCHEMA_GALA, _ ("Copy the whole screen to clipboard"), "screenshot-clip");
	keyboard_shortcuts_shortcuts_list_add_action (self, &self->screenshot_group, KEYBOARD_SHORTCUTS_SCHEMA_GALA, _ ("Grab the current window"), "window-screenshot");
	keyboard_shortcuts_shortcuts_list_add_action (self, &self->screenshot_group, KEYBOARD_SHORTCUTS_SCHEMA_GALA, _ ("Copy the current window to clipboard"), "window-screenshot-clip");
	keyboard_shortcuts_shortcuts_list_add_action (self, &self->screenshot_group, KEYBOARD_SHORTCUTS_SCHEMA_GALA, _ ("Select an area to grab"), "area-screenshot");
	keyboard_shortcuts_shortcuts_list_add_action (self, &self->screenshot_group, KEYBOARD_SHORTCUTS_SCHEMA_GALA, _ ("Copy an area to clipboard"), "area-screenshot-clip");
	_tmp12_ = g_list_store_new (KEYBOARD_SHORTCUTS_TYPE_ACTION);
	memset (&_tmp13_, 0, sizeof (KeyboardShortcutsGroup));
	_g_object_unref0 (_tmp13_.list);
	_tmp13_.list = _tmp12_;
	keyboard_shortcuts_group_destroy (&self->launchers_group);
	self->launchers_group = _tmp13_;
	_tmp14_ = g_strdup ("io.elementary.settings.keyboard.applications");
	_g_free0 (self->launchers_group.icon_name);
	self->launchers_group.icon_name = _tmp14_;
	_tmp15_ = g_strdup (_ ("Applications"));
	_g_free0 (self->launchers_group.label);
	self->launchers_group.label = _tmp15_;
	keyboard_shortcuts_shortcuts_list_add_action (self, &self->launchers_group, KEYBOARD_SHORTCUTS_SCHEMA_MEDIA, _ ("Email"), "email");
	keyboard_shortcuts_shortcuts_list_add_action (self, &self->launchers_group, KEYBOARD_SHORTCUTS_SCHEMA_MEDIA, _ ("Home Folder"), "home");
	keyboard_shortcuts_shortcuts_list_add_action (self, &self->launchers_group, KEYBOARD_SHORTCUTS_SCHEMA_MEDIA, _ ("Music"), "media");
	keyboard_shortcuts_shortcuts_list_add_action (self, &self->launchers_group, KEYBOARD_SHORTCUTS_SCHEMA_MEDIA, _ ("Terminal"), "terminal");
	keyboard_shortcuts_shortcuts_list_add_action (self, &self->launchers_group, KEYBOARD_SHORTCUTS_SCHEMA_MEDIA, _ ("Internet Browser"), "www");
	keyboard_shortcuts_shortcuts_list_add_action (self, &self->launchers_group, KEYBOARD_SHORTCUTS_SCHEMA_DOCK, _ ("Launch first dock item"), "launch-dock-1");
	keyboard_shortcuts_shortcuts_list_add_action (self, &self->launchers_group, KEYBOARD_SHORTCUTS_SCHEMA_DOCK, _ ("Launch second dock item"), "launch-dock-2");
	keyboard_shortcuts_shortcuts_list_add_action (self, &self->launchers_group, KEYBOARD_SHORTCUTS_SCHEMA_DOCK, _ ("Launch third dock item"), "launch-dock-3");
	keyboard_shortcuts_shortcuts_list_add_action (self, &self->launchers_group, KEYBOARD_SHORTCUTS_SCHEMA_DOCK, _ ("Launch fourth dock item"), "launch-dock-4");
	keyboard_shortcuts_shortcuts_list_add_action (self, &self->launchers_group, KEYBOARD_SHORTCUTS_SCHEMA_DOCK, _ ("Launch fifth dock item"), "launch-dock-5");
	keyboard_shortcuts_shortcuts_list_add_action (self, &self->launchers_group, KEYBOARD_SHORTCUTS_SCHEMA_DOCK, _ ("Launch sixth dock item"), "launch-dock-6");
	keyboard_shortcuts_shortcuts_list_add_action (self, &self->launchers_group, KEYBOARD_SHORTCUTS_SCHEMA_DOCK, _ ("Launch seventh dock item"), "launch-dock-7");
	keyboard_shortcuts_shortcuts_list_add_action (self, &self->launchers_group, KEYBOARD_SHORTCUTS_SCHEMA_DOCK, _ ("Launch eighth dock item"), "launch-dock-8");
	keyboard_shortcuts_shortcuts_list_add_action (self, &self->launchers_group, KEYBOARD_SHORTCUTS_SCHEMA_DOCK, _ ("Launch ninth dock item"), "launch-dock-9");
	_tmp16_ = g_list_store_new (KEYBOARD_SHORTCUTS_TYPE_ACTION);
	memset (&_tmp17_, 0, sizeof (KeyboardShortcutsGroup));
	_g_object_unref0 (_tmp17_.list);
	_tmp17_.list = _tmp16_;
	keyboard_shortcuts_group_destroy (&self->media_group);
	self->media_group = _tmp17_;
	_tmp18_ = g_strdup ("applications-multimedia");
	_g_free0 (self->media_group.icon_name);
	self->media_group.icon_name = _tmp18_;
	_tmp19_ = g_strdup (_ ("Media"));
	_g_free0 (self->media_group.label);
	self->media_group.label = _tmp19_;
	keyboard_shortcuts_shortcuts_list_add_action (self, &self->media_group, KEYBOARD_SHORTCUTS_SCHEMA_SOUND_INDICATOR, _ ("Volume Up"), "volume-up");
	keyboard_shortcuts_shortcuts_list_add_action (self, &self->media_group, KEYBOARD_SHORTCUTS_SCHEMA_SOUND_INDICATOR, _ ("Volume Down"), "volume-down");
	keyboard_shortcuts_shortcuts_list_add_action (self, &self->media_group, KEYBOARD_SHORTCUTS_SCHEMA_SOUND_INDICATOR, _ ("Mute"), "volume-mute");
	keyboard_shortcuts_shortcuts_list_add_action (self, &self->media_group, KEYBOARD_SHORTCUTS_SCHEMA_MEDIA, _ ("Play/Pause"), "play");
	keyboard_shortcuts_shortcuts_list_add_action (self, &self->media_group, KEYBOARD_SHORTCUTS_SCHEMA_MEDIA, _ ("Pause"), "pause");
	keyboard_shortcuts_shortcuts_list_add_action (self, &self->media_group, KEYBOARD_SHORTCUTS_SCHEMA_MEDIA, _ ("Stop"), "stop");
	keyboard_shortcuts_shortcuts_list_add_action (self, &self->media_group, KEYBOARD_SHORTCUTS_SCHEMA_MEDIA, _ ("Previous Track"), "previous");
	keyboard_shortcuts_shortcuts_list_add_action (self, &self->media_group, KEYBOARD_SHORTCUTS_SCHEMA_MEDIA, _ ("Next Track"), "next");
	keyboard_shortcuts_shortcuts_list_add_action (self, &self->media_group, KEYBOARD_SHORTCUTS_SCHEMA_MEDIA, _ ("Eject"), "eject");
	_tmp20_ = g_list_store_new (KEYBOARD_SHORTCUTS_TYPE_ACTION);
	memset (&_tmp21_, 0, sizeof (KeyboardShortcutsGroup));
	_g_object_unref0 (_tmp21_.list);
	_tmp21_.list = _tmp20_;
	keyboard_shortcuts_group_destroy (&self->a11y_group);
	self->a11y_group = _tmp21_;
	_tmp22_ = g_strdup ("preferences-desktop-accessibility");
	_g_free0 (self->a11y_group.icon_name);
	self->a11y_group.icon_name = _tmp22_;
	_tmp23_ = g_strdup (_ ("Universal Access"));
	_g_free0 (self->a11y_group.label);
	self->a11y_group.label = _tmp23_;
	keyboard_shortcuts_shortcuts_list_add_action (self, &self->a11y_group, KEYBOARD_SHORTCUTS_SCHEMA_MEDIA, _ ("Decrease Text Size"), "decrease-text-size");
	keyboard_shortcuts_shortcuts_list_add_action (self, &self->a11y_group, KEYBOARD_SHORTCUTS_SCHEMA_MEDIA, _ ("Increase Text Size"), "increase-text-size");
	keyboard_shortcuts_shortcuts_list_add_action (self, &self->a11y_group, KEYBOARD_SHORTCUTS_SCHEMA_GALA, _ ("Magnifier Zoom in"), "zoom-in");
	keyboard_shortcuts_shortcuts_list_add_action (self, &self->a11y_group, KEYBOARD_SHORTCUTS_SCHEMA_GALA, _ ("Magnifier Zoom out"), "zoom-out");
	keyboard_shortcuts_shortcuts_list_add_action (self, &self->a11y_group, KEYBOARD_SHORTCUTS_SCHEMA_MEDIA, _ ("Toggle On Screen Keyboard"), "on-screen-keyboard");
	keyboard_shortcuts_shortcuts_list_add_action (self, &self->a11y_group, KEYBOARD_SHORTCUTS_SCHEMA_MEDIA, _ ("Toggle Screenreader"), "screenreader");
	_tmp24_ = g_list_store_new (KEYBOARD_SHORTCUTS_TYPE_ACTION);
	memset (&_tmp25_, 0, sizeof (KeyboardShortcutsGroup));
	_g_object_unref0 (_tmp25_.list);
	_tmp25_.list = _tmp24_;
	keyboard_shortcuts_group_destroy (&self->system_group);
	self->system_group = _tmp25_;
	_tmp26_ = g_strdup ("preferences-system");
	_g_free0 (self->system_group.icon_name);
	self->system_group.icon_name = _tmp26_;
	_tmp27_ = g_strdup (_ ("System"));
	_g_free0 (self->system_group.label);
	self->system_group.label = _tmp27_;
	keyboard_shortcuts_shortcuts_list_add_action (self, &self->system_group, KEYBOARD_SHORTCUTS_SCHEMA_GALA, _ ("Applications Menu"), "panel-main-menu");
	keyboard_shortcuts_shortcuts_list_add_action (self, &self->system_group, KEYBOARD_SHORTCUTS_SCHEMA_MEDIA, _ ("Lock"), "screensaver");
	keyboard_shortcuts_shortcuts_list_add_action (self, &self->system_group, KEYBOARD_SHORTCUTS_SCHEMA_MEDIA, _ ("Log Out"), "logout");
	keyboard_shortcuts_shortcuts_list_add_action (self, &self->system_group, KEYBOARD_SHORTCUTS_SCHEMA_MUTTER, _ ("Cycle display mode"), "switch-monitor");
	_tmp28_ = g_list_store_new (KEYBOARD_SHORTCUTS_TYPE_ACTION);
	memset (&_tmp29_, 0, sizeof (KeyboardShortcutsGroup));
	_g_object_unref0 (_tmp29_.list);
	_tmp29_.list = _tmp28_;
	keyboard_shortcuts_group_destroy (&self->keyboard_layouts_group);
	self->keyboard_layouts_group = _tmp29_;
	_tmp30_ = g_strdup ("preferences-desktop-locale");
	_g_free0 (self->keyboard_layouts_group.icon_name);
	self->keyboard_layouts_group.icon_name = _tmp30_;
	_tmp31_ = g_strdup (_ ("Keyboard Layouts"));
	_g_free0 (self->keyboard_layouts_group.label);
	self->keyboard_layouts_group.label = _tmp31_;
	keyboard_shortcuts_shortcuts_list_add_action (self, &self->keyboard_layouts_group, KEYBOARD_SHORTCUTS_SCHEMA_GALA, _ ("Switch Keyboard Layout"), "switch-input-source");
	keyboard_shortcuts_shortcuts_list_add_action (self, &self->keyboard_layouts_group, KEYBOARD_SHORTCUTS_SCHEMA_GALA, _ ("Switch Keyboard Layout Backwards"), "switch-input-source-backward");
	keyboard_shortcuts_shortcuts_list_add_action (self, &self->keyboard_layouts_group, KEYBOARD_SHORTCUTS_SCHEMA_IBUS, _ ("Enable Emoji Typing"), "hotkey");
	keyboard_shortcuts_shortcuts_list_add_action (self, &self->keyboard_layouts_group, KEYBOARD_SHORTCUTS_SCHEMA_IBUS, _ ("Enable Unicode Typing"), "unicode-hotkey");
	_tmp32_ = g_list_store_new (KEYBOARD_SHORTCUTS_TYPE_ACTION);
	memset (&_tmp33_, 0, sizeof (KeyboardShortcutsGroup));
	_g_object_unref0 (_tmp33_.list);
	_tmp33_.list = _tmp32_;
	keyboard_shortcuts_group_destroy (&self->custom_group);
	self->custom_group = _tmp33_;
	_tmp34_ = g_strdup ("applications-other");
	_g_free0 (self->custom_group.icon_name);
	self->custom_group.icon_name = _tmp34_;
	_tmp35_ = g_strdup (_ ("Custom"));
	_g_free0 (self->custom_group.label);
	self->custom_group.label = _tmp35_;
	_tmp36_ = self->windows_group;
	_tmp37_ = _tmp36_;
	keyboard_shortcuts_group_copy (&_tmp37_, &_tmp38_);
	_tmp39_ = self->workspaces_group;
	_tmp40_ = _tmp39_;
	keyboard_shortcuts_group_copy (&_tmp40_, &_tmp41_);
	_tmp42_ = self->screenshot_group;
	_tmp43_ = _tmp42_;
	keyboard_shortcuts_group_copy (&_tmp43_, &_tmp44_);
	_tmp45_ = self->launchers_group;
	_tmp46_ = _tmp45_;
	keyboard_shortcuts_group_copy (&_tmp46_, &_tmp47_);
	_tmp48_ = self->media_group;
	_tmp49_ = _tmp48_;
	keyboard_shortcuts_group_copy (&_tmp49_, &_tmp50_);
	_tmp51_ = self->a11y_group;
	_tmp52_ = _tmp51_;
	keyboard_shortcuts_group_copy (&_tmp52_, &_tmp53_);
	_tmp54_ = self->system_group;
	_tmp55_ = _tmp54_;
	keyboard_shortcuts_group_copy (&_tmp55_, &_tmp56_);
	_tmp57_ = self->keyboard_layouts_group;
	_tmp58_ = _tmp57_;
	keyboard_shortcuts_group_copy (&_tmp58_, &_tmp59_);
	_tmp60_ = g_new0 (KeyboardShortcutsGroup, 8);
	_tmp60_[0] = _tmp38_;
	_tmp60_[1] = _tmp41_;
	_tmp60_[2] = _tmp44_;
	_tmp60_[3] = _tmp47_;
	_tmp60_[4] = _tmp50_;
	_tmp60_[5] = _tmp53_;
	_tmp60_[6] = _tmp56_;
	_tmp60_[7] = _tmp59_;
	self->groups = (_vala_KeyboardShortcutsGroup_array_free (self->groups, self->groups_length1), NULL);
	self->groups = _tmp60_;
	self->groups_length1 = 8;
	self->_groups_size_ = self->groups_length1;
	return obj;
}

static void
keyboard_shortcuts_shortcuts_list_class_init (KeyboardShortcutsShortcutsListClass * klass,
                                              gpointer klass_data)
{
	keyboard_shortcuts_shortcuts_list_parent_class = g_type_class_peek_parent (klass);
	G_OBJECT_CLASS (klass)->constructor = keyboard_shortcuts_shortcuts_list_constructor;
	G_OBJECT_CLASS (klass)->finalize = keyboard_shortcuts_shortcuts_list_finalize;
}

static void
keyboard_shortcuts_shortcuts_list_instance_init (KeyboardShortcutsShortcutsList * self,
                                                 gpointer klass)
{
}

static void
keyboard_shortcuts_shortcuts_list_finalize (GObject * obj)
{
	KeyboardShortcutsShortcutsList * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, KEYBOARD_SHORTCUTS_TYPE_SHORTCUTS_LIST, KeyboardShortcutsShortcutsList);
	self->groups = (_vala_KeyboardShortcutsGroup_array_free (self->groups, self->groups_length1), NULL);
	keyboard_shortcuts_group_destroy (&self->windows_group);
	keyboard_shortcuts_group_destroy (&self->workspaces_group);
	keyboard_shortcuts_group_destroy (&self->screenshot_group);
	keyboard_shortcuts_group_destroy (&self->launchers_group);
	keyboard_shortcuts_group_destroy (&self->media_group);
	keyboard_shortcuts_group_destroy (&self->a11y_group);
	keyboard_shortcuts_group_destroy (&self->system_group);
	keyboard_shortcuts_group_destroy (&self->keyboard_layouts_group);
	keyboard_shortcuts_group_destroy (&self->custom_group);
	G_OBJECT_CLASS (keyboard_shortcuts_shortcuts_list_parent_class)->finalize (obj);
}

static GType
keyboard_shortcuts_shortcuts_list_get_type_once (void)
{
	static const GTypeInfo g_define_type_info = { sizeof (KeyboardShortcutsShortcutsListClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) keyboard_shortcuts_shortcuts_list_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (KeyboardShortcutsShortcutsList), 0, (GInstanceInitFunc) keyboard_shortcuts_shortcuts_list_instance_init, NULL };
	GType keyboard_shortcuts_shortcuts_list_type_id;
	keyboard_shortcuts_shortcuts_list_type_id = g_type_register_static (G_TYPE_OBJECT, "KeyboardShortcutsShortcutsList", &g_define_type_info, 0);
	return keyboard_shortcuts_shortcuts_list_type_id;
}

GType
keyboard_shortcuts_shortcuts_list_get_type (void)
{
	static volatile gsize keyboard_shortcuts_shortcuts_list_type_id__once = 0;
	if (g_once_init_enter (&keyboard_shortcuts_shortcuts_list_type_id__once)) {
		GType keyboard_shortcuts_shortcuts_list_type_id;
		keyboard_shortcuts_shortcuts_list_type_id = keyboard_shortcuts_shortcuts_list_get_type_once ();
		g_once_init_leave (&keyboard_shortcuts_shortcuts_list_type_id__once, keyboard_shortcuts_shortcuts_list_type_id);
	}
	return keyboard_shortcuts_shortcuts_list_type_id__once;
}

