RefactoringRope/RefactoringServer.py

changeset 313
327178d25538
parent 309
d201f9ccf33f
child 315
7e173652a1f9
diff -r ee38cac385b8 -r 327178d25538 RefactoringRope/RefactoringServer.py
--- a/RefactoringRope/RefactoringServer.py	Thu Mar 28 19:22:00 2019 +0100
+++ b/RefactoringRope/RefactoringServer.py	Fri May 10 19:46:55 2019 +0200
@@ -1,4 +1,3 @@
-# -*- coding: utf-8 -*-
 # -*- coding: utf-8 -*-
 
 # Copyright (c) 2010 - 2019 Detlev Offenbach <detlev@die-offenbachs.de>
@@ -59,8 +58,9 @@
         self.__projectopen = False
         self.__ropeConfig = {}
         
+        self.__mainMenu = None
         self.__mainAct = None
-        self.__mainMenu = None
+        self.__separatorAct = None
         
         self.__progressDialog = None
         self.__helpDialog = None
@@ -107,9 +107,19 @@
         readShortcuts(pluginName="RefactoringRope")
         
         self.__mainMenu = self.__initMenu()
-        extrasAct = self.__ui.getMenuBarAction("extras")
-        self.__mainAct = self.__ui.menuBar().insertMenu(
-            extrasAct, 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)
         self.__mainAct.setEnabled(False)
         
         if e5App().getObject("Project").isOpen():
@@ -139,7 +149,12 @@
         e5App().getObject("Project").newProject.disconnect(
             self.projectOpened)
         
-        self.__ui.menuBar().removeAction(self.__mainAct)
+        projectToolsMenu = self.__ui.getMenu("project_tools")
+        if projectToolsMenu is not None:
+            projectToolsMenu.removeAction(self.__separatorAct)
+            projectToolsMenu.removeAction(self.__mainAct)
+        else:
+            self.__ui.menuBar().removeAction(self.__mainAct)
         
         self.projectClosed()
     

eric ide

mercurial