universal-access: Migrate mouse settings to GSettings
This commit is contained in:
parent
71c6f13575
commit
10d65280f6
1 changed files with 21 additions and 68 deletions
|
@ -31,8 +31,6 @@
|
||||||
|
|
||||||
#define CONFIG_ROOT "/desktop/gnome/accessibility"
|
#define CONFIG_ROOT "/desktop/gnome/accessibility"
|
||||||
|
|
||||||
#define MOUSE_CONFIG_ROOT CONFIG_ROOT "/mouse"
|
|
||||||
|
|
||||||
#define WID(b, w) (GtkWidget *) gtk_builder_get_object (b, w)
|
#define WID(b, w) (GtkWidget *) gtk_builder_get_object (b, w)
|
||||||
|
|
||||||
|
|
||||||
|
@ -211,47 +209,13 @@ cc_ua_panel_section_toggled (GtkToggleButton *button,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static GConfValue*
|
|
||||||
cc_ua_panel_toggle_radios (GConfPropertyEditor *peditor,
|
|
||||||
const GConfValue *value)
|
|
||||||
{
|
|
||||||
GtkWidget *radio;
|
|
||||||
gboolean enabled;
|
|
||||||
|
|
||||||
enabled = gconf_value_get_bool (value);
|
|
||||||
radio = (GtkWidget*) gconf_property_editor_get_ui_control (peditor);
|
|
||||||
|
|
||||||
if (!enabled)
|
|
||||||
{
|
|
||||||
GSList *list, *l;
|
|
||||||
|
|
||||||
list = gtk_radio_button_get_group (GTK_RADIO_BUTTON (radio));
|
|
||||||
|
|
||||||
if (list)
|
|
||||||
{
|
|
||||||
/* activate the "off" button */
|
|
||||||
for (l = list; l; l = l->next)
|
|
||||||
{
|
|
||||||
if (l->data == radio)
|
|
||||||
continue;
|
|
||||||
|
|
||||||
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (l->data),
|
|
||||||
TRUE);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return gconf_value_copy (value);
|
|
||||||
}
|
|
||||||
|
|
||||||
static void
|
static void
|
||||||
gconf_on_off_peditor_new (CcUaPanelPrivate *priv,
|
settings_on_off_editor_new (CcUaPanelPrivate *priv,
|
||||||
|
GSettings *settings,
|
||||||
const gchar *key,
|
const gchar *key,
|
||||||
GtkWidget *widget,
|
GtkWidget *widget,
|
||||||
gchar **section)
|
gchar **section)
|
||||||
{
|
{
|
||||||
GObject *peditor;
|
|
||||||
|
|
||||||
/* set data to enable/disable the section this on/off switch controls */
|
/* set data to enable/disable the section this on/off switch controls */
|
||||||
if (section)
|
if (section)
|
||||||
{
|
{
|
||||||
|
@ -262,12 +226,7 @@ gconf_on_off_peditor_new (CcUaPanelPrivate *priv,
|
||||||
}
|
}
|
||||||
|
|
||||||
/* set up the boolean editor */
|
/* set up the boolean editor */
|
||||||
peditor = gconf_peditor_new_boolean (NULL, key, widget, NULL);
|
g_settings_bind (settings, key, widget, "active", G_SETTINGS_BIND_DEFAULT);
|
||||||
g_object_set (peditor, "conv-to-widget-cb", cc_ua_panel_toggle_radios, NULL);
|
|
||||||
|
|
||||||
/* emit the notify on the key, so that the conv-to-widget-cb callback is run
|
|
||||||
*/
|
|
||||||
gconf_client_notify (priv->client, key);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* seeing section */
|
/* seeing section */
|
||||||
|
@ -618,17 +577,15 @@ static void
|
||||||
cc_ua_panel_init_keyboard (CcUaPanel *self)
|
cc_ua_panel_init_keyboard (CcUaPanel *self)
|
||||||
{
|
{
|
||||||
CcUaPanelPrivate *priv = self->priv;
|
CcUaPanelPrivate *priv = self->priv;
|
||||||
GConfChangeSet *changeset = NULL;
|
|
||||||
GtkWidget *w;
|
GtkWidget *w;
|
||||||
|
|
||||||
|
|
||||||
/* enable shortcuts */
|
/* enable shortcuts */
|
||||||
w = WID (priv->builder, "typing_keyboard_toggle_checkbox");
|
w = WID (priv->builder, "typing_keyboard_toggle_checkbox");
|
||||||
g_settings_bind (priv->kb_settings, "enable", w, "active", G_SETTINGS_BIND_DEFAULT);
|
g_settings_bind (priv->kb_settings, "enable", w, "active", G_SETTINGS_BIND_DEFAULT);
|
||||||
|
|
||||||
/* sticky keys */
|
/* sticky keys */
|
||||||
w = WID (priv->builder, "typing_sticky_keys_on_radiobutton");
|
w = WID (priv->builder, "typing_sticky_keys_on_radiobutton");
|
||||||
g_settings_bind (priv->kb_settings, "stickykeys-enable", w, "active", G_SETTINGS_BIND_DEFAULT);
|
settings_on_off_editor_new (priv, priv->kb_settings, "stickykeys-enable", w, sticky_keys_section);
|
||||||
|
|
||||||
w = WID (priv->builder, "typing_sticky_keys_disable_two_keys_checkbutton");
|
w = WID (priv->builder, "typing_sticky_keys_disable_two_keys_checkbutton");
|
||||||
g_settings_bind (priv->kb_settings, "stickykeys-two-key-off", w, "active", G_SETTINGS_BIND_DEFAULT);
|
g_settings_bind (priv->kb_settings, "stickykeys-two-key-off", w, "active", G_SETTINGS_BIND_DEFAULT);
|
||||||
|
@ -638,7 +595,7 @@ cc_ua_panel_init_keyboard (CcUaPanel *self)
|
||||||
|
|
||||||
/* slow keys */
|
/* slow keys */
|
||||||
w = WID (priv->builder, "typing_slow_keys_on_radiobutton");
|
w = WID (priv->builder, "typing_slow_keys_on_radiobutton");
|
||||||
g_settings_bind (priv->kb_settings, "slowkeys-enable", w, "active", G_SETTINGS_BIND_DEFAULT);
|
settings_on_off_editor_new (priv, priv->kb_settings, "slowkeys-enable", w, slow_keys_section);
|
||||||
|
|
||||||
w = WID (priv->builder, "typing_slowkeys_delay_scale");
|
w = WID (priv->builder, "typing_slowkeys_delay_scale");
|
||||||
g_settings_bind (priv->kb_settings, "slowkeys-delay",
|
g_settings_bind (priv->kb_settings, "slowkeys-delay",
|
||||||
|
@ -656,7 +613,7 @@ cc_ua_panel_init_keyboard (CcUaPanel *self)
|
||||||
|
|
||||||
/* bounce keys */
|
/* bounce keys */
|
||||||
w = WID (priv->builder, "typing_bounce_keys_on_radiobutton");
|
w = WID (priv->builder, "typing_bounce_keys_on_radiobutton");
|
||||||
g_settings_bind (priv->kb_settings, "bouncekeys-enable", w, "active", G_SETTINGS_BIND_DEFAULT);
|
settings_on_off_editor_new (priv, priv->kb_settings, "bouncekeys-enable", w, bounce_keys_section);
|
||||||
|
|
||||||
w = WID (priv->builder, "typing_bouncekeys_delay_scale");
|
w = WID (priv->builder, "typing_bouncekeys_delay_scale");
|
||||||
g_settings_bind (priv->kb_settings, "bouncekeys-delay",
|
g_settings_bind (priv->kb_settings, "bouncekeys-delay",
|
||||||
|
@ -686,38 +643,34 @@ static void
|
||||||
cc_ua_panel_init_mouse (CcUaPanel *self)
|
cc_ua_panel_init_mouse (CcUaPanel *self)
|
||||||
{
|
{
|
||||||
CcUaPanelPrivate *priv = self->priv;
|
CcUaPanelPrivate *priv = self->priv;
|
||||||
GConfChangeSet *changeset = NULL;
|
|
||||||
GtkWidget *w;
|
GtkWidget *w;
|
||||||
|
|
||||||
/* mouse keys */
|
/* mouse keys */
|
||||||
w = WID (priv->builder, "pointing_mouse_keys_on_radiobutton");
|
w = WID (priv->builder, "pointing_mouse_keys_on_radiobutton");
|
||||||
g_settings_bind (priv->kb_settings, "mousekeys-enable", w, "active", G_SETTINGS_BIND_DEFAULT);
|
settings_on_off_editor_new (priv, priv->kb_settings, "mousekeys-enable", w, NULL);
|
||||||
|
|
||||||
/* simulated secondary click */
|
/* simulated secondary click */
|
||||||
w = WID (priv->builder, "pointing_second_click_on_radiobutton");
|
w = WID (priv->builder, "pointing_second_click_on_radiobutton");
|
||||||
gconf_on_off_peditor_new (priv, MOUSE_CONFIG_ROOT "/delay_enable", w,
|
settings_on_off_editor_new (priv, priv->mouse_settings, "secondary-click-enabled", w, secondary_click_section);
|
||||||
secondary_click_section);
|
|
||||||
|
|
||||||
w = WID (priv->builder, "pointing_secondary_click_delay_scale");
|
w = WID (priv->builder, "pointing_secondary_click_delay_scale");
|
||||||
gconf_peditor_new_numeric_range (changeset,
|
g_settings_bind (priv->mouse_settings, "secondary-click-time",
|
||||||
MOUSE_CONFIG_ROOT "/delay_time", w,
|
gtk_range_get_adjustment (GTK_RANGE (w)), "value",
|
||||||
NULL);
|
G_SETTINGS_BIND_DEFAULT);
|
||||||
|
|
||||||
|
|
||||||
/* dwell click */
|
/* dwell click */
|
||||||
w = WID (priv->builder, "pointing_hover_click_on_radiobutton");
|
w = WID (priv->builder, "pointing_hover_click_on_radiobutton");
|
||||||
gconf_on_off_peditor_new (priv,MOUSE_CONFIG_ROOT "/dwell_enable", w,
|
settings_on_off_editor_new (priv, priv->mouse_settings, "dwell-click-enabled", w, dwell_click_section);
|
||||||
dwell_click_section);
|
|
||||||
|
|
||||||
w = WID (priv->builder, "pointing_dwell_delay_scale");
|
w = WID (priv->builder, "pointing_dwell_delay_scale");
|
||||||
gconf_peditor_new_numeric_range (changeset,
|
g_settings_bind (priv->mouse_settings, "dwell-time",
|
||||||
MOUSE_CONFIG_ROOT "/dwell_time", w,
|
gtk_range_get_adjustment (GTK_RANGE (w)), "value",
|
||||||
NULL);
|
G_SETTINGS_BIND_DEFAULT);
|
||||||
|
|
||||||
w = WID (priv->builder, "pointing_dwell_threshold_scale");
|
w = WID (priv->builder, "pointing_dwell_threshold_scale");
|
||||||
gconf_peditor_new_numeric_range (changeset,
|
g_settings_bind (priv->mouse_settings, "dwell-threshold",
|
||||||
MOUSE_CONFIG_ROOT "/threshold", w,
|
gtk_range_get_adjustment (GTK_RANGE (w)), "value",
|
||||||
NULL);
|
G_SETTINGS_BIND_DEFAULT);
|
||||||
|
|
||||||
/* mouse preferences button */
|
/* mouse preferences button */
|
||||||
g_signal_connect (WID (priv->builder, "pointing_mouse_preferences_button"),
|
g_signal_connect (WID (priv->builder, "pointing_mouse_preferences_button"),
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue