summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRené 'Necoro' Neumann <necoro@necoro.net>2009-02-18 23:14:37 +0100
committerRené 'Necoro' Neumann <necoro@necoro.net>2009-02-18 23:14:37 +0100
commit4dfc7b063ec7dc476462e843bfecd07fd02cb25e (patch)
tree713c67d43e9b367aa8ee309614f52b956d09c509
parent6f740cbb6b651dfa73ed6c0e0e2cf4176310e3c8 (diff)
downloadportato-4dfc7b063ec7dc476462e843bfecd07fd02cb25e.tar.gz
portato-4dfc7b063ec7dc476462e843bfecd07fd02cb25e.tar.bz2
portato-4dfc7b063ec7dc476462e843bfecd07fd02cb25e.zip
Make the plugin menu work again
-rw-r--r--portato/gui/templates/MainWindow.ui16
-rw-r--r--portato/gui/windows/main.py24
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
@@ -3,6 +3,16 @@
<interface>
<object class="GtkUIManager" id="uimanager">
<child>
+ <object class="GtkActionGroup" id="pluginActionGroup">
+ <child>
+ <object class="GtkAction" id="pluginMenuAction">
+ <property name="name">pluginMenuAction</property>
+ <property name="label" translatable="yes">Plu_gins</property>
+ </object>
+ </child>
+ </object>
+ </child>
+ <child>
<object class="GtkActionGroup" id="generalActionGroup">
<child>
<object class="GtkAction" id="fileMenuAction">
@@ -125,12 +135,6 @@
</object>
</child>
<child>
- <object class="GtkAction" id="pluginMenuAction">
- <property name="name">pluginMenuAction</property>
- <property name="label" translatable="yes">Plu_gins</property>
- </object>
- </child>
- <child>
<object class="GtkAction" id="helpMenuAction">
<property name="name">helpMenuAction</property>
<property name="label" translatable="yes">_?</property>
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