--- a/Plugins/VcsPlugins/vcsMercurial/HgStatusDialog.py Sun May 08 11:49:09 2016 +0200 +++ b/Plugins/VcsPlugins/vcsMercurial/HgStatusDialog.py Sat May 14 17:29:47 2016 +0200 @@ -125,12 +125,14 @@ self.lfActions.append(self.menu.addAction( self.tr("Add as Normal File"), lambda: self.__lfAdd("normal"))) + self.menu.addSeparator() self.__diffAct = self.menu.addAction( self.tr("Show differences"), self.__diff) self.menuactions.append(self.__diffAct) self.__sbsDiffAct = self.menu.addAction( self.tr("Show differences side-by-side"), self.__sbsDiff) self.menuactions.append(self.__sbsDiffAct) + self.menu.addSeparator() self.__revertAct = self.menu.addAction( self.tr("Revert changes"), self.__revert) self.menuactions.append(self.__revertAct) @@ -162,8 +164,13 @@ self.__lfAddActions.append( self.__addButtonMenu.addAction(self.tr("Add as Normal File"), lambda: self.__lfAdd("normal"))) - self.addButton.setMenu(self.__addButtonMenu) self.__addButtonMenu.aboutToShow.connect(self.__showAddMenu) + if self.vcs.isExtensionActive("largefiles"): + self.addButton.setMenu(self.__addButtonMenu) + + if not mq: + self.vcs.activeExtensionsChanged.connect( + self.__activeExtensionsChanged) self.modifiedIndicators = [ self.tr('added'), @@ -189,6 +196,17 @@ '!': self.tr('missing'), } + def __activeExtensionsChanged(self): + """ + Private slot handling a change in the activated extensions. + """ + if self.vcs.isExtensionActive("largefiles"): + if self.addButton.menu() is None: + self.addButton.setMenu(self.__addButtonMenu) + else: + if self.addButton.menu() is not None: + self.addButton.setMenu(None) + def show(self): """ Public slot to show the dialog.