[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
r6055 - in trunk/gnue-forms/src: . uidrivers/_base uidrivers/gtk2 uidriv
From: |
johannes |
Subject: |
r6055 - in trunk/gnue-forms/src: . uidrivers/_base uidrivers/gtk2 uidrivers/gtk2/widgets/form |
Date: |
Fri, 23 Jul 2004 10:39:45 -0500 (CDT) |
Author: johannes
Date: 2004-07-23 10:39:43 -0500 (Fri, 23 Jul 2004)
New Revision: 6055
Modified:
trunk/gnue-forms/src/GFKeyMapper.py
trunk/gnue-forms/src/uidrivers/_base/UserActions.py
trunk/gnue-forms/src/uidrivers/gtk2/MenuBar.py
trunk/gnue-forms/src/uidrivers/gtk2/widgets/form/widget.py
Log:
Display accelerators (hotkeys) properly in the menu (right-aligned)
Modified: trunk/gnue-forms/src/GFKeyMapper.py
===================================================================
--- trunk/gnue-forms/src/GFKeyMapper.py 2004-07-23 13:05:15 UTC (rev 6054)
+++ trunk/gnue-forms/src/GFKeyMapper.py 2004-07-23 15:39:43 UTC (rev 6055)
@@ -152,6 +152,17 @@
return None
+ # ---------------------------------------------------------------------------
+ # Return a keystroke assigned to a given event using the UI keymap
+ # ---------------------------------------------------------------------------
+
+ def getUIEventKeyStroke (self, event):
+ for (key, value) in self._translatedUserKeyMap.items ():
+ if value == event and key [0] >= 0:
+ return key
+ return None
+
+
#
# Same as getEventKeystroke except that
# a text representation is return ('F1')
@@ -178,6 +189,7 @@
return "%s%s" % (rv, metamappings.get(v,v))
+
#
# Translate a keystroke into an event.
# (keystroke is the UI-specific keystroke,
Modified: trunk/gnue-forms/src/uidrivers/_base/UserActions.py
===================================================================
--- trunk/gnue-forms/src/uidrivers/_base/UserActions.py 2004-07-23 13:05:15 UTC
(rev 6054)
+++ trunk/gnue-forms/src/uidrivers/_base/UserActions.py 2004-07-23 15:39:43 UTC
(rev 6055)
@@ -77,6 +77,8 @@
return GFKeyMapper.KeyMapper.getEventKeystrokeRepr(self.event,
metamappings=m, separator=separator)
+ def getHotKeyTuple (self):
+ return GFKeyMapper.KeyMapper.getUIEventKeyStroke (self.event)
######################################################################
Modified: trunk/gnue-forms/src/uidrivers/gtk2/MenuBar.py
===================================================================
--- trunk/gnue-forms/src/uidrivers/gtk2/MenuBar.py 2004-07-23 13:05:15 UTC
(rev 6054)
+++ trunk/gnue-forms/src/uidrivers/gtk2/MenuBar.py 2004-07-23 15:39:43 UTC
(rev 6055)
@@ -79,16 +79,22 @@
def addAction (self, name, parent, userAction):
label = name
- hotkey = userAction.getHotKeyText ()
+ hotkey = userAction.getHotKeyTuple ()
iconloc = userAction.getIconLocation (size = "16x16")
- # TODO: We need to create an accelerator group on the toplevel window and
- # request the GFKeyMapper to split the key into it's parts
- if hotkey:
- label = "%s\t\t%s" % (label, hotkey)
-
item = gtk.ImageMenuItem (self.correctLabel (label))
+ if hotkey is not None:
+ (base, shift, ctrl, meta) = hotkey
+ mod = 0
+ if shift: mod = mod | gtk.gdk.SHIFT_MASK
+ if ctrl: mod = mod | gtk.gdk.CONTROL_MASK
+ if meta: mod = mod | gtk.gdk.MOD1_MASK
+
+ item.add_accelerator ('activate', self.container.accelGroup, base, mod,
+ gtk.ACCEL_VISIBLE)
+
+
parent.add (item)
item.connect ('activate', self._menuHandler, userAction)
Modified: trunk/gnue-forms/src/uidrivers/gtk2/widgets/form/widget.py
===================================================================
--- trunk/gnue-forms/src/uidrivers/gtk2/widgets/form/widget.py 2004-07-23
13:05:15 UTC (rev 6054)
+++ trunk/gnue-forms/src/uidrivers/gtk2/widgets/form/widget.py 2004-07-23
15:39:43 UTC (rev 6055)
@@ -102,6 +102,8 @@
self.mainWindow.connect ('delete_event', self.windowExitEvent)
+ self.accelGroup = gtk.AccelGroup ()
+ self.mainWindow.add_accel_group (self.accelGroup)
title = "%s" % self._form.title
self.mainWindow.set_title (self._makeSafe (title))
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- r6055 - in trunk/gnue-forms/src: . uidrivers/_base uidrivers/gtk2 uidrivers/gtk2/widgets/form,
johannes <=