[gnome-control-center/wip/cdavis/40-consistency] mouse: Use libhandy preference widgets



commit 93b3cd34b733cf6db619536c9498a40dfbd52a77
Author: Christopher Davis <christopherdavis gnome org>
Date:   Wed Feb 17 18:49:32 2021 -0800

    mouse: Use libhandy preference widgets

 panels/mouse/cc-mouse-panel.c  |  116 ++--
 panels/mouse/cc-mouse-panel.ui | 1171 +++++++++++++++++++---------------------
 2 files changed, 594 insertions(+), 693 deletions(-)
---
diff --git a/panels/mouse/cc-mouse-panel.c b/panels/mouse/cc-mouse-panel.c
index 4f28edaae..2fafc4f18 100644
--- a/panels/mouse/cc-mouse-panel.c
+++ b/panels/mouse/cc-mouse-panel.c
@@ -23,6 +23,7 @@
 
 #include <gdesktop-enums.h>
 #include <gtk/gtk.h>
+#include <libhandy-1/handy.h>
 
 #include "cc-mouse-caps-helper.h"
 #include "cc-mouse-panel.h"
@@ -34,44 +35,44 @@
 
 struct _CcMousePanel
 {
-  CcPanel            parent_instance;
-
-  GtkListBoxRow     *edge_scrolling_row;
-  GtkSwitch         *edge_scrolling_switch;
-  GtkListBox        *general_listbox;
-  GtkFrame          *mouse_frame;
-  GtkListBox        *mouse_listbox;
-  GtkSwitch         *mouse_natural_scrolling_switch;
-  GtkScale          *mouse_speed_scale;
-  CcMouseTest       *mouse_test;
-  GtkRadioButton    *primary_button_left;
-  GtkRadioButton    *primary_button_right;
-  GtkScrolledWindow *scrolled_window;
-  GtkStack          *stack;
-  GtkListBoxRow     *tap_to_click_row;
-  GtkSwitch         *tap_to_click_switch;
-  GtkButton         *test_button;
-  GtkFrame          *touchpad_frame;
-  GtkListBox        *touchpad_listbox;
-  GtkListBoxRow     *touchpad_natural_scrolling_row;
-  GtkSwitch         *touchpad_natural_scrolling_switch;
-  GtkListBoxRow     *touchpad_speed_row;
-  GtkScale          *touchpad_speed_scale;
-  GtkSwitch         *touchpad_toggle_switch;
-  GtkListBoxRow     *two_finger_scrolling_row;
-  GtkSwitch         *two_finger_scrolling_switch;
-
-  GSettings         *mouse_settings;
-  GSettings         *touchpad_settings;
-
-  gboolean           have_mouse;
-  gboolean           have_touchpad;
-  gboolean           have_touchscreen;
-  gboolean           have_synaptics;
-
-  gboolean           left_handed;
-  GtkGesture        *left_gesture;
-  GtkGesture        *right_gesture;
+  CcPanel              parent_instance;
+
+  GtkListBoxRow       *edge_scrolling_row;
+  GtkSwitch           *edge_scrolling_switch;
+  GtkListBox          *general_listbox;
+  HdyPreferencesGroup *mouse_group;
+  GtkListBox          *mouse_listbox;
+  GtkSwitch           *mouse_natural_scrolling_switch;
+  GtkScale            *mouse_speed_scale;
+  CcMouseTest         *mouse_test;
+  GtkRadioButton      *primary_button_left;
+  GtkRadioButton      *primary_button_right;
+  HdyPreferencesPage  *preference_page;
+  GtkStack            *stack;
+  GtkListBoxRow       *tap_to_click_row;
+  GtkSwitch           *tap_to_click_switch;
+  GtkButton           *test_button;
+  HdyPreferencesGroup *touchpad_group;
+  GtkListBox          *touchpad_listbox;
+  GtkListBoxRow       *touchpad_natural_scrolling_row;
+  GtkSwitch           *touchpad_natural_scrolling_switch;
+  GtkListBoxRow       *touchpad_speed_row;
+  GtkScale            *touchpad_speed_scale;
+  GtkSwitch           *touchpad_toggle_switch;
+  GtkListBoxRow       *two_finger_scrolling_row;
+  GtkSwitch           *two_finger_scrolling_switch;
+
+  GSettings           *mouse_settings;
+  GSettings           *touchpad_settings;
+
+  gboolean             have_mouse;
+  gboolean             have_touchpad;
+  gboolean             have_touchscreen;
+  gboolean             have_synaptics;
+
+  gboolean             left_handed;
+  GtkGesture          *left_gesture;
+  GtkGesture          *right_gesture;
 };
 
 CC_PANEL_REGISTER (CcMousePanel, cc_mouse_panel)
@@ -86,13 +87,13 @@ setup_touchpad_options (CcMousePanel *self)
   gboolean have_tap_to_click;
 
   if (self->have_synaptics || !self->have_touchpad) {
-    gtk_widget_hide (GTK_WIDGET (self->touchpad_frame));
+    gtk_widget_hide (GTK_WIDGET (self->touchpad_group));
     return;
   }
 
   cc_touchpad_check_capabilities (&have_two_finger_scrolling, &have_edge_scrolling, &have_tap_to_click);
 
-  gtk_widget_show (GTK_WIDGET (self->touchpad_frame));
+  gtk_widget_show (GTK_WIDGET (self->touchpad_group));
 
   gtk_widget_set_visible (GTK_WIDGET (self->two_finger_scrolling_row), have_two_finger_scrolling);
   gtk_widget_set_visible (GTK_WIDGET (self->edge_scrolling_row), have_edge_scrolling);
@@ -228,18 +229,13 @@ setup_dialog (CcMousePanel *self)
        self->mouse_natural_scrolling_switch, "active",
        G_SETTINGS_BIND_DEFAULT);
 
-  gtk_list_box_set_header_func (self->general_listbox, cc_list_box_update_header_func, NULL, NULL);
-  gtk_list_box_set_header_func (self->touchpad_listbox, cc_list_box_update_header_func, NULL, NULL);
-
   /* Mouse section */
-  gtk_widget_set_visible (GTK_WIDGET (self->mouse_frame), self->have_mouse);
+  gtk_widget_set_visible (GTK_WIDGET (self->mouse_group), self->have_mouse);
 
   g_settings_bind (self->mouse_settings, "speed",
                    gtk_range_get_adjustment (GTK_RANGE (self->mouse_speed_scale)), "value",
                    G_SETTINGS_BIND_DEFAULT);
 
-  gtk_list_box_set_header_func (self->mouse_listbox, cc_list_box_update_header_func, NULL, NULL);
-
   /* Touchpad section */
   gtk_widget_set_visible (GTK_WIDGET (self->touchpad_toggle_switch), show_touchpad_enabling_switch (self));
 
@@ -312,27 +308,10 @@ device_changed (CcMousePanel *self)
   setup_touchpad_options (self);
 
   self->have_mouse = mouse_is_present ();
-  gtk_widget_set_visible (GTK_WIDGET (self->mouse_frame), self->have_mouse);
+  gtk_widget_set_visible (GTK_WIDGET (self->mouse_group), self->have_mouse);
   gtk_widget_set_visible (GTK_WIDGET (self->touchpad_toggle_switch), show_touchpad_enabling_switch (self));
 }
 
