diff -r 49f3377aebf1 -r 787a6b3f8c9f eric6/Plugins/VcsPlugins/vcsSubversion/SvnLogBrowserDialog.py --- a/eric6/Plugins/VcsPlugins/vcsSubversion/SvnLogBrowserDialog.py Fri Oct 09 17:19:29 2020 +0200 +++ b/eric6/Plugins/VcsPlugins/vcsSubversion/SvnLogBrowserDialog.py Sat Oct 10 12:20:51 2020 +0200 @@ -13,13 +13,13 @@ from PyQt5.QtCore import ( QTimer, QDate, QProcess, QRegExp, Qt, pyqtSlot, QPoint ) -from PyQt5.QtGui import QCursor from PyQt5.QtWidgets import ( QHeaderView, QLineEdit, QWidget, QApplication, QDialogButtonBox, QTreeWidgetItem ) from E5Gui import E5MessageBox +from E5Gui.E5OverrideCursor import E5OverrideCursorProcess from .Ui_SvnLogBrowserDialog import Ui_SvnLogBrowserDialog @@ -64,10 +64,10 @@ self.__messageRole = Qt.UserRole self.__changesRole = Qt.UserRole + 1 - self.process = QProcess() - self.process.finished.connect(self.__procFinished) - self.process.readyReadStandardOutput.connect(self.__readStdout) - self.process.readyReadStandardError.connect(self.__readStderr) + self.__process = E5OverrideCursorProcess() + self.__process.finished.connect(self.__procFinished) + self.__process.readyReadStandardOutput.connect(self.__readStdout) + self.__process.readyReadStandardError.connect(self.__readStderr) self.rx_sep1 = QRegExp('\\-+\\s*') self.rx_sep2 = QRegExp('=+\\s*') @@ -136,12 +136,12 @@ @param e close event (QCloseEvent) """ if ( - self.process is not None and - self.process.state() != QProcess.NotRunning + self.__process is not None and + self.__process.state() != QProcess.NotRunning ): - self.process.terminate() - QTimer.singleShot(2000, self.process.kill) - self.process.waitForFinished(3000) + self.__process.terminate() + QTimer.singleShot(2000, self.__process.kill) + self.__process.waitForFinished(3000) self.__position = self.pos() @@ -277,11 +277,8 @@ self.buttonBox.button(QDialogButtonBox.Cancel).setDefault(True) QApplication.processEvents() - QApplication.setOverrideCursor(QCursor(Qt.WaitCursor)) - QApplication.processEvents() - self.intercept = False - self.process.kill() + self.__process.kill() self.buf = [] self.cancelled = False @@ -301,13 +298,13 @@ args.append('--stop-on-copy') args.append(self.fname) - self.process.setWorkingDirectory(self.dname) + self.__process.setWorkingDirectory(self.dname) self.inputGroup.setEnabled(True) self.inputGroup.show() - self.process.start('svn', args) - procStarted = self.process.waitForStarted(5000) + self.__process.start('svn', args) + procStarted = self.__process.waitForStarted(5000) if not procStarted: self.inputGroup.setEnabled(False) self.inputGroup.hide() @@ -361,14 +358,12 @@ button. """ if ( - self.process is not None and - self.process.state() != QProcess.NotRunning + self.__process is not None and + self.__process.state() != QProcess.NotRunning ): - self.process.terminate() - QTimer.singleShot(2000, self.process.kill) - self.process.waitForFinished(3000) - - QApplication.restoreOverrideCursor() + self.__process.terminate() + QTimer.singleShot(2000, self.__process.kill) + self.__process.waitForFinished(3000) self.buttonBox.button(QDialogButtonBox.Close).setEnabled(True) self.buttonBox.button(QDialogButtonBox.Cancel).setEnabled(False) @@ -471,10 +466,10 @@ It reads the output of the process and inserts it into a buffer. """ - self.process.setReadChannel(QProcess.StandardOutput) + self.__process.setReadChannel(QProcess.StandardOutput) - while self.process.canReadLine(): - line = str(self.process.readLine(), + while self.__process.canReadLine(): + line = str(self.__process.readLine(), Preferences.getSystem("IOEncoding"), 'replace') self.buf.append(line) @@ -486,9 +481,9 @@ It reads the error output of the process and inserts it into the error pane. """ - if self.process is not None: + if self.__process is not None: self.errorGroup.show() - s = str(self.process.readAllStandardError(), + s = str(self.__process.readAllStandardError(), Preferences.getSystem("IOEncoding"), 'replace') self.errors.insertPlainText(s) @@ -753,7 +748,7 @@ self.errors.ensureCursorVisible() self.errorGroup.show() - self.process.write(strToQByteArray(inputTxt)) + self.__process.write(strToQByteArray(inputTxt)) self.passwordCheckBox.setChecked(False) self.input.clear()