Adaptation for the new plug-in tools menu handling. release-2.1.0

Fri, 28 Aug 2015 11:30:45 +0200

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Fri, 28 Aug 2015 11:30:45 +0200
changeset 24
da62f56bbb16
parent 23
3cd7ff47e573
child 25
fd3d6ff6a09a

Adaptation for the new plug-in tools menu handling.

ChangeLog file | annotate | diff | comparison | revisions
PluginSelectionEncloser.py file | annotate | diff | comparison | revisions
PluginSelectionEncloser.zip file | annotate | diff | comparison | revisions
--- a/ChangeLog	Sat Jan 24 13:19:15 2015 +0100
+++ b/ChangeLog	Fri Aug 28 11:30:45 2015 +0200
@@ -1,5 +1,8 @@
 ChangeLog
 ---------
+Version 2.1.0:
+- adaptation for the new plug-in tools menu handling
+
 Version 2.0.2:
 - added Russian translations provided by Alexander Barkoff
 
--- a/PluginSelectionEncloser.py	Sat Jan 24 13:19:15 2015 +0100
+++ b/PluginSelectionEncloser.py	Fri Aug 28 11:30:45 2015 +0200
@@ -24,7 +24,7 @@
 author = "Detlev Offenbach <detlev@die-offenbachs.de>"
 autoactivate = True
 deactivateable = True
-version = "2.0.2"
+version = "2.1.0"
 className = "SelectionEncloserPlugin"
 packageName = "SelectionEncloser"
 shortDescription = "Enclose the selection with a string."
@@ -128,6 +128,7 @@
         self.__initMenu()
         
         self.__editors = {}
+        self.__mainActions = []
     
     def activate(self):
         """
@@ -143,6 +144,14 @@
         
         self.__ui.showMenu.connect(self.__populateMenu)
         
+        menu = self.__ui.getMenu("plugin_tools")
+        if menu is not None:
+            if not menu.isEmpty():
+                act = menu.addSeparator()
+                self.__mainActions.append(act)
+            act = menu.addMenu(self.__menu)
+            self.__mainActions.append(act)
+        
         e5App().getObject("ViewManager").editorOpenedEd.connect(
             self.__editorOpened)
         e5App().getObject("ViewManager").editorClosedEd.connect(
@@ -159,6 +168,12 @@
         """
         self.__ui.showMenu.disconnect(self.__populateMenu)
         
+        menu = self.__ui.getMenu("plugin_tools")
+        if menu is not None:
+            for act in self.__mainActions:
+                menu.removeAction(act)
+        self.__mainActions = []
+
         e5App().getObject("ViewManager").editorOpenedEd.disconnect(
             self.__editorOpened)
         e5App().getObject("ViewManager").editorClosedEd.disconnect(
@@ -236,16 +251,19 @@
         @param name name of the menu (string)
         @param menu reference to the menu to be populated (QMenu)
         """
-        if name != "Tools":
+        if name not in ["Tools", "PluginTools"]:
             return
         
         editor = e5App().getObject("ViewManager").activeWindow()
         
-        if not menu.isEmpty():
-            menu.addSeparator()
-        
-        act = menu.addMenu(self.__menu)
-        act.setEnabled(editor is not None and editor.hasSelectedText())
+        if name == "Tools":
+            if not menu.isEmpty():
+                menu.addSeparator()
+            act = menu.addMenu(self.__menu)
+            act.setEnabled(editor is not None and editor.hasSelectedText())
+        elif name == "PluginTools" and self.__mainActions:
+            self.__mainActions[-1].setEnabled(editor is not None and
+                                              editor.hasSelectedText())
     
     def __editorOpened(self, editor):
         """
Binary file PluginSelectionEncloser.zip has changed

eric ide

mercurial