-static void
-on_content_size_changed (CcMousePanel  *self,
-                         GtkAllocation *allocation)
-{
-  if (allocation->height < 490)
-  {
-    gtk_scrolled_window_set_policy (self->scrolled_window,
-                                    GTK_POLICY_NEVER, GTK_POLICY_NEVER);
-  }
-  else
-  {
-    gtk_scrolled_window_set_policy (self->scrolled_window,
-                                    GTK_POLICY_NEVER, GTK_POLICY_AUTOMATIC);
-    gtk_scrolled_window_set_min_content_height (self->scrolled_window, 490);
-  }
-}
-
 static void
 cc_mouse_panel_dispose (GObject *object)
 {
@@ -358,7 +337,7 @@ test_button_toggled_cb (CcMousePanel *self)
   if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (self->test_button)))
     gtk_stack_set_visible_child (self->stack, GTK_WIDGET (self->mouse_test));
   else
-    gtk_stack_set_visible_child (self->stack, GTK_WIDGET (self->scrolled_window));
+    gtk_stack_set_visible_child (self->stack, GTK_WIDGET (self->preference_page));
 }
 
 static void
@@ -420,19 +399,19 @@ cc_mouse_panel_class_init (CcMousePanelClass *klass)
   gtk_widget_class_bind_template_child (widget_class, CcMousePanel, edge_scrolling_row);
   gtk_widget_class_bind_template_child (widget_class, CcMousePanel, edge_scrolling_switch);
   gtk_widget_class_bind_template_child (widget_class, CcMousePanel, general_listbox);
-  gtk_widget_class_bind_template_child (widget_class, CcMousePanel, mouse_frame);
+  gtk_widget_class_bind_template_child (widget_class, CcMousePanel, mouse_group);
   gtk_widget_class_bind_template_child (widget_class, CcMousePanel, mouse_listbox);
   gtk_widget_class_bind_template_child (widget_class, CcMousePanel, mouse_natural_scrolling_switch);
   gtk_widget_class_bind_template_child (widget_class, CcMousePanel, mouse_speed_scale);
   gtk_widget_class_bind_template_child (widget_class, CcMousePanel, mouse_test);
   gtk_widget_class_bind_template_child (widget_class, CcMousePanel, primary_button_left);
   gtk_widget_class_bind_template_child (widget_class, CcMousePanel, primary_button_right);
-  gtk_widget_class_bind_template_child (widget_class, CcMousePanel, scrolled_window);
+  gtk_widget_class_bind_template_child (widget_class, CcMousePanel, preference_page);
   gtk_widget_class_bind_template_child (widget_class, CcMousePanel, stack);
   gtk_widget_class_bind_template_child (widget_class, CcMousePanel, tap_to_click_row);
   gtk_widget_class_bind_template_child (widget_class, CcMousePanel, tap_to_click_switch);
   gtk_widget_class_bind_template_child (widget_class, CcMousePanel, test_button);
-  gtk_widget_class_bind_template_child (widget_class, CcMousePanel, touchpad_frame);
+  gtk_widget_class_bind_template_child (widget_class, CcMousePanel, touchpad_group);
   gtk_widget_class_bind_template_child (widget_class, CcMousePanel, touchpad_listbox);
   gtk_widget_class_bind_template_child (widget_class, CcMousePanel, touchpad_natural_scrolling_row);
   gtk_widget_class_bind_template_child (widget_class, CcMousePanel, touchpad_natural_scrolling_switch);
@@ -443,7 +422,6 @@ cc_mouse_panel_class_init (CcMousePanelClass *klass)
   gtk_widget_class_bind_template_child (widget_class, CcMousePanel, two_finger_scrolling_switch);
 
   gtk_widget_class_bind_template_callback (widget_class, edge_scrolling_changed_event);
-  gtk_widget_class_bind_template_callback (widget_class, on_content_size_changed);
   gtk_widget_class_bind_template_callback (widget_class, test_button_toggled_cb);
   gtk_widget_class_bind_template_callback (widget_class, two_finger_scrolling_changed_event);
 }
diff --git a/panels/mouse/cc-mouse-panel.ui b/panels/mouse/cc-mouse-panel.ui
index bcfde6de6..a51c459c9 100644
--- a/panels/mouse/cc-mouse-panel.ui
+++ b/panels/mouse/cc-mouse-panel.ui
@@ -6,698 +6,621 @@
     <child>
       <object class="GtkStack" id="stack">
         <property name="visible">True</property>
+        <property name="height_request">490</property>
         <child>
-          <object class="GtkScrolledWindow" id="scrolled_window">
+          <object class="HdyPreferencesPage" id="preference_page">
             <property name="visible">True</property>
-            <property name="can_focus">False</property>
-            <property name="shadow_type">none</property>
-            <property name="hscrollbar_policy">never</property>
-            <signal name="size-allocate" handler="on_content_size_changed" object="CcMousePanel" 
swapped="yes"/>
             <child>
-              <object class="GtkBox">
+              <object class="HdyPreferencesGroup">
                 <property name="visible">True</property>
-                <property name="can_focus">False</property>
-                <property name="halign">center</property>
-                <property name="margin_top">32</property>
-                <property name="margin_bottom">32</property>
-                <property name="orientation">vertical</property>
+                <property name="title" translatable="yes">General</property>
                 <child>
-                  <object class="GtkFrame">
+                  <object class="GtkListBox" id="general_listbox">
                     <property name="visible">True</property>
-                    <property name="can_focus">False</property>
-                    <property name="shadow_type">in</property>
-                    <property name="margin_bottom">32</property>
-                    <property name="label_yalign">0.45</property>
-                    <property name="shadow_type">none</property>
-                    <child type="label">
-                      <object class="GtkLabel">
-                        <property name="visible">True</property>
-                        <property name="can_focus">False</property>
-                        <property name="xalign">0</property>
-                        <property name="label" translatable="yes">General</property>
-                       <property name="margin_bottom">12</property>
-                        <attributes>
-                          <attribute name="weight" value="bold"/>
-                        </attributes>
-                      </object>
-                    </child>
+                    <property name="can_focus">True</property>
+                    <property name="selection_mode">none</property>
                     <child>
-                      <object class="GtkFrame">
+                      <object class="GtkListBoxRow" id="primary_button_row">
                         <property name="visible">True</property>
-                        <property name="can_focus">False</property>
-                        <property name="shadow_type">in</property>
+                        <property name="can_focus">True</property>
+                        <property name="activatable">false</property>
                         <child>
-                          <object class="GtkListBox" id="general_listbox">
+                          <object class="GtkGrid">
                             <property name="visible">True</property>
-                            <property name="can_focus">True</property>
-                            <property name="selection_mode">none</property>
+                            <property name="can_focus">False</property>
+                            <property name="row_spacing">2</property>
+                            <property name="column_spacing">16</property>
+                            <property name="margin_start">20</property>
+                            <property name="margin_end">20</property>
+                            <property name="margin_top">12</property>
+                            <property name="margin_bottom">12</property>
                             <child>
-                              <object class="GtkListBoxRow" id="primary_button_row">
+                              <object class="GtkLabel">
                                 <property name="visible">True</property>
