Plugins/VcsPlugins/vcsMercurial/QueuesExtension/HgQueuesDefineGuardsDialog.py

changeset 1047
b41a36b201e4
parent 1046
5dd14be5d6a1
child 1053
c54aa980ea8e
diff -r 5dd14be5d6a1 -r b41a36b201e4 Plugins/VcsPlugins/vcsMercurial/QueuesExtension/HgQueuesDefineGuardsDialog.py
--- a/Plugins/VcsPlugins/vcsMercurial/QueuesExtension/HgQueuesDefineGuardsDialog.py	Sat May 21 16:17:31 2011 +0200
+++ b/Plugins/VcsPlugins/vcsMercurial/QueuesExtension/HgQueuesDefineGuardsDialog.py	Sat May 21 22:21:14 2011 +0200
@@ -24,11 +24,12 @@
     """
     Class implementing a dialog to define guards for patches.
     """
-    def __init__(self, vcs, patchesList, parent=None):
+    def __init__(self, vcs, extension, patchesList, parent=None):
         """
         Constructor
         
         @param vcs reference to the vcs object
+        @param extension reference to the extension module (Queues)
         @param patchesList list of patches (list of strings)
         @param parent reference to the parent widget (QWidget)
         """
@@ -37,6 +38,7 @@
         
         self.process = QProcess()
         self.vcs = vcs
+        self.extension = extension
         
         self.__patches = patchesList[:]
         self.patchSelector.addItems([""] + self.__patches)
@@ -93,35 +95,6 @@
         self.__repodir = repodir
         self.on_patchSelector_activated("")
     
-    def __getGuards(self):
-        """
-        Private method to get a list of all guards defined.
-        
-        @return list of guards (list of strings)
-        """
-        guardsList = []
-        
-        ioEncoding = Preferences.getSystem("IOEncoding")
-        process = QProcess()
-        args = []
-        args.append("qselect")
-        args.append("--series")
-        
-        process.setWorkingDirectory(self.__repodir)
-        process.start('hg', args)
-        procStarted = process.waitForStarted()
-        if procStarted:
-            finished = process.waitForFinished(30000)
-            if finished and process.exitCode() == 0:
-                output = \
-                    str(process.readAllStandardOutput(), ioEncoding, 'replace')
-                for guard in output.splitlines():
-                    guard = guard.strip()[1:]
-                    if guard not in guardsList:
-                        guardsList.append(guard)
-        
-        return sorted(guardsList)
-    
     @pyqtSlot(str)
     def on_patchSelector_activated(self, patch):
         """
@@ -147,7 +120,7 @@
         self.patchNameLabel.setText("")
         
         self.guardCombo.clear()
-        guardsList = self.__getGuards()
+        guardsList = self.extension.getGuardsList(self.__repodir)
         self.guardCombo.addItems(guardsList)
         self.guardCombo.setEditText("")
         

eric ide

mercurial