Plugins/VcsPlugins/vcsSubversion/ProjectHelper.py

changeset 4115
0c70a8f8d54a
parent 4079
a3319822d303
child 4631
5c1a96925da4
--- 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