-                                <property name="can_focus">True</property>
-                                <property name="activatable">false</property>
+                                <property name="can_focus">False</property>
+                                <property name="hexpand">True</property>
+                                <property name="xalign">0</property>
+                                <property name="label" translatable="yes">Primary Button</property>
+                                <property name="use_underline">True</property>
+                                <property name="mnemonic_widget">primary_button_row</property>
+                              </object>
+                              <packing>
+                                <property name="left_attach">0</property>
+                                <property name="top_attach">0</property>
+                                <property name="width">1</property>
+                                <property name="height">1</property>
+                              </packing>
+                            </child>
+                            <child>
+                              <object class="GtkLabel">
+                                <property name="visible">True</property>
+                                <property name="can_focus">False</property>
+                                <property name="xalign">0</property>
+                                <property name="max-width-chars">20</property>
+                                <property name="wrap">True</property>
+                                <property name="wrap-mode">word</property>
+                                <property name="label" translatable="yes">Sets the order of physical buttons 
on mice and touchpads.</property>
+                                <style>
+                                  <class name="dim-label"/>
+                                </style>
+                                <attributes>
+                                  <attribute name="scale" value="0.9"/>
+                                </attributes>
+                              </object>
+                              <packing>
+                                <property name="left_attach">0</property>
+                                <property name="top_attach">1</property>
+                                <property name="width">1</property>
+                                <property name="height">1</property>
+                              </packing>
+                            </child>
+                            <child>
+                              <object class="GtkGrid">
+                                <property name="visible">True</property>
+                                <property name="can_focus">False</property>
+                                <property name="valign">center</property>
+                                <property name="column_homogeneous">True</property>
+                                <style>
+                                  <class name="linked"/>
+                                </style>
                                 <child>
-                                  <object class="GtkGrid">
+                                  <object class="GtkRadioButton" id="primary_button_left">
                                     <property name="visible">True</property>
-                                    <property name="can_focus">False</property>
-                                    <property name="row_spacing">2</property>
-                                    <property name="column_spacing">16</property>
-                                    <property name="margin_start">20</property>
-                                    <property name="margin_end">20</property>
-                                    <property name="margin_top">12</property>
-                                    <property name="margin_bottom">12</property>
-                                    <child>
-                                      <object class="GtkLabel">
-                                        <property name="visible">True</property>
-                                        <property name="can_focus">False</property>
-                                        <property name="hexpand">True</property>
-                                        <property name="xalign">0</property>
-                                        <property name="label" translatable="yes">Primary Button</property>
-                                        <property name="use_underline">True</property>
-                                        <property name="mnemonic_widget">primary_button_row</property>
-                                      </object>
-                                      <packing>
-                                        <property name="left_attach">0</property>
-                                        <property name="top_attach">0</property>
-                                        <property name="width">1</property>
-                                        <property name="height">1</property>
-                                      </packing>
-                                    </child>
-                                    <child>
-                                      <object class="GtkLabel">
-                                        <property name="visible">True</property>
-                                        <property name="can_focus">False</property>
-                                        <property name="xalign">0</property>
-                                        <property name="max-width-chars">20</property>
-                                        <property name="wrap">True</property>
-                                        <property name="wrap-mode">word</property>
-                                        <property name="label" translatable="yes">Sets the order of physical 
buttons on mice and touchpads.</property>
-                                        <style>
-                                          <class name="dim-label"/>
-                                        </style>
-                                        <attributes>
-                                          <attribute name="scale" value="0.9"/>
-                                        </attributes>
-                                      </object>
-                                      <packing>
-                                        <property name="left_attach">0</property>
-                                        <property name="top_attach">1</property>
-                                        <property name="width">1</property>
-                                        <property name="height">1</property>
-                                      </packing>
-                                    </child>
-                                    <child>
-                                      <object class="GtkGrid">
-                                        <property name="visible">True</property>
-                                        <property name="can_focus">False</property>
-                                        <property name="valign">center</property>
-                                        <property name="column_homogeneous">True</property>
-                                        <style>
-                                          <class name="linked"/>
-                                        </style>
-                                        <child>
-                                          <object class="GtkRadioButton" id="primary_button_left">
-                                            <property name="visible">True</property>
-                                            <property name="can_focus">True</property>
-                                            <property name="hexpand">True</property>
-                                            <property name="label" translatable="yes">Left</property>
-                                            <property name="draw-indicator">False</property>
-                                            <property name="height_request">35</property>
-                                          </object>
-                                        </child>
-                                        <child>
-                                          <object class="GtkRadioButton" id="primary_button_right">
-                                            <property name="visible">True</property>
-                                            <property name="can_focus">True</property>
-                                            <property name="hexpand">True</property>
-                                            <property name="label" translatable="yes">Right</property>
-                                            <property name="draw-indicator">False</property>
-                                            <property name="group">primary_button_left</property>
-                                            <property name="height_request">35</property>
-                                          </object>
-                                        </child>
-                                      </object>
-                                      <packing>
-                                        <property name="left_attach">1</property>
-                                        <property name="top_attach">0</property>
-                                        <property name="width">1</property>
-                                        <property name="height">2</property>
-                                      </packing>
-                                    </child>
+                                    <property name="can_focus">True</property>
+                                    <property name="hexpand">True</property>
+                                    <property name="label" translatable="yes">Left</property>
+                                    <property name="draw-indicator">False</property>
+                                    <property name="height_request">35</property>
+                                  </object>
+                                </child>
+                                <child>
+                                  <object class="GtkRadioButton" id="primary_button_right">
+                                    <property name="visible">True</property>
+                                    <property name="can_focus">True</property>
+                                    <property name="hexpand">True</property>
+                                    <property name="label" translatable="yes">Right</property>
+                                    <property name="draw-indicator">False</property>
+                                    <property name="group">primary_button_left</property>
+                                    <property name="height_request">35</property>
                                   </object>
                                 </child>
                               </object>
+                              <packing>
+                                <property name="left_attach">1</property>
+                                <property name="top_attach">0</property>
+                                <property name="width">1</property>
+                                <property name="height">2</property>
+                              </packing>
                             </child>
                           </object>
                         </child>
                       </object>
                     </child>
+                    <style>
+                      <class name="content"/>
+                    </style>
                   </object>
                 </child>
+              </object>
+            </child>
+            <child>
+              <object class="HdyPreferencesGroup" id="mouse_group">
+                <property name="visible">True</property>
+                <property name="title" translatable="yes">Mouse</property>
                 <child>
-                  <object class="GtkFrame" id="mouse_frame">
-                    <property name="visible">False</property>
-                    <property name="can_focus">False</property>
-                    <property name="shadow_type">none</property>
-                    <property name="label_yalign">0.45</property>
-                        <property name="margin_bottom">32</property>
-                    <child type="label">
-                      <object class="GtkLabel">
-                        <property name="visible">True</property>
-                        <property name="can_focus">False</property>
-                        <property name="xalign">0</property>
-                        <property name="label" translatable="yes">Mouse</property>
-                        <property name="margin_bottom">12</property>
-                        <attributes>
-                          <attribute name="weight" value="bold"/>
-                        </attributes>
-                      </object>
-                    </child>
+                  <object class="GtkListBox" id="mouse_listbox">
+                    <property name="visible">True</property>
+                    <property name="can_focus">True</property>
+                    <property name="selection_mode">none</property>
                     <child>
-                      <object class="GtkFrame">
+                      <object class="GtkListBoxRow" id="mouse_row">
                         <property name="visible">True</property>
-                        <property name="can_focus">False</property>
-                        <property name="shadow_type">in</property>
+                        <property name="can_focus">True</property>
+                        <property name="activatable">false</property>
                         <child>
