Plugins/VcsPlugins/vcsMercurial/HgStatusDialog.py

branch
6_1_x
changeset 4983
b672f5bcec51
parent 4632
ca310db386ed
child 5104
0b9420dc1093
--- 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