--- a/PluginProjectWeb.py Thu Apr 30 18:55:08 2015 +0200 +++ b/PluginProjectWeb.py Fri Aug 28 10:57:27 2015 +0200 @@ -30,7 +30,7 @@ author = "Detlev Offenbach <detlev@die-offenbachs.de>" autoactivate = True deactivateable = True -version = "1.0.0" +version = "1.1.0" className = "ProjectWebPlugin" packageName = "ProjectWeb" shortDescription = "Support for Web projects and web related tools." @@ -73,6 +73,7 @@ self.__e5project = e5App().getObject("Project") self.__editors = {} + self.__mainActions = [] def activate(self): """ @@ -97,6 +98,14 @@ self.__ui.showMenu.connect(self.__populateMenu) + menu = self.__ui.getMenu("plugin_tools") + if menu is not None: + if not menu.isEmpty(): + act = menu.addSeparator() + self.__mainActions.append(act) + act = menu.addMenu(self.__menu) + self.__mainActions.append(act) + e5App().getObject("ViewManager").editorOpenedEd.connect( self.__editorOpened) e5App().getObject("ViewManager").editorClosedEd.connect( @@ -115,6 +124,12 @@ self.__ui.showMenu.disconnect(self.__populateMenu) + menu = self.__ui.getMenu("plugin_tools") + if menu is not None: + for act in self.__mainActions: + menu.removeAction(act) + self.__mainActions = [] + e5App().getObject("ViewManager").editorOpenedEd.disconnect( self.__editorOpened) e5App().getObject("ViewManager").editorClosedEd.disconnect( @@ -204,13 +219,13 @@ @param name name of the menu (string) @param menu reference to the menu to be populated (QMenu) """ - if name != "Tools": + if name not in ["Tools", "PluginTools"]: return - if not menu.isEmpty(): - menu.addSeparator() - - menu.addMenu(self.__menu) + if name == "Tools": + if not menu.isEmpty(): + menu.addSeparator() + menu.addMenu(self.__menu) def __editorOpened(self, editor): """