Sun, 15 Feb 2015 17:22:58 +0100
Some small modifications to the plug-in manager.
--- 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)
--- 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