From 8f03dc77b57620200154407898ea9e87cb4dcaf4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Sat, 13 Sep 2014 12:14:08 +0200 Subject: [PATCH] Fix favorite menu on OSX As the select event is not managed by the mac menu, it must be done using a timeout. issue2303 review9711002 --- tryton/gui/main.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/tryton/gui/main.py b/tryton/gui/main.py index fbf1d2d418..05757b3118 100644 --- a/tryton/gui/main.py +++ b/tryton/gui/main.py @@ -764,7 +764,7 @@ class Main(object): def favorite_set(self): if not self.menu_screen: - return + return False def _action_favorite(widget, id_): Action.exec_keyword('tree_open', { @@ -801,12 +801,19 @@ class Main(object): menu.add(manage_favorites) menu.show_all() self.menuitem_favorite.set_submenu(menu) + return True def favorite_unset(self): + had_submenu = self.menuitem_favorite.get_submenu() self.menuitem_favorite.remove_submenu() # Set a submenu to get keyboard shortcut working self.menuitem_favorite.set_submenu(gtk.Menu()) + if self.macapp and had_submenu: + # As the select event is not managed by the mac menu, + # it is done using a timeout + gobject.timeout_add(1000, lambda: not self.favorite_set()) + def sig_accel_change(self, value): CONFIG['client.can_change_accelerators'] = value return self.sig_accel()