--- a/eric6/Project/Project.py Wed May 08 18:44:00 2019 +0200 +++ b/eric6/Project/Project.py Sat May 11 11:19:32 2019 +0200 @@ -4247,28 +4247,31 @@ self.dbgActGrp.setEnabled(False) self.pluginGrp.setEnabled(False) - def initMenu(self): - """ - Public slot to initialize the project menu. - - @return the menu generated (QMenu) + def initMenus(self): + """ + Public slot to initialize the project menus. + + @return tuple of generated menus + @rtype tuple of (QMenu, QMenu) """ menu = QMenu(self.tr('&Project'), self.parent()) self.recentMenu = QMenu(self.tr('Open &Recent Projects'), menu) - self.vcsMenu = QMenu(self.tr('&Version Control'), menu) + self.sessionMenu = QMenu(self.tr('Session'), menu) + self.debuggerMenu = QMenu(self.tr('Debugger'), menu) + + toolsMenu = QMenu(self.tr('Project-T&ools'), self.parent()) + self.vcsMenu = QMenu(self.tr('&Version Control'), toolsMenu) self.vcsMenu.setTearOffEnabled(True) self.vcsProjectHelper.initMenu(self.vcsMenu) self.vcsMenu.setEnabled(self.vcsSoftwareAvailable()) - self.checksMenu = QMenu(self.tr('Chec&k'), menu) + self.checksMenu = QMenu(self.tr('Chec&k'), toolsMenu) self.checksMenu.setTearOffEnabled(True) - self.menuShow = QMenu(self.tr('Sho&w'), menu) - self.graphicsMenu = QMenu(self.tr('&Diagrams'), menu) - self.sessionMenu = QMenu(self.tr('Session'), menu) - self.apidocMenu = QMenu(self.tr('Source &Documentation'), menu) + self.menuShow = QMenu(self.tr('Sho&w'), toolsMenu) + self.graphicsMenu = QMenu(self.tr('&Diagrams'), toolsMenu) + self.packagersMenu = QMenu(self.tr('Pac&kagers'), toolsMenu) + self.apidocMenu = QMenu(self.tr('Source &Documentation'), toolsMenu) self.apidocMenu.setTearOffEnabled(True) - self.debuggerMenu = QMenu(self.tr('Debugger'), menu) - self.packagersMenu = QMenu(self.tr('Pac&kagers'), menu) - self.makeMenu = QMenu(self.tr('Make'), menu) + self.makeMenu = QMenu(self.tr('Make'), toolsMenu) self.__menus = { "Main": menu, @@ -4328,7 +4331,7 @@ self.makeMenu.addActions(self.makeGrp.actions()) self.makeMenu.addSeparator() - # build the main menu + # build the project main menu menu.setTearOffEnabled(True) menu.addActions(self.actGrp1.actions()) self.menuRecentAct = menu.addMenu(self.recentMenu) @@ -4340,20 +4343,6 @@ menu.addSeparator() menu.addActions(self.actGrp2.actions()) menu.addSeparator() - self.menuMakeAct = menu.addMenu(self.makeMenu) - menu.addSeparator() - self.menuDiagramAct = menu.addMenu(self.graphicsMenu) - menu.addSeparator() - self.menuCheckAct = menu.addMenu(self.checksMenu) - menu.addSeparator() - menu.addMenu(self.vcsMenu) - menu.addSeparator() - self.menuShowAct = menu.addMenu(self.menuShow) - menu.addSeparator() - self.menuApidocAct = menu.addMenu(self.apidocMenu) - menu.addSeparator() - self.menuPackagersAct = menu.addMenu(self.packagersMenu) - menu.addSeparator() menu.addAction(self.propsAct) menu.addAction(self.userPropsAct) menu.addAction(self.filetypesAct) @@ -4362,6 +4351,23 @@ self.menuDebuggerAct = menu.addMenu(self.debuggerMenu) self.menuSessionAct = menu.addMenu(self.sessionMenu) + # build the project tools menu + toolsMenu.setTearOffEnabled(True) + toolsMenu.addSeparator() + self.menuMakeAct = toolsMenu.addMenu(self.makeMenu) + toolsMenu.addSeparator() + self.menuDiagramAct = toolsMenu.addMenu(self.graphicsMenu) + toolsMenu.addSeparator() + self.menuCheckAct = toolsMenu.addMenu(self.checksMenu) + toolsMenu.addSeparator() + toolsMenu.addMenu(self.vcsMenu) + toolsMenu.addSeparator() + self.menuShowAct = toolsMenu.addMenu(self.menuShow) + toolsMenu.addSeparator() + self.menuApidocAct = toolsMenu.addMenu(self.apidocMenu) + toolsMenu.addSeparator() + self.menuPackagersAct = toolsMenu.addMenu(self.packagersMenu) + self.menuCheckAct.setEnabled(False) self.menuShowAct.setEnabled(False) self.menuDiagramAct.setEnabled(False) @@ -4371,8 +4377,10 @@ self.menuPackagersAct.setEnabled(False) self.menuMakeAct.setEnabled(False) - self.menu = menu - return menu + self.__menu = menu + self.__toolsMenu = toolsMenu + + return menu, toolsMenu def initToolbars(self, toolbarManager): """