--- a/PluginProjectPyramid.py Thu Jan 10 14:21:05 2019 +0100 +++ b/PluginProjectPyramid.py Fri May 10 19:41:20 2019 +0200 @@ -28,7 +28,7 @@ author = "Detlev Offenbach <detlev@die-offenbachs.de>" autoactivate = True deactivateable = True -version = "2.4.2" +version = "2.4.3" className = "ProjectPyramidPlugin" packageName = "ProjectPyramid" shortDescription = "Project support for Pyramid projects." @@ -153,8 +153,9 @@ """ self.__object = None + self.__mainMenu = None self.__mainAct = None - self.__mainMenu = None + self.__separatorAct = None self.__e5project = e5App().getObject("Project") @@ -273,19 +274,34 @@ Private slot to handle the projectOpened signal. """ if self.__e5project.getProjectType() == "Pyramid": - projectAct = self.__ui.getMenuBarAction("project") - actions = self.__ui.menuBar().actions() - insertAct = actions[actions.index(projectAct) + 1] - self.__mainAct = self.__ui.menuBar().insertMenu( - insertAct, self.__mainMenu) + projectToolsMenu = self.__ui.getMenu("project_tools") + if projectToolsMenu is not None: + insertBeforeAct = projectToolsMenu.actions()[0] + self.__mainAct = projectToolsMenu.insertMenu( + insertBeforeAct, self.__mainMenu) + self.__separatorAct = projectToolsMenu.insertSeparator( + insertBeforeAct) + else: + projectAct = self.__ui.getMenuBarAction("project") + actions = self.__ui.menuBar().actions() + insertBeforeAct = actions[actions.index(projectAct) + 1] + self.__mainAct = self.__ui.menuBar().insertMenu( + insertBeforeAct, self.__mainMenu) def __projectClosed(self): """ Private slot to handle the projectClosed signal. """ if self.__mainAct is not None: - self.__ui.menuBar().removeAction(self.__mainAct) - self.__mainAct = None + projectToolsMenu = self.__ui.getMenu("project_tools") + if projectToolsMenu is not None: + projectToolsMenu.removeAction(self.__separatorAct) + projectToolsMenu.removeAction(self.__mainAct) + self.__mainAct = None + self.__separatorAct = None + else: + self.__ui.menuBar().removeAction(self.__mainAct) + self.__mainAct = None self.__object.projectClosed() def fileTypesCallback(self):