From 7a7640f62d9994077260f6db343a3ae1b1f69eef Mon Sep 17 00:00:00 2001 From: monsta Date: Thu, 22 Dec 2016 18:44:40 +0300 Subject: mouse: reorganize helpers for setting touchpad scrolling --- plugins/mouse/msd-mouse-manager.c | 29 ++++++++++++++--------------- 1 file changed, 14 insertions(+), 15 deletions(-) diff --git a/plugins/mouse/msd-mouse-manager.c b/plugins/mouse/msd-mouse-manager.c index 20cfa56..9c7a56c 100644 --- a/plugins/mouse/msd-mouse-manager.c +++ b/plugins/mouse/msd-mouse-manager.c @@ -866,9 +866,17 @@ synaptics_set_bool (XDeviceInfo *device_info, } static void -synaptics_set_bool_all (const char *property_name, - int property_index, - gboolean enabled) +set_scrolling (XDeviceInfo *device_info, + GSettings *settings) +{ + synaptics_set_bool (device_info, "Synaptics Edge Scrolling", 0, g_settings_get_boolean (settings, KEY_VERT_EDGE_SCROLL)); + synaptics_set_bool (device_info, "Synaptics Edge Scrolling", 1, g_settings_get_boolean (settings, KEY_HORIZ_EDGE_SCROLL)); + synaptics_set_bool (device_info, "Synaptics Two-Finger Scrolling", 0, g_settings_get_boolean (settings, KEY_VERT_TWO_FINGER_SCROLL)); + synaptics_set_bool (device_info, "Synaptics Two-Finger Scrolling", 1, g_settings_get_boolean (settings, KEY_HORIZ_TWO_FINGER_SCROLL)); +} + +static void +set_scrolling_all (GSettings *settings) { int numdevices, i; XDeviceInfo *devicelist = XListInputDevices (GDK_DISPLAY_XDISPLAY (gdk_display_get_default ()), &numdevices); @@ -877,21 +885,12 @@ synaptics_set_bool_all (const char *property_name, return; for (i = 0; i < numdevices; i++) { - synaptics_set_bool (&devicelist[i], property_name, property_index, enabled); + set_scrolling (&devicelist[i], settings); } XFreeDeviceList (devicelist); } -static void -set_scrolling (GSettings *settings) -{ - synaptics_set_bool_all ("Synaptics Edge Scrolling", 0, g_settings_get_boolean (settings, KEY_VERT_EDGE_SCROLL)); - synaptics_set_bool_all ("Synaptics Edge Scrolling", 1, g_settings_get_boolean (settings, KEY_HORIZ_EDGE_SCROLL)); - synaptics_set_bool_all ("Synaptics Two-Finger Scrolling", 0, g_settings_get_boolean (settings, KEY_VERT_TWO_FINGER_SCROLL)); - synaptics_set_bool_all ("Synaptics Two-Finger Scrolling", 1, g_settings_get_boolean (settings, KEY_HORIZ_TWO_FINGER_SCROLL)); -} - static void set_touchpad_enabled (XDeviceInfo *device_info, gboolean state) @@ -1043,7 +1042,7 @@ set_mouse_settings (MsdMouseManager *manager) set_tap_to_click_all (manager); set_click_actions_all (manager); - set_scrolling (manager->priv->settings_touchpad); + set_scrolling_all (manager->priv->settings_touchpad); set_natural_scroll_all (manager); set_touchpad_enabled_all (g_settings_get_boolean (manager->priv->settings_touchpad, KEY_TOUCHPAD_ENABLED)); } @@ -1101,7 +1100,7 @@ touchpad_callback (GSettings *settings, || (g_strcmp0 (key, KEY_HORIZ_EDGE_SCROLL) == 0) || (g_strcmp0 (key, KEY_VERT_TWO_FINGER_SCROLL) == 0) || (g_strcmp0 (key, KEY_HORIZ_TWO_FINGER_SCROLL) == 0)) { - set_scrolling (manager->priv->settings_touchpad); + set_scrolling_all (manager->priv->settings_touchpad); } else if (g_strcmp0 (key, KEY_TOUCHPAD_NATURAL_SCROLL) == 0) { set_natural_scroll_all (manager); } else if (g_strcmp0 (key, KEY_TOUCHPAD_ENABLED) == 0) { -- cgit v1.2.1