Plugins/VcsPlugins/vcsMercurial/ProjectHelper.py

changeset 3416
efce6439595a
parent 3349
2a034a7f1f54
child 3434
9b874ca09bb3
diff -r b5e18d7f3501 -r efce6439595a Plugins/VcsPlugins/vcsMercurial/ProjectHelper.py
--- a/Plugins/VcsPlugins/vcsMercurial/ProjectHelper.py	Wed Mar 19 19:50:54 2014 +0100
+++ b/Plugins/VcsPlugins/vcsMercurial/ProjectHelper.py	Sat Mar 22 16:59:37 2014 +0100
@@ -76,6 +76,8 @@
         
         for extension in self.__extensions.values():
             extension.setObjects(vcsObject, projectObject)
+        
+        self.vcs.iniFileChanged.connect(self.__checkActions)
     
     def getProject(self):
         """
@@ -997,6 +999,18 @@
         self.hgArchiveAct.triggered.connect(self.__hgArchive)
         self.actions.append(self.hgArchiveAct)
     
+    def __checkActions(self):
+        """
+        Private slot to set the enabled status of actions.
+        """
+        self.hgPullAct.setEnabled(self.vcs.canPull())
+        self.hgIncomingAct.setEnabled(self.vcs.canPull())
+        
+        self.hgPushAct.setEnabled(self.vcs.canPush())
+        self.hgPushBranchAct.setEnabled(self.vcs.canPush())
+        self.hgPushForcedAct.setEnabled(self.vcs.canPush())
+        self.hgOutgoingAct.setEnabled(self.vcs.canPush())
+    
     def initMenu(self, menu):
         """
         Public method to generate the VCS menu.
@@ -1165,19 +1179,14 @@
         """
         super().showMenu()
         
-        self.hgPullAct.setEnabled(self.vcs.canPull())
-        self.hgIncomingAct.setEnabled(self.vcs.canPull())
-        
-        self.hgPushAct.setEnabled(self.vcs.canPush())
-        self.hgPushBranchAct.setEnabled(self.vcs.canPush())
-        self.hgPushForcedAct.setEnabled(self.vcs.canPush())
-        self.hgOutgoingAct.setEnabled(self.vcs.canPush())
+        self.__checkActions()
     
     def shutdown(self):
         """
         Public method to perform shutdown actions.
         """
         self.vcs.activeExtensionsChanged.disconnect(self.__showExtensionMenu)
+        self.vcs.iniFileChanged.disconnect(self.__checkActions)
         
         # close torn off sub menus
         for menu in self.subMenus:

eric ide

mercurial