Reviewers: ,


Please review this at http://codereview.tryton.org/160002/

Affected files:
  M tryton/gui/main.py


Index: tryton/gui/main.py
===================================================================
--- a/tryton/gui/main.py
+++ b/tryton/gui/main.py
@@ -259,7 +259,8 @@
         menubar.add(menuitem_shortcut)
         menuitem_shortcut.set_accel_path('<tryton>/Shortcuts')
         def shortcut_activate(widget):
-            if not menuitem_shortcut.get_submenu():
+            if (not menuitem_shortcut.get_submenu()
+                    or not menuitem_shortcut.get_submenu().get_children()):
                 self.shortcut_set()
         menuitem_shortcut.connect('select', shortcut_activate)

@@ -745,7 +746,9 @@
                     user, 'ir.ui.menu', rpc.CONTEXT)
         except TrytonServerError:
             shortcuts = []
-        menu = gtk.Menu()
+        menu = self.menuitem_shortcut.get_submenu()
+        if not menu:
+            menu = gtk.Menu()
         for shortcut in shortcuts:
             menuitem = gtk.MenuItem(shortcut['name'])
menuitem.connect('activate', _action_shortcut, shortcut['res_id'])
@@ -762,6 +765,8 @@

     def shortcut_unset(self):
         self.menuitem_shortcut.remove_submenu()
+        # Set a submenu to get keyboard shortcut working
+        self.menuitem_shortcut.set_submenu(gtk.Menu())

     def sig_accel_change(self, value):
         CONFIG['client.can_change_accelerators'] = value


--
[email protected] mailing list

Reply via email to