PluginProjectPyramid: changes to support changed eric6 menu structure as of eric6 19.06.

Fri, 10 May 2019 19:41:20 +0200

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Fri, 10 May 2019 19:41:20 +0200
changeset 127
5e8519ee5565
parent 126
f148f85d9e16
child 128
98255bf16380

PluginProjectPyramid: changes to support changed eric6 menu structure as of eric6 19.06.

ChangeLog file | annotate | diff | comparison | revisions
PluginProjectPyramid.py file | annotate | diff | comparison | revisions
--- a/ChangeLog	Thu Jan 10 14:21:05 2019 +0100
+++ b/ChangeLog	Fri May 10 19:41:20 2019 +0200
@@ -1,5 +1,9 @@
 ChangeLog
 ---------
+Version 2.4.3:
+- bug fixes
+- changes to support changed eric6 menu structure as of eric6 19.06
+
 Version 2.4.2:
 - bug fixes
 
--- 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):

eric ide

mercurial