[gnome-flashback] input-settings: use separate functions for speed and scroll



commit 5d5b6b0fc979f416b101d9be3f264d151915ef15
Author: Alberts Muktupāvels <alberts muktupavels gmail com>
Date:   Thu Jul 28 21:27:01 2016 +0300

    input-settings: use separate functions for speed and scroll
    
    - Replace update_device_speed with update_mouse_speed and
      update_touchpad_speed.
    - Replace update_device_natural_scroll with update_mouse_natural_scroll
      and update_touchpad_natural_scroll

 .../libinput-settings/gf-input-settings.c          |  116 ++++++++++----------
 1 files changed, 59 insertions(+), 57 deletions(-)
---
diff --git a/gnome-flashback/libinput-settings/gf-input-settings.c 
b/gnome-flashback/libinput-settings/gf-input-settings.c
index 0cef706..ff5a97f 100644
--- a/gnome-flashback/libinput-settings/gf-input-settings.c
+++ b/gnome-flashback/libinput-settings/gf-input-settings.c
@@ -257,18 +257,6 @@ set_uint_setting (GfInputSettings *settings,
   g_list_free (devices);
 }
 
-static GSettings *
-get_settings_for_source (GfInputSettings *settings,
-                         GdkInputSource   source)
-{
-  if (source == GDK_SOURCE_MOUSE)
-    return settings->mouse;
-  else if (source == GDK_SOURCE_TOUCHPAD)
-    return settings->touchpad;
-
-  return NULL;
-}
-
 static void
 set_speed (GfInputSettings *settings,
            GdkDevice       *device,
@@ -596,70 +584,86 @@ update_mouse_left_handed (GfInputSettings *settings,
 }
 
 static void
-update_device_speed (GfInputSettings *settings,
-                     GdkDevice       *device)
+update_mouse_speed (GfInputSettings *settings,
+                    GdkDevice       *device)
 {
-  GSettings *gsettings;
-  const gchar *key;
   gdouble value;
 
-  key = "speed";
+  if (device && gdk_device_get_source (device) != GDK_SOURCE_MOUSE)
+    return;
+
+  value = g_settings_get_double (settings->mouse, "speed");
 
   if (device)
     {
-      gsettings = get_settings_for_source (settings,
-                                           gdk_device_get_source (device));
-
-      if (!gsettings)
-        return;
-
-      value = g_settings_get_double (gsettings, key);
       device_set_double_setting (settings, device, set_speed, value);
     }
   else
     {
-      gsettings = get_settings_for_source (settings, GDK_SOURCE_MOUSE);
-      value = g_settings_get_double (gsettings, key);
       set_double_setting (settings, GDK_SOURCE_MOUSE, set_speed, value);
-
-      gsettings = get_settings_for_source (settings, GDK_SOURCE_TOUCHPAD);
-      value = g_settings_get_double (gsettings, key);
-      set_double_setting (settings, GDK_SOURCE_TOUCHPAD, set_speed, value);
     }
 }
 
 static void
-update_device_natural_scroll (GfInputSettings *settings,
-                              GdkDevice       *device)
+update_mouse_natural_scroll (GfInputSettings *settings,
+                             GdkDevice       *device)
 {
-  GSettings *gsettings;
-  const gchar *key;
   gboolean value;
 
-  key = "natural-scroll";
+  if (device && gdk_device_get_source (device) != GDK_SOURCE_MOUSE)
+    return;
+
+  value = g_settings_get_boolean (settings->mouse, "natural-scroll");
 
   if (device)
     {
-      gsettings = get_settings_for_source (settings,
-                                           gdk_device_get_source (device));
-
-      if (!gsettings)
-        return;
-
-      value = g_settings_get_boolean (gsettings, key);
       device_set_bool_setting (settings, device, set_invert_scroll, value);
     }
   else
     {
-      gsettings = get_settings_for_source (settings, GDK_SOURCE_MOUSE);
-      value = g_settings_get_boolean (gsettings, key);
-
       set_bool_setting (settings, GDK_SOURCE_MOUSE,
                         set_invert_scroll, value);
+    }
+}
+
+static void
+update_touchpad_speed (GfInputSettings *settings,
+                       GdkDevice       *device)
+{
+  gdouble value;
+
+  if (device && gdk_device_get_source (device) != GDK_SOURCE_TOUCHPAD)
+    return;
+
+  value = g_settings_get_double (settings->touchpad, "speed");
+
+  if (device)
+    {
+      device_set_double_setting (settings, device, set_speed, value);
+    }
+  else
+    {
+      set_double_setting (settings, GDK_SOURCE_TOUCHPAD, set_speed, value);
+    }
+}
+
+static void
+update_touchpad_natural_scroll (GfInputSettings *settings,
+                                GdkDevice       *device)
+{
+  gboolean value;
 
-      gsettings = get_settings_for_source (settings, GDK_SOURCE_TOUCHPAD);
-      value = g_settings_get_boolean (gsettings, key);
+  if (device && gdk_device_get_source (device) != GDK_SOURCE_TOUCHPAD)
+    return;
 
+  value = g_settings_get_boolean (settings->touchpad, "natural-scroll");
+
+  if (device)
+    {
+      device_set_bool_setting (settings, device, set_invert_scroll, value);
+    }
+  else
+    {
       set_bool_setting (settings, GDK_SOURCE_TOUCHPAD,
                         set_invert_scroll, value);
     }
@@ -854,18 +858,18 @@ settings_changed_cb (GSettings       *gsettings,
       if (strcmp (key, "left-handed") == 0)
         update_mouse_left_handed (settings, NULL);
       else if (strcmp (key, "speed") == 0)
-        update_device_speed (settings, NULL);
+        update_mouse_speed (settings, NULL);
       else if (strcmp (key, "natural-scroll") == 0)
-        update_device_natural_scroll (settings, NULL);
+        update_mouse_natural_scroll (settings, NULL);
     }
   else if (gsettings == settings->touchpad)
     {
       if (strcmp (key, "left-handed") == 0)
         update_touchpad_left_handed (settings, NULL);
       else if (strcmp (key, "speed") == 0)
-        update_device_speed (settings, NULL);
+        update_touchpad_speed (settings, NULL);
       else if (strcmp (key, "natural-scroll") == 0)
-        update_device_natural_scroll (settings, NULL);
+        update_touchpad_natural_scroll (settings, NULL);
       else if (strcmp (key, "tap-to-click") == 0)
         update_touchpad_tap_enabled (settings, NULL);
       else if (strcmp (key, "send-events") == 0)
@@ -1067,14 +1071,12 @@ apply_device_settings (GfInputSettings *settings,
                        GdkDevice       *device)
 {
   update_mouse_left_handed (settings, device);
-  update_device_speed (settings, device);
-  update_device_natural_scroll (settings, device);
+  update_mouse_speed (settings, device);
+  update_mouse_natural_scroll (settings, device);
 
   update_touchpad_left_handed (settings, device);
-#if 0
-  update_device_speed (settings, device);
-  update_device_natural_scroll (settings, device);
-#endif
+  update_touchpad_speed (settings, device);
+  update_touchpad_natural_scroll (settings, device);
   update_touchpad_tap_enabled (settings, device);
   update_touchpad_send_events (settings, device);
   update_touchpad_edge_scroll (settings, device);


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]