-                          <object class="GtkListBox" id="mouse_listbox">
+                          <object class="GtkGrid">
                             <property name="visible">True</property>
-                            <property name="can_focus">True</property>
-                            <property name="selection_mode">none</property>
+                            <property name="can_focus">False</property>
+                            <property name="row_spacing">0</property>
+                            <property name="column_spacing">32</property>
+                            <property name="margin_start">20</property>
+                            <property name="margin_end">20</property>
+                            <property name="margin_top">8</property>
+                            <property name="margin_bottom">8</property>
+                            <property name="valign">center</property>
                             <child>
-                              <object class="GtkListBoxRow" id="mouse_row">
+                              <object class="GtkLabel">
+                                <property name="visible">True</property>
+                                <property name="can_focus">False</property>
+                                <property name="xalign">0</property>
+                                <property name="valign">end</property>
+                                <property name="label" translatable="yes">Mouse Speed</property>
+                                <property name="use_underline">True</property>
+                                <property name="mnemonic_widget">mouse_speed_scale</property>
+                              </object>
+                              <packing>
+                                <property name="left_attach">0</property>
+                                <property name="top_attach">0</property>
+                                <property name="width">1</property>
+                                <property name="height">1</property>
+                              </packing>
+                            </child>
+                            <child>
+                              <object class="GtkScale" id="mouse_speed_scale">
                                 <property name="visible">True</property>
                                 <property name="can_focus">True</property>
-                                <property name="activatable">false</property>
-                                <child>
-                                  <object class="GtkGrid">
-                                    <property name="visible">True</property>
-                                    <property name="can_focus">False</property>
-                                    <property name="row_spacing">0</property>
-                                    <property name="column_spacing">32</property>
-                                    <property name="margin_start">20</property>
-                                    <property name="margin_end">20</property>
-                                    <property name="margin_top">8</property>
-                                    <property name="margin_bottom">8</property>
-                                    <property name="valign">center</property>
-                                    <child>
-                                      <object class="GtkLabel">
-                                        <property name="visible">True</property>
-                                        <property name="can_focus">False</property>
-                                        <property name="xalign">0</property>
-                                        <property name="valign">end</property>
-                                        <property name="label" translatable="yes">Mouse Speed</property>
-                                        <property name="use_underline">True</property>
-                                        <property name="mnemonic_widget">mouse_speed_scale</property>
-                                      </object>
-                                      <packing>
-                                        <property name="left_attach">0</property>
-                                        <property name="top_attach">0</property>
-                                        <property name="width">1</property>
-                                        <property name="height">1</property>
-                                      </packing>
-                                    </child>
-                                    <child>
-                                      <object class="GtkScale" id="mouse_speed_scale">
-                                        <property name="visible">True</property>
-                                        <property name="can_focus">True</property>
-                                        <property name="adjustment">mouse_speed_adjustment</property>
-                                        <property name="draw_value">False</property>
-                                        <property name="width-request">300</property>
-                                        <property name="halign">end</property>
-                                        <property name="expand">True</property>
-                                        <child internal-child="accessible">
-                                          <object class="AtkObject">
-                                            <property name="AtkObject::accessible-description" 
translatable="yes">Double-click timeout</property>
-                                          </object>
-                                        </child>
-                                      </object>
-                                      <packing>
-                                        <property name="left_attach">1</property>
-                                        <property name="top_attach">0</property>
-                                        <property name="width">1</property>
-                                        <property name="height">2</property>
-                                      </packing>
-                                    </child>
+                                <property name="adjustment">mouse_speed_adjustment</property>
+                                <property name="draw_value">False</property>
+                                <property name="width-request">300</property>
+                                <property name="halign">end</property>
+                                <property name="expand">True</property>
+                                <child internal-child="accessible">
+                                  <object class="AtkObject">
+                                    <property name="AtkObject::accessible-description" 
translatable="yes">Double-click timeout</property>
                                   </object>
                                 </child>
                               </object>
+                              <packing>
+                                <property name="left_attach">1</property>
+                                <property name="top_attach">0</property>
+                                <property name="width">1</property>
+                                <property name="height">2</property>
+                              </packing>
+                            </child>
+                          </object>
+                        </child>
+                      </object>
+                    </child>
+                    <child>
+                      <object class="GtkListBoxRow" id="mouse_natural_scrolling_row">
+                        <property name="visible">True</property>
+                        <property name="can_focus">True</property>
+                        <property name="activatable">false</property>
+                        <child>
+                          <object class="GtkGrid">
+                            <property name="visible">True</property>
+                            <property name="can_focus">False</property>
+                            <property name="row_spacing">2</property>
+                            <property name="column_spacing">16</property>
+                            <property name="margin_start">20</property>
+                            <property name="margin_end">20</property>
+                            <property name="margin_top">6</property>
+                            <property name="margin_bottom">6</property>
+                            <property name="valign">center</property>
+                            <child>
+                              <object class="GtkLabel">
+                                <property name="visible">True</property>
+                                <property name="can_focus">False</property>
+                                <property name="hexpand">True</property>
+                                <property name="xalign">0</property>
+                                <property name="label" translatable="yes" comments="Translators: This switch 
reverses the scrolling direction for mices. The term used comes from OS X so use the same translation if 
possible.">Natural Scrolling</property>
+                                <property name="use_underline">True</property>
+                                <property name="mnemonic_widget">mouse_natural_scrolling_switch</property>
+                              </object>
+                              <packing>
+                                <property name="left_attach">0</property>
+                                <property name="top_attach">0</property>
+                                <property name="width">1</property>
+                                <property name="height">1</property>
+                              </packing>
                             </child>
                             <child>
-                              <object class="GtkListBoxRow" id="mouse_natural_scrolling_row">
+                              <object class="GtkLabel">
+                                <property name="visible">True</property>
+                                <property name="can_focus">False</property>
+                                <property name="xalign">0</property>
+                                <property name="label" translatable="yes">Scrolling moves the content, not 
the view.</property>
+                                <style>
+                                  <class name="dim-label"/>
+                                </style>
+                                <attributes>
+                                  <attribute name="scale" value="0.9"/>
+                                </attributes>
+                              </object>
+                              <packing>
+                                <property name="left_attach">0</property>
+                                <property name="top_attach">1</property>
+                                <property name="width">1</property>
+                                <property name="height">1</property>
+                              </packing>
+                            </child>
+                            <child>
+                              <object class="GtkSwitch" id="mouse_natural_scrolling_switch">
                                 <property name="visible">True</property>
                                 <property name="can_focus">True</property>
