mouse: Don't reset scrolling method on start
Or tap-to-click for that matter, if the device present does not support it. https://bugzilla.gnome.org/show_bug.cgi?id=642474
This commit is contained in:
parent
f1c3818094
commit
c34734dd87
1 changed files with 11 additions and 6 deletions
|
@ -59,6 +59,7 @@ static GSettings *touchpad_settings = NULL;
|
||||||
static GdkDeviceManager *device_manager = NULL;
|
static GdkDeviceManager *device_manager = NULL;
|
||||||
static guint device_added_id = 0;
|
static guint device_added_id = 0;
|
||||||
static guint device_removed_id = 0;
|
static guint device_removed_id = 0;
|
||||||
|
static gboolean changing_scroll = FALSE;
|
||||||
|
|
||||||
/* Double Click handling */
|
/* Double Click handling */
|
||||||
|
|
||||||
|
@ -181,6 +182,9 @@ scrollmethod_changed_event (GtkToggleButton *button, GtkBuilder *dialog)
|
||||||
GsdTouchpadScrollMethod method;
|
GsdTouchpadScrollMethod method;
|
||||||
GtkToggleButton *disabled = GTK_TOGGLE_BUTTON (WID ("scroll_disabled_radio"));
|
GtkToggleButton *disabled = GTK_TOGGLE_BUTTON (WID ("scroll_disabled_radio"));
|
||||||
|
|
||||||
|
if (changing_scroll)
|
||||||
|
return;
|
||||||
|
|
||||||
gtk_widget_set_sensitive (WID ("horiz_scroll_toggle"),
|
gtk_widget_set_sensitive (WID ("horiz_scroll_toggle"),
|
||||||
!gtk_toggle_button_get_active (disabled));
|
!gtk_toggle_button_get_active (disabled));
|
||||||
|
|
||||||
|
@ -226,7 +230,6 @@ synaptics_check_capabilities (GtkBuilder *dialog)
|
||||||
/* Property data is booleans for has_left, has_middle, has_right, has_double, has_triple.
|
/* Property data is booleans for has_left, has_middle, has_right, has_double, has_triple.
|
||||||
* Newer drivers (X.org/kerrnel) will also include has_pressure and has_width. */
|
* Newer drivers (X.org/kerrnel) will also include has_pressure and has_width. */
|
||||||
if (!data[0]) {
|
if (!data[0]) {
|
||||||
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (WID ("tap_to_click_toggle")), TRUE);
|
|
||||||
gtk_widget_set_sensitive (WID ("tap_to_click_toggle"), FALSE);
|
gtk_widget_set_sensitive (WID ("tap_to_click_toggle"), FALSE);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -308,17 +311,17 @@ setup_dialog (GtkBuilder *dialog)
|
||||||
gtk_range_get_adjustment (GTK_RANGE (WID ("touchpad_sensitivity_scale"))), "value",
|
gtk_range_get_adjustment (GTK_RANGE (WID ("touchpad_sensitivity_scale"))), "value",
|
||||||
G_SETTINGS_BIND_DEFAULT);
|
G_SETTINGS_BIND_DEFAULT);
|
||||||
|
|
||||||
|
if (touchpad_present) {
|
||||||
|
synaptics_check_capabilities (dialog);
|
||||||
|
setup_scrollmethod_radios (dialog);
|
||||||
|
}
|
||||||
|
|
||||||
g_signal_connect (WID ("scroll_disabled_radio"), "toggled",
|
g_signal_connect (WID ("scroll_disabled_radio"), "toggled",
|
||||||
G_CALLBACK (scrollmethod_changed_event), dialog);
|
G_CALLBACK (scrollmethod_changed_event), dialog);
|
||||||
g_signal_connect (WID ("scroll_edge_radio"), "toggled",
|
g_signal_connect (WID ("scroll_edge_radio"), "toggled",
|
||||||
G_CALLBACK (scrollmethod_changed_event), dialog);
|
G_CALLBACK (scrollmethod_changed_event), dialog);
|
||||||
g_signal_connect (WID ("scroll_twofinger_radio"), "toggled",
|
g_signal_connect (WID ("scroll_twofinger_radio"), "toggled",
|
||||||
G_CALLBACK (scrollmethod_changed_event), dialog);
|
G_CALLBACK (scrollmethod_changed_event), dialog);
|
||||||
|
|
||||||
if (touchpad_present) {
|
|
||||||
synaptics_check_capabilities (dialog);
|
|
||||||
setup_scrollmethod_radios (dialog);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Construct the dialog */
|
/* Construct the dialog */
|
||||||
|
@ -372,8 +375,10 @@ device_changed (GdkDeviceManager *device_manager,
|
||||||
gtk_widget_set_visible (WID ("touchpad_vbox"), present);
|
gtk_widget_set_visible (WID ("touchpad_vbox"), present);
|
||||||
|
|
||||||
if (present) {
|
if (present) {
|
||||||
|
changing_scroll = TRUE;
|
||||||
synaptics_check_capabilities (dialog);
|
synaptics_check_capabilities (dialog);
|
||||||
setup_scrollmethod_radios (dialog);
|
setup_scrollmethod_radios (dialog);
|
||||||
|
changing_scroll = FALSE;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue