[Xfce4-commits] <xfce4-settings:master> Remove treeview from the pointer dialog.

Nick Schermer noreply at xfce.org
Wed May 25 19:00:02 CEST 2011


Updating branch refs/heads/master
         to 228f13c1e9e61823a431f71535c71bc0d26f3707 (commit)
       from 8d40a86ce47bff03704558061c5fbf0c65290e61 (commit)

commit 228f13c1e9e61823a431f71535c71bc0d26f3707
Author: Nick Schermer <nick at xfce.org>
Date:   Mon May 16 18:42:58 2011 +0200

    Remove treeview from the pointer dialog.
    
    Not needed and consumes too much space. Replaced with a combo box
    and rearanged the device widgets so the dialog is easier on the eyes.
    
    Also rename some labels to make them easier to understand.

 dialogs/mouse-settings/main.c             |  245 +++++----------------
 dialogs/mouse-settings/mouse-dialog.glade |  338 +++++++++++++++++++----------
 2 files changed, 289 insertions(+), 294 deletions(-)

diff --git a/dialogs/mouse-settings/main.c b/dialogs/mouse-settings/main.c
index 941670d..595339b 100644
--- a/dialogs/mouse-settings/main.c
+++ b/dialogs/mouse-settings/main.c
@@ -129,9 +129,8 @@ enum
 
 enum
 {
-    COLUMN_DEVICE_ICON,
     COLUMN_DEVICE_NAME,
-    COLUMN_DEVICE_DISPLAY_NAME,
+    COLUMN_DEVICE_XFCONF_NAME,
     COLUMN_DEVICE_XID,
     COLUMN_DEVICE_NBUTTONS,
     N_DEVICE_COLUMNS
@@ -566,8 +565,7 @@ mouse_settings_themes_populate_store (GtkBuilder *builder)
 
 
 static void
-mouse_settings_device_selection_changed (GtkTreeSelection *selection,
-                                         GtkBuilder       *builder)
+mouse_settings_device_selection_changed (GtkBuilder *builder)
 {
     gint               nbuttons;
     Display           *xdisplay;
@@ -583,8 +581,8 @@ mouse_settings_device_selection_changed (GtkTreeSelection *selection,
     gint               threshold = -1;
     GObject           *object;
     GtkTreeModel      *model;
+    GObject           *combobox;
     GtkTreeIter        iter;
-    gboolean           has_selection;
     XID                xid;
 
     /* lock the dialog */
@@ -595,10 +593,11 @@ mouse_settings_device_selection_changed (GtkTreeSelection *selection,
     gdk_error_trap_push ();
 
     /* get the selected item */
-    has_selection = gtk_tree_selection_get_selected (selection, &model, &iter);
-    if (G_LIKELY (has_selection))
+    combobox = gtk_builder_get_object (builder, "device-combobox");
+    if (gtk_combo_box_get_active_iter (GTK_COMBO_BOX (combobox), &iter))
     {
         /* get device id and number of buttons */
+        model = gtk_combo_box_get_model (GTK_COMBO_BOX (combobox));
         gtk_tree_model_get (model, &iter, COLUMN_DEVICE_XID, &xid,
                             COLUMN_DEVICE_NBUTTONS, &nbuttons, -1);
 
@@ -693,11 +692,9 @@ mouse_settings_device_selection_changed (GtkTreeSelection *selection,
 static void
 mouse_settings_device_save (GtkBuilder *builder)
 {
-    GObject          *treeview;
-    GtkTreeSelection *selection;
+    GObject          *combobox;
     GtkTreeModel     *model;
     GtkTreeIter       iter;
-    gboolean          has_selection;
     gchar            *name;
     GObject          *object;
     gchar             property_name[512];
@@ -710,17 +707,12 @@ mouse_settings_device_save (GtkBuilder *builder)
     if (locked > 0)
         return;
 
-    /* get the treeview */
-    treeview = gtk_builder_get_object (builder, "mouse-devices-treeview");
-
-    /* get the selection */
-    selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (treeview));
-
-    has_selection = gtk_tree_selection_get_selected (selection, &model, &iter);
-    if (G_LIKELY (has_selection))
+    combobox = gtk_builder_get_object (builder, "device-combobox");
+    if (gtk_combo_box_get_active_iter (GTK_COMBO_BOX (combobox), &iter))
     {
         /* get device id and number of buttons */
-        gtk_tree_model_get (model, &iter, COLUMN_DEVICE_NAME, &name, -1);
+        model = gtk_combo_box_get_model (GTK_COMBO_BOX (combobox));
+        gtk_tree_model_get (model, &iter, COLUMN_DEVICE_XFCONF_NAME, &name, -1);
 
         if (G_LIKELY (name))
         {
@@ -761,55 +753,6 @@ mouse_settings_device_save (GtkBuilder *builder)
 
 
 
-static void
-mouse_settings_device_name_edited (GtkCellRendererText *renderer,
-                                   gchar               *path,
-                                   gchar               *new_name,
-                                   GtkBuilder          *builder)
-{
-    GObject          *treeview;
-    GtkTreeSelection *selection;
-    gboolean          has_selection;
-    GtkTreeModel     *model;
-    GtkTreeIter       iter;
-    gchar            *internal_name;
-    gchar            *property_name;
-    gchar            *new_name_escaped;
-
-    /* check if the new name is valid */
-    if (new_name == NULL || *new_name == '\0')
-        return;
-
-    /* get the treeview's selection */
-    treeview = gtk_builder_get_object (builder, "mouse-devices-treeview");
-    selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (treeview));
-
-    /* get the selected item */
-    has_selection = gtk_tree_selection_get_selected (selection, &model, &iter);
-    if (G_LIKELY (has_selection))
-    {
-        /* get the internal device name */
-        gtk_tree_model_get (model, &iter, COLUMN_DEVICE_NAME, &internal_name, -1);
-
-        /* store the new name in the channel */
-        property_name = g_strdup_printf ("/%s", internal_name);
-        xfconf_channel_set_string (pointers_channel, property_name, new_name);
-
-        /* escape before adding in the store */
-        new_name_escaped = g_markup_escape_text (new_name, -1);
-
-        /* set the new device name in the store */
-        gtk_list_store_set (GTK_LIST_STORE (model), &iter, COLUMN_DEVICE_DISPLAY_NAME, new_name_escaped, -1);
-
-        /* cleanup */
-        g_free (new_name_escaped);
-        g_free (property_name);
-        g_free (internal_name);
-    }
-}
-
-
-
 static gchar *
 mouse_settings_device_xfconf_name (const gchar *name)
 {
@@ -844,23 +787,18 @@ static void
 mouse_settings_device_populate_store (GtkBuilder *builder,
                                       gboolean    create_store)
 {
-    Display           *xdisplay;
-    XDeviceInfo       *device_list, *device_info;
-    gchar             *display_name, *usb;
-    gshort             num_buttons;
-    gint               ndevices;
-    gint               i, m;
-    XAnyClassPtr       ptr;
-    GtkTreeIter        iter;
-    GtkListStore      *store;
-    GObject           *treeview;
-    GtkTreePath       *path = NULL;
-    GtkTreeViewColumn *column;
-    GtkCellRenderer   *renderer;
-    GtkTreeSelection  *selection;
-    gchar             *device_name;
-    gchar             *property_name;
-    gchar             *property_value;
+    Display         *xdisplay;
+    XDeviceInfo     *device_list, *device_info;
+    gshort           num_buttons;
+    gint             ndevices;
+    gint             i, m;
+    XAnyClassPtr     ptr;
+    GtkTreeIter      iter;
+    GtkListStore    *store;
+    GObject         *combobox;
+    GtkCellRenderer *renderer;
+    gchar           *xfconf_name;
+    gboolean         has_active_item = FALSE;
 
     /* lock */
     locked++;
@@ -869,18 +807,25 @@ mouse_settings_device_populate_store (GtkBuilder *builder,
     gdk_flush ();
     gdk_error_trap_push ();
 
-    /* get the treeview */
-    treeview = gtk_builder_get_object (builder, "mouse-devices-treeview");
+    combobox = gtk_builder_get_object (builder, "device-combobox");
 
     /* create or get the store */
     if (G_LIKELY (create_store))
     {
-        store = gtk_list_store_new (N_DEVICE_COLUMNS, G_TYPE_STRING, G_TYPE_STRING,
-                                    G_TYPE_STRING, G_TYPE_INT, G_TYPE_INT);
+        store = gtk_list_store_new (N_DEVICE_COLUMNS, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_INT, G_TYPE_INT);
+        gtk_combo_box_set_model (GTK_COMBO_BOX (combobox), GTK_TREE_MODEL (store));
+
+        /* text renderer */
+        renderer = gtk_cell_renderer_text_new ();
+        gtk_cell_layout_pack_start (GTK_CELL_LAYOUT (combobox), renderer, TRUE);
+        gtk_cell_layout_set_attributes (GTK_CELL_LAYOUT (combobox), renderer, "text", COLUMN_DEVICE_NAME, NULL);
+
+        g_signal_connect_swapped (G_OBJECT (combobox), "changed",
+            G_CALLBACK (mouse_settings_device_selection_changed), builder);
     }
     else
     {
-        store = GTK_LIST_STORE (gtk_tree_view_get_model (GTK_TREE_VIEW (treeview)));
+        store = GTK_LIST_STORE (gtk_combo_box_get_model (GTK_COMBO_BOX (combobox)));
         gtk_list_store_clear (store);
     }
 
@@ -927,98 +872,39 @@ mouse_settings_device_populate_store (GtkBuilder *builder,
                 continue;
 
             /* create a valid xfconf device name */
-            device_name = mouse_settings_device_xfconf_name (device_info->name);
-
-            /* check if there is a custom name set by the user */
-            property_name = g_strdup_printf ("/%s", device_name);
-            if (xfconf_channel_has_property (pointers_channel, property_name))
-            {
-                /* get the name from the config file, escape it */
-                property_value = xfconf_channel_get_string (pointers_channel, property_name, NULL);
-                display_name = g_markup_escape_text (property_value, -1);
-                g_free (property_value);
-            }
-            else
-            {
-                /* get the device name, escaped */
-                display_name = g_markup_escape_text (device_info->name, -1);
-
-                /* get rid of usb crap in the name */
-                if ((usb = strstr (display_name, "-usb")) != NULL)
-                    *usb = '\0';
-            }
+            xfconf_name = mouse_settings_device_xfconf_name (device_info->name);
 
             /* insert in the store */
             gtk_list_store_insert_with_values (store, &iter, i,
-                                               COLUMN_DEVICE_ICON, "input-mouse",
-                                               COLUMN_DEVICE_NAME, device_name,
-                                               COLUMN_DEVICE_DISPLAY_NAME, display_name,
+                                               COLUMN_DEVICE_XFCONF_NAME, xfconf_name,
+                                               COLUMN_DEVICE_NAME, device_info->name,
                                                COLUMN_DEVICE_XID, device_info->id,
                                                COLUMN_DEVICE_NBUTTONS, num_buttons, -1);
 
-            /* check if we should select this device (for user convience also the display name) */
-            if (opt_device_name && (strcmp (opt_device_name, device_info->name) == 0
-                || (display_name && strcmp (opt_device_name, display_name) == 0)))
+            /* check if we should select this device */
+            if (device_info->name != NULL
+                && opt_device_name != NULL
+                && strcmp (opt_device_name, device_info->name) == 0)
             {
-                path = gtk_tree_model_get_path (GTK_TREE_MODEL (store), &iter);
+                gtk_combo_box_set_active_iter (GTK_COMBO_BOX (combobox), &iter);
                 g_free (opt_device_name);
                 opt_device_name = NULL;
+                has_active_item = TRUE;
             }
 
-            /* cleanup */
-            g_free (property_name);
-            g_free (device_name);
-            g_free (display_name);
+            g_free (xfconf_name);
         }
     }
 
-    /* cleanup */
     XFreeDeviceList (device_list);
 
+    if (!has_active_item)
+        gtk_combo_box_set_active (GTK_COMBO_BOX (combobox), 0);
+
     /* flush and remove the x error trap */
     gdk_flush ();
     gdk_error_trap_pop ();
 
-    /* get the selection */
-    selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (treeview));
-
-    if (G_LIKELY (create_store))
-    {
-        /* set the treeview model */
-        gtk_tree_view_set_model (GTK_TREE_VIEW (treeview), GTK_TREE_MODEL (store));
-        gtk_tree_view_set_tooltip_column (GTK_TREE_VIEW (treeview), COLUMN_DEVICE_DISPLAY_NAME);
-
-        /* icon renderer */
-        renderer = gtk_cell_renderer_pixbuf_new ();
-        column = gtk_tree_view_column_new_with_attributes ("", renderer, "icon-name", COLUMN_DEVICE_ICON, NULL);
-        g_object_set (G_OBJECT (renderer), "stock-size", GTK_ICON_SIZE_DND, NULL);
-        gtk_tree_view_append_column (GTK_TREE_VIEW (treeview), column);
-
-        /* text renderer */
-        renderer = gtk_cell_renderer_text_new ();
-        column = gtk_tree_view_column_new_with_attributes ("", renderer, "markup", COLUMN_DEVICE_DISPLAY_NAME, NULL);
-        g_object_set (G_OBJECT (renderer), "ellipsize", PANGO_ELLIPSIZE_END, "editable", TRUE, NULL);
-        g_signal_connect (G_OBJECT (renderer), "edited", G_CALLBACK (mouse_settings_device_name_edited), builder);
-        gtk_tree_view_append_column (GTK_TREE_VIEW (treeview), column);
-
-        /* setup tree selection */
-        gtk_tree_selection_set_mode (selection, GTK_SELECTION_SINGLE);
-        g_signal_connect (G_OBJECT (selection), "changed", G_CALLBACK (mouse_settings_device_selection_changed), builder);
-    }
-
-    /* select the mouse in the tree */
-    if (G_LIKELY (path == NULL))
-        path = gtk_tree_path_new_first ();
-    gtk_tree_selection_select_path (selection, path);
-    gtk_tree_path_free (path);
-
-    /* sort after selecting the path */
-    if (G_LIKELY (create_store))
-    {
-        gtk_tree_sortable_set_sort_column_id (GTK_TREE_SORTABLE (store), COLUMN_DEVICE_XID, GTK_SORT_ASCENDING);
-        g_object_unref (G_OBJECT (store));
-    }
-
     /* unlock */
     locked--;
 }
@@ -1029,15 +915,12 @@ static gboolean
 mouse_settings_device_update_sliders (gpointer user_data)
 {
     GtkBuilder *builder = GTK_BUILDER (user_data);
-    GObject    *treeview, *button;
+    GObject    *button;
 
     GDK_THREADS_ENTER ();
 
-    /* get the treeview */
-    treeview = gtk_builder_get_object (builder, "mouse-devices-treeview");
-
     /* update */
-    mouse_settings_device_selection_changed (gtk_tree_view_get_selection (GTK_TREE_VIEW (treeview)), builder);
+    mouse_settings_device_selection_changed (builder);
 
     /* make the button sensitive again */
     button = gtk_builder_get_object (builder, "mouse-reset");
@@ -1063,30 +946,24 @@ static void
 mouse_settings_device_reset (GtkWidget  *button,
                              GtkBuilder *builder)
 {
-    GObject          *treeview;
-    GtkTreeSelection *selection;
-    gchar            *name, *property_name;
-    gboolean          has_selection;
-    GtkTreeModel     *model;
-    GtkTreeIter       iter;
+    gchar        *name, *property_name;
+    GtkTreeModel *model;
+    GtkTreeIter   iter;
+    GObject      *combobox;
 
     /* leave when locked */
     if (locked > 0)
         return;
 
-    /* get the treeview */
-    treeview = gtk_builder_get_object (builder, "mouse-devices-treeview");
-
-    /* get the selection */
-    selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (treeview));
-
-    has_selection = gtk_tree_selection_get_selected (selection, &model, &iter);
-    if (G_LIKELY (has_selection))
+    /* get the selected item */
+    combobox = gtk_builder_get_object (builder, "device-combobox");
+    if (gtk_combo_box_get_active_iter (GTK_COMBO_BOX (combobox), &iter))
     {
         /* get device id and number of buttons */
-        gtk_tree_model_get (model, &iter, COLUMN_DEVICE_NAME, &name, -1);
+        model = gtk_combo_box_get_model (GTK_COMBO_BOX (combobox));
+        gtk_tree_model_get (model, &iter, COLUMN_DEVICE_XFCONF_NAME, &name, -1);
 
-        if (G_LIKELY (name && timeout_id == 0))
+        if (G_LIKELY (name != NULL && timeout_id == 0))
         {
             /* make the button insensitive */
             gtk_widget_set_sensitive (button, FALSE);
@@ -1259,7 +1136,7 @@ main (gint argc, gchar **argv)
             /* set the working display for this instance */
             display = gdk_display_get_default ();
 
-            /* populate the devices treeview */
+            /* populate the devices combobox */
             mouse_settings_device_populate_store (builder, TRUE);
 
             /* connect signals */
diff --git a/dialogs/mouse-settings/mouse-dialog.glade b/dialogs/mouse-settings/mouse-dialog.glade
index 68d1ff3..c4a0d95 100644
--- a/dialogs/mouse-settings/mouse-dialog.glade
+++ b/dialogs/mouse-settings/mouse-dialog.glade
@@ -1,43 +1,8 @@
-<?xml version="1.0"?>
+<?xml version="1.0" encoding="UTF-8"?>
 <interface>
-  <requires lib="gtk+" version="2.14"/>
+  <requires lib="gtk+" version="2.20"/>
   <!-- interface-requires libxfce4ui 4.5 -->
-  <!-- interface-naming-policy toplevel-contextual -->
-  <object class="GtkAdjustment" id="mouse-acceleration">
-    <property name="lower">0.1</property>
-    <property name="upper">10</property>
-    <property name="value">2</property>
-    <property name="step_increment">0.1</property>
-    <property name="page_increment">1</property>
-  </object>
-  <object class="GtkAdjustment" id="mouse-threshold">
-    <property name="lower">1</property>
-    <property name="upper">30</property>
-    <property name="value">4</property>
-    <property name="step_increment">1</property>
-    <property name="page_increment">5</property>
-  </object>
-  <object class="GtkAdjustment" id="mouse-dnd-threshold">
-    <property name="lower">1</property>
-    <property name="upper">50</property>
-    <property name="value">8</property>
-    <property name="step_increment">1</property>
-    <property name="page_increment">10</property>
-  </object>
-  <object class="GtkAdjustment" id="mouse-double-click-time">
-    <property name="lower">100</property>
-    <property name="upper">2000</property>
-    <property name="value">250</property>
-    <property name="step_increment">1</property>
-    <property name="page_increment">100</property>
-  </object>
-  <object class="GtkAdjustment" id="mouse-double-click-distance">
-    <property name="lower">0</property>
-    <property name="upper">20</property>
-    <property name="value">4</property>
-    <property name="step_increment">1</property>
-    <property name="page_increment">5</property>
-  </object>
+  <!-- interface-naming-policy project-wide -->
   <object class="GtkAdjustment" id="adjustment6">
     <property name="lower">16</property>
     <property name="upper">48</property>
@@ -45,67 +10,139 @@
     <property name="step_increment">1</property>
     <property name="page_increment">11</property>
   </object>
+  <object class="GtkImage" id="image1">
+    <property name="visible">True</property>
+    <property name="can_focus">False</property>
+    <property name="stock">gtk-revert-to-saved</property>
+  </object>
+  <object class="GtkAdjustment" id="mouse-acceleration">
+    <property name="lower">0.10000000000000001</property>
+    <property name="upper">10</property>
+    <property name="value">2</property>
+    <property name="step_increment">0.10000000000000001</property>
+    <property name="page_increment">1</property>
+  </object>
   <object class="XfceTitledDialog" id="mouse-dialog">
+    <property name="can_focus">False</property>
     <property name="title" translatable="yes">Mouse</property>
     <property name="window_position">center-on-parent</property>
     <property name="icon_name">preferences-desktop-peripherals</property>
     <property name="type_hint">dialog</property>
-    <property name="has_separator">False</property>
     <property name="subtitle" translatable="yes">Configure pointer device behavior and appearance</property>
     <child internal-child="vbox">
       <object class="GtkVBox" id="dialog-vbox1">
         <property name="visible">True</property>
-        <property name="orientation">vertical</property>
+        <property name="can_focus">False</property>
         <property name="spacing">2</property>
+        <child internal-child="action_area">
+          <object class="GtkHButtonBox" id="dialog-action_area1">
+            <property name="visible">True</property>
+            <property name="can_focus">False</property>
+            <property name="layout_style">end</property>
+            <child>
+              <object class="GtkButton" id="button1">
+                <property name="label">gtk-close</property>
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="receives_default">True</property>
+                <property name="use_action_appearance">False</property>
+                <property name="use_stock">True</property>
+              </object>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
+                <property name="position">0</property>
+              </packing>
+            </child>
+          </object>
+          <packing>
+            <property name="expand">False</property>
+            <property name="fill">True</property>
+            <property name="pack_type">end</property>
+            <property name="position">0</property>
+          </packing>
+        </child>
         <child>
           <object class="GtkNotebook" id="plug-child">
             <property name="visible">True</property>
             <property name="can_focus">True</property>
             <property name="border_width">6</property>
             <child>
-              <object class="GtkHBox" id="hbox1">
+              <object class="GtkVBox" id="vbox1">
                 <property name="visible">True</property>
+                <property name="can_focus">False</property>
                 <property name="border_width">12</property>
-                <property name="spacing">12</property>
+                <property name="spacing">6</property>
                 <child>
-                  <object class="GtkScrolledWindow" id="scrolledwindow1">
+                  <object class="GtkHBox" id="hbox1">
                     <property name="visible">True</property>
-                    <property name="can_focus">True</property>
-                    <property name="hscrollbar_policy">automatic</property>
-                    <property name="vscrollbar_policy">automatic</property>
-                    <property name="shadow_type">in</property>
+                    <property name="can_focus">False</property>
+                    <property name="spacing">12</property>
                     <child>
-                      <object class="GtkTreeView" id="mouse-devices-treeview">
+                      <object class="GtkLabel" id="label7">
                         <property name="visible">True</property>
-                        <property name="can_focus">True</property>
-                        <property name="headers_visible">False</property>
+                        <property name="can_focus">False</property>
+                        <property name="label" translatable="yes">_Device:</property>
+                        <property name="use_underline">True</property>
+                        <property name="mnemonic_widget">device-combobox</property>
+                        <property name="angle">0.050000000000000003</property>
+                      </object>
+                      <packing>
+                        <property name="expand">False</property>
+                        <property name="fill">True</property>
+                        <property name="position">0</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <object class="GtkComboBox" id="device-combobox">
+                        <property name="visible">True</property>
+                        <property name="can_focus">False</property>
                       </object>
+                      <packing>
+                        <property name="expand">True</property>
+                        <property name="fill">True</property>
+                        <property name="position">1</property>
+                      </packing>
                     </child>
                   </object>
                   <packing>
+                    <property name="expand">False</property>
+                    <property name="fill">True</property>
                     <property name="position">0</property>
                   </packing>
                 </child>
                 <child>
-                  <object class="GtkVBox" id="vbox1">
+                  <object class="GtkHSeparator" id="hseparator1">
                     <property name="visible">True</property>
-                    <property name="orientation">vertical</property>
+                    <property name="can_focus">False</property>
+                  </object>
+                  <packing>
+                    <property name="expand">False</property>
+                    <property name="fill">True</property>
+                    <property name="position">1</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkVBox" id="vbox2">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
                     <property name="spacing">6</property>
                     <child>
                       <object class="GtkFrame" id="frame1">
                         <property name="visible">True</property>
+                        <property name="can_focus">False</property>
                         <property name="label_xalign">0</property>
                         <property name="shadow_type">none</property>
                         <child>
                           <object class="GtkAlignment" id="alignment1">
                             <property name="visible">True</property>
-                            <property name="bottom_padding">6</property>
+                            <property name="can_focus">False</property>
                             <property name="left_padding">12</property>
                             <child>
                               <object class="GtkVBox" id="vbox12">
                                 <property name="visible">True</property>
+                                <property name="can_focus">False</property>
                                 <property name="border_width">6</property>
-                                <property name="orientation">vertical</property>
                                 <property name="spacing">6</property>
                                 <child>
                                   <object class="GtkRadioButton" id="mouse-right-handed">
@@ -113,11 +150,14 @@
                                     <property name="visible">True</property>
                                     <property name="can_focus">True</property>
                                     <property name="receives_default">False</property>
+                                    <property name="use_action_appearance">False</property>
                                     <property name="use_underline">True</property>
                                     <property name="active">True</property>
                                     <property name="draw_indicator">True</property>
                                   </object>
                                   <packing>
+                                    <property name="expand">True</property>
+                                    <property name="fill">True</property>
                                     <property name="position">0</property>
                                   </packing>
                                 </child>
@@ -127,12 +167,14 @@
                                     <property name="visible">True</property>
                                     <property name="can_focus">True</property>
                                     <property name="receives_default">False</property>
+                                    <property name="use_action_appearance">False</property>
                                     <property name="use_underline">True</property>
-                                    <property name="active">True</property>
                                     <property name="draw_indicator">True</property>
                                     <property name="group">mouse-right-handed</property>
                                   </object>
                                   <packing>
+                                    <property name="expand">True</property>
+                                    <property name="fill">True</property>
                                     <property name="position">1</property>
                                   </packing>
                                 </child>
@@ -143,10 +185,13 @@
                                     <property name="can_focus">True</property>
                                     <property name="receives_default">False</property>
                                     <property name="tooltip_text" translatable="yes">When selected, the scroll wheel will work in the opposite direction</property>
+                                    <property name="use_action_appearance">False</property>
                                     <property name="use_underline">True</property>
                                     <property name="draw_indicator">True</property>
                                   </object>
                                   <packing>
+                                    <property name="expand">True</property>
+                                    <property name="fill">True</property>
                                     <property name="position">2</property>
                                   </packing>
                                 </child>
@@ -157,7 +202,8 @@
                         <child type="label">
                           <object class="GtkLabel" id="label4">
                             <property name="visible">True</property>
-                            <property name="label" translatable="yes">Button Order</property>
+                            <property name="can_focus">False</property>
+                            <property name="label" translatable="yes">General</property>
                             <attributes>
                               <attribute name="weight" value="bold"/>
                             </attributes>
@@ -166,35 +212,42 @@
                       </object>
                       <packing>
                         <property name="expand">False</property>
+                        <property name="fill">True</property>
                         <property name="position">0</property>
                       </packing>
                     </child>
                     <child>
                       <object class="GtkFrame" id="frame2">
                         <property name="visible">True</property>
+                        <property name="can_focus">False</property>
                         <property name="label_xalign">0</property>
                         <property name="shadow_type">none</property>
                         <child>
                           <object class="GtkAlignment" id="alignment2">
                             <property name="visible">True</property>
-                            <property name="bottom_padding">6</property>
+                            <property name="can_focus">False</property>
                             <property name="left_padding">12</property>
                             <child>
-                              <object class="GtkVBox" id="vbox6">
+                              <object class="GtkTable" id="table1">
                                 <property name="visible">True</property>
+                                <property name="can_focus">False</property>
                                 <property name="border_width">6</property>
-                                <property name="orientation">vertical</property>
-                                <property name="spacing">6</property>
+                                <property name="n_rows">3</property>
+                                <property name="n_columns">2</property>
+                                <property name="column_spacing">12</property>
+                                <property name="row_spacing">6</property>
                                 <child>
                                   <object class="GtkLabel" id="mouse-acceleration-label">
                                     <property name="visible">True</property>
+                                    <property name="can_focus">False</property>
                                     <property name="xalign">0</property>
                                     <property name="label" translatable="yes">_Acceleration:</property>
                                     <property name="use_underline">True</property>
                                     <property name="mnemonic_widget">mouse-acceleration-scale</property>
                                   </object>
                                   <packing>
-                                    <property name="position">0</property>
+                                    <property name="x_options">GTK_FILL</property>
+                                    <property name="y_options">GTK_FILL</property>
                                   </packing>
                                 </child>
                                 <child>
@@ -204,22 +257,12 @@
                                     <property name="tooltip_text" translatable="yes">The factor at which the pointer's speed will increase as the mouse is moved</property>
                                     <property name="update_policy">delayed</property>
                                     <property name="adjustment">mouse-acceleration</property>
+                                    <property name="round_digits">1</property>
                                     <property name="value_pos">right</property>
                                   </object>
                                   <packing>
-                                    <property name="position">1</property>
-                                  </packing>
-                                </child>
-                                <child>
-                                  <object class="GtkLabel" id="mouse-threshold-label">
-                                    <property name="visible">True</property>
-                                    <property name="xalign">0</property>
-                                    <property name="label" translatable="yes">T_hreshold:</property>
-                                    <property name="use_underline">True</property>
-                                    <property name="mnemonic_widget">mouse-threshold-scale</property>
-                                  </object>
-                                  <packing>
-                                    <property name="position">2</property>
+                                    <property name="left_attach">1</property>
+                                    <property name="right_attach">2</property>
                                   </packing>
                                 </child>
                                 <child>
@@ -229,18 +272,39 @@
                                     <property name="tooltip_text" translatable="yes">The number of pixels the pointer must move in a short time before it starts accelerating</property>
                                     <property name="update_policy">delayed</property>
                                     <property name="adjustment">mouse-threshold</property>
+                                    <property name="round_digits">0</property>
                                     <property name="digits">0</property>
                                     <property name="value_pos">right</property>
                                   </object>
                                   <packing>
-                                    <property name="position">3</property>
+                                    <property name="left_attach">1</property>
+                                    <property name="right_attach">2</property>
+                                    <property name="top_attach">1</property>
+                                    <property name="bottom_attach">2</property>
+                                  </packing>
+                                </child>
+                                <child>
+                                  <object class="GtkLabel" id="mouse-threshold-label">
+                                    <property name="visible">True</property>
+                                    <property name="can_focus">False</property>
+                                    <property name="xalign">0</property>
+                                    <property name="label" translatable="yes">S_ensitivity:</property>
+                                    <property name="use_underline">True</property>
+                                    <property name="mnemonic_widget">mouse-threshold-scale</property>
+                                  </object>
+                                  <packing>
+                                    <property name="top_attach">1</property>
+                                    <property name="bottom_attach">2</property>
+                                    <property name="x_options">GTK_FILL</property>
                                   </packing>
                                 </child>
                                 <child>
                                   <object class="GtkAlignment" id="alignment7">
                                     <property name="visible">True</property>
+                                    <property name="can_focus">False</property>
                                     <property name="xalign">0</property>
                                     <property name="xscale">0</property>
+                                    <property name="yscale">0</property>
                                     <child>
                                       <object class="GtkButton" id="mouse-reset">
                                         <property name="label" translatable="yes">Re_set to Defaults</property>
@@ -248,13 +312,16 @@
                                         <property name="can_focus">True</property>
                                         <property name="receives_default">True</property>
                                         <property name="tooltip_text" translatable="yes">Set the acceleration and threshold for the selected device to the default values</property>
+                                        <property name="use_action_appearance">False</property>
                                         <property name="image">image1</property>
                                         <property name="use_underline">True</property>
                                       </object>
                                     </child>
                                   </object>
                                   <packing>
-                                    <property name="position">4</property>
+                                    <property name="right_attach">2</property>
+                                    <property name="top_attach">2</property>
+                                    <property name="bottom_attach">3</property>
                                   </packing>
                                 </child>
                               </object>
@@ -264,7 +331,8 @@
                         <child type="label">
                           <object class="GtkLabel" id="label5">
                             <property name="visible">True</property>
-                            <property name="label" translatable="yes">Feedback</property>
+                            <property name="can_focus">False</property>
+                            <property name="label" translatable="yes">Pointer Speed</property>
                             <attributes>
                               <attribute name="weight" value="bold"/>
                             </attributes>
@@ -273,12 +341,15 @@
                       </object>
                       <packing>
                         <property name="expand">False</property>
+                        <property name="fill">True</property>
                         <property name="position">1</property>
                       </packing>
                     </child>
                   </object>
                   <packing>
-                    <property name="position">1</property>
+                    <property name="expand">True</property>
+                    <property name="fill">True</property>
+                    <property name="position">2</property>
                   </packing>
                 </child>
               </object>
@@ -286,6 +357,7 @@
             <child type="tab">
               <object class="GtkLabel" id="label1">
                 <property name="visible">True</property>
+                <property name="can_focus">False</property>
                 <property name="label" translatable="yes">De_vices</property>
                 <property name="use_underline">True</property>
               </object>
@@ -296,34 +368,39 @@
             <child>
               <object class="GtkVBox" id="vbox3">
                 <property name="visible">True</property>
+                <property name="can_focus">False</property>
                 <property name="border_width">12</property>
-                <property name="orientation">vertical</property>
                 <property name="spacing">6</property>
                 <child>
                   <object class="GtkFrame" id="frame3">
                     <property name="visible">True</property>
+                    <property name="can_focus">False</property>
                     <property name="label_xalign">0</property>
                     <property name="shadow_type">none</property>
                     <child>
                       <object class="GtkAlignment" id="alignment3">
                         <property name="visible">True</property>
+                        <property name="can_focus">False</property>
                         <property name="bottom_padding">6</property>
                         <property name="left_padding">12</property>
                         <child>
                           <object class="GtkVBox" id="vbox4">
                             <property name="visible">True</property>
+                            <property name="can_focus">False</property>
                             <property name="border_width">6</property>
-                            <property name="orientation">vertical</property>
                             <property name="spacing">6</property>
                             <child>
                               <object class="GtkLabel" id="mouse-dnd-label">
                                 <property name="visible">True</property>
+                                <property name="can_focus">False</property>
                                 <property name="xalign">0</property>
                                 <property name="label" translatable="yes">T_hreshold:</property>
                                 <property name="use_underline">True</property>
                                 <property name="mnemonic_widget">mouse-dnd-widget</property>
                               </object>
                               <packing>
+                                <property name="expand">True</property>
+                                <property name="fill">True</property>
                                 <property name="position">0</property>
                               </packing>
                             </child>
@@ -338,6 +415,8 @@
                                 <property name="value_pos">right</property>
                               </object>
                               <packing>
+                                <property name="expand">True</property>
+                                <property name="fill">True</property>
                                 <property name="position">1</property>
                               </packing>
                             </child>
@@ -348,6 +427,7 @@
                     <child type="label">
                       <object class="GtkLabel" id="label6">
                         <property name="visible">True</property>
+                        <property name="can_focus">False</property>
                         <property name="label" translatable="yes">Drag and Drop</property>
                         <attributes>
                           <attribute name="weight" value="bold"/>
@@ -357,34 +437,40 @@
                   </object>
                   <packing>
                     <property name="expand">False</property>
+                    <property name="fill">True</property>
                     <property name="position">0</property>
                   </packing>
                 </child>
                 <child>
                   <object class="GtkFrame" id="frame4">
                     <property name="visible">True</property>
+                    <property name="can_focus">False</property>
                     <property name="label_xalign">0</property>
                     <property name="shadow_type">none</property>
                     <child>
                       <object class="GtkAlignment" id="alignment4">
                         <property name="visible">True</property>
+                        <property name="can_focus">False</property>
                         <property name="border_width">6</property>
                         <property name="bottom_padding">6</property>
                         <property name="left_padding">12</property>
                         <child>
                           <object class="GtkVBox" id="vbox5">
                             <property name="visible">True</property>
-                            <property name="orientation">vertical</property>
+                            <property name="can_focus">False</property>
                             <property name="spacing">6</property>
                             <child>
                               <object class="GtkLabel" id="mouse-double-click-time-label">
                                 <property name="visible">True</property>
+                                <property name="can_focus">False</property>
                                 <property name="xalign">0</property>
                                 <property name="label" translatable="yes">Ti_me:</property>
                                 <property name="use_underline">True</property>
                                 <property name="mnemonic_widget">mouse-double-click-time-widget</property>
                               </object>
                               <packing>
+                                <property name="expand">True</property>
+                                <property name="fill">True</property>
                                 <property name="position">0</property>
                               </packing>
                             </child>
@@ -399,18 +485,23 @@
                                 <property name="value_pos">right</property>
                               </object>
                               <packing>
+                                <property name="expand">True</property>
+                                <property name="fill">True</property>
                                 <property name="position">1</property>
                               </packing>
                             </child>
                             <child>
                               <object class="GtkLabel" id="mouse-double-click-distance-label">
                                 <property name="visible">True</property>
+                                <property name="can_focus">False</property>
                                 <property name="xalign">0</property>
                                 <property name="label" translatable="yes">_Distance:</property>
                                 <property name="use_underline">True</property>
                                 <property name="mnemonic_widget">mouse-double-click-distance-widget</property>
                               </object>
                               <packing>
+                                <property name="expand">True</property>
+                                <property name="fill">True</property>
                                 <property name="position">2</property>
                               </packing>
                             </child>
@@ -425,6 +516,8 @@
                                 <property name="value_pos">right</property>
                               </object>
                               <packing>
+                                <property name="expand">True</property>
+                                <property name="fill">True</property>
                                 <property name="position">3</property>
                               </packing>
                             </child>
@@ -435,6 +528,7 @@
                     <child type="label">
                       <object class="GtkLabel" id="label8">
                         <property name="visible">True</property>
+                        <property name="can_focus">False</property>
                         <property name="label" translatable="yes">Double Click</property>
                         <attributes>
                           <attribute name="weight" value="bold"/>
@@ -444,6 +538,7 @@
                   </object>
                   <packing>
                     <property name="expand">False</property>
+                    <property name="fill">True</property>
                     <property name="position">1</property>
                   </packing>
                 </child>
@@ -455,6 +550,7 @@
             <child type="tab">
               <object class="GtkLabel" id="label2">
                 <property name="visible">True</property>
+                <property name="can_focus">False</property>
                 <property name="label" translatable="yes">_Behavior</property>
                 <property name="use_underline">True</property>
               </object>
@@ -466,6 +562,7 @@
             <child>
               <object class="GtkHBox" id="mouse-themes-hbox">
                 <property name="visible">True</property>
+                <property name="can_focus">False</property>
                 <property name="border_width">12</property>
                 <property name="spacing">12</property>
                 <child>
@@ -485,38 +582,45 @@
                     </child>
                   </object>
                   <packing>
+                    <property name="expand">True</property>
+                    <property name="fill">True</property>
                     <property name="position">0</property>
                   </packing>
                 </child>
                 <child>
                   <object class="GtkVBox" id="vbox9">
                     <property name="visible">True</property>
-                    <property name="orientation">vertical</property>
+                    <property name="can_focus">False</property>
                     <property name="spacing">6</property>
                     <child>
                       <object class="GtkFrame" id="frame5">
                         <property name="visible">True</property>
+                        <property name="can_focus">False</property>
                         <property name="label_xalign">0</property>
                         <property name="shadow_type">none</property>
                         <child>
                           <object class="GtkAlignment" id="alignment5">
                             <property name="visible">True</property>
+                            <property name="can_focus">False</property>
                             <property name="border_width">6</property>
                             <property name="bottom_padding">6</property>
                             <property name="left_padding">12</property>
                             <child>
                               <object class="GtkHBox" id="hbox7">
                                 <property name="visible">True</property>
+                                <property name="can_focus">False</property>
                                 <property name="spacing">12</property>
                                 <child>
                                   <object class="GtkLabel" id="label21">
                                     <property name="visible">True</property>
+                                    <property name="can_focus">False</property>
                                     <property name="label" translatable="yes">Cursor _Size:</property>
                                     <property name="use_underline">True</property>
                                     <property name="mnemonic_widget">mouse-cursor-size</property>
                                   </object>
                                   <packing>
                                     <property name="expand">False</property>
+                                    <property name="fill">True</property>
                                     <property name="position">0</property>
                                   </packing>
                                 </child>
@@ -524,12 +628,17 @@
                                   <object class="GtkSpinButton" id="mouse-cursor-size">
                                     <property name="visible">True</property>
                                     <property name="can_focus">True</property>
+                                    <property name="primary_icon_activatable">False</property>
+                                    <property name="secondary_icon_activatable">False</property>
+                                    <property name="primary_icon_sensitive">True</property>
+                                    <property name="secondary_icon_sensitive">True</property>
                                     <property name="adjustment">adjustment6</property>
                                     <property name="snap_to_ticks">True</property>
                                     <property name="numeric">True</property>
                                   </object>
                                   <packing>
                                     <property name="expand">False</property>
+                                    <property name="fill">True</property>
                                     <property name="position">1</property>
                                   </packing>
                                 </child>
@@ -540,6 +649,7 @@
                         <child type="label">
                           <object class="GtkLabel" id="label20">
                             <property name="visible">True</property>
+                            <property name="can_focus">False</property>
                             <property name="label" translatable="yes">Size</property>
                             <attributes>
                               <attribute name="weight" value="bold"/>
@@ -549,23 +659,27 @@
                       </object>
                       <packing>
                         <property name="expand">False</property>
+                        <property name="fill">True</property>
                         <property name="position">0</property>
                       </packing>
                     </child>
                     <child>
                       <object class="GtkFrame" id="frame6">
                         <property name="visible">True</property>
+                        <property name="can_focus">False</property>
                         <property name="label_xalign">0</property>
                         <property name="shadow_type">none</property>
                         <child>
                           <object class="GtkAlignment" id="alignment6">
                             <property name="visible">True</property>
+                            <property name="can_focus">False</property>
                             <property name="border_width">6</property>
                             <property name="bottom_padding">6</property>
                             <property name="left_padding">12</property>
                             <child>
                               <object class="GtkImage" id="mouse-theme-preview">
                                 <property name="visible">True</property>
+                                <property name="can_focus">False</property>
                                 <property name="stock">gtk-missing-image</property>
                               </object>
                             </child>
@@ -574,6 +688,7 @@
                         <child type="label">
                           <object class="GtkLabel" id="label22">
                             <property name="visible">True</property>
+                            <property name="can_focus">False</property>
                             <property name="label" translatable="yes">Preview</property>
                             <attributes>
                               <attribute name="weight" value="bold"/>
@@ -583,12 +698,14 @@
                       </object>
                       <packing>
                         <property name="expand">False</property>
+                        <property name="fill">True</property>
                         <property name="position">1</property>
                       </packing>
                     </child>
                   </object>
                   <packing>
                     <property name="expand">False</property>
+                    <property name="fill">True</property>
                     <property name="position">1</property>
                   </packing>
                 </child>
@@ -600,6 +717,7 @@
             <child type="tab">
               <object class="GtkLabel" id="label3">
                 <property name="visible">True</property>
+                <property name="can_focus">False</property>
                 <property name="label" translatable="yes">_Theme</property>
                 <property name="use_underline">True</property>
               </object>
@@ -610,42 +728,42 @@
             </child>
           </object>
           <packing>
+            <property name="expand">True</property>
+            <property name="fill">True</property>
             <property name="position">1</property>
           </packing>
         </child>
-        <child internal-child="action_area">
-          <object class="GtkHButtonBox" id="dialog-action_area1">
-            <property name="visible">True</property>
-            <property name="layout_style">end</property>
-            <child>
-              <object class="GtkButton" id="button1">
-                <property name="label">gtk-close</property>
-                <property name="visible">True</property>
-                <property name="can_focus">True</property>
-                <property name="receives_default">True</property>
-                <property name="use_stock">True</property>
-              </object>
-              <packing>
-                <property name="expand">False</property>
-                <property name="fill">False</property>
-                <property name="position">0</property>
-              </packing>
-            </child>
-          </object>
-          <packing>
-            <property name="expand">False</property>
-            <property name="pack_type">end</property>
-            <property name="position">0</property>
-          </packing>
-        </child>
       </object>
     </child>
     <action-widgets>
       <action-widget response="0">button1</action-widget>
     </action-widgets>
   </object>
-  <object class="GtkImage" id="image1">
-    <property name="visible">True</property>
-    <property name="stock">gtk-revert-to-saved</property>
+  <object class="GtkAdjustment" id="mouse-dnd-threshold">
+    <property name="lower">1</property>
+    <property name="upper">50</property>
+    <property name="value">8</property>
+    <property name="step_increment">1</property>
+    <property name="page_increment">10</property>
+  </object>
+  <object class="GtkAdjustment" id="mouse-double-click-distance">
+    <property name="upper">20</property>
+    <property name="value">4</property>
+    <property name="step_increment">1</property>
+    <property name="page_increment">5</property>
+  </object>
+  <object class="GtkAdjustment" id="mouse-double-click-time">
+    <property name="lower">100</property>
+    <property name="upper">2000</property>
+    <property name="value">250</property>
+    <property name="step_increment">1</property>
+    <property name="page_increment">100</property>
+  </object>
+  <object class="GtkAdjustment" id="mouse-threshold">
+    <property name="lower">1</property>
+    <property name="upper">30</property>
+    <property name="value">4</property>
+    <property name="step_increment">1</property>
+    <property name="page_increment">5</property>
   </object>
 </interface>



More information about the Xfce4-commits mailing list