Updating branch refs/heads/master
         to e7703727fbd5d91d6fd9de0a1a64bfef86eea296 (commit)
       from eceb53b301158fa901c8a56ed43adcd5bd458ecf (commit)

commit e7703727fbd5d91d6fd9de0a1a64bfef86eea296
Author: Jérôme Guelfucci <jero...@xfce.org>
Date:   Wed Dec 19 17:51:51 2012 +0100

    Show the label instead of the accelerator string.
    
    The dialog is far friendlier that way: we have human readable and
    translated strings representing the shortcut instead of a bare Gtk+
    accelerator.

 settings-dialogs/xfwm4-settings.c |   29 ++++++++++++++++++++---------
 1 files changed, 20 insertions(+), 9 deletions(-)

diff --git a/settings-dialogs/xfwm4-settings.c 
b/settings-dialogs/xfwm4-settings.c
index a2f4690..281a022 100644
--- a/settings-dialogs/xfwm4-settings.c
+++ b/settings-dialogs/xfwm4-settings.c
@@ -50,13 +50,14 @@
 
 
 
-#define DEFAULT_THEME             "Default"
+#define DEFAULT_THEME                   "Default"
 
-#define INDICATOR_SIZE            9
+#define INDICATOR_SIZE                  9
 
-#define SHORTCUTS_NAME_COLUMN     0
-#define SHORTCUTS_FEATURE_COLUMN  1
-#define SHORTCUTS_SHORTCUT_COLUMN 2
+#define SHORTCUTS_NAME_COLUMN           0
+#define SHORTCUTS_FEATURE_COLUMN        1
+#define SHORTCUTS_SHORTCUT_COLUMN       2
+#define SHORTCUTS_SHORTCUT_LABEL_COLUMN 3
 
 
 
@@ -66,7 +67,7 @@
 
 
 
-typedef struct _MenuTemplate     MenuTemplate;
+typedef struct _MenuTemplate            MenuTemplate;
 
 
 
@@ -512,7 +513,7 @@ xfwm_settings_constructed (GObject *object)
     gtk_tree_selection_set_mode (gtk_tree_view_get_selection (GTK_TREE_VIEW 
(shortcuts_treeview)),
                                  GTK_SELECTION_MULTIPLE);
 
-    list_store = gtk_list_store_new (3, G_TYPE_STRING, G_TYPE_STRING, 
G_TYPE_STRING);
+    list_store = gtk_list_store_new (4, G_TYPE_STRING, G_TYPE_STRING, 
G_TYPE_STRING, G_TYPE_STRING);
     gtk_tree_view_set_model (GTK_TREE_VIEW (shortcuts_treeview), 
GTK_TREE_MODEL (list_store));
     g_object_unref (G_OBJECT (list_store));
 
@@ -524,7 +525,7 @@ xfwm_settings_constructed (GObject *object)
     renderer = gtk_cell_renderer_text_new ();
     gtk_tree_view_insert_column_with_attributes (GTK_TREE_VIEW 
(shortcuts_treeview),
                                                  1, _("Shortcut"), renderer,
-                                                 "text", 
SHORTCUTS_SHORTCUT_COLUMN, NULL);
+                                                 "text", 
SHORTCUTS_SHORTCUT_LABEL_COLUMN, NULL);
 
     g_signal_connect (shortcuts_treeview, "row-activated",
                       G_CALLBACK (xfwm_settings_shortcut_row_activated), 
settings);
@@ -1679,8 +1680,18 @@ xfwm_settings_reload_shortcut (XfceShortcut *shortcut,
 
           if (G_UNLIKELY (g_str_equal (feature, shortcut->command)))
             {
+              GdkModifierType  modifiers;
+              guint            keyval;
+              gchar           *label;
+
+              /* Get the shortcut label */
+              gtk_accelerator_parse (shortcut->shortcut, &keyval, &modifiers);
+              label = gtk_accelerator_get_label (keyval, modifiers);
+
               gtk_list_store_set (GTK_LIST_STORE (model), &iter,
-                                  SHORTCUTS_SHORTCUT_COLUMN, 
shortcut->shortcut, -1);
+                                  SHORTCUTS_SHORTCUT_COLUMN, 
shortcut->shortcut,
+                                  SHORTCUTS_SHORTCUT_LABEL_COLUMN, label, -1);
+              g_free (label);
             }
 
           g_free (feature);
_______________________________________________
Xfce4-commits mailing list
Xfce4-commits@xfce.org
https://mail.xfce.org/mailman/listinfo/xfce4-commits

Reply via email to