Plugins/VcsPlugins/vcsMercurial/QueuesExtension/HgQueuesListDialog.py

changeset 1256
885706dbb69f
parent 1255
e1d8a8a4d40c
child 1260
9488a3aceb0e
equal deleted inserted replaced
1255:e1d8a8a4d40c 1256:885706dbb69f
58 """ 58 """
59 Private slot implementing a close event handler. 59 Private slot implementing a close event handler.
60 60
61 @param e close event (QCloseEvent) 61 @param e close event (QCloseEvent)
62 """ 62 """
63 if self.process is not None and \ 63 if self.__hgClient:
64 self.process.state() != QProcess.NotRunning: 64 if self.__hgClient.isExecuting():
65 self.process.terminate() 65 self.__hgClient.cancel()
66 QTimer.singleShot(2000, self.process.kill) 66 else:
67 self.process.waitForFinished(3000) 67 if self.process is not None and \
68 self.process.state() != QProcess.NotRunning:
69 self.process.terminate()
70 QTimer.singleShot(2000, self.process.kill)
71 self.process.waitForFinished(3000)
68 72
69 e.accept() 73 e.accept()
70 74
71 def start(self, path): 75 def start(self, path):
72 """ 76 """
119 if err: 123 if err:
120 self.__showError(err) 124 self.__showError(err)
121 if out: 125 if out:
122 for line in out.splitlines(): 126 for line in out.splitlines():
123 self.__processOutputLine(line) 127 self.__processOutputLine(line)
128 if self.__hgClient.wasCanceled():
129 self.__mode = ""
130 break
124 if self.__mode == "qseries": 131 if self.__mode == "qseries":
125 self.__getSeries(True) 132 self.__getSeries(True)
126 elif self.__mode == "missing": 133 elif self.__mode == "missing":
127 self.__getTop() 134 self.__getTop()
128 else: 135 else:
163 if err: 170 if err:
164 self.__showError(err) 171 self.__showError(err)
165 if out: 172 if out:
166 for line in out.splitlines(): 173 for line in out.splitlines():
167 self.__processOutputLine(line) 174 self.__processOutputLine(line)
175 if self.__hgClient.wasCanceled():
176 break
168 self.__finish() 177 self.__finish()
169 else: 178 else:
170 self.process.kill() 179 self.process.kill()
171 self.process.setWorkingDirectory(self.__repodir) 180 self.process.setWorkingDirectory(self.__repodir)
172 181

eric ide

mercurial