[gnome-control-center] keyboard: Replace GObject boilerplace with G_DECLARE_TYPE
- From: Georges Basile Stavracas Neto <gbsneto src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-control-center] keyboard: Replace GObject boilerplace with G_DECLARE_TYPE
- Date: Tue, 29 May 2018 16:05:28 +0000 (UTC)
commit 57975633e66c0a8d5f1eaa8499bc0f286d0ae331
Author: Robert Ancell <robert ancell canonical com>
Date: Tue May 29 15:31:41 2018 +1200
keyboard: Replace GObject boilerplace with G_DECLARE_TYPE
panels/keyboard/cc-keyboard-item.c | 162 ++++++++++++++++++++------
panels/keyboard/cc-keyboard-item.h | 65 ++++-------
panels/keyboard/cc-keyboard-manager.c | 36 +++---
panels/keyboard/cc-keyboard-manager.h | 3 +-
panels/keyboard/cc-keyboard-option.c | 8 +-
panels/keyboard/cc-keyboard-panel.c | 18 +--
panels/keyboard/cc-keyboard-panel.h | 3 +-
panels/keyboard/cc-keyboard-shortcut-editor.c | 30 ++---
panels/keyboard/cc-keyboard-shortcut-editor.h | 5 +-
9 files changed, 192 insertions(+), 138 deletions(-)
---
diff --git a/panels/keyboard/cc-keyboard-item.c b/panels/keyboard/cc-keyboard-item.c
index a970a18f6..86eef1c5b 100644
--- a/panels/keyboard/cc-keyboard-item.c
+++ b/panels/keyboard/cc-keyboard-item.c
@@ -28,20 +28,38 @@
#include "cc-keyboard-item.h"
-#define CC_KEYBOARD_ITEM_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), CC_TYPE_KEYBOARD_ITEM,
CcKeyboardItemPrivate))
-
#define CUSTOM_KEYS_SCHEMA "org.gnome.settings-daemon.plugins.media-keys.custom-keybinding"
-struct CcKeyboardItemPrivate
+struct _CcKeyboardItem
{
- /* properties */
- /* common */
+ GObject parent_instance;
+
char *binding;
- /* internal */
CcKeyboardItem *reverse_item;
gboolean is_reversed;
gboolean hidden;
+
+ CcKeyboardItemType type;
+
+ CcKeyCombo *primary_combo;
+ BindingGroupType group;
+ GtkTreeModel *model;
+ char *description;
+ gboolean editable;
+ GList *key_combos;
+ GList *default_combos;
+
+ /* GSettings path */
+ char *gsettings_path;
+ gboolean desc_editable;
+ char *command;
+ gboolean cmd_editable;
+
+ /* GSettings */
+ char *schema;
+ char *key;
+ GSettings *settings;
};
enum {
@@ -117,6 +135,14 @@ cc_keyboard_item_get_description (CcKeyboardItem *item)
return item->description;
}
+gboolean
+cc_keyboard_item_get_desc_editable (CcKeyboardItem *item)
+{
+ g_return_val_if_fail (CC_IS_KEYBOARD_ITEM (item), FALSE);
+
+ return item->desc_editable;
+}
+
/* wrapper around g_settings_set_str[ing|v] */
static void
settings_set_binding (GSettings *settings,
@@ -157,13 +183,13 @@ _set_binding (CcKeyboardItem *item,
CcKeyboardItem *reverse;
gboolean enabled;
- reverse = item->priv->reverse_item;
+ reverse = item->reverse_item;
enabled = value && strlen (value) > 0;
- g_clear_pointer (&item->priv->binding, g_free);
- item->priv->binding = enabled ? g_strdup (value) : g_strdup ("");
+ g_clear_pointer (&item->binding, g_free);
+ item->binding = enabled ? g_strdup (value) : g_strdup ("");
- binding_from_string (item->priv->binding, item->primary_combo);
+ binding_from_string (item->binding, item->primary_combo);
/*
* Always treat the pair (item, reverse) as a unit: setting one also
@@ -176,26 +202,26 @@ _set_binding (CcKeyboardItem *item,
reverse_mask = enabled ? item->primary_combo->mask ^ GDK_SHIFT_MASK
: item->primary_combo->mask;
- g_clear_pointer (&reverse->priv->binding, g_free);
+ g_clear_pointer (&reverse->binding, g_free);
if (enabled)
- reverse->priv->binding = gtk_accelerator_name_with_keycode (NULL,
+ reverse->binding = gtk_accelerator_name_with_keycode (NULL,
item->primary_combo->keyval,
item->primary_combo->keycode,
reverse_mask);
- binding_from_string (reverse->priv->binding, reverse->primary_combo);
+ binding_from_string (reverse->binding, reverse->primary_combo);
}
if (set_backend == FALSE)
return;
- settings_set_binding (item->settings, item->key, item->priv->binding);
+ settings_set_binding (item->settings, item->key, item->binding);
g_object_notify (G_OBJECT (item), "is-value-default");
if (reverse)
{
- settings_set_binding (reverse->settings, reverse->key, reverse->priv->binding);
+ settings_set_binding (reverse->settings, reverse->key, reverse->binding);
g_object_notify (G_OBJECT (reverse), "is-value-default");
}
}
@@ -223,6 +249,14 @@ cc_keyboard_item_get_command (CcKeyboardItem *item)
return item->command;
}
+gboolean
+cc_keyboard_item_get_cmd_editable (CcKeyboardItem *item)
+{
+ g_return_val_if_fail (CC_IS_KEYBOARD_ITEM (item), FALSE);
+
+ return item->cmd_editable;
+}
+
static void
cc_keyboard_item_set_property (GObject *object,
guint prop_id,
@@ -267,7 +301,7 @@ cc_keyboard_item_get_property (GObject *object,
g_value_set_string (value, self->description);
break;
case PROP_BINDING:
- g_value_set_string (value, self->priv->binding);
+ g_value_set_string (value, self->binding);
break;
case PROP_EDITABLE:
g_value_set_boolean (value, self->editable);
@@ -342,14 +376,11 @@ cc_keyboard_item_class_init (CcKeyboardItemClass *klass)
"is value default",
TRUE,
G_PARAM_READABLE));
-
- g_type_class_add_private (klass, sizeof (CcKeyboardItemPrivate));
}
static void
cc_keyboard_item_init (CcKeyboardItem *item)
{
- item->priv = CC_KEYBOARD_ITEM_GET_PRIVATE (item);
item->primary_combo = g_new0 (CcKeyCombo, 1);
}
@@ -363,13 +394,11 @@ cc_keyboard_item_finalize (GObject *object)
item = CC_KEYBOARD_ITEM (object);
- g_return_if_fail (item->priv != NULL);
-
if (item->settings != NULL)
g_object_unref (item->settings);
/* Free memory */
- g_free (item->priv->binding);
+ g_free (item->binding);
g_free (item->primary_combo);
g_free (item->gsettings_path);
g_free (item->description);
@@ -509,9 +538,9 @@ cc_keyboard_item_load_from_gsettings_path (CcKeyboardItem *item,
g_list_free_full (item->key_combos, g_free);
item->key_combos = settings_get_key_combos (item->settings, item->key, FALSE);
- g_free (item->priv->binding);
- item->priv->binding = settings_get_binding (item->settings, item->key);
- binding_from_string (item->priv->binding, item->primary_combo);
+ g_free (item->binding);
+ item->binding = settings_get_binding (item->settings, item->key);
+ binding_from_string (item->binding, item->primary_combo);
g_signal_connect (G_OBJECT (item->settings), "changed::binding",
G_CALLBACK (binding_changed), item);
@@ -531,10 +560,10 @@ cc_keyboard_item_load_from_gsettings (CcKeyboardItem *item,
item->description = g_strdup (description);
item->settings = g_settings_new (item->schema);
- g_free (item->priv->binding);
- item->priv->binding = settings_get_binding (item->settings, item->key);
+ g_free (item->binding);
+ item->binding = settings_get_binding (item->settings, item->key);
item->editable = g_settings_is_writable (item->settings, item->key);
- binding_from_string (item->priv->binding, item->primary_combo);
+ binding_from_string (item->binding, item->primary_combo);
g_list_free_full (item->key_combos, g_free);
item->key_combos = settings_get_key_combos (item->settings, item->key, FALSE);
@@ -576,36 +605,36 @@ cc_keyboard_item_add_reverse_item (CcKeyboardItem *item,
{
g_return_if_fail (item->key != NULL);
- item->priv->reverse_item = reverse_item;
- if (reverse_item->priv->reverse_item == NULL)
+ item->reverse_item = reverse_item;
+ if (reverse_item->reverse_item == NULL)
{
- reverse_item->priv->reverse_item = item;
- reverse_item->priv->is_reversed = !is_reversed;
+ reverse_item->reverse_item = item;
+ reverse_item->is_reversed = !is_reversed;
}
else
- g_warn_if_fail (reverse_item->priv->is_reversed == !!is_reversed);
+ g_warn_if_fail (reverse_item->is_reversed == !!is_reversed);
- item->priv->is_reversed = !!is_reversed;
+ item->is_reversed = !!is_reversed;
}
CcKeyboardItem *
cc_keyboard_item_get_reverse_item (CcKeyboardItem *item)
{
- return item->priv->reverse_item;
+ return item->reverse_item;
}
void
cc_keyboard_item_set_hidden (CcKeyboardItem *item, gboolean hidden)
{
- item->priv->hidden = !!hidden;
+ item->hidden = !!hidden;
}
gboolean
cc_keyboard_item_is_hidden (CcKeyboardItem *item)
{
- return item->priv->hidden;
+ return item->hidden;
}
/**
@@ -668,7 +697,7 @@ cc_keyboard_item_reset (CcKeyboardItem *self)
g_return_if_fail (CC_IS_KEYBOARD_ITEM (self));
- reverse = self->priv->reverse_item;
+ reverse = self->reverse_item;
g_settings_reset (self->settings, self->key);
g_object_notify (G_OBJECT (self), "is-value-default");
@@ -681,6 +710,63 @@ cc_keyboard_item_reset (CcKeyboardItem *self)
}
}
+GList *
+cc_keyboard_item_get_key_combos (CcKeyboardItem *item)
+{
+ g_return_val_if_fail (CC_IS_KEYBOARD_ITEM (item), NULL);
+ return item->key_combos;
+}
+
+GList *
+cc_keyboard_item_get_default_combos (CcKeyboardItem *item)
+{
+ g_return_val_if_fail (CC_IS_KEYBOARD_ITEM (item), NULL);
+ return item->default_combos;
+}
+
+CcKeyCombo *
+cc_keyboard_item_get_primary_combo (CcKeyboardItem *item)
+{
+ g_return_val_if_fail (CC_IS_KEYBOARD_ITEM (item), NULL);
+ return item->primary_combo;
+}
+
+const gchar *
+cc_keyboard_item_get_key (CcKeyboardItem *item)
+{
+ g_return_val_if_fail (CC_IS_KEYBOARD_ITEM (item), NULL);
+ return item->key;
+}
+
+CcKeyboardItemType
+cc_keyboard_item_get_item_type (CcKeyboardItem *item)
+{
+ g_return_val_if_fail (CC_IS_KEYBOARD_ITEM (item), CC_KEYBOARD_ITEM_TYPE_NONE);
+ return item->type;
+}
+
+void
+cc_keyboard_item_set_model (CcKeyboardItem *item, GtkTreeModel *model, BindingGroupType group)
+{
+ g_return_if_fail (CC_IS_KEYBOARD_ITEM (item));
+ item->model = model;
+ item->group = group;
+}
+
+const gchar *
+cc_keyboard_item_get_gsettings_path (CcKeyboardItem *item)
+{
+ g_return_val_if_fail (CC_IS_KEYBOARD_ITEM (item), NULL);
+ return item->gsettings_path;
+}
+
+GSettings *
+cc_keyboard_item_get_settings (CcKeyboardItem *item)
+{
+ g_return_val_if_fail (CC_IS_KEYBOARD_ITEM (item), NULL);
+ return item->settings;
+}
+
/*
* vim: sw=2 ts=8 cindent noai bs=2
*/
diff --git a/panels/keyboard/cc-keyboard-item.h b/panels/keyboard/cc-keyboard-item.h
index 755d46dfa..e167f8863 100644
--- a/panels/keyboard/cc-keyboard-item.h
+++ b/panels/keyboard/cc-keyboard-item.h
@@ -25,12 +25,8 @@
G_BEGIN_DECLS
-#define CC_TYPE_KEYBOARD_ITEM (cc_keyboard_item_get_type ())
-#define CC_KEYBOARD_ITEM(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), CC_TYPE_KEYBOARD_ITEM,
CcKeyboardItem))
-#define CC_KEYBOARD_ITEM_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), CC_TYPE_KEYBOARD_ITEM,
CcKeyboardItemClass))
-#define CC_IS_KEYBOARD_ITEM(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), CC_TYPE_KEYBOARD_ITEM))
-#define CC_IS_KEYBOARD_ITEM_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), CC_TYPE_KEYBOARD_ITEM))
-#define CC_KEYBOARD_ITEM_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), CC_TYPE_KEYBOARD_ITEM,
CcKeyboardItemClass))
+#define CC_TYPE_KEYBOARD_ITEM (cc_keyboard_item_get_type ())
+G_DECLARE_FINAL_TYPE (CcKeyboardItem, cc_keyboard_item, CC, KEYBOARD_ITEM, GObject)
typedef enum
{
@@ -52,45 +48,6 @@ typedef struct {
GdkModifierType mask;
} CcKeyCombo;
-typedef struct CcKeyboardItemPrivate CcKeyboardItemPrivate;
-
-typedef struct
-{
- GObject parent;
- CcKeyboardItemPrivate *priv;
-
- /* Move to priv */
- CcKeyboardItemType type;
-
- /* common */
- /* FIXME move to priv? */
- CcKeyCombo *primary_combo;
- BindingGroupType group;
- GtkTreeModel *model;
- char *description;
- gboolean editable;
- GList *key_combos;
- GList *default_combos;
-
- /* GSettings path */
- char *gsettings_path;
- gboolean desc_editable;
- char *command;
- gboolean cmd_editable;
-
- /* GSettings */
- char *schema;
- char *key;
- GSettings *settings;
-} CcKeyboardItem;
-
-typedef struct
-{
- GObjectClass parent_class;
-} CcKeyboardItemClass;
-
-GType cc_keyboard_item_get_type (void);
-
CcKeyboardItem * cc_keyboard_item_new (CcKeyboardItemType type);
gboolean cc_keyboard_item_load_from_gsettings_path (CcKeyboardItem *item,
const char *path,
@@ -101,7 +58,9 @@ gboolean cc_keyboard_item_load_from_gsettings (CcKeyboardItem *item,
const char *key);
const char * cc_keyboard_item_get_description (CcKeyboardItem *item);
+gboolean cc_keyboard_item_get_desc_editable (CcKeyboardItem *item);
const char * cc_keyboard_item_get_command (CcKeyboardItem *item);
+gboolean cc_keyboard_item_get_cmd_editable (CcKeyboardItem *item);
gboolean cc_keyboard_item_equal (CcKeyboardItem *a,
CcKeyboardItem *b);
@@ -119,6 +78,22 @@ gboolean cc_keyboard_item_is_value_default (CcKeyboardItem *self);
void cc_keyboard_item_reset (CcKeyboardItem *self);
+GList * cc_keyboard_item_get_key_combos (CcKeyboardItem *self);
+
+GList * cc_keyboard_item_get_default_combos (CcKeyboardItem *self);
+
+CcKeyCombo * cc_keyboard_item_get_primary_combo (CcKeyboardItem *self);
+
+const gchar * cc_keyboard_item_get_key (CcKeyboardItem *self);
+
+CcKeyboardItemType cc_keyboard_item_get_item_type (CcKeyboardItem *self);
+
+void cc_keyboard_item_set_model (CcKeyboardItem *self, GtkTreeModel *model,
BindingGroupType group);
+
+const gchar * cc_keyboard_item_get_gsettings_path (CcKeyboardItem *self);
+
+GSettings * cc_keyboard_item_get_settings (CcKeyboardItem *self);
+
G_END_DECLS
#endif /* __CC_KEYBOARD_ITEM_H */
diff --git a/panels/keyboard/cc-keyboard-manager.c b/panels/keyboard/cc-keyboard-manager.c
index bedfbdb4a..dd1e79169 100644
--- a/panels/keyboard/cc-keyboard-manager.c
+++ b/panels/keyboard/cc-keyboard-manager.c
@@ -94,7 +94,7 @@ find_conflict (CcUniquenessData *data,
if (data->orig_item && cc_keyboard_item_equal (data->orig_item, item))
return FALSE;
- for (l = item->key_combos; l; l = l->next)
+ for (l = cc_keyboard_item_get_key_combos (item); l; l = l->next)
{
CcKeyCombo *combo = l->data;
@@ -203,8 +203,8 @@ have_key_for_group (CcKeyboardManager *self,
{
CcKeyboardItem *item = g_ptr_array_index (keys, i);
- if (item->type == CC_KEYBOARD_ITEM_TYPE_GSETTINGS &&
- g_strcmp0 (name, item->key) == 0)
+ if (cc_keyboard_item_get_item_type (item) == CC_KEYBOARD_ITEM_TYPE_GSETTINGS &&
+ g_strcmp0 (name, cc_keyboard_item_get_key (item)) == 0)
{
return TRUE;
}
@@ -259,7 +259,7 @@ add_shortcuts (CcKeyboardManager *self)
gtk_list_store_append (self->shortcuts_model, &new_row);
gtk_list_store_set (self->shortcuts_model,
&new_row,
- DETAIL_DESCRIPTION_COLUMN, item->description,
+ DETAIL_DESCRIPTION_COLUMN, cc_keyboard_item_get_description (item),
DETAIL_KEYENTRY_COLUMN, item,
DETAIL_TYPE_COLUMN, SHORTCUT_TYPE_KEY_ENTRY,
-1);
@@ -362,8 +362,7 @@ append_section (CcKeyboardManager *self,
}
cc_keyboard_item_set_hidden (item, keys_list[i].hidden);
- item->model = shortcut_model;
- item->group = group;
+ cc_keyboard_item_set_model (item, shortcut_model, group);
g_ptr_array_add (keys_array, item);
}
@@ -753,8 +752,7 @@ cc_keyboard_manager_create_custom_shortcut (CcKeyboardManager *self)
settings_path = find_free_settings_path (self->binding_settings);
cc_keyboard_item_load_from_gsettings_path (item, settings_path, TRUE);
- item->model = GTK_TREE_MODEL (self->shortcuts_model);
- item->group = BINDING_GROUP_USER;
+ cc_keyboard_item_set_model (item, GTK_TREE_MODEL (self->shortcuts_model), BINDING_GROUP_USER);
return item;
}
@@ -800,7 +798,7 @@ cc_keyboard_manager_add_custom_shortcut (CcKeyboardManager *self,
for (i = 0; settings_paths[i]; i++)
g_variant_builder_add (&builder, "s", settings_paths[i]);
- g_variant_builder_add (&builder, "s", item->gsettings_path);
+ g_variant_builder_add (&builder, "s", cc_keyboard_item_get_gsettings_path (item));
g_settings_set_value (self->binding_settings, "custom-keybindings", g_variant_builder_end (&builder));
@@ -827,6 +825,7 @@ cc_keyboard_manager_remove_custom_shortcut (CcKeyboardManager *self,
GPtrArray *keys_array;
GVariantBuilder builder;
gboolean valid;
+ GSettings *settings;
char **settings_paths;
int i;
@@ -852,20 +851,21 @@ cc_keyboard_manager_remove_custom_shortcut (CcKeyboardManager *self,
/* Shortcut not found or not a custom shortcut */
g_assert (valid);
- g_assert (item->type == CC_KEYBOARD_ITEM_TYPE_GSETTINGS_PATH);
-
- g_settings_delay (item->settings);
- g_settings_reset (item->settings, "name");
- g_settings_reset (item->settings, "command");
- g_settings_reset (item->settings, "binding");
- g_settings_apply (item->settings);
+ g_assert (cc_keyboard_item_get_item_type (item) == CC_KEYBOARD_ITEM_TYPE_GSETTINGS_PATH);
+
+ settings = cc_keyboard_item_get_settings (item);
+ g_settings_delay (settings);
+ g_settings_reset (settings, "name");
+ g_settings_reset (settings, "command");
+ g_settings_reset (settings, "binding");
+ g_settings_apply (settings);
g_settings_sync ();
settings_paths = g_settings_get_strv (self->binding_settings, "custom-keybindings");
g_variant_builder_init (&builder, G_VARIANT_TYPE ("as"));
for (i = 0; settings_paths[i]; i++)
- if (strcmp (settings_paths[i], item->gsettings_path) != 0)
+ if (strcmp (settings_paths[i], cc_keyboard_item_get_gsettings_path (item)) != 0)
g_variant_builder_add (&builder, "s", settings_paths[i]);
g_settings_set_value (self->binding_settings,
@@ -962,7 +962,7 @@ cc_keyboard_manager_reset_shortcut (CcKeyboardManager *self,
g_return_if_fail (CC_IS_KEYBOARD_ITEM (item));
/* Disables any shortcut that conflicts with the new shortcut's value */
- for (l = item->default_combos; l; l = l->next)
+ for (l = cc_keyboard_item_get_default_combos (item); l; l = l->next)
{
CcKeyCombo *combo = l->data;
CcKeyboardItem *collision;
diff --git a/panels/keyboard/cc-keyboard-manager.h b/panels/keyboard/cc-keyboard-manager.h
index 232c4b28d..ff39f5180 100644
--- a/panels/keyboard/cc-keyboard-manager.h
+++ b/panels/keyboard/cc-keyboard-manager.h
@@ -29,8 +29,7 @@
G_BEGIN_DECLS
-#define CC_TYPE_KEYBOARD_MANAGER (cc_keyboard_manager_get_type())
-
+#define CC_TYPE_KEYBOARD_MANAGER (cc_keyboard_manager_get_type ())
G_DECLARE_FINAL_TYPE (CcKeyboardManager, cc_keyboard_manager, CC, KEYBOARD_MANAGER, GObject)
CcKeyboardManager* cc_keyboard_manager_new (void);
diff --git a/panels/keyboard/cc-keyboard-option.c b/panels/keyboard/cc-keyboard-option.c
index d608f37fb..4c42830d8 100644
--- a/panels/keyboard/cc-keyboard-option.c
+++ b/panels/keyboard/cc-keyboard-option.c
@@ -49,8 +49,6 @@ enum
struct _CcKeyboardOption
{
- GObject parent_object;
-
gchar *group;
gchar *description;
gchar *current_value;
@@ -59,6 +57,8 @@ struct _CcKeyboardOption
const gchar * const *whitelist;
};
+G_DEFINE_TYPE (CcKeyboardOption, cc_keyboard_option, G_TYPE_OBJECT);
+
static guint keyboard_option_signals[LAST_SIGNAL] = { 0 };
static GnomeXkbInfo *xkb_info = NULL;
@@ -118,10 +118,6 @@ static const gchar *xkb_option_grp_whitelist[] = {
static GList *objects_list = NULL;
-GType cc_keyboard_option_get_type (void);
-
-G_DEFINE_TYPE (CcKeyboardOption, cc_keyboard_option, G_TYPE_OBJECT);
-
static gboolean
strv_contains (const gchar * const *strv,
const gchar *str)
diff --git a/panels/keyboard/cc-keyboard-panel.c b/panels/keyboard/cc-keyboard-panel.c
index df856fabf..51541cf62 100644
--- a/panels/keyboard/cc-keyboard-panel.c
+++ b/panels/keyboard/cc-keyboard-panel.c
@@ -43,7 +43,7 @@ typedef struct {
struct _CcKeyboardPanel
{
- CcPanel parent;
+ CcPanel parent_instance;
/* Search */
GtkWidget *empty_search_placeholder;
@@ -113,7 +113,7 @@ transform_binding_to_accel (GBinding *binding,
gchar *accelerator;
item = CC_KEYBOARD_ITEM (g_binding_get_source (binding));
- combo = item->primary_combo;
+ combo = cc_keyboard_item_get_primary_combo (item);
/* Embolden the label when the shortcut is modified */
if (!cc_keyboard_item_is_value_default (item))
@@ -157,7 +157,7 @@ reset_all_shortcuts_cb (GtkWidget *widget,
data = g_object_get_data (G_OBJECT (widget), "data");
/* Don't reset custom shortcuts */
- if (data->item->type == CC_KEYBOARD_ITEM_TYPE_GSETTINGS_PATH)
+ if (cc_keyboard_item_get_item_type (data->item) == CC_KEYBOARD_ITEM_TYPE_GSETTINGS_PATH)
return;
/* cc_keyboard_manager_reset_shortcut() already resets conflicting shortcuts,
@@ -236,7 +236,7 @@ add_item (CcKeyboardPanel *self,
NULL);
/* Shortcut title */
- label = gtk_label_new (item->description);
+ label = gtk_label_new (cc_keyboard_item_get_description (item));
gtk_label_set_xalign (GTK_LABEL (label), 0.0);
gtk_label_set_line_wrap (GTK_LABEL (label), TRUE);
gtk_label_set_line_wrap_mode (GTK_LABEL (label), PANGO_WRAP_WORD_CHAR);
@@ -392,7 +392,7 @@ static gboolean
search_match_shortcut (CcKeyboardItem *item,
const gchar *search)
{
- CcKeyCombo *combo = item->primary_combo;
+ CcKeyCombo *combo = cc_keyboard_item_get_primary_combo (item);
GStrv shortcut_tokens, search_tokens;
g_autofree gchar *normalized_accel = NULL;
g_autofree gchar *accel = NULL;
@@ -452,9 +452,9 @@ sort_function (GtkListBoxRow *a,
b_data = g_object_get_data (G_OBJECT (b), "data");
/* Put custom shortcuts below everything else */
- if (a_data->item->type == CC_KEYBOARD_ITEM_TYPE_GSETTINGS_PATH)
+ if (cc_keyboard_item_get_item_type (a_data->item) == CC_KEYBOARD_ITEM_TYPE_GSETTINGS_PATH)
return 1;
- else if (b_data->item->type == CC_KEYBOARD_ITEM_TYPE_GSETTINGS_PATH)
+ else if (cc_keyboard_item_get_item_type (b_data->item) == CC_KEYBOARD_ITEM_TYPE_GSETTINGS_PATH)
return -1;
retval = g_strcmp0 (a_data->section_title, b_data->section_title);
@@ -462,7 +462,7 @@ sort_function (GtkListBoxRow *a,
if (retval != 0)
return retval;
- return g_strcmp0 (a_data->item->description, b_data->item->description);
+ return g_strcmp0 (cc_keyboard_item_get_description (a_data->item), cc_keyboard_item_get_description
(b_data->item));
}
static void
@@ -555,7 +555,7 @@ filter_function (GtkListBoxRow *row,
data = g_object_get_data (G_OBJECT (row), "data");
item = data->item;
- name = cc_util_normalize_casefold_and_unaccent (item->description);
+ name = cc_util_normalize_casefold_and_unaccent (cc_keyboard_item_get_description (item));
search = cc_util_normalize_casefold_and_unaccent (gtk_entry_get_text (GTK_ENTRY (self->search_entry)));
terms = g_strsplit (search, " ", -1);
diff --git a/panels/keyboard/cc-keyboard-panel.h b/panels/keyboard/cc-keyboard-panel.h
index cbf8e0d34..431152768 100644
--- a/panels/keyboard/cc-keyboard-panel.h
+++ b/panels/keyboard/cc-keyboard-panel.h
@@ -27,8 +27,7 @@
G_BEGIN_DECLS
-#define CC_TYPE_KEYBOARD_PANEL (cc_keyboard_panel_get_type())
-
+#define CC_TYPE_KEYBOARD_PANEL (cc_keyboard_panel_get_type ())
G_DECLARE_FINAL_TYPE (CcKeyboardPanel, cc_keyboard_panel, CC, KEYBOARD_PANEL, CcPanel)
CcKeyboardItem* cc_keyboard_panel_create_custom_item (CcKeyboardPanel *self);
diff --git a/panels/keyboard/cc-keyboard-shortcut-editor.c b/panels/keyboard/cc-keyboard-shortcut-editor.c
index c634e9c8f..499260d75 100644
--- a/panels/keyboard/cc-keyboard-shortcut-editor.c
+++ b/panels/keyboard/cc-keyboard-shortcut-editor.c
@@ -152,7 +152,7 @@ apply_custom_item_fields (CcKeyboardShortcutEditor *self,
/* Only setup the binding when it was actually edited */
if (self->edited)
{
- CcKeyCombo *combo = item->primary_combo;
+ CcKeyCombo *combo = cc_keyboard_item_get_primary_combo (item);
g_autofree gchar *binding = NULL;
combo->keycode = self->custom_combo->keycode;
@@ -171,10 +171,10 @@ apply_custom_item_fields (CcKeyboardShortcutEditor *self,
}
/* Set the keyboard shortcut name and command for custom entries */
- if (item->type == CC_KEYBOARD_ITEM_TYPE_GSETTINGS_PATH)
+ if (cc_keyboard_item_get_item_type (item) == CC_KEYBOARD_ITEM_TYPE_GSETTINGS_PATH)
{
- g_settings_set_string (item->settings, "name", gtk_entry_get_text (GTK_ENTRY (self->name_entry)));
- g_settings_set_string (item->settings, "command", gtk_entry_get_text (GTK_ENTRY
(self->command_entry)));
+ g_settings_set_string (cc_keyboard_item_get_settings (item), "name", gtk_entry_get_text (GTK_ENTRY
(self->name_entry)));
+ g_settings_set_string (cc_keyboard_item_get_settings (item), "command", gtk_entry_get_text (GTK_ENTRY
(self->command_entry)));
}
}
@@ -411,8 +411,8 @@ setup_custom_shortcut (CcKeyboardShortcutEditor *self)
collision_text = g_strdup_printf (_("%s is already being used for <b>%s</b>. If you "
"replace it, %s will be disabled"),
friendly_accelerator,
- collision_item->description,
- collision_item->description);
+ cc_keyboard_item_get_description (collision_item),
+ cc_keyboard_item_get_description (collision_item));
label = is_custom_shortcut (self) ? self->new_shortcut_conflict_label : self->shortcut_conflict_label;
@@ -539,7 +539,7 @@ reset_item_clicked_cb (CcKeyboardShortcutEditor *self)
/* Reset first, then update the shortcut */
cc_keyboard_manager_reset_shortcut (self->manager, self->item);
- combo = self->item->primary_combo;
+ combo = cc_keyboard_item_get_primary_combo (self->item);
accel = gtk_accelerator_name (combo->keyval, combo->mask);
gtk_shortcut_label_set_accelerator (GTK_SHORTCUT_LABEL (self->shortcut_accel_label), accel);
@@ -565,8 +565,8 @@ setup_keyboard_item (CcKeyboardShortcutEditor *self,
if (!item)
return;
- combo = item->primary_combo;
- is_custom = item->type == CC_KEYBOARD_ITEM_TYPE_GSETTINGS_PATH;
+ combo = cc_keyboard_item_get_primary_combo (item);
+ is_custom = cc_keyboard_item_get_item_type (item) == CC_KEYBOARD_ITEM_TYPE_GSETTINGS_PATH;
accel = gtk_accelerator_name (combo->keyval, combo->mask);
/* To avoid accidentally thinking we unset the current keybinding, set the values
@@ -587,7 +587,7 @@ setup_keyboard_item (CcKeyboardShortcutEditor *self,
gtk_widget_hide (self->replace_button);
/* Setup the top label */
- text = g_strdup_printf (_("Enter new shortcut to change <b>%s</b>."), item->description);
+ text = g_strdup_printf (_("Enter new shortcut to change <b>%s</b>."), cc_keyboard_item_get_description
(item));
gtk_label_set_markup (GTK_LABEL (self->top_info_label), text);
@@ -611,12 +611,12 @@ setup_keyboard_item (CcKeyboardShortcutEditor *self,
g_signal_handlers_block_by_func (self->name_entry, name_entry_changed_cb, self);
/* Name entry */
- gtk_entry_set_text (GTK_ENTRY (self->name_entry), item->description);
- gtk_widget_set_sensitive (self->name_entry, item->desc_editable);
+ gtk_entry_set_text (GTK_ENTRY (self->name_entry), cc_keyboard_item_get_description (item));
+ gtk_widget_set_sensitive (self->name_entry, cc_keyboard_item_get_desc_editable (item));
/* Command entry */
- gtk_entry_set_text (GTK_ENTRY (self->command_entry), item->command);
- gtk_widget_set_sensitive (self->command_entry, item->cmd_editable);
+ gtk_entry_set_text (GTK_ENTRY (self->command_entry), cc_keyboard_item_get_command (item));
+ gtk_widget_set_sensitive (self->command_entry, cc_keyboard_item_get_cmd_editable (item));
/* If there is no accelerator set for this custom shortcut, show the "Set Shortcut" button. */
is_accel_empty = !accel || accel[0] == '\0';
@@ -808,7 +808,7 @@ grab_idle (gpointer data)
{
CcKeyboardShortcutEditor *self = data;
- if (self->item && self->item->type != CC_KEYBOARD_ITEM_TYPE_GSETTINGS_PATH)
+ if (self->item && cc_keyboard_item_get_item_type (self->item) != CC_KEYBOARD_ITEM_TYPE_GSETTINGS_PATH)
grab_seat (self);
self->grab_idle_id = 0;
diff --git a/panels/keyboard/cc-keyboard-shortcut-editor.h b/panels/keyboard/cc-keyboard-shortcut-editor.h
index a9455a8e1..75199bf50 100644
--- a/panels/keyboard/cc-keyboard-shortcut-editor.h
+++ b/panels/keyboard/cc-keyboard-shortcut-editor.h
@@ -28,7 +28,8 @@
G_BEGIN_DECLS
-#define CC_TYPE_KEYBOARD_SHORTCUT_EDITOR (cc_keyboard_shortcut_editor_get_type())
+#define CC_TYPE_KEYBOARD_SHORTCUT_EDITOR (cc_keyboard_shortcut_editor_get_type ())
+G_DECLARE_FINAL_TYPE (CcKeyboardShortcutEditor, cc_keyboard_shortcut_editor, CC, KEYBOARD_SHORTCUT_EDITOR,
GtkDialog)
typedef enum
{
@@ -36,8 +37,6 @@ typedef enum
CC_SHORTCUT_EDITOR_EDIT
} CcShortcutEditorMode;
-G_DECLARE_FINAL_TYPE (CcKeyboardShortcutEditor, cc_keyboard_shortcut_editor, CC, KEYBOARD_SHORTCUT_EDITOR,
GtkDialog)
-
GtkWidget* cc_keyboard_shortcut_editor_new (CcKeyboardManager *manager);
CcKeyboardItem* cc_keyboard_shortcut_editor_get_item (CcKeyboardShortcutEditor *self);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]