--- a/PluginProjectDjango.py Thu Jan 10 14:21:03 2019 +0100 +++ b/PluginProjectDjango.py Fri May 10 19:39:15 2019 +0200 @@ -28,7 +28,7 @@ author = "Detlev Offenbach <detlev@die-offenbachs.de>" autoactivate = True deactivateable = True -version = "5.2.2" +version = "5.2.3" className = "ProjectDjangoPlugin" packageName = "ProjectDjango" shortDescription = "Project support for Django projects." @@ -165,8 +165,9 @@ """ self.__object = None + self.__mainMenu = None self.__mainAct = None - self.__mainMenu = None + self.__separatorAct = None self.__e5project = e5App().getObject("Project") @@ -287,19 +288,34 @@ Private slot to handle the projectOpened signal. """ if self.__e5project.getProjectType() == "Django": - 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):