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("")