Some more modifications to improve the plug-in toolbar handling.

Mon, 16 Feb 2015 19:02:35 +0100

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Mon, 16 Feb 2015 19:02:35 +0100
changeset 4115
0c70a8f8d54a
parent 4114
754b17f65aba
child 4116
2b39247e9cae

Some more modifications to improve the plug-in toolbar handling.

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.Plugins.PluginVcsMercurial.html file | annotate | diff | comparison | revisions
Documentation/Source/eric6.Plugins.PluginVcsPySvn.html file | annotate | diff | comparison | revisions
Documentation/Source/eric6.Plugins.PluginVcsSubversion.html file | annotate | diff | comparison | revisions
Documentation/Source/eric6.Plugins.VcsPlugins.vcsMercurial.ProjectHelper.html file | annotate | diff | comparison | revisions
Documentation/Source/eric6.Plugins.VcsPlugins.vcsPySvn.ProjectHelper.html file | annotate | diff | comparison | revisions
Documentation/Source/eric6.Plugins.VcsPlugins.vcsSubversion.ProjectHelper.html file | annotate | diff | comparison | revisions
PluginManager/PluginManager.py file | annotate | diff | comparison | revisions
Plugins/PluginVcsMercurial.py file | annotate | diff | comparison | revisions
Plugins/PluginVcsPySvn.py file | annotate | diff | comparison | revisions
Plugins/PluginVcsSubversion.py file | annotate | diff | comparison | revisions
Plugins/VcsPlugins/vcsMercurial/ProjectHelper.py file | annotate | diff | comparison | revisions
Plugins/VcsPlugins/vcsPySvn/ProjectHelper.py file | annotate | diff | comparison | revisions
Plugins/VcsPlugins/vcsSubversion/ProjectHelper.py file | annotate | diff | comparison | revisions
--- a/APIs/Python3/eric6.api	Sun Feb 15 18:02:47 2015 +0100
+++ b/APIs/Python3/eric6.api	Mon Feb 16 19:02:35 2015 +0100
@@ -4175,7 +4175,9 @@
 eric6.Plugins.PluginVcsMercurial.VcsMercurialPlugin.getGlobalOptions?4()
 eric6.Plugins.PluginVcsMercurial.VcsMercurialPlugin.getPreferences?4(key)
 eric6.Plugins.PluginVcsMercurial.VcsMercurialPlugin.getProjectHelper?4()
+eric6.Plugins.PluginVcsMercurial.VcsMercurialPlugin.initToolbar?4(ui, toolbarManager)
 eric6.Plugins.PluginVcsMercurial.VcsMercurialPlugin.prepareUninstall?4()
+eric6.Plugins.PluginVcsMercurial.VcsMercurialPlugin.prepareUnload?4()
 eric6.Plugins.PluginVcsMercurial.VcsMercurialPlugin.setPreferences?4(key, value)
 eric6.Plugins.PluginVcsMercurial.VcsMercurialPlugin?1(ui)
 eric6.Plugins.PluginVcsMercurial.author?7
@@ -4205,7 +4207,9 @@
 eric6.Plugins.PluginVcsPySvn.VcsPySvnPlugin.getPreferences?4(key)
 eric6.Plugins.PluginVcsPySvn.VcsPySvnPlugin.getProjectHelper?4()
 eric6.Plugins.PluginVcsPySvn.VcsPySvnPlugin.getServersPath?4()
+eric6.Plugins.PluginVcsPySvn.VcsPySvnPlugin.initToolbar?4(ui, toolbarManager)
 eric6.Plugins.PluginVcsPySvn.VcsPySvnPlugin.prepareUninstall?4()
+eric6.Plugins.PluginVcsPySvn.VcsPySvnPlugin.prepareUnload?4()
 eric6.Plugins.PluginVcsPySvn.VcsPySvnPlugin.setPreferences?4(key, value)
 eric6.Plugins.PluginVcsPySvn.VcsPySvnPlugin?1(ui)
 eric6.Plugins.PluginVcsPySvn.author?7
@@ -4235,7 +4239,9 @@
 eric6.Plugins.PluginVcsSubversion.VcsSubversionPlugin.getPreferences?4(key)
 eric6.Plugins.PluginVcsSubversion.VcsSubversionPlugin.getProjectHelper?4()
 eric6.Plugins.PluginVcsSubversion.VcsSubversionPlugin.getServersPath?4()
+eric6.Plugins.PluginVcsSubversion.VcsSubversionPlugin.initToolbar?4(ui, toolbarManager)
 eric6.Plugins.PluginVcsSubversion.VcsSubversionPlugin.prepareUninstall?4()
+eric6.Plugins.PluginVcsSubversion.VcsSubversionPlugin.prepareUnload?4()
 eric6.Plugins.PluginVcsSubversion.VcsSubversionPlugin.setPreferences?4(key, value)
 eric6.Plugins.PluginVcsSubversion.VcsSubversionPlugin?1(ui)
 eric6.Plugins.PluginVcsSubversion.author?7
@@ -4866,6 +4872,7 @@
 eric6.Plugins.VcsPlugins.vcsMercurial.ProjectHelper.HgProjectHelper.initActions?4()
 eric6.Plugins.VcsPlugins.vcsMercurial.ProjectHelper.HgProjectHelper.initMenu?4(menu)
 eric6.Plugins.VcsPlugins.vcsMercurial.ProjectHelper.HgProjectHelper.initToolbar?4(ui, toolbarManager)
+eric6.Plugins.VcsPlugins.vcsMercurial.ProjectHelper.HgProjectHelper.removeToolbar?4(ui, toolbarManager)
 eric6.Plugins.VcsPlugins.vcsMercurial.ProjectHelper.HgProjectHelper.setObjects?4(vcsObject, projectObject)
 eric6.Plugins.VcsPlugins.vcsMercurial.ProjectHelper.HgProjectHelper.showMenu?4()
 eric6.Plugins.VcsPlugins.vcsMercurial.ProjectHelper.HgProjectHelper.shutdown?4()
@@ -5183,6 +5190,7 @@
 eric6.Plugins.VcsPlugins.vcsPySvn.ProjectHelper.PySvnProjectHelper.initActions?4()
 eric6.Plugins.VcsPlugins.vcsPySvn.ProjectHelper.PySvnProjectHelper.initMenu?4(menu)
 eric6.Plugins.VcsPlugins.vcsPySvn.ProjectHelper.PySvnProjectHelper.initToolbar?4(ui, toolbarManager)
+eric6.Plugins.VcsPlugins.vcsPySvn.ProjectHelper.PySvnProjectHelper.removeToolbar?4(ui, toolbarManager)
 eric6.Plugins.VcsPlugins.vcsPySvn.ProjectHelper.PySvnProjectHelper?1(vcsObject, projectObject, parent=None, name=None)
 eric6.Plugins.VcsPlugins.vcsPySvn.SvnBlameDialog.SvnBlameDialog.on_buttonBox_clicked?4(button)
 eric6.Plugins.VcsPlugins.vcsPySvn.SvnBlameDialog.SvnBlameDialog.start?4(fn)
@@ -5410,6 +5418,7 @@
 eric6.Plugins.VcsPlugins.vcsSubversion.ProjectHelper.SvnProjectHelper.initActions?4()
 eric6.Plugins.VcsPlugins.vcsSubversion.ProjectHelper.SvnProjectHelper.initMenu?4(menu)
 eric6.Plugins.VcsPlugins.vcsSubversion.ProjectHelper.SvnProjectHelper.initToolbar?4(ui, toolbarManager)
+eric6.Plugins.VcsPlugins.vcsSubversion.ProjectHelper.SvnProjectHelper.removeToolbar?4(ui, toolbarManager)
 eric6.Plugins.VcsPlugins.vcsSubversion.ProjectHelper.SvnProjectHelper?1(vcsObject, projectObject, parent=None, name=None)
 eric6.Plugins.VcsPlugins.vcsSubversion.SvnBlameDialog.SvnBlameDialog.closeEvent?4(e)
 eric6.Plugins.VcsPlugins.vcsSubversion.SvnBlameDialog.SvnBlameDialog.keyPressEvent?4(evt)
Binary file Documentation/Help/source.qch has changed
--- a/Documentation/Help/source.qhp	Sun Feb 15 18:02:47 2015 +0100
+++ b/Documentation/Help/source.qhp	Mon Feb 16 19:02:35 2015 +0100
@@ -6288,6 +6288,7 @@
       <keyword name="HgProjectHelper.initActions" id="HgProjectHelper.initActions" ref="eric6.Plugins.VcsPlugins.vcsMercurial.ProjectHelper.html#HgProjectHelper.initActions" />
       <keyword name="HgProjectHelper.initMenu" id="HgProjectHelper.initMenu" ref="eric6.Plugins.VcsPlugins.vcsMercurial.ProjectHelper.html#HgProjectHelper.initMenu" />
       <keyword name="HgProjectHelper.initToolbar" id="HgProjectHelper.initToolbar" ref="eric6.Plugins.VcsPlugins.vcsMercurial.ProjectHelper.html#HgProjectHelper.initToolbar" />
+      <keyword name="HgProjectHelper.removeToolbar" id="HgProjectHelper.removeToolbar" ref="eric6.Plugins.VcsPlugins.vcsMercurial.ProjectHelper.html#HgProjectHelper.removeToolbar" />
       <keyword name="HgProjectHelper.setObjects" id="HgProjectHelper.setObjects" ref="eric6.Plugins.VcsPlugins.vcsMercurial.ProjectHelper.html#HgProjectHelper.setObjects" />
       <keyword name="HgProjectHelper.showMenu" id="HgProjectHelper.showMenu" ref="eric6.Plugins.VcsPlugins.vcsMercurial.ProjectHelper.html#HgProjectHelper.showMenu" />
       <keyword name="HgProjectHelper.shutdown" id="HgProjectHelper.shutdown" ref="eric6.Plugins.VcsPlugins.vcsMercurial.ProjectHelper.html#HgProjectHelper.shutdown" />
@@ -9395,6 +9396,7 @@
       <keyword name="PySvnProjectHelper.initActions" id="PySvnProjectHelper.initActions" ref="eric6.Plugins.VcsPlugins.vcsPySvn.ProjectHelper.html#PySvnProjectHelper.initActions" />
       <keyword name="PySvnProjectHelper.initMenu" id="PySvnProjectHelper.initMenu" ref="eric6.Plugins.VcsPlugins.vcsPySvn.ProjectHelper.html#PySvnProjectHelper.initMenu" />
       <keyword name="PySvnProjectHelper.initToolbar" id="PySvnProjectHelper.initToolbar" ref="eric6.Plugins.VcsPlugins.vcsPySvn.ProjectHelper.html#PySvnProjectHelper.initToolbar" />
+      <keyword name="PySvnProjectHelper.removeToolbar" id="PySvnProjectHelper.removeToolbar" ref="eric6.Plugins.VcsPlugins.vcsPySvn.ProjectHelper.html#PySvnProjectHelper.removeToolbar" />
       <keyword name="PyUnit (Package)" id="PyUnit (Package)" ref="index-eric6.PyUnit.html" />
       <keyword name="Python (Package)" id="Python (Package)" ref="index-eric6.DebugClients.Python.html" />
       <keyword name="Python3 (Package)" id="Python3 (Package)" ref="index-eric6.DebugClients.Python3.html" />
@@ -11013,6 +11015,7 @@
       <keyword name="SvnProjectHelper.initActions" id="SvnProjectHelper.initActions" ref="eric6.Plugins.VcsPlugins.vcsSubversion.ProjectHelper.html#SvnProjectHelper.initActions" />
       <keyword name="SvnProjectHelper.initMenu" id="SvnProjectHelper.initMenu" ref="eric6.Plugins.VcsPlugins.vcsSubversion.ProjectHelper.html#SvnProjectHelper.initMenu" />
       <keyword name="SvnProjectHelper.initToolbar" id="SvnProjectHelper.initToolbar" ref="eric6.Plugins.VcsPlugins.vcsSubversion.ProjectHelper.html#SvnProjectHelper.initToolbar" />
+      <keyword name="SvnProjectHelper.removeToolbar" id="SvnProjectHelper.removeToolbar" ref="eric6.Plugins.VcsPlugins.vcsSubversion.ProjectHelper.html#SvnProjectHelper.removeToolbar" />
       <keyword name="SvnPropDelDialog" id="SvnPropDelDialog" ref="eric6.Plugins.VcsPlugins.vcsPySvn.SvnPropDelDialog.html#SvnPropDelDialog" />
       <keyword name="SvnPropDelDialog (Constructor)" id="SvnPropDelDialog (Constructor)" ref="eric6.Plugins.VcsPlugins.vcsPySvn.SvnPropDelDialog.html#SvnPropDelDialog.__init__" />
       <keyword name="SvnPropDelDialog (Module)" id="SvnPropDelDialog (Module)" ref="eric6.Plugins.VcsPlugins.vcsPySvn.SvnPropDelDialog.html" />
@@ -12339,7 +12342,9 @@
       <keyword name="VcsMercurialPlugin.getGlobalOptions" id="VcsMercurialPlugin.getGlobalOptions" ref="eric6.Plugins.PluginVcsMercurial.html#VcsMercurialPlugin.getGlobalOptions" />
       <keyword name="VcsMercurialPlugin.getPreferences" id="VcsMercurialPlugin.getPreferences" ref="eric6.Plugins.PluginVcsMercurial.html#VcsMercurialPlugin.getPreferences" />
       <keyword name="VcsMercurialPlugin.getProjectHelper" id="VcsMercurialPlugin.getProjectHelper" ref="eric6.Plugins.PluginVcsMercurial.html#VcsMercurialPlugin.getProjectHelper" />
+      <keyword name="VcsMercurialPlugin.initToolbar" id="VcsMercurialPlugin.initToolbar" ref="eric6.Plugins.PluginVcsMercurial.html#VcsMercurialPlugin.initToolbar" />
       <keyword name="VcsMercurialPlugin.prepareUninstall" id="VcsMercurialPlugin.prepareUninstall" ref="eric6.Plugins.PluginVcsMercurial.html#VcsMercurialPlugin.prepareUninstall" />
+      <keyword name="VcsMercurialPlugin.prepareUnload" id="VcsMercurialPlugin.prepareUnload" ref="eric6.Plugins.PluginVcsMercurial.html#VcsMercurialPlugin.prepareUnload" />
       <keyword name="VcsMercurialPlugin.setPreferences" id="VcsMercurialPlugin.setPreferences" ref="eric6.Plugins.PluginVcsMercurial.html#VcsMercurialPlugin.setPreferences" />
       <keyword name="VcsPage" id="VcsPage" ref="eric6.Preferences.ConfigurationPages.VcsPage.html#VcsPage" />
       <keyword name="VcsPage (Constructor)" id="VcsPage (Constructor)" ref="eric6.Preferences.ConfigurationPages.VcsPage.html#VcsPage.__init__" />
@@ -12401,7 +12406,9 @@
       <keyword name="VcsPySvnPlugin.getPreferences" id="VcsPySvnPlugin.getPreferences" ref="eric6.Plugins.PluginVcsPySvn.html#VcsPySvnPlugin.getPreferences" />
       <keyword name="VcsPySvnPlugin.getProjectHelper" id="VcsPySvnPlugin.getProjectHelper" ref="eric6.Plugins.PluginVcsPySvn.html#VcsPySvnPlugin.getProjectHelper" />
       <keyword name="VcsPySvnPlugin.getServersPath" id="VcsPySvnPlugin.getServersPath" ref="eric6.Plugins.PluginVcsPySvn.html#VcsPySvnPlugin.getServersPath" />
+      <keyword name="VcsPySvnPlugin.initToolbar" id="VcsPySvnPlugin.initToolbar" ref="eric6.Plugins.PluginVcsPySvn.html#VcsPySvnPlugin.initToolbar" />
       <keyword name="VcsPySvnPlugin.prepareUninstall" id="VcsPySvnPlugin.prepareUninstall" ref="eric6.Plugins.PluginVcsPySvn.html#VcsPySvnPlugin.prepareUninstall" />
+      <keyword name="VcsPySvnPlugin.prepareUnload" id="VcsPySvnPlugin.prepareUnload" ref="eric6.Plugins.PluginVcsPySvn.html#VcsPySvnPlugin.prepareUnload" />
       <keyword name="VcsPySvnPlugin.setPreferences" id="VcsPySvnPlugin.setPreferences" ref="eric6.Plugins.PluginVcsPySvn.html#VcsPySvnPlugin.setPreferences" />
       <keyword name="VcsRepositoryInfoDialog" id="VcsRepositoryInfoDialog" ref="eric6.VCS.RepositoryInfoDialog.html#VcsRepositoryInfoDialog" />
       <keyword name="VcsRepositoryInfoDialog (Constructor)" id="VcsRepositoryInfoDialog (Constructor)" ref="eric6.VCS.RepositoryInfoDialog.html#VcsRepositoryInfoDialog.__init__" />
@@ -12425,7 +12432,9 @@
       <keyword name="VcsSubversionPlugin.getPreferences" id="VcsSubversionPlugin.getPreferences" ref="eric6.Plugins.PluginVcsSubversion.html#VcsSubversionPlugin.getPreferences" />
       <keyword name="VcsSubversionPlugin.getProjectHelper" id="VcsSubversionPlugin.getProjectHelper" ref="eric6.Plugins.PluginVcsSubversion.html#VcsSubversionPlugin.getProjectHelper" />
       <keyword name="VcsSubversionPlugin.getServersPath" id="VcsSubversionPlugin.getServersPath" ref="eric6.Plugins.PluginVcsSubversion.html#VcsSubversionPlugin.getServersPath" />
+      <keyword name="VcsSubversionPlugin.initToolbar" id="VcsSubversionPlugin.initToolbar" ref="eric6.Plugins.PluginVcsSubversion.html#VcsSubversionPlugin.initToolbar" />
       <keyword name="VcsSubversionPlugin.prepareUninstall" id="VcsSubversionPlugin.prepareUninstall" ref="eric6.Plugins.PluginVcsSubversion.html#VcsSubversionPlugin.prepareUninstall" />
+      <keyword name="VcsSubversionPlugin.prepareUnload" id="VcsSubversionPlugin.prepareUnload" ref="eric6.Plugins.PluginVcsSubversion.html#VcsSubversionPlugin.prepareUnload" />
       <keyword name="VcsSubversionPlugin.setPreferences" id="VcsSubversionPlugin.setPreferences" ref="eric6.Plugins.PluginVcsSubversion.html#VcsSubversionPlugin.setPreferences" />
       <keyword name="VersionControl" id="VersionControl" ref="eric6.VCS.VersionControl.html#VersionControl" />
       <keyword name="VersionControl (Constructor)" id="VersionControl (Constructor)" ref="eric6.VCS.VersionControl.html#VersionControl.__init__" />
--- a/Documentation/Source/eric6.Plugins.PluginVcsMercurial.html	Sun Feb 15 18:02:47 2015 +0100
+++ b/Documentation/Source/eric6.Plugins.PluginVcsMercurial.html	Mon Feb 16 19:02:35 2015 +0100
@@ -96,9 +96,15 @@
 <td><a href="#VcsMercurialPlugin.getProjectHelper">getProjectHelper</a></td>
 <td>Public method to get a reference to the project helper object.</td>
 </tr><tr>
+<td><a href="#VcsMercurialPlugin.initToolbar">initToolbar</a></td>
+<td>Public slot to initialize the VCS toolbar.</td>
+</tr><tr>
 <td><a href="#VcsMercurialPlugin.prepareUninstall">prepareUninstall</a></td>
 <td>Public method to prepare for an uninstallation.</td>
 </tr><tr>
+<td><a href="#VcsMercurialPlugin.prepareUnload">prepareUnload</a></td>
+<td>Public method to prepare for an unload.</td>
+</tr><tr>
 <td><a href="#VcsMercurialPlugin.setPreferences">setPreferences</a></td>
 <td>Public method to store the various settings.</td>
 </tr>
@@ -178,11 +184,30 @@
 <dd>
 reference to the project helper object
 </dd>
+</dl><a NAME="VcsMercurialPlugin.initToolbar" ID="VcsMercurialPlugin.initToolbar"></a>
+<h4>VcsMercurialPlugin.initToolbar</h4>
+<b>initToolbar</b>(<i>ui, toolbarManager</i>)
+<p>
+        Public slot to initialize the VCS toolbar.
+</p><dl>
+<dt><i>ui</i></dt>
+<dd>
+reference to the main window (UserInterface)
+</dd><dt><i>toolbarManager</i></dt>
+<dd>
+reference to a toolbar manager object
+            (E5ToolBarManager)
+</dd>
 </dl><a NAME="VcsMercurialPlugin.prepareUninstall" ID="VcsMercurialPlugin.prepareUninstall"></a>
 <h4>VcsMercurialPlugin.prepareUninstall</h4>
 <b>prepareUninstall</b>(<i></i>)
 <p>
         Public method to prepare for an uninstallation.
+</p><a NAME="VcsMercurialPlugin.prepareUnload" ID="VcsMercurialPlugin.prepareUnload"></a>
+<h4>VcsMercurialPlugin.prepareUnload</h4>
+<b>prepareUnload</b>(<i></i>)
+<p>
+        Public method to prepare for an unload.
 </p><a NAME="VcsMercurialPlugin.setPreferences" ID="VcsMercurialPlugin.setPreferences"></a>
 <h4>VcsMercurialPlugin.setPreferences</h4>
 <b>setPreferences</b>(<i>key, value</i>)
--- a/Documentation/Source/eric6.Plugins.PluginVcsPySvn.html	Sun Feb 15 18:02:47 2015 +0100
+++ b/Documentation/Source/eric6.Plugins.PluginVcsPySvn.html	Mon Feb 16 19:02:35 2015 +0100
@@ -96,9 +96,15 @@
 <td><a href="#VcsPySvnPlugin.getServersPath">getServersPath</a></td>
 <td>Public method to get the filename of the servers file.</td>
 </tr><tr>
+<td><a href="#VcsPySvnPlugin.initToolbar">initToolbar</a></td>
+<td>Public slot to initialize the VCS toolbar.</td>
+</tr><tr>
 <td><a href="#VcsPySvnPlugin.prepareUninstall">prepareUninstall</a></td>
 <td>Public method to prepare for an uninstallation.</td>
 </tr><tr>
+<td><a href="#VcsPySvnPlugin.prepareUnload">prepareUnload</a></td>
+<td>Public method to prepare for an unload.</td>
+</tr><tr>
 <td><a href="#VcsPySvnPlugin.setPreferences">setPreferences</a></td>
 <td>Public method to store the various settings.</td>
 </tr>
@@ -178,11 +184,30 @@
 <dd>
 filename of the servers file (string)
 </dd>
+</dl><a NAME="VcsPySvnPlugin.initToolbar" ID="VcsPySvnPlugin.initToolbar"></a>
+<h4>VcsPySvnPlugin.initToolbar</h4>
+<b>initToolbar</b>(<i>ui, toolbarManager</i>)
+<p>
+        Public slot to initialize the VCS toolbar.
+</p><dl>
+<dt><i>ui</i></dt>
+<dd>
+reference to the main window (UserInterface)
+</dd><dt><i>toolbarManager</i></dt>
+<dd>
+reference to a toolbar manager object
+            (E5ToolBarManager)
+</dd>
 </dl><a NAME="VcsPySvnPlugin.prepareUninstall" ID="VcsPySvnPlugin.prepareUninstall"></a>
 <h4>VcsPySvnPlugin.prepareUninstall</h4>
 <b>prepareUninstall</b>(<i></i>)
 <p>
         Public method to prepare for an uninstallation.
+</p><a NAME="VcsPySvnPlugin.prepareUnload" ID="VcsPySvnPlugin.prepareUnload"></a>
+<h4>VcsPySvnPlugin.prepareUnload</h4>
+<b>prepareUnload</b>(<i></i>)
+<p>
+        Public method to prepare for an unload.
 </p><a NAME="VcsPySvnPlugin.setPreferences" ID="VcsPySvnPlugin.setPreferences"></a>
 <h4>VcsPySvnPlugin.setPreferences</h4>
 <b>setPreferences</b>(<i>key, value</i>)
--- a/Documentation/Source/eric6.Plugins.PluginVcsSubversion.html	Sun Feb 15 18:02:47 2015 +0100
+++ b/Documentation/Source/eric6.Plugins.PluginVcsSubversion.html	Mon Feb 16 19:02:35 2015 +0100
@@ -96,9 +96,15 @@
 <td><a href="#VcsSubversionPlugin.getServersPath">getServersPath</a></td>
 <td>Public method to get the filename of the servers file.</td>
 </tr><tr>
+<td><a href="#VcsSubversionPlugin.initToolbar">initToolbar</a></td>
+<td>Public slot to initialize the VCS toolbar.</td>
+</tr><tr>
 <td><a href="#VcsSubversionPlugin.prepareUninstall">prepareUninstall</a></td>
 <td>Public method to prepare for an uninstallation.</td>
 </tr><tr>
+<td><a href="#VcsSubversionPlugin.prepareUnload">prepareUnload</a></td>
+<td>Public method to prepare for an unload.</td>
+</tr><tr>
 <td><a href="#VcsSubversionPlugin.setPreferences">setPreferences</a></td>
 <td>Public method to store the various settings.</td>
 </tr>
@@ -178,11 +184,30 @@
 <dd>
 filename of the servers file (string)
 </dd>
+</dl><a NAME="VcsSubversionPlugin.initToolbar" ID="VcsSubversionPlugin.initToolbar"></a>
+<h4>VcsSubversionPlugin.initToolbar</h4>
+<b>initToolbar</b>(<i>ui, toolbarManager</i>)
+<p>
+        Public slot to initialize the VCS toolbar.
+</p><dl>
+<dt><i>ui</i></dt>
+<dd>
+reference to the main window (UserInterface)
+</dd><dt><i>toolbarManager</i></dt>
+<dd>
+reference to a toolbar manager object
+            (E5ToolBarManager)
+</dd>
 </dl><a NAME="VcsSubversionPlugin.prepareUninstall" ID="VcsSubversionPlugin.prepareUninstall"></a>
 <h4>VcsSubversionPlugin.prepareUninstall</h4>
 <b>prepareUninstall</b>(<i></i>)
 <p>
         Public method to prepare for an uninstallation.
+</p><a NAME="VcsSubversionPlugin.prepareUnload" ID="VcsSubversionPlugin.prepareUnload"></a>
+<h4>VcsSubversionPlugin.prepareUnload</h4>
+<b>prepareUnload</b>(<i></i>)
+<p>
+        Public method to prepare for an unload.
 </p><a NAME="VcsSubversionPlugin.setPreferences" ID="VcsSubversionPlugin.setPreferences"></a>
 <h4>VcsSubversionPlugin.setPreferences</h4>
 <b>setPreferences</b>(<i>key, value</i>)
--- a/Documentation/Source/eric6.Plugins.VcsPlugins.vcsMercurial.ProjectHelper.html	Sun Feb 15 18:02:47 2015 +0100
+++ b/Documentation/Source/eric6.Plugins.VcsPlugins.vcsMercurial.ProjectHelper.html	Mon Feb 16 19:02:35 2015 +0100
@@ -255,6 +255,9 @@
 <td><a href="#HgProjectHelper.initToolbar">initToolbar</a></td>
 <td>Public slot to initialize the VCS toolbar.</td>
 </tr><tr>
+<td><a href="#HgProjectHelper.removeToolbar">removeToolbar</a></td>
+<td>Public method to remove a toolbar created by initToolbar().</td>
+</tr><tr>
 <td><a href="#HgProjectHelper.setObjects">setObjects</a></td>
 <td>Public method to set references to the vcs and project objects.</td>
 </tr><tr>
@@ -643,10 +646,19 @@
 reference to a toolbar manager object
             (E5ToolBarManager)
 </dd>
-</dl><dl>
-<dt>Returns:</dt>
+</dl><a NAME="HgProjectHelper.removeToolbar" ID="HgProjectHelper.removeToolbar"></a>
+<h4>HgProjectHelper.removeToolbar</h4>
+<b>removeToolbar</b>(<i>ui, toolbarManager</i>)
+<p>
+        Public method to remove a toolbar created by initToolbar().
+</p><dl>
+<dt><i>ui</i></dt>
 <dd>
-the toolbar generated (QToolBar)
+reference to the main window (UserInterface)
+</dd><dt><i>toolbarManager</i></dt>
+<dd>
+reference to a toolbar manager object
+            (E5ToolBarManager)
 </dd>
 </dl><a NAME="HgProjectHelper.setObjects" ID="HgProjectHelper.setObjects"></a>
 <h4>HgProjectHelper.setObjects</h4>
--- a/Documentation/Source/eric6.Plugins.VcsPlugins.vcsPySvn.ProjectHelper.html	Sun Feb 15 18:02:47 2015 +0100
+++ b/Documentation/Source/eric6.Plugins.VcsPlugins.vcsPySvn.ProjectHelper.html	Mon Feb 16 19:02:35 2015 +0100
@@ -113,6 +113,9 @@
 </tr><tr>
 <td><a href="#PySvnProjectHelper.initToolbar">initToolbar</a></td>
 <td>Public slot to initialize the VCS toolbar.</td>
+</tr><tr>
+<td><a href="#PySvnProjectHelper.removeToolbar">removeToolbar</a></td>
+<td>Public method to remove a toolbar created by initToolbar().</td>
 </tr>
 </table>
 <h3>Static Methods</h3>
@@ -249,10 +252,19 @@
 reference to a toolbar manager object
             (E5ToolBarManager)
 </dd>
-</dl><dl>
-<dt>Returns:</dt>
+</dl><a NAME="PySvnProjectHelper.removeToolbar" ID="PySvnProjectHelper.removeToolbar"></a>
+<h4>PySvnProjectHelper.removeToolbar</h4>
+<b>removeToolbar</b>(<i>ui, toolbarManager</i>)
+<p>
+        Public method to remove a toolbar created by initToolbar().
+</p><dl>
+<dt><i>ui</i></dt>
 <dd>
-the toolbar generated (QToolBar)
+reference to the main window (UserInterface)
+</dd><dt><i>toolbarManager</i></dt>
+<dd>
+reference to a toolbar manager object
+            (E5ToolBarManager)
 </dd>
 </dl>
 <div align="right"><a href="#top">Up</a></div>
--- a/Documentation/Source/eric6.Plugins.VcsPlugins.vcsSubversion.ProjectHelper.html	Sun Feb 15 18:02:47 2015 +0100
+++ b/Documentation/Source/eric6.Plugins.VcsPlugins.vcsSubversion.ProjectHelper.html	Mon Feb 16 19:02:35 2015 +0100
@@ -110,6 +110,9 @@
 </tr><tr>
 <td><a href="#SvnProjectHelper.initToolbar">initToolbar</a></td>
 <td>Public slot to initialize the VCS toolbar.</td>
+</tr><tr>
+<td><a href="#SvnProjectHelper.removeToolbar">removeToolbar</a></td>
+<td>Public method to remove a toolbar created by initToolbar().</td>
 </tr>
 </table>
 <h3>Static Methods</h3>
@@ -241,10 +244,19 @@
 reference to a toolbar manager object
             (E5ToolBarManager)
 </dd>
-</dl><dl>
-<dt>Returns:</dt>
+</dl><a NAME="SvnProjectHelper.removeToolbar" ID="SvnProjectHelper.removeToolbar"></a>
+<h4>SvnProjectHelper.removeToolbar</h4>
+<b>removeToolbar</b>(<i>ui, toolbarManager</i>)
+<p>
+        Public method to remove a toolbar created by initToolbar().
+</p><dl>
+<dt><i>ui</i></dt>
 <dd>
-the toolbar generated (QToolBar)
+reference to the main window (UserInterface)
+</dd><dt><i>toolbarManager</i></dt>
+<dd>
+reference to a toolbar manager object
+            (E5ToolBarManager)
 </dd>
 </dl>
 <div align="right"><a href="#top">Up</a></div>
--- a/PluginManager/PluginManager.py	Sun Feb 15 18:02:47 2015 +0100
+++ b/PluginManager/PluginManager.py	Mon Feb 16 19:02:35 2015 +0100
@@ -375,6 +375,13 @@
             self.__modulesCount += 1
             if reload_:
                 imp.reload(module)
+                self.initOnDemandPlugin(name)
+                try:
+                    pluginObject = self.__onDemandInactivePlugins[name]
+                    pluginObject.initToolbar(
+                        self.__ui, e5App().getObject("ToolbarManager"))
+                except (KeyError, AttributeError):
+                    pass
         except PluginLoadError:
             print("Error loading plug-in module:", name)
         except PluginPy2IncompatibleError:
@@ -404,12 +411,22 @@
         
         if name in self.__inactiveModules:
             try:
+                pluginObject = self.__inactivePlugins[name]
+                try:
+                    pluginObject.prepareUnload()
+                except AttributeError:
+                    pass
                 del self.__inactivePlugins[name]
             except KeyError:
                 pass
             del self.__inactiveModules[name]
         elif name in self.__onDemandInactiveModules:
             try:
+                pluginObject = self.__onDemandInactivePlugins[name]
+                try:
+                    pluginObject.prepareUnload()
+                except AttributeError:
+                    pass
                 del self.__onDemandInactivePlugins[name]
             except KeyError:
                 pass
@@ -492,11 +509,9 @@
             (E5ToolBarManager)
         """
         self.initOnDemandPlugins()
-        for name, ref in e5App().getPluginObjects():
+        for pluginObject in self.__onDemandInactivePlugins.values():
             try:
-                tb = ref.initToolbar(self.__ui, toolbarManager)
-                if tb is not None:
-                    self.__ui.addToolBar(tb)
+                pluginObject.initToolbar(self.__ui, toolbarManager)
             except AttributeError:
                 # ignore it
                 pass
--- a/Plugins/PluginVcsMercurial.py	Sun Feb 15 18:02:47 2015 +0100
+++ b/Plugins/PluginVcsMercurial.py	Mon Feb 16 19:02:35 2015 +0100
@@ -191,6 +191,17 @@
         """
         return self.__projectHelperObject
 
+    def initToolbar(self, ui, toolbarManager):
+        """
+        Public slot to initialize the VCS toolbar.
+        
+        @param ui reference to the main window (UserInterface)
+        @param toolbarManager reference to a toolbar manager object
+            (E5ToolBarManager)
+        """
+        if self.__projectHelperObject:
+            self.__projectHelperObject.initToolbar(ui, toolbarManager)
+    
     def activate(self):
         """
         Public method to activate this plugin.
@@ -288,3 +299,12 @@
         Public method to prepare for an uninstallation.
         """
         e5App().unregisterPluginObject(pluginTypename)
+    
+    def prepareUnload(self):
+        """
+        Public method to prepare for an unload.
+        """
+        if self.__projectHelperObject:
+            self.__projectHelperObject.removeToolbar(
+                self.__ui, e5App().getObject("ToolbarManager"))
+        e5App().unregisterPluginObject(pluginTypename)
--- a/Plugins/PluginVcsPySvn.py	Sun Feb 15 18:02:47 2015 +0100
+++ b/Plugins/PluginVcsPySvn.py	Mon Feb 16 19:02:35 2015 +0100
@@ -175,6 +175,17 @@
         """
         return self.__projectHelperObject
 
+    def initToolbar(self, ui, toolbarManager):
+        """
+        Public slot to initialize the VCS toolbar.
+        
+        @param ui reference to the main window (UserInterface)
+        @param toolbarManager reference to a toolbar manager object
+            (E5ToolBarManager)
+        """
+        if self.__projectHelperObject:
+            self.__projectHelperObject.initToolbar(ui, toolbarManager)
+    
     def activate(self):
         """
         Public method to activate this plugin.
@@ -259,3 +270,12 @@
         Public method to prepare for an uninstallation.
         """
         e5App().unregisterPluginObject(pluginTypename)
+    
+    def prepareUnload(self):
+        """
+        Public method to prepare for an unload.
+        """
+        if self.__projectHelperObject:
+            self.__projectHelperObject.removeToolbar(
+                self.__ui, e5App().getObject("ToolbarManager"))
+        e5App().unregisterPluginObject(pluginTypename)
--- a/Plugins/PluginVcsSubversion.py	Sun Feb 15 18:02:47 2015 +0100
+++ b/Plugins/PluginVcsSubversion.py	Mon Feb 16 19:02:35 2015 +0100
@@ -181,6 +181,17 @@
         """
         return self.__projectHelperObject
 
+    def initToolbar(self, ui, toolbarManager):
+        """
+        Public slot to initialize the VCS toolbar.
+        
+        @param ui reference to the main window (UserInterface)
+        @param toolbarManager reference to a toolbar manager object
+            (E5ToolBarManager)
+        """
+        if self.__projectHelperObject:
+            self.__projectHelperObject.initToolbar(ui, toolbarManager)
+    
     def activate(self):
         """
         Public method to activate this plugin.
@@ -265,3 +276,12 @@
         Public method to prepare for an uninstallation.
         """
         e5App().unregisterPluginObject(pluginTypename)
+    
+    def prepareUnload(self):
+        """
+        Public method to prepare for an unload.
+        """
+        if self.__projectHelperObject:
+            self.__projectHelperObject.removeToolbar(
+                self.__ui, e5App().getObject("ToolbarManager"))
+        e5App().unregisterPluginObject(pluginTypename)
--- a/Plugins/VcsPlugins/vcsMercurial/ProjectHelper.py	Sun Feb 15 18:02:47 2015 +0100
+++ b/Plugins/VcsPlugins/vcsMercurial/ProjectHelper.py	Mon Feb 16 19:02:35 2015 +0100
@@ -1405,24 +1405,23 @@
         @param ui reference to the main window (UserInterface)
         @param toolbarManager reference to a toolbar manager object
             (E5ToolBarManager)
-        @return the toolbar generated (QToolBar)
         """
-        tb = QToolBar(self.tr("Mercurial"), ui)
-        tb.setIconSize(UI.Config.ToolBarIconSize)
-        tb.setObjectName("MercurialToolbar")
-        tb.setToolTip(self.tr('Mercurial'))
+        self.__toolbar = QToolBar(self.tr("Mercurial"), ui)
+        self.__toolbar.setIconSize(UI.Config.ToolBarIconSize)
+        self.__toolbar.setObjectName("MercurialToolbar")
+        self.__toolbar.setToolTip(self.tr('Mercurial'))
         
-        tb.addAction(self.hgLogBrowserAct)
-        tb.addAction(self.vcsStatusAct)
-        tb.addSeparator()
-        tb.addAction(self.vcsDiffAct)
-        tb.addSeparator()
-        tb.addAction(self.vcsNewAct)
-        tb.addAction(self.vcsExportAct)
-        tb.addSeparator()
+        self.__toolbar.addAction(self.hgLogBrowserAct)
+        self.__toolbar.addAction(self.vcsStatusAct)
+        self.__toolbar.addSeparator()
+        self.__toolbar.addAction(self.vcsDiffAct)
+        self.__toolbar.addSeparator()
+        self.__toolbar.addAction(self.vcsNewAct)
+        self.__toolbar.addAction(self.vcsExportAct)
+        self.__toolbar.addSeparator()
         
-        title = tb.windowTitle()
-        toolbarManager.addToolBar(tb, title)
+        title = self.__toolbar.windowTitle()
+        toolbarManager.addToolBar(self.__toolbar, title)
         toolbarManager.addAction(self.hgPullAct, title)
         toolbarManager.addAction(self.vcsUpdateAct, title)
         toolbarManager.addAction(self.vcsCommitAct, title)
@@ -1449,12 +1448,30 @@
         toolbarManager.addAction(self.hgBookmarkPullAct, title)
         toolbarManager.addAction(self.hgBookmarkPushAct, title)
         
-        tb.setEnabled(False)
-        tb.setVisible(False)
+        self.__toolbar.setEnabled(False)
+        self.__toolbar.setVisible(False)
+        
+        ui.registerToolbar("mercurial", self.__toolbar.windowTitle(),
+                           self.__toolbar)
+        ui.addToolBar(self.__toolbar)
+    
+    def removeToolbar(self, ui, toolbarManager):
+        """
+        Public method to remove a toolbar created by initToolbar().
         
-        ui.registerToolbar("mercurial", tb.windowTitle(), tb)
+        @param ui reference to the main window (UserInterface)
+        @param toolbarManager reference to a toolbar manager object
+            (E5ToolBarManager)
+        """
+        ui.removeToolBar(self.__toolbar)
+        ui.unregisterToolbar("mercurial")
         
-        return tb
+        title = self.__toolbar.windowTitle()
+        toolbarManager.removeCategoryActions(title)
+        toolbarManager.removeToolBar(self.__toolbar)
+        
+        self.__toolbar.deleteLater()
+        self.__toolbar = None
     
     def showMenu(self):
         """
--- a/Plugins/VcsPlugins/vcsPySvn/ProjectHelper.py	Sun Feb 15 18:02:47 2015 +0100
+++ b/Plugins/VcsPlugins/vcsPySvn/ProjectHelper.py	Mon Feb 16 19:02:35 2015 +0100
@@ -568,25 +568,24 @@
         @param ui reference to the main window (UserInterface)
         @param toolbarManager reference to a toolbar manager object
             (E5ToolBarManager)
-        @return the toolbar generated (QToolBar)
         """
-        tb = QToolBar(self.tr("Subversion (pysvn)"), ui)
-        tb.setIconSize(UI.Config.ToolBarIconSize)
-        tb.setObjectName("PySvnToolbar")
-        tb.setToolTip(self.tr('Subversion (pysvn)'))
+        self.__toolbar = QToolBar(self.tr("Subversion (pysvn)"), ui)
+        self.__toolbar.setIconSize(UI.Config.ToolBarIconSize)
+        self.__toolbar.setObjectName("PySvnToolbar")
+        self.__toolbar.setToolTip(self.tr('Subversion (pysvn)'))
         
-        tb.addAction(self.svnLogBrowserAct)
-        tb.addAction(self.vcsStatusAct)
-        tb.addSeparator()
-        tb.addAction(self.vcsDiffAct)
-        tb.addSeparator()
-        tb.addAction(self.svnRepoBrowserAct)
-        tb.addAction(self.vcsNewAct)
-        tb.addAction(self.vcsExportAct)
-        tb.addSeparator()
+        self.__toolbar.addAction(self.svnLogBrowserAct)
+        self.__toolbar.addAction(self.vcsStatusAct)
+        self.__toolbar.addSeparator()
+        self.__toolbar.addAction(self.vcsDiffAct)
+        self.__toolbar.addSeparator()
+        self.__toolbar.addAction(self.svnRepoBrowserAct)
+        self.__toolbar.addAction(self.vcsNewAct)
+        self.__toolbar.addAction(self.vcsExportAct)
+        self.__toolbar.addSeparator()
         
-        title = tb.windowTitle()
-        toolbarManager.addToolBar(tb, title)
+        title = self.__toolbar.windowTitle()
+        toolbarManager.addToolBar(self.__toolbar, title)
         toolbarManager.addAction(self.vcsUpdateAct, title)
         toolbarManager.addAction(self.vcsCommitAct, title)
         toolbarManager.addAction(self.vcsLogAct, title)
@@ -600,12 +599,30 @@
         toolbarManager.addAction(self.vcsSwitchAct, title)
         toolbarManager.addAction(self.svnRelocateAct, title)
         
-        tb.setEnabled(False)
-        tb.setVisible(False)
+        self.__toolbar.setEnabled(False)
+        self.__toolbar.setVisible(False)
+        
+        ui.registerToolbar("pysvn", self.__toolbar.windowTitle(),
+                           self.__toolbar)
+        ui.addToolBar(self.__toolbar)
+    
+    def removeToolbar(self, ui, toolbarManager):
+        """
+        Public method to remove a toolbar created by initToolbar().
         
-        ui.registerToolbar("pysvn", tb.windowTitle(), tb)
+        @param ui reference to the main window (UserInterface)
+        @param toolbarManager reference to a toolbar manager object
+            (E5ToolBarManager)
+        """
+        ui.removeToolBar(self.__toolbar)
+        ui.unregisterToolbar("pysvn")
         
-        return tb
+        title = self.__toolbar.windowTitle()
+        toolbarManager.removeCategoryActions(title)
+        toolbarManager.removeToolBar(self.__toolbar)
+        
+        self.__toolbar.deleteLater()
+        self.__toolbar = None
     
     def __svnResolve(self):
         """
--- a/Plugins/VcsPlugins/vcsSubversion/ProjectHelper.py	Sun Feb 15 18:02:47 2015 +0100
+++ b/Plugins/VcsPlugins/vcsSubversion/ProjectHelper.py	Mon Feb 16 19:02:35 2015 +0100
@@ -552,25 +552,24 @@
         @param ui reference to the main window (UserInterface)
         @param toolbarManager reference to a toolbar manager object
             (E5ToolBarManager)
-        @return the toolbar generated (QToolBar)
         """
-        tb = QToolBar(self.tr("Subversion (svn)"), ui)
-        tb.setIconSize(UI.Config.ToolBarIconSize)
-        tb.setObjectName("SubversionToolbar")
-        tb.setToolTip(self.tr('Subversion (svn)'))
+        self.__toolbar = QToolBar(self.tr("Subversion (svn)"), ui)
+        self.__toolbar.setIconSize(UI.Config.ToolBarIconSize)
+        self.__toolbar.setObjectName("SubversionToolbar")
+        self.__toolbar.setToolTip(self.tr('Subversion (svn)'))
         
-        tb.addAction(self.svnLogBrowserAct)
-        tb.addAction(self.vcsStatusAct)
-        tb.addSeparator()
-        tb.addAction(self.vcsDiffAct)
-        tb.addSeparator()
-        tb.addAction(self.svnRepoBrowserAct)
-        tb.addAction(self.vcsNewAct)
-        tb.addAction(self.vcsExportAct)
-        tb.addSeparator()
+        self.__toolbar.addAction(self.svnLogBrowserAct)
+        self.__toolbar.addAction(self.vcsStatusAct)
+        self.__toolbar.addSeparator()
+        self.__toolbar.addAction(self.vcsDiffAct)
+        self.__toolbar.addSeparator()
+        self.__toolbar.addAction(self.svnRepoBrowserAct)
+        self.__toolbar.addAction(self.vcsNewAct)
+        self.__toolbar.addAction(self.vcsExportAct)
+        self.__toolbar.addSeparator()
         
-        title = tb.windowTitle()
-        toolbarManager.addToolBar(tb, title)
+        title = self.__toolbar.windowTitle()
+        toolbarManager.addToolBar(self.__toolbar, title)
         toolbarManager.addAction(self.vcsUpdateAct, title)
         toolbarManager.addAction(self.vcsCommitAct, title)
         toolbarManager.addAction(self.vcsLogAct, title)
@@ -583,12 +582,30 @@
         toolbarManager.addAction(self.vcsSwitchAct, title)
         toolbarManager.addAction(self.svnRelocateAct, title)
         
-        tb.setEnabled(False)
-        tb.setVisible(False)
+        self.__toolbar.setEnabled(False)
+        self.__toolbar.setVisible(False)
+        
+        ui.registerToolbar("subversion", self.__toolbar.windowTitle(),
+                           self.__toolbar)
+        ui.addToolBar(self.__toolbar)
+    
+    def removeToolbar(self, ui, toolbarManager):
+        """
+        Public method to remove a toolbar created by initToolbar().
         
-        ui.registerToolbar("subversion", tb.windowTitle(), tb)
+        @param ui reference to the main window (UserInterface)
+        @param toolbarManager reference to a toolbar manager object
+            (E5ToolBarManager)
+        """
+        ui.removeToolBar(self.__toolbar)
+        ui.unregisterToolbar("subversion")
         
-        return tb
+        title = self.__toolbar.windowTitle()
+        toolbarManager.removeCategoryActions(title)
+        toolbarManager.removeToolBar(self.__toolbar)
+        
+        self.__toolbar.deleteLater()
+        self.__toolbar = None
     
     def __svnResolve(self):
         """

eric ide

mercurial