eric6/Plugins/VcsPlugins/vcsMercurial/ProjectHelper.py

changeset 8108
a42ae6be4cc3
parent 7971
ff2971513d6d
child 8218
7c09585bd960
--- a/eric6/Plugins/VcsPlugins/vcsMercurial/ProjectHelper.py	Tue Feb 16 17:12:48 2021 +0100
+++ b/eric6/Plugins/VcsPlugins/vcsMercurial/ProjectHelper.py	Tue Feb 16 18:25:47 2021 +0100
@@ -81,16 +81,11 @@
         
         self.vcs.iniFileChanged.connect(self.__checkActions)
         
+        # add Mercurial version dependent actions here
         title = self.__toolbar.windowTitle()
-        if self.vcs.version >= (3, 9):
-            self.actions.append(self.hgBookmarkPullCurrentAct)
-            self.__toolbarManager.addAction(self.hgBookmarkPullCurrentAct,
-                                            title)
-        
-        if self.vcs.version >= (3, 8):
-            self.actions.append(self.hgBookmarkPushCurrentAct)
-            self.__toolbarManager.addAction(self.hgBookmarkPushCurrentAct,
-                                            title)
+        if self.vcs.version >= (5, 7):
+            self.actions.append(self.hgBookmarkPushAllAct)
+            self.__toolbarManager.addAction(self.hgBookmarkPushAllAct, title)
         
         if self.vcs.version < (4, 7, 0):
             self.hgGraftStopAct.setEnabled(False)
@@ -1271,7 +1266,23 @@
         self.hgBookmarkPushCurrentAct.triggered.connect(
             self.__hgBookmarkPushCurrent)
         self.actions.append(self.hgBookmarkPushCurrentAct)
-    
+        
+        self.hgBookmarkPushAllAct = E5Action(
+            self.tr('Push all bookmarks'),
+            UI.PixmapCache.getIcon("pushBookmark"),
+            self.tr('Push all bookmarks'),
+            0, 0, self, 'mercurial_push_all_bookmarks')
+        self.hgBookmarkPushAllAct.setStatusTip(self.tr(
+            'Push all bookmarks to a remote repository'
+        ))
+        self.hgBookmarkPushAllAct.setWhatsThis(self.tr(
+            """<b>Push all bookmarks</b>"""
+            """<p>This pushes all bookmark from the local"""
+            """ repository to a remote repository.</p>"""
+        ))
+        self.hgBookmarkPushAllAct.triggered.connect(
+            self.__hgBookmarkPushAll)
+        
         self.hgDeleteBackupsAct = E5Action(
             self.tr('Delete all backups'),
             UI.PixmapCache.getIcon("clearPrivateData"),
@@ -1297,8 +1308,7 @@
         self.hgIncomingAct.setEnabled(self.vcs.canPull())
         self.hgBookmarkPullAct.setEnabled(self.vcs.canPull())
         self.hgBookmarkIncomingAct.setEnabled(self.vcs.canPull())
-        if self.vcs.version >= (3, 9):
-            self.hgBookmarkPullCurrentAct.setEnabled(self.vcs.canPull())
+        self.hgBookmarkPullCurrentAct.setEnabled(self.vcs.canPull())
         
         self.hgPushAct.setEnabled(self.vcs.canPush())
         self.hgPushBranchAct.setEnabled(self.vcs.canPush())
@@ -1306,8 +1316,10 @@
         self.hgOutgoingAct.setEnabled(self.vcs.canPush())
         self.hgBookmarkPushAct.setEnabled(self.vcs.canPush())
         self.hgBookmarkOutgoingAct.setEnabled(self.vcs.canPush())
-        if self.vcs.version >= (3, 8):
-            self.hgBookmarkPushCurrentAct.setEnabled(self.vcs.canPull())
+        self.hgBookmarkPushCurrentAct.setEnabled(self.vcs.canPush())
+        if self.vcs.version >= (5, 7):
+            self.hgBookmarkPushAllAct.setEnabled(self.vcs.canPush())
+        
         self.hgCommitMergeAct.setEnabled(self.vcs.canCommitMerge())
     
     def initMenu(self, menu):
@@ -1403,13 +1415,13 @@
         bookmarksMenu.addSeparator()
         bookmarksMenu.addAction(self.hgBookmarkIncomingAct)
         bookmarksMenu.addAction(self.hgBookmarkPullAct)
-        if self.vcs.version >= (3, 9):
-            bookmarksMenu.addAction(self.hgBookmarkPullCurrentAct)
+        bookmarksMenu.addAction(self.hgBookmarkPullCurrentAct)
         bookmarksMenu.addSeparator()
         bookmarksMenu.addAction(self.hgBookmarkOutgoingAct)
         bookmarksMenu.addAction(self.hgBookmarkPushAct)
-        if self.vcs.version >= (3, 8):
-            bookmarksMenu.addAction(self.hgBookmarkPushCurrentAct)
+        bookmarksMenu.addAction(self.hgBookmarkPushCurrentAct)
+        if self.vcs.version >= (5, 7):
+            bookmarksMenu.addAction(self.hgBookmarkPushAllAct)
         self.subMenus.append(bookmarksMenu)
         
         self.__extensionsMenu = QMenu(self.tr("Extensions"), menu)
@@ -2096,6 +2108,12 @@
         """
         self.vcs.hgBookmarkPush(current=True)
     
+    def __hgBookmarkPushAll(self):
+        """
+        Private slot to push all bookmarks to a remote repository.
+        """
+        self.vcs.hgBookmarkPush(allBookmarks=True)
+    
     def __hgDeleteBackups(self):
         """
         Private slot used to delete all backup bundles.

eric ide

mercurial