Made the 'Add' button menu of the Mercurial status dialog dependent of the activativation of the Large Files extension. 6_1_x

Sat, 14 May 2016 17:29:47 +0200

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Sat, 14 May 2016 17:29:47 +0200
branch
6_1_x
changeset 4983
b672f5bcec51
parent 4974
dcf22aca5fc0
child 4984
5583e11280ac

Made the 'Add' button menu of the Mercurial status dialog dependent of the activativation of the Large Files extension.
(grafted from f3b3a7cdc514b275dea00d3a1ff0ee6199b1784a)

Plugins/VcsPlugins/vcsMercurial/HgStatusDialog.py file | annotate | diff | comparison | revisions
--- 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.

eric ide

mercurial