[gnome-control-center] mouse: Sensitivity and acceleration sliders merge
- From: Bastien Nocera <hadess src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-control-center] mouse: Sensitivity and acceleration sliders merge
- Date: Mon, 20 Aug 2012 18:21:22 +0000 (UTC)
commit 9f76e8966104b361ffc6474dfe5a04e64989a323
Author: Ondrej Holy <oholy redhat com>
Date: Thu Aug 9 15:16:05 2012 +0200
mouse: Sensitivity and acceleration sliders merge
https://bugzilla.gnome.org/show_bug.cgi?id=677206
panels/mouse/gnome-mouse-properties.c | 54 +++++----
panels/mouse/gnome-mouse-properties.ui | 205 ++------------------------------
2 files changed, 43 insertions(+), 216 deletions(-)
---
diff --git a/panels/mouse/gnome-mouse-properties.c b/panels/mouse/gnome-mouse-properties.c
index f2b5726..5c86bea 100644
--- a/panels/mouse/gnome-mouse-properties.c
+++ b/panels/mouse/gnome-mouse-properties.c
@@ -134,6 +134,25 @@ synaptics_check_capabilities (GtkBuilder *dialog)
XFreeDeviceList (devicelist);
}
+static void
+pointer_speed_scale_event (GtkRange *scale, GtkBuilder *dialog)
+{
+ gdouble value;
+ GSettings *settings;
+ GtkAdjustment *adjustment;
+
+ if (GTK_WIDGET (scale) == WID ("pointer_speed_scale"))
+ settings = mouse_settings;
+ else
+ settings = touchpad_settings;
+
+ g_settings_set_double (settings, "motion-acceleration", gtk_range_get_value (scale));
+
+ adjustment = gtk_range_get_adjustment (scale);
+ value = gtk_adjustment_get_upper (adjustment) - gtk_range_get_value (scale) + 1;
+ g_settings_set_int (settings, "motion-threshold", value);
+}
+
/* Set up the property editors in the dialog. */
static void
setup_dialog (GtkBuilder *dialog)
@@ -157,12 +176,8 @@ setup_dialog (GtkBuilder *dialog)
G_SETTINGS_BIND_DEFAULT);
/* speed */
- g_settings_bind (mouse_settings, "motion-acceleration",
- gtk_range_get_adjustment (GTK_RANGE (WID ("acceleration_scale"))), "value",
- G_SETTINGS_BIND_DEFAULT);
- g_settings_bind (mouse_settings, "motion-threshold",
- gtk_range_get_adjustment (GTK_RANGE (WID ("sensitivity_scale"))), "value",
- G_SETTINGS_BIND_DEFAULT);
+ g_signal_connect (WID ("pointer_speed_scale"), "value-changed",
+ G_CALLBACK (pointer_speed_scale_event), dialog);
/* Trackpad page */
touchpad_present = touchpad_is_present ();
@@ -181,12 +196,9 @@ setup_dialog (GtkBuilder *dialog)
g_settings_bind (touchpad_settings, "tap-to-click",
WID ("tap_to_click_toggle"), "active",
G_SETTINGS_BIND_DEFAULT);
- g_settings_bind (touchpad_settings, "motion-acceleration",
- gtk_range_get_adjustment (GTK_RANGE (WID ("touchpad_acceleration_scale"))), "value",
- G_SETTINGS_BIND_DEFAULT);
- g_settings_bind (touchpad_settings, "motion-threshold",
- gtk_range_get_adjustment (GTK_RANGE (WID ("touchpad_sensitivity_scale"))), "value",
- G_SETTINGS_BIND_DEFAULT);
+
+ g_signal_connect (WID ("touchpad_pointer_speed_scale"), "value-changed",
+ G_CALLBACK (pointer_speed_scale_event), dialog);
if (touchpad_present) {
synaptics_check_capabilities (dialog);
@@ -206,25 +218,19 @@ create_dialog (GtkBuilder *dialog)
size_group = gtk_size_group_new (GTK_SIZE_GROUP_HORIZONTAL);
gtk_size_group_add_widget (size_group, WID ("primary_button_label"));
- gtk_size_group_add_widget (size_group, WID ("acceleration_label"));
- gtk_size_group_add_widget (size_group, WID ("sensitivity_label"));
+ gtk_size_group_add_widget (size_group, WID ("pointer_speed_label"));
gtk_size_group_add_widget (size_group, WID ("double_click_label"));
- gtk_size_group_add_widget (size_group, WID ("touchpad_acceleration_label"));
- gtk_size_group_add_widget (size_group, WID ("touchpad_sensitivity_label"));
+ gtk_size_group_add_widget (size_group, WID ("touchpad_pointer_speed_label"));
size_group = gtk_size_group_new (GTK_SIZE_GROUP_HORIZONTAL);
- gtk_size_group_add_widget (size_group, WID ("acceleration_fast_label"));
- gtk_size_group_add_widget (size_group, WID ("sensitivity_high_label"));
+ gtk_size_group_add_widget (size_group, WID ("pointer_speed_fast_label"));
gtk_size_group_add_widget (size_group, WID ("double_click_fast_label"));
- gtk_size_group_add_widget (size_group, WID ("touchpad_acceleration_fast_label"));
- gtk_size_group_add_widget (size_group, WID ("touchpad_sensitivity_high_label"));
+ gtk_size_group_add_widget (size_group, WID ("touchpad_pointer_speed_fast_label"));
size_group = gtk_size_group_new (GTK_SIZE_GROUP_HORIZONTAL);
- gtk_size_group_add_widget (size_group, WID ("acceleration_slow_label"));
- gtk_size_group_add_widget (size_group, WID ("sensitivity_low_label"));
+ gtk_size_group_add_widget (size_group, WID ("pointer_speed_slow_label"));
gtk_size_group_add_widget (size_group, WID ("double_click_slow_label"));
- gtk_size_group_add_widget (size_group, WID ("touchpad_acceleration_slow_label"));
- gtk_size_group_add_widget (size_group, WID ("touchpad_sensitivity_low_label"));
+ gtk_size_group_add_widget (size_group, WID ("touchpad_pointer_speed_slow_label"));
}
/* Callback issued when a button is clicked on the dialog */
diff --git a/panels/mouse/gnome-mouse-properties.ui b/panels/mouse/gnome-mouse-properties.ui
index 17160cf..2975210 100644
--- a/panels/mouse/gnome-mouse-properties.ui
+++ b/panels/mouse/gnome-mouse-properties.ui
@@ -15,20 +15,6 @@
<property name="step_increment">1</property>
<property name="page_increment">1</property>
</object>
- <object class="GtkAdjustment" id="adjustment2">
- <property name="lower">1</property>
- <property name="upper">10</property>
- <property name="value">1</property>
- <property name="step_increment">1</property>
- <property name="page_increment">1</property>
- </object>
- <object class="GtkAdjustment" id="adjustment22">
- <property name="lower">1</property>
- <property name="upper">10</property>
- <property name="value">1</property>
- <property name="step_increment">1</property>
- <property name="page_increment">1</property>
- </object>
<object class="GtkAdjustment" id="adjustment4">
<property name="lower">100</property>
<property name="upper">1000</property>
@@ -195,7 +181,7 @@
<property name="can_focus">False</property>
<property name="halign">start</property>
<property name="xalign">0</property>
- <property name="label" translatable="yes">_Primary button</property>
+ <property name="label" translatable="yes">Primary _button</property>
<property name="use_underline">True</property>
<property name="mnemonic_widget">right_handed_radio</property>
</object>
@@ -326,40 +312,21 @@
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="margin_right">220</property>
- <property name="n_rows">2</property>
<property name="n_columns">3</property>
<property name="column_spacing">40</property>
<property name="row_spacing">5</property>
<child>
- <object class="GtkLabel" id="acceleration_label">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="halign">start</property>
- <property name="xalign">0</property>
- <property name="label" translatable="yes">_Acceleration</property>
- <property name="use_underline">True</property>
- <property name="justify">center</property>
- <property name="mnemonic_widget">acceleration_scale</property>
- </object>
- <packing>
- <property name="x_options">GTK_FILL</property>
- <property name="y_options">GTK_FILL</property>
- </packing>
- </child>
- <child>
- <object class="GtkLabel" id="sensitivity_label">
+ <object class="GtkLabel" id="pointer_speed_label">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="halign">start</property>
<property name="xalign">0</property>
- <property name="label" translatable="yes">_Sensitivity</property>
+ <property name="label" translatable="yes">_Pointer speed</property>
<property name="use_underline">True</property>
<property name="justify">center</property>
- <property name="mnemonic_widget">sensitivity_scale</property>
+ <property name="mnemonic_widget">pointer_speed_scale</property>
</object>
<packing>
- <property name="top_attach">1</property>
- <property name="bottom_attach">2</property>
<property name="x_options">GTK_FILL</property>
<property name="y_options">GTK_FILL</property>
</packing>
@@ -371,7 +338,7 @@
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
<property name="spacing">5</property>
<child>
- <object class="GtkLabel" id="acceleration_slow_label">
+ <object class="GtkLabel" id="pointer_speed_slow_label">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="xalign">1</property>
@@ -389,7 +356,7 @@
</packing>
</child>
<child>
- <object class="GtkHScale" id="acceleration_scale">
+ <object class="GtkHScale" id="pointer_speed_scale">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="adjustment">adjustment1</property>
@@ -403,7 +370,7 @@
</packing>
</child>
<child>
- <object class="GtkLabel" id="acceleration_fast_label">
+ <object class="GtkLabel" id="pointer_speed_fast_label">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="xalign">0</property>
@@ -427,69 +394,6 @@
<property name="x_padding">2</property>
</packing>
</child>
- <child>
- <object class="GtkHBox" id="hbox3">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
- <property name="spacing">5</property>
- <child>
- <object class="GtkLabel" id="sensitivity_low_label">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="xalign">1</property>
- <property name="label" translatable="yes" context="Mouse sensitivity" comments="low sensitivity">Low</property>
- <property name="justify">center</property>
- <attributes>
- <attribute name="scale" value="0.82999999999999996"/>
- </attributes>
- </object>
- <packing>
- <property name="expand">False</property>
- <property name="fill">True</property>
- <property name="position">0</property>
- </packing>
- </child>
- <child>
- <object class="GtkHScale" id="sensitivity_scale">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="adjustment">adjustment2</property>
- <property name="digits">0</property>
- <property name="draw_value">False</property>
- </object>
- <packing>
- <property name="expand">True</property>
- <property name="fill">True</property>
- <property name="position">1</property>
- </packing>
- </child>
- <child>
- <object class="GtkLabel" id="sensitivity_high_label">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="xalign">0</property>
- <property name="label" translatable="yes" context="Mouse sensitivity" comments="high sensitivity">High</property>
- <property name="justify">center</property>
- <attributes>
- <attribute name="scale" value="0.82999999999999996"/>
- </attributes>
- </object>
- <packing>
- <property name="expand">False</property>
- <property name="fill">True</property>
- <property name="position">2</property>
- </packing>
- </child>
- </object>
- <packing>
- <property name="left_attach">1</property>
- <property name="right_attach">3</property>
- <property name="top_attach">1</property>
- <property name="bottom_attach">2</property>
- <property name="x_padding">2</property>
- </packing>
- </child>
</object>
</child>
</object>
@@ -592,20 +496,19 @@
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="margin_right">220</property>
- <property name="n_rows">2</property>
<property name="n_columns">3</property>
<property name="column_spacing">40</property>
<property name="row_spacing">5</property>
<child>
- <object class="GtkLabel" id="touchpad_acceleration_label">
+ <object class="GtkLabel" id="touchpad_pointer_speed_label">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="halign">start</property>
<property name="xalign">0</property>
- <property name="label" translatable="yes">_Acceleration</property>
+ <property name="label" translatable="yes">_Pointer speed</property>
<property name="use_underline">True</property>
<property name="justify">center</property>
- <property name="mnemonic_widget">touchpad_acceleration_scale</property>
+ <property name="mnemonic_widget">touchpad_pointer_speed_scale</property>
</object>
<packing>
<property name="x_options">GTK_FILL</property>
@@ -613,31 +516,13 @@
</packing>
</child>
<child>
- <object class="GtkLabel" id="touchpad_sensitivity_label">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="halign">start</property>
- <property name="xalign">0</property>
- <property name="label" translatable="yes">_Sensitivity</property>
- <property name="use_underline">True</property>
- <property name="justify">center</property>
- <property name="mnemonic_widget">touchpad_sensitivity_scale</property>
- </object>
- <packing>
- <property name="top_attach">1</property>
- <property name="bottom_attach">2</property>
- <property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
- </packing>
- </child>
- <child>
<object class="GtkHBox" id="hbox7">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
<property name="spacing">5</property>
<child>
- <object class="GtkLabel" id="touchpad_acceleration_slow_label">
+ <object class="GtkLabel" id="touchpad_pointer_speed_slow_label">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="xalign">1</property>
@@ -654,7 +539,7 @@
</packing>
</child>
<child>
- <object class="GtkHScale" id="touchpad_acceleration_scale">
+ <object class="GtkHScale" id="touchpad_pointer_speed_scale">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="adjustment">adjustment11</property>
@@ -668,7 +553,7 @@
</packing>
</child>
<child>
- <object class="GtkLabel" id="touchpad_acceleration_fast_label">
+ <object class="GtkLabel" id="touchpad_pointer_speed_fast_label">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="xalign">0</property>
@@ -692,70 +577,6 @@
<property name="x_padding">2</property>
</packing>
</child>
- <child>
- <object class="GtkHBox" id="hbox8">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
- <property name="spacing">5</property>
- <child>
- <object class="GtkLabel" id="touchpad_sensitivity_low_label">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="xalign">1</property>
- <property name="label" translatable="yes" context="Mouse sensitivity" comments="low sensitivity">Low</property>
- <property name="justify">center</property>
- <attributes>
- <attribute name="scale" value="0.82999999999999996"/>
- </attributes>
- </object>
- <packing>
- <property name="expand">False</property>
- <property name="fill">True</property>
- <property name="position">0</property>
- </packing>
- </child>
- <child>
- <object class="GtkHScale" id="touchpad_sensitivity_scale">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="adjustment">adjustment22</property>
- <property name="digits">0</property>
- <property name="draw_value">False</property>
- </object>
- <packing>
- <property name="expand">True</property>
- <property name="fill">True</property>
- <property name="position">1</property>
- </packing>
- </child>
- <child>
- <object class="GtkLabel" id="touchpad_sensitivity_high_label">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="xalign">0</property>
- <property name="label" translatable="yes" context="Mouse sensitivity" comments="high sensitivity">High</property>
- <property name="justify">center</property>
- <attributes>
- <attribute name="scale" value="0.82999999999999996"/>
- </attributes>
- </object>
- <packing>
- <property name="expand">False</property>
- <property name="fill">True</property>
- <property name="position">2</property>
- </packing>
- </child>
- </object>
- <packing>
- <property name="left_attach">1</property>
- <property name="right_attach">3</property>
- <property name="top_attach">1</property>
- <property name="bottom_attach">2</property>
- <property name="y_options">GTK_FILL</property>
- <property name="x_padding">2</property>
- </packing>
- </child>
</object>
<packing>
<property name="expand">False</property>
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]