diff -r 7d3932bde11b -r a42ae6be4cc3 eric6/Plugins/VcsPlugins/vcsMercurial/ProjectHelper.py --- 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.