Some small modifications to the plug-in manager.

Sun, 15 Feb 2015 17:22:58 +0100

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Sun, 15 Feb 2015 17:22:58 +0100
changeset 4113
feac3108a780
parent 4112
f15ce9247b7c
child 4114
754b17f65aba

Some small modifications to the plug-in manager.

APIs/Python3/eric6.api file | annotate | diff | comparison | revisions
Documentation/Help/source.qch file | annotate | diff | comparison | revisions
Documentation/Help/source.qhp file | annotate | diff | comparison | revisions
Documentation/Source/eric6.E5Gui.E5ToolBarManager.html file | annotate | diff | comparison | revisions
Documentation/Source/eric6.PluginManager.PluginManager.html file | annotate | diff | comparison | revisions
E5Gui/E5ToolBarManager.py file | annotate | diff | comparison | revisions
PluginManager/PluginManager.py file | annotate | diff | comparison | revisions
UI/UserInterface.py file | annotate | diff | comparison | revisions
--- a/APIs/Python3/eric6.api	Sun Feb 15 15:30:50 2015 +0100
+++ b/APIs/Python3/eric6.api	Sun Feb 15 17:22:58 2015 +0100
@@ -1563,6 +1563,7 @@
 eric6.E5Gui.E5ToolBarManager.E5ToolBarManager.isWidgetAction?4(action)
 eric6.E5Gui.E5ToolBarManager.E5ToolBarManager.mainWindow?4()
 eric6.E5Gui.E5ToolBarManager.E5ToolBarManager.removeAction?4(action)
+eric6.E5Gui.E5ToolBarManager.E5ToolBarManager.removeCategoryActions?4(category)
 eric6.E5Gui.E5ToolBarManager.E5ToolBarManager.removeToolBar?4(toolBar)
 eric6.E5Gui.E5ToolBarManager.E5ToolBarManager.removeWidgetActions?4(actions)
 eric6.E5Gui.E5ToolBarManager.E5ToolBarManager.renameToolBar?4(toolBar, title)
@@ -3748,6 +3749,7 @@
 eric6.PluginManager.PluginManager.PluginManager.getVcsSystemIndicators?4()
 eric6.PluginManager.PluginManager.PluginManager.initOnDemandPlugin?4(name)
 eric6.PluginManager.PluginManager.PluginManager.initOnDemandPlugins?4()
+eric6.PluginManager.PluginManager.PluginManager.initPluginToolbars?4(toolbarManager)
 eric6.PluginManager.PluginManager.PluginManager.isPluginActive?4(pluginName)
 eric6.PluginManager.PluginManager.PluginManager.isPluginLoaded?4(pluginName)
 eric6.PluginManager.PluginManager.PluginManager.isValidPluginName?4(pluginName)
Binary file Documentation/Help/source.qch has changed
--- a/Documentation/Help/source.qhp	Sun Feb 15 15:30:50 2015 +0100
+++ b/Documentation/Help/source.qhp	Sun Feb 15 17:22:58 2015 +0100
@@ -4028,6 +4028,7 @@
       <keyword name="E5ToolBarManager.isWidgetAction" id="E5ToolBarManager.isWidgetAction" ref="eric6.E5Gui.E5ToolBarManager.html#E5ToolBarManager.isWidgetAction" />
       <keyword name="E5ToolBarManager.mainWindow" id="E5ToolBarManager.mainWindow" ref="eric6.E5Gui.E5ToolBarManager.html#E5ToolBarManager.mainWindow" />
       <keyword name="E5ToolBarManager.removeAction" id="E5ToolBarManager.removeAction" ref="eric6.E5Gui.E5ToolBarManager.html#E5ToolBarManager.removeAction" />
+      <keyword name="E5ToolBarManager.removeCategoryActions" id="E5ToolBarManager.removeCategoryActions" ref="eric6.E5Gui.E5ToolBarManager.html#E5ToolBarManager.removeCategoryActions" />
       <keyword name="E5ToolBarManager.removeToolBar" id="E5ToolBarManager.removeToolBar" ref="eric6.E5Gui.E5ToolBarManager.html#E5ToolBarManager.removeToolBar" />
       <keyword name="E5ToolBarManager.removeWidgetActions" id="E5ToolBarManager.removeWidgetActions" ref="eric6.E5Gui.E5ToolBarManager.html#E5ToolBarManager.removeWidgetActions" />
       <keyword name="E5ToolBarManager.renameToolBar" id="E5ToolBarManager.renameToolBar" ref="eric6.E5Gui.E5ToolBarManager.html#E5ToolBarManager.renameToolBar" />
@@ -8548,6 +8549,7 @@
       <keyword name="PluginManager.getVcsSystemIndicators" id="PluginManager.getVcsSystemIndicators" ref="eric6.PluginManager.PluginManager.html#PluginManager.getVcsSystemIndicators" />
       <keyword name="PluginManager.initOnDemandPlugin" id="PluginManager.initOnDemandPlugin" ref="eric6.PluginManager.PluginManager.html#PluginManager.initOnDemandPlugin" />
       <keyword name="PluginManager.initOnDemandPlugins" id="PluginManager.initOnDemandPlugins" ref="eric6.PluginManager.PluginManager.html#PluginManager.initOnDemandPlugins" />
+      <keyword name="PluginManager.initPluginToolbars" id="PluginManager.initPluginToolbars" ref="eric6.PluginManager.PluginManager.html#PluginManager.initPluginToolbars" />
       <keyword name="PluginManager.isPluginActive" id="PluginManager.isPluginActive" ref="eric6.PluginManager.PluginManager.html#PluginManager.isPluginActive" />
       <keyword name="PluginManager.isPluginLoaded" id="PluginManager.isPluginLoaded" ref="eric6.PluginManager.PluginManager.html#PluginManager.isPluginLoaded" />
       <keyword name="PluginManager.isValidPluginName" id="PluginManager.isValidPluginName" ref="eric6.PluginManager.PluginManager.html#PluginManager.isValidPluginName" />
--- a/Documentation/Source/eric6.E5Gui.E5ToolBarManager.html	Sun Feb 15 15:30:50 2015 +0100
+++ b/Documentation/Source/eric6.E5Gui.E5ToolBarManager.html	Sun Feb 15 17:22:58 2015 +0100
@@ -108,6 +108,9 @@
 <td><a href="#E5ToolBarManager.removeAction">removeAction</a></td>
 <td>Public method to remove an action from the manager.</td>
 </tr><tr>
+<td><a href="#E5ToolBarManager.removeCategoryActions">removeCategoryActions</a></td>
+<td>Public method to remove the actions belonging to a category.</td>
+</tr><tr>
 <td><a href="#E5ToolBarManager.removeToolBar">removeToolBar</a></td>
 <td>Public method to remove a toolbar added with addToolBar().</td>
 </tr><tr>
@@ -275,7 +278,7 @@
 </p><dl>
 <dt><i>category</i></dt>
 <dd>
-category for the toolbar (string)
+category for the actions (string)
 </dd>
 </dl><dl>
 <dt>Returns:</dt>
@@ -385,6 +388,16 @@
 <dd>
 reference to the action to be removed (QAction)
 </dd>
+</dl><a NAME="E5ToolBarManager.removeCategoryActions" ID="E5ToolBarManager.removeCategoryActions"></a>
+<h4>E5ToolBarManager.removeCategoryActions</h4>
+<b>removeCategoryActions</b>(<i>category</i>)
+<p>
+        Public method to remove the actions belonging to a category.
+</p><dl>
+<dt><i>category</i></dt>
+<dd>
+category for the actions (string)
+</dd>
 </dl><a NAME="E5ToolBarManager.removeToolBar" ID="E5ToolBarManager.removeToolBar"></a>
 <h4>E5ToolBarManager.removeToolBar</h4>
 <b>removeToolBar</b>(<i>toolBar</i>)
--- a/Documentation/Source/eric6.PluginManager.PluginManager.html	Sun Feb 15 15:30:50 2015 +0100
+++ b/Documentation/Source/eric6.PluginManager.PluginManager.html	Sun Feb 15 17:22:58 2015 +0100
@@ -179,6 +179,9 @@
 <td><a href="#PluginManager.initOnDemandPlugins">initOnDemandPlugins</a></td>
 <td>Public method to create plugin objects for all on demand plugins.</td>
 </tr><tr>
+<td><a href="#PluginManager.initPluginToolbars">initPluginToolbars</a></td>
+<td>Public method to initialize plug-in toolbars.</td>
+</tr><tr>
 <td><a href="#PluginManager.isPluginActive">isPluginActive</a></td>
 <td>Public method to check, if a certain plugin is active.</td>
 </tr><tr>
@@ -692,7 +695,18 @@
         Public method to create plugin objects for all on demand plugins.
 </p><p>
         Note: The plugins are not activated.
-</p><a NAME="PluginManager.isPluginActive" ID="PluginManager.isPluginActive"></a>
+</p><a NAME="PluginManager.initPluginToolbars" ID="PluginManager.initPluginToolbars"></a>
+<h4>PluginManager.initPluginToolbars</h4>
+<b>initPluginToolbars</b>(<i>toolbarManager</i>)
+<p>
+        Public method to initialize plug-in toolbars.
+</p><dl>
+<dt><i>toolbarManager</i></dt>
+<dd>
+reference to the toolbar manager object
+            (E5ToolBarManager)
+</dd>
+</dl><a NAME="PluginManager.isPluginActive" ID="PluginManager.isPluginActive"></a>
 <h4>PluginManager.isPluginActive</h4>
 <b>isPluginActive</b>(<i>pluginName</i>)
 <p>
--- a/E5Gui/E5ToolBarManager.py	Sun Feb 15 15:30:50 2015 +0100
+++ b/E5Gui/E5ToolBarManager.py	Sun Feb 15 17:22:58 2015 +0100
@@ -451,6 +451,15 @@
             if action in self.__categoryToActions[category]:
                 self.__categoryToActions[category].remove(action)
     
+    def removeCategoryActions(self, category):
+        """
+        Public method to remove the actions belonging to a category.
+        
+        @param category category for the actions (string)
+        """
+        for action in self.categoryActions(category):
+            self.removeAction(action)
+    
     def saveState(self, version=0):
         """
         Public method to save the state of the toolbar manager.
@@ -639,7 +648,7 @@
         """
         Public method to get the actions belonging to a category.
         
-        @param category category for the toolbar (string)
+        @param category category for the actions (string)
         @return list of actions (list of QAction)
         """
         if category not in self.__categoryToActions:
--- a/PluginManager/PluginManager.py	Sun Feb 15 15:30:50 2015 +0100
+++ b/PluginManager/PluginManager.py	Sun Feb 15 17:22:58 2015 +0100
@@ -21,6 +21,7 @@
     QNetworkReply
 
 from E5Gui import E5MessageBox
+from E5Gui.E5Application import e5App
 
 from E5Network.E5NetworkProxyFactory import proxyAuthenticationRequired
 try:
@@ -483,6 +484,23 @@
         except PluginActivationError:
             return
     
+    def initPluginToolbars(self, toolbarManager):
+        """
+        Public method to initialize plug-in toolbars.
+        
+        @param toolbarManager reference to the toolbar manager object
+            (E5ToolBarManager)
+        """
+        self.initOnDemandPlugins()
+        for name, ref in e5App().getPluginObjects():
+            try:
+                tb = ref.initToolbar(self.__ui, toolbarManager)
+                if tb is not None:
+                    self.__ui.addToolBar(tb)
+            except AttributeError:
+                # ignore it
+                pass
+    
     def activatePlugins(self):
         """
         Public method to activate all plugins having the "autoactivate"
--- a/UI/UserInterface.py	Sun Feb 15 15:30:50 2015 +0100
+++ b/UI/UserInterface.py	Sun Feb 15 17:22:58 2015 +0100
@@ -524,15 +524,7 @@
         splash.showMessage(self.tr("Activating Plugins..."))
         self.pluginManager.activatePlugins()
         splash.showMessage(self.tr("Generating Plugins Toolbars..."))
-        self.pluginManager.initOnDemandPlugins()
-        for name, ref in e5App().getPluginObjects():
-            try:
-                tb = ref.initToolbar(self, self.toolbarManager)
-                if tb is not None:
-                    self.addToolBar(tb)
-            except AttributeError:
-                # ignore it
-                pass
+        self.pluginManager.initPluginToolbars(self.toolbarManager)
         
         # now read the keyboard shortcuts for all the actions
         from Preferences import Shortcuts

eric ide

mercurial