-                                <property name="activatable">false</property>
-                                <child>
-                                  <object class="GtkGrid">
-                                    <property name="visible">True</property>
-                                    <property name="can_focus">False</property>
-                                    <property name="row_spacing">2</property>
-                                    <property name="column_spacing">16</property>
-                                    <property name="margin_start">20</property>
-                                    <property name="margin_end">20</property>
-                                    <property name="margin_top">6</property>
-                                    <property name="margin_bottom">6</property>
-                                    <property name="valign">center</property>
-                                    <child>
-                                      <object class="GtkLabel">
-                                        <property name="visible">True</property>
-                                        <property name="can_focus">False</property>
-                                        <property name="hexpand">True</property>
-                                        <property name="xalign">0</property>
-                                        <property name="label" translatable="yes" comments="Translators: 
This switch reverses the scrolling direction for mices. The term used comes from OS X so use the same 
translation if possible.">Natural Scrolling</property>
-                                        <property name="use_underline">True</property>
-                                        <property 
name="mnemonic_widget">mouse_natural_scrolling_switch</property>
-                                      </object>
-                                      <packing>
-                                        <property name="left_attach">0</property>
-                                        <property name="top_attach">0</property>
-                                        <property name="width">1</property>
-                                        <property name="height">1</property>
-                                      </packing>
-                                    </child>
-                                    <child>
-                                      <object class="GtkLabel">
-                                        <property name="visible">True</property>
-                                        <property name="can_focus">False</property>
-                                        <property name="xalign">0</property>
-                                        <property name="label" translatable="yes">Scrolling moves the 
content, not the view.</property>
-                                        <style>
-                                          <class name="dim-label"/>
-                                        </style>
-                                        <attributes>
-                                          <attribute name="scale" value="0.9"/>
-                                        </attributes>
-                                      </object>
-                                      <packing>
-                                        <property name="left_attach">0</property>
-                                        <property name="top_attach">1</property>
-                                        <property name="width">1</property>
-                                        <property name="height">1</property>
-                                      </packing>
-                                    </child>
-                                    <child>
-                                      <object class="GtkSwitch" id="mouse_natural_scrolling_switch">
-                                        <property name="visible">True</property>
-                                        <property name="can_focus">True</property>
-                                        <property name="halign">end</property>
-                                        <property name="valign">center</property>
-                                      </object>
-                                      <packing>
-                                        <property name="left_attach">1</property>
-                                        <property name="top_attach">0</property>
-                                        <property name="width">1</property>
-                                        <property name="height">2</property>
-                                      </packing>
-                                    </child>
-                                  </object>
-                                </child>
+                                <property name="halign">end</property>
+                                <property name="valign">center</property>
                               </object>
+                              <packing>
+                                <property name="left_attach">1</property>
+                                <property name="top_attach">0</property>
+                                <property name="width">1</property>
+                                <property name="height">2</property>
+                              </packing>
                             </child>
                           </object>
                         </child>
                       </object>
                     </child>
+                    <style>
+                      <class name="content"/>
+                    </style>
                   </object>
                 </child>
+              </object>
+            </child>
+            <child>
+              <object class="HdyPreferencesGroup" id="touchpad_group">
+                <property name="visible">True</property>
+                <property name="title" translatable="yes">Touchpad</property>
                 <child>
-                  <object class="GtkFrame" id="touchpad_frame">
+                  <object class="GtkListBox" id="touchpad_listbox">
                     <property name="visible">True</property>
-                    <property name="can_focus">False</property>
-                    <property name="shadow_type">none</property>
-                    <property name="label_yalign">0.45</property>
-                    <child type="label">
-                      <object class="GtkLabel">
+                    <property name="can_focus">True</property>
+                    <property name="selection_mode">none</property>
+                    <child>
+                      <object class="GtkListBoxRow" id="touchpad_toggle_row">
                         <property name="visible">True</property>
-                        <property name="can_focus">False</property>
-                        <property name="xalign">0</property>
-                        <property name="label" translatable="yes">Touchpad</property>
-                        <property name="margin_bottom">12</property>
-                        <attributes>
-                          <attribute name="weight" value="bold"/>
-                        </attributes>
+                        <property name="can_focus">True</property>
+                        <property name="activatable">false</property>
+                        <child>
+                          <object class="GtkGrid">
+                            <property name="visible">True</property>
+                            <property name="can_focus">False</property>
+                            <property name="row_spacing">0</property>
+                            <property name="column_spacing">32</property>
+                            <property name="margin_start">20</property>
+                            <property name="margin_end">20</property>
+                            <property name="margin_top">12</property>
+                            <property name="margin_bottom">12</property>
+                            <property name="valign">center</property>
+                            <child>
+                              <object class="GtkLabel">
+                                <property name="visible">True</property>
+                                <property name="can_focus">False</property>
+                                <property name="hexpand">True</property>
+                                <property name="xalign">0</property>
+                                <property name="valign">end</property>
+                                <property name="label" translatable="yes">Touchpad</property>
+                                <property name="use_underline">True</property>
+                                <property name="mnemonic_widget">touchpad_toggle_switch</property>
+                              </object>
+                              <packing>
+                                <property name="left_attach">0</property>
+                                <property name="top_attach">0</property>
+                                <property name="width">1</property>
+                                <property name="height">1</property>
+                              </packing>
+                            </child>
+                            <child>
+                              <object class="GtkSwitch" id="touchpad_toggle_switch">
+                                <property name="visible">True</property>
+                                <property name="can_focus">True</property>
+                                <property name="halign">end</property>
+                                <property name="valign">center</property>
+                                <property name="events">GDK_POINTER_MOTION_MASK | 
GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                              </object>
+                              <packing>
+                                <property name="left_attach">1</property>
+                                <property name="top_attach">0</property>
+                                <property name="width">1</property>
+                                <property name="height">2</property>
+                              </packing>
+                            </child>
+                          </object>
+                        </child>
                       </object>
                     </child>
                     <child>
-                      <object class="GtkFrame" id="touchpad_frame_listbox">
+                      <object class="GtkListBoxRow" id="touchpad_natural_scrolling_row">
                         <property name="visible">True</property>
-                        <property name="can_focus">False</property>
-                        <property name="shadow_type">in</property>
+                        <property name="can_focus">True</property>
+                        <property name="activatable">false</property>
                         <child>
-                          <object class="GtkBox" id="touchpad_box">
+                          <object class="GtkGrid">
                             <property name="visible">True</property>
                             <property name="can_focus">False</property>
-                            <property name="orientation">vertical</property>
+                            <property name="row_spacing">2</property>
+                            <property name="column_spacing">16</property>
+                            <property name="margin_start">20</property>
+                            <property name="margin_end">20</property>
+                            <property name="margin_top">6</property>
+                            <property name="margin_bottom">6</property>
+                            <property name="valign">center</property>
+                            <child>
+                              <object class="GtkLabel">
+                                <property name="visible">True</property>
+                                <property name="can_focus">False</property>
+                                <property name="hexpand">True</property>
+                                <property name="xalign">0</property>
+                                <property name="label" translatable="yes" comments="Translators: This switch 
reverses the scrolling direction for touchpads. The term used comes from OS X so use the same translation if 
possible. ">Natural Scrolling</property>
+                                <property name="use_underline">True</property>
+                                <property name="mnemonic_widget">touchpad_natural_scrolling_switch</property>
+                              </object>
+                              <packing>
+                                <property name="left_attach">0</property>
+                                <property name="top_attach">0</property>
+                                <property name="width">1</property>
+                                <property name="height">1</property>
+                              </packing>
+                            </child>
+                            <child>
+                              <object class="GtkLabel">
+                                <property name="visible">True</property>
+                                <property name="can_focus">False</property>
+                                <property name="xalign">0</property>
+                                <property name="label" translatable="yes">Scrolling moves the content, not 
the view.</property>
+                                <style>
+                                  <class name="dim-label"/>
+                                </style>
+                                <attributes>
+                                  <attribute name="scale" value="0.9"/>
+                                </attributes>
+                              </object>
+                              <packing>
+                                <property name="left_attach">0</property>
+                                <property name="top_attach">1</property>
+                                <property name="width">1</property>
+                                <property name="height">1</property>
+                              </packing>
+                            </child>
                             <child>
