Plugins/VcsPlugins/vcsMercurial/HgStatusDialog.py

changeset 1256
885706dbb69f
parent 1250
dafdd7d97a9f
child 1294
d051b9d1426d
equal deleted inserted replaced
1255:e1d8a8a4d40c 1256:885706dbb69f
147 """ 147 """
148 Private slot implementing a close event handler. 148 Private slot implementing a close event handler.
149 149
150 @param e close event (QCloseEvent) 150 @param e close event (QCloseEvent)
151 """ 151 """
152 if self.process is not None and \ 152 if self.__hgClient:
153 self.process.state() != QProcess.NotRunning: 153 if self.__hgClient.isExecuting():
154 self.process.terminate() 154 self.__hgClient.cancel()
155 QTimer.singleShot(2000, self.process.kill) 155 else:
156 self.process.waitForFinished(3000) 156 if self.process is not None and \
157 self.process.state() != QProcess.NotRunning:
158 self.process.terminate()
159 QTimer.singleShot(2000, self.process.kill)
160 self.process.waitForFinished(3000)
157 161
158 e.accept() 162 e.accept()
159 163
160 def start(self, fn): 164 def start(self, fn):
161 """ 165 """
210 if err: 214 if err:
211 self.__showError(err) 215 self.__showError(err)
212 if out: 216 if out:
213 for line in out.splitlines(): 217 for line in out.splitlines():
214 self.__processOutputLine(line) 218 self.__processOutputLine(line)
219 if self.__hgClient.wasCanceled():
220 break
215 self.__finish() 221 self.__finish()
216 else: 222 else:
217 if self.process: 223 if self.process:
218 self.process.kill() 224 self.process.kill()
219 else: 225 else:

eric ide

mercurial