From 4dfc7b063ec7dc476462e843bfecd07fd02cb25e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ren=C3=A9=20=27Necoro=27=20Neumann?= Date: Wed, 18 Feb 2009 23:14:37 +0100 Subject: Make the plugin menu work again --- portato/gui/templates/MainWindow.ui | 16 ++++++++++------ portato/gui/windows/main.py | 24 ++++++++++++++++++------ 2 files changed, 28 insertions(+), 12 deletions(-) diff --git a/portato/gui/templates/MainWindow.ui b/portato/gui/templates/MainWindow.ui index 3a30907..98da2ad 100644 --- a/portato/gui/templates/MainWindow.ui +++ b/portato/gui/templates/MainWindow.ui @@ -2,6 +2,16 @@ + + + + + pluginMenuAction + Plu_gins + + + + @@ -124,12 +134,6 @@ - - - pluginMenuAction - Plu_gins - - helpMenuAction diff --git a/portato/gui/windows/main.py b/portato/gui/windows/main.py index 437d305..2ee4447 100644 --- a/portato/gui/windows/main.py +++ b/portato/gui/windows/main.py @@ -479,13 +479,25 @@ class MainWindow (Window): plugin.load_plugins() menus = [p.menus for p in plugin.get_plugin_queue().get_plugins()] - # if menus: - # pluginMenu = self.tree.get_ui("pluginMenu") + if menus: + uim = self.tree.get_widget("uimanager") + ag = self.tree.get_widget("pluginActionGroup") - # for m in itt.chain(*menus): - # item = gtk.MenuItem(m.label) - # item.connect("activate", m.call) - # pluginMenu.append(item) + ctr = 0 + for m in itt.chain(*menus): + + # create action + aname = "plugin%d" % ctr + a = gtk.Action(aname, m.label, None, None) + a.connect("activate", m.call) + ag.add_action(a) + + # add to UI + mid = uim.new_merge_id() + uim.add_ui(mid, "ui/menubar/pluginMenu", aname, aname, gtk.UI_MANAGER_MENUITEM, False) + + ctr += 1 + splash(_("Building frontend")) # set paned position -- cgit v1.2.3