-                              <object class="GtkListBox" id="touchpad_listbox">
+                              <object class="GtkSwitch" id="touchpad_natural_scrolling_switch">
                                 <property name="visible">True</property>
                                 <property name="can_focus">True</property>
-                                <property name="selection_mode">none</property>
-                                <child>
-                                  <object class="GtkListBoxRow" id="touchpad_toggle_row">
-                                    <property name="visible">True</property>
-                                    <property name="can_focus">True</property>
-                                    <property name="activatable">false</property>
-                                    <child>
-                                      <object class="GtkGrid">
-                                        <property name="visible">True</property>
-                                        <property name="can_focus">False</property>
-                                        <property name="row_spacing">0</property>
-                                        <property name="column_spacing">32</property>
-                                        <property name="margin_start">20</property>
-                                        <property name="margin_end">20</property>
-                                        <property name="margin_top">12</property>
-                                        <property name="margin_bottom">12</property>
-                                        <property name="valign">center</property>
-                                        <child>
-                                          <object class="GtkLabel">
-                                            <property name="visible">True</property>
-                                            <property name="can_focus">False</property>
-                                            <property name="hexpand">True</property>
-                                            <property name="xalign">0</property>
-                                            <property name="valign">end</property>
-                                            <property name="label" translatable="yes">Touchpad</property>
-                                            <property name="use_underline">True</property>
-                                            <property 
name="mnemonic_widget">touchpad_toggle_switch</property>
-                                          </object>
-                                          <packing>
-                                            <property name="left_attach">0</property>
-                                            <property name="top_attach">0</property>
-                                            <property name="width">1</property>
-                                            <property name="height">1</property>
-                                          </packing>
-                                        </child>
-                                        <child>
-                                          <object class="GtkSwitch" id="touchpad_toggle_switch">
-                                            <property name="visible">True</property>
-                                            <property name="can_focus">True</property>
-                                            <property name="halign">end</property>
-                                            <property name="valign">center</property>
-                                            <property name="events">GDK_POINTER_MOTION_MASK | 
GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
-                                          </object>
-                                          <packing>
-                                            <property name="left_attach">1</property>
-                                            <property name="top_attach">0</property>
-                                            <property name="width">1</property>
-                                            <property name="height">2</property>
-                                          </packing>
-                                        </child>
-                                      </object>
-                                    </child>
-                                  </object>
-                                </child>
-                                <child>
-                                  <object class="GtkListBoxRow" id="touchpad_natural_scrolling_row">
-                                    <property name="visible">True</property>
-                                    <property name="can_focus">True</property>
-                                    <property name="activatable">false</property>
-                                    <child>
-                                      <object class="GtkGrid">
-                                        <property name="visible">True</property>
-                                        <property name="can_focus">False</property>
-                                        <property name="row_spacing">2</property>
-                                        <property name="column_spacing">16</property>
-                                        <property name="margin_start">20</property>
-                                        <property name="margin_end">20</property>
-                                        <property name="margin_top">6</property>
-                                        <property name="margin_bottom">6</property>
-                                        <property name="valign">center</property>
-                                        <child>
-                                          <object class="GtkLabel">
-                                            <property name="visible">True</property>
-                                            <property name="can_focus">False</property>
-                                            <property name="hexpand">True</property>
-                                            <property name="xalign">0</property>
-                                            <property name="label" translatable="yes" comments="Translators: 
This switch reverses the scrolling direction for touchpads. The term used comes from OS X so use the same 
translation if possible. ">Natural Scrolling</property>
-                                            <property name="use_underline">True</property>
-                                            <property 
name="mnemonic_widget">touchpad_natural_scrolling_switch</property>
-                                          </object>
-                                          <packing>
-                                            <property name="left_attach">0</property>
-                                            <property name="top_attach">0</property>
-                                            <property name="width">1</property>
-                                            <property name="height">1</property>
-                                          </packing>
-                                        </child>
-                                        <child>
-                                          <object class="GtkLabel">
-                                            <property name="visible">True</property>
-                                            <property name="can_focus">False</property>
-                                            <property name="xalign">0</property>
-                                            <property name="label" translatable="yes">Scrolling moves the 
content, not the view.</property>
-                                            <style>
-                                              <class name="dim-label"/>
-                                            </style>
-                                            <attributes>
-                                              <attribute name="scale" value="0.9"/>
-                                            </attributes>
-                                          </object>
-                                          <packing>
-                                            <property name="left_attach">0</property>
-                                            <property name="top_attach">1</property>
-                                            <property name="width">1</property>
-                                            <property name="height">1</property>
-                                          </packing>
-                                        </child>
-                                        <child>
-                                          <object class="GtkSwitch" id="touchpad_natural_scrolling_switch">
-                                            <property name="visible">True</property>
-                                            <property name="can_focus">True</property>
-                                            <property name="halign">end</property>
-                                            <property name="valign">center</property>
-                                          </object>
-                                          <packing>
-                                            <property name="left_attach">1</property>
-                                            <property name="top_attach">0</property>
-                                            <property name="width">1</property>
-                                            <property name="height">2</property>
-                                          </packing>
-                                        </child>
-                                      </object>
-                                    </child>
-                                  </object>
-                                </child>
-                                <child>
-                                  <object class="GtkListBoxRow" id="touchpad_speed_row">
-                                    <property name="visible">True</property>
-                                    <property name="can_focus">True</property>
-                                    <property name="activatable">false</property>
-                                    <child>
-                                      <object class="GtkGrid">
-                                        <property name="visible">True</property>
-                                        <property name="can_focus">False</property>
-                                        <property name="row_spacing">0</property>
-                                        <property name="column_spacing">16</property>
-                                        <property name="margin_start">20</property>
-                                        <property name="margin_end">20</property>
-                                        <property name="margin_top">8</property>
-                                        <property name="margin_bottom">8</property>
-                                        <property name="valign">center</property>
-                                        <child>
-                                          <object class="GtkLabel">
-                                            <property name="visible">True</property>
-                                            <property name="can_focus">False</property>
-                                            <property name="xalign">0</property>
-                                            <property name="valign">end</property>
-                                            <property name="label" translatable="yes">Touchpad 
Speed</property>
-                                            <property name="use_underline">True</property>
-                                            <property name="mnemonic_widget">touchpad_speed_scale</property>
-                                          </object>
-                                          <packing>
-                                            <property name="left_attach">0</property>
-                                            <property name="top_attach">0</property>
-                                            <property name="width">1</property>
-                                            <property name="height">1</property>
-                                          </packing>
-                                        </child>
-                                        <child>
-                                          <object class="GtkScale" id="touchpad_speed_scale">
-                                            <property name="visible">True</property>
-                                            <property name="can_focus">True</property>
-                                            <property name="adjustment">touchpad_speed_adjustment</property>
-                                            <property name="draw_value">False</property>
-                                            <property name="expand">True</property>
-                                            <property name="halign">end</property>
-                                            <child internal-child="accessible">
-                                              <object class="AtkObject">
-                                                <property name="AtkObject::accessible-description" 
translatable="yes">Double-click timeout</property>
-                                              </object>
-                                            </child>
-                                          </object>
-                                          <packing>
-                                            <property name="left_attach">1</property>
-                                            <property name="top_attach">0</property>
-                                            <property name="width">1</property>
-                                            <property name="height">2</property>
-                                          </packing>
-                                        </child>
-                                      </object>
-                                    </child>
-                                  </object>
-                                </child>
-                                <child>
-                                  <object class="GtkListBoxRow" id="tap_to_click_row">
-                                    <property name="visible">False</property>
-                                    <property name="can_focus">True</property>
-                                    <property name="activatable">false</property>
-                                    <child>
-                                      <object class="GtkGrid">
-                                        <property name="visible">True</property>
-                                        <property name="can_focus">False</property>
-                                        <property name="row_spacing">0</property>
-                                        <property name="column_spacing">32</property>
-                                        <property name="margin_start">20</property>
-                                        <property name="margin_end">20</property>
-                                        <property name="margin_top">12</property>
-                                        <property name="margin_bottom">12</property>
-                                        <property name="valign">center</property>
-                                        <child>
-                                          <object class="GtkLabel">
-                                            <property name="visible">True</property>
-                                            <property name="can_focus">False</property>
-                                            <property name="hexpand">True</property>
-                                            <property name="xalign">0</property>
-                                            <property name="valign">end</property>
-                                            <property name="label" translatable="yes">Tap to Click</property>
-                                            <property name="use_underline">True</property>
-                                            <property name="mnemonic_widget">tap_to_click_switch</property>
-                                          </object>
-                                          <packing>
-                                            <property name="left_attach">0</property>
-                                            <property name="top_attach">0</property>
-                                            <property name="width">1</property>
-                                            <property name="height">1</property>
-                                          </packing>
-                                        </child>
-                                        <child>
-                                          <object class="GtkSwitch" id="tap_to_click_switch">
-                                            <property name="visible">True</property>
-                                            <property name="can_focus">True</property>
-                                            <property name="halign">end</property>
-                                            <property name="valign">center</property>
-                                          </object>
-                                          <packing>
-                                            <property name="left_attach">1</property>
-                                            <property name="top_attach">0</property>
-                                            <property name="width">1</property>
-                                            <property name="height">2</property>
-                                          </packing>
-                                        </child>
-                                      </object>
-                                    </child>
-                                  </object>
-                                </child>
-                                <child>
-                                  <object class="GtkListBoxRow" id="two_finger_scrolling_row">
-                                    <property name="visible">False</property>
-                                    <property name="can_focus">True</property>
-                                    <property name="activatable">false</property>
-                                    <child>
-                                      <object class="GtkGrid">
-                                        <property name="visible">True</property>
-                                        <property name="can_focus">False</property>
-                                        <property name="row_spacing">0</property>
-                                        <property name="column_spacing">32</property>
-                                        <property name="margin_start">20</property>
-                                        <property name="margin_end">20</property>
-                                        <property name="margin_top">12</property>
-                                        <property name="margin_bottom">12</property>
-                                        <property name="valign">center</property>
-                                        <child>
-                                          <object class="GtkLabel">
-                                            <property name="visible">True</property>
-                                            <property name="can_focus">False</property>
-                                            <property name="hexpand">True</property>
-                                            <property name="xalign">0</property>
-                                            <property name="valign">end</property>
-                                            <property name="label" translatable="yes">Two-finger 
Scrolling</property>
-                                            <property name="use_underline">True</property>
-                                            <property 
name="mnemonic_widget">two_finger_scrolling_switch</property>
-                                          </object>
-                                          <packing>
-                                            <property name="left_attach">0</property>
-                                            <property name="top_attach">0</property>
-                                            <property name="width">1</property>
-                                            <property name="height">1</property>
-                                          </packing>
-                                        </child>
-                                        <child>
-                                          <object class="GtkSwitch" id="two_finger_scrolling_switch">
-                                            <property name="visible">True</property>
-                                            <property name="can_focus">True</property>
-                                            <property name="halign">end</property>
-                                            <property name="valign">center</property>
-                                            <signal name="state-set" 
handler="two_finger_scrolling_changed_event" object="CcMousePanel" swapped="yes"/>
-                                          </object>
-                                          <packing>
-                                            <property name="left_attach">1</property>
-                                            <property name="top_attach">0</property>
-                                            <property name="width">1</property>
-                                            <property name="height">2</property>
-                                          </packing>
-                                        </child>
-                                      </object>
-                                    </child>
-                                  </object>
-                                </child>
-                                <child>
-                                  <object class="GtkListBoxRow" id="edge_scrolling_row">
-                                    <property name="visible">False</property>
-                                    <property name="can_focus">True</property>
-                                    <property name="activatable">false</property>
-                                    <child>
-                                      <object class="GtkGrid">
-                                        <property name="visible">True</property>
-                                        <property name="can_focus">False</property>
-                                        <property name="row_spacing">0</property>
-                                        <property name="column_spacing">32</property>
-                                        <property name="margin_start">20</property>
-                                        <property name="margin_end">20</property>
-                                        <property name="margin_top">12</property>
-                                        <property name="margin_bottom">12</property>
-                                        <property name="valign">center</property>
-                                        <child>
-                                          <object class="GtkLabel">
-                                            <property name="visible">True</property>
-                                            <property name="can_focus">False</property>
-                                            <property name="hexpand">True</property>
-                                            <property name="xalign">0</property>
-                                            <property name="valign">end</property>
-                                            <property name="label" translatable="yes">Edge 
Scrolling</property>
-                                            <property name="use_underline">True</property>
-                                            <property name="mnemonic_widget">edge_scrolling_switch</property>
-                                          </object>
-                                          <packing>
-                                            <property name="left_attach">0</property>
-                                            <property name="top_attach">0</property>
-                                            <property name="width">1</property>
-                                            <property name="height">1</property>
-                                          </packing>
-                                        </child>
-                                        <child>
-                                          <object class="GtkSwitch" id="edge_scrolling_switch">
-                                            <property name="visible">True</property>
-                                            <property name="can_focus">True</property>
-                                            <property name="halign">end</property>
-                                            <property name="valign">center</property>
-                                            <signal name="state-set" handler="edge_scrolling_changed_event" 
object="CcMousePanel" swapped="yes"/>
-                                          </object>
-                                          <packing>
-                                            <property name="left_attach">1</property>
-                                            <property name="top_attach">0</property>
-                                            <property name="width">1</property>
-                                            <property name="height">2</property>
-                                          </packing>
-                                        </child>
-                                      </object>
-                                    </child>
+                                <property name="halign">end</property>
+                                <property name="valign">center</property>
+                              </object>
+                              <packing>
+                                <property name="left_attach">1</property>
+                                <property name="top_attach">0</property>
+                                <property name="width">1</property>
+                                <property name="height">2</property>
+                              </packing>
+                            </child>
+                          </object>
+                        </child>
+                      </object>
+                    </child>
+                    <child>
+                      <object class="GtkListBoxRow" id="touchpad_speed_row">
+                        <property name="visible">True</property>
+                        <property name="can_focus">True</property>
+                        <property name="activatable">false</property>
+                        <child>
+                          <object class="GtkGrid">
+                            <property name="visible">True</property>
+                            <property name="can_focus">False</property>
+                            <property name="row_spacing">0</property>
+                            <property name="column_spacing">16</property>
+                            <property name="margin_start">20</property>
+                            <property name="margin_end">20</property>
+                            <property name="margin_top">8</property>
+                            <property name="margin_bottom">8</property>
+                            <property name="valign">center</property>
+                            <child>
+                              <object class="GtkLabel">
+                                <property name="visible">True</property>
+                                <property name="can_focus">False</property>
+                                <property name="xalign">0</property>
+                                <property name="valign">end</property>
+                                <property name="label" translatable="yes">Touchpad Speed</property>
+                                <property name="use_underline">True</property>
+                                <property name="mnemonic_widget">touchpad_speed_scale</property>
+                              </object>
+                              <packing>
+                                <property name="left_attach">0</property>
+                                <property name="top_attach">0</property>
+                                <property name="width">1</property>
+                                <property name="height">1</property>
+                              </packing>
+                            </child>
+                            <child>
+                              <object class="GtkScale" id="touchpad_speed_scale">
+                                <property name="visible">True</property>
+                                <property name="can_focus">True</property>
+                                <property name="adjustment">touchpad_speed_adjustment</property>
+                                <property name="draw_value">False</property>
+                                <property name="expand">True</property>
+                                <property name="halign">end</property>
+                                <child internal-child="accessible">
+                                  <object class="AtkObject">
+                                    <property name="AtkObject::accessible-description" 
translatable="yes">Double-click timeout</property>
                                   </object>
                                 </child>
                               </object>
+                              <packing>
+                                <property name="left_attach">1</property>
+                                <property name="top_attach">0</property>
+                                <property name="width">1</property>
+                                <property name="height">2</property>
+                              </packing>
+                            </child>
+                          </object>
+                        </child>
+                      </object>
+                    </child>
+                    <child>
+                      <object class="GtkListBoxRow" id="tap_to_click_row">
+                        <property name="visible">False</property>
+                        <property name="can_focus">True</property>
+                        <property name="activatable">false</property>
+                        <child>
+                          <object class="GtkGrid">
+                            <property name="visible">True</property>
+                            <property name="can_focus">False</property>
+                            <property name="row_spacing">0</property>
+                            <property name="column_spacing">32</property>
+                            <property name="margin_start">20</property>
+                            <property name="margin_end">20</property>
+                            <property name="margin_top">12</property>
+                            <property name="margin_bottom">12</property>
+                            <property name="valign">center</property>
+                            <child>
+                              <object class="GtkLabel">
+                                <property name="visible">True</property>
+                                <property name="can_focus">False</property>
+                                <property name="hexpand">True</property>
+                                <property name="xalign">0</property>
+                                <property name="valign">end</property>
+                                <property name="label" translatable="yes">Tap to Click</property>
+                                <property name="use_underline">True</property>
+                                <property name="mnemonic_widget">tap_to_click_switch</property>
+                              </object>
+                              <packing>
+                                <property name="left_attach">0</property>
+                                <property name="top_attach">0</property>
+                                <property name="width">1</property>
+                                <property name="height">1</property>
+                              </packing>
+                            </child>
+                            <child>
+                              <object class="GtkSwitch" id="tap_to_click_switch">
+                                <property name="visible">True</property>
+                                <property name="can_focus">True</property>
+                                <property name="halign">end</property>
+                                <property name="valign">center</property>
+                              </object>
+                              <packing>
+                                <property name="left_attach">1</property>
+                                <property name="top_attach">0</property>
+                                <property name="width">1</property>
+                                <property name="height">2</property>
+                              </packing>
+                            </child>
+                          </object>
+                        </child>
+                      </object>
+                    </child>
+                    <child>
+                      <object class="GtkListBoxRow" id="two_finger_scrolling_row">
+                        <property name="visible">False</property>
+                        <property name="can_focus">True</property>
+                        <property name="activatable">false</property>
+                        <child>
+                          <object class="GtkGrid">
+                            <property name="visible">True</property>
+                            <property name="can_focus">False</property>
+                            <property name="row_spacing">0</property>
+                            <property name="column_spacing">32</property>
+                            <property name="margin_start">20</property>
+                            <property name="margin_end">20</property>
+                            <property name="margin_top">12</property>
+                            <property name="margin_bottom">12</property>
+                            <property name="valign">center</property>
+                            <child>
+                              <object class="GtkLabel">
+                                <property name="visible">True</property>
+                                <property name="can_focus">False</property>
+                                <property name="hexpand">True</property>
+                                <property name="xalign">0</property>
+                                <property name="valign">end</property>
+                                <property name="label" translatable="yes">Two-finger Scrolling</property>
+                                <property name="use_underline">True</property>
+                                <property name="mnemonic_widget">two_finger_scrolling_switch</property>
+                              </object>
+                              <packing>
+                                <property name="left_attach">0</property>
+                                <property name="top_attach">0</property>
+                                <property name="width">1</property>
+                                <property name="height">1</property>
+                              </packing>
+                            </child>
+                            <child>
+                              <object class="GtkSwitch" id="two_finger_scrolling_switch">
+                                <property name="visible">True</property>
+                                <property name="can_focus">True</property>
+                                <property name="halign">end</property>
+                                <property name="valign">center</property>
+                                <signal name="state-set" handler="two_finger_scrolling_changed_event" 
object="CcMousePanel" swapped="yes"/>
+                              </object>
+                              <packing>
+                                <property name="left_attach">1</property>
+                                <property name="top_attach">0</property>
+                                <property name="width">1</property>
+                                <property name="height">2</property>
+                              </packing>
+                            </child>
+                          </object>
+                        </child>
+                      </object>
+                    </child>
+                    <child>
+                      <object class="GtkListBoxRow" id="edge_scrolling_row">
+                        <property name="visible">False</property>
+                        <property name="can_focus">True</property>
+                        <property name="activatable">false</property>
+                        <child>
+                          <object class="GtkGrid">
+                            <property name="visible">True</property>
+                            <property name="can_focus">False</property>
+                            <property name="row_spacing">0</property>
+                            <property name="column_spacing">32</property>
+                            <property name="margin_start">20</property>
+                            <property name="margin_end">20</property>
+                            <property name="margin_top">12</property>
+                            <property name="margin_bottom">12</property>
+                            <property name="valign">center</property>
+                            <child>
+                              <object class="GtkLabel">
+                                <property name="visible">True</property>
+                                <property name="can_focus">False</property>
+                                <property name="hexpand">True</property>
+                                <property name="xalign">0</property>
+                                <property name="valign">end</property>
+                                <property name="label" translatable="yes">Edge Scrolling</property>
+                                <property name="use_underline">True</property>
+                                <property name="mnemonic_widget">edge_scrolling_switch</property>
+                              </object>
+                              <packing>
+                                <property name="left_attach">0</property>
+                                <property name="top_attach">0</property>
+                                <property name="width">1</property>
+                                <property name="height">1</property>
+                              </packing>
+                            </child>
+                            <child>
+                              <object class="GtkSwitch" id="edge_scrolling_switch">
+                                <property name="visible">True</property>
+                                <property name="can_focus">True</property>
+                                <property name="halign">end</property>
+                                <property name="valign">center</property>
+                                <signal name="state-set" handler="edge_scrolling_changed_event" 
object="CcMousePanel" swapped="yes"/>
+                              </object>
+                              <packing>
+                                <property name="left_attach">1</property>
+                                <property name="top_attach">0</property>
+                                <property name="width">1</property>
+                                <property name="height">2</property>
+                              </packing>
                             </child>
                           </object>
                         </child>
                       </object>
                     </child>
+                    <style>
+                      <class name="content"/>
+                    </style>
                   </object>
                 </child>
               </object>


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