[Xfce4-commits] <libxfce4ui:master> Rework shortcut parsing using gdk functions.

Jérôme Guelfucci noreply at xfce.org
Thu Jun 2 23:46:03 CEST 2011


Updating branch refs/heads/master
         to 4868a7bac5234af48748bce09e2a848dfb37a628 (commit)
       from 5a4cbdd01c7712934c26a068af8b027b7ac3e1cc (commit)

commit 4868a7bac5234af48748bce09e2a848dfb37a628
Author: Jérôme Guelfucci <jeromeg at xfce.org>
Date:   Sun May 22 16:17:53 2011 +0200

    Rework shortcut parsing using gdk functions.

 libxfce4kbd-private/xfce-shortcuts-grabber.c |   28 ++++++-------------------
 1 files changed, 7 insertions(+), 21 deletions(-)

diff --git a/libxfce4kbd-private/xfce-shortcuts-grabber.c b/libxfce4kbd-private/xfce-shortcuts-grabber.c
index e7457a1..0db50e0 100644
--- a/libxfce4kbd-private/xfce-shortcuts-grabber.c
+++ b/libxfce4kbd-private/xfce-shortcuts-grabber.c
@@ -394,34 +394,20 @@ xfce_shortcuts_grabber_parse_shortcut (XfceShortcutsGrabber *grabber,
                                        guint                *keycode,
                                        guint                *modifiers)
 {
-  guint keyval;
+  gchar *
+  guint  keyval;
 
   g_return_if_fail (XFCE_IS_SHORTCUTS_GRABBER (grabber));
 
   gtk_accelerator_parse (shortcut, &keyval, modifiers);
 
-  *keycode = XKeysymToKeycode (GDK_DISPLAY_XDISPLAY (gdk_display_get_default ()), keyval);
-
-  if ((*modifiers & GDK_SUPER_MASK) == GDK_SUPER_MASK)
-    {
-      *modifiers |= grabber->priv->modifiers[CACHE_SUPER];
-      *modifiers ^= GDK_SUPER_MASK;
-    }
-
-  if ((*modifiers & GDK_HYPER_MASK) == GDK_HYPER_MASK)
-    {
-      *modifiers |= grabber->priv->modifiers[CACHE_HYPER];
-      *modifiers ^= GDK_HYPER_MASK;
-    }
+  /* Map virtual modifiers to non-virtual modifiers */
+  gdk_keymap_map_virtual_modifiers (gdk_keymap_get_default (),
+                                    modifiers);
 
-  if ((*modifiers & GDK_META_MASK) == GDK_META_MASK)
-    {
-      *modifiers |= grabber->priv->modifiers[CACHE_META];
-      *modifiers ^= GDK_META_MASK;
-    }
+  *keycode = XKeysymToKeycode (GDK_DISPLAY_XDISPLAY (gdk_display_get_default ()), keyval);
 
-  *modifiers &= MODIFIER_MASK;
-  *modifiers &= ~xfce_shortcuts_grabber_get_ignore_mask (grabber);
+  TRACE ("Parsed %s", gtk_accelerator_name (keyval, *modifiers));
 }
 
 



More information about the Xfce4-commits mailing list