--- a/eric6/QScintilla/MiniEditor.py Fri Oct 09 17:19:29 2020 +0200 +++ b/eric6/QScintilla/MiniEditor.py Sat Oct 10 12:20:51 2020 +0200 @@ -15,7 +15,7 @@ QSignalMapper, QPoint, QTimer, QFileInfo, pyqtSignal, QSize, QRegExp, Qt, QCoreApplication ) -from PyQt5.QtGui import QCursor, QKeySequence, QPalette, QFont, QPixmap +from PyQt5.QtGui import QKeySequence, QPalette, QFont, QPixmap from PyQt5.QtWidgets import ( QWidget, QWhatsThis, QActionGroup, QDialog, QInputDialog, QApplication, QMenu, QVBoxLayout, QHBoxLayout, QLabel @@ -28,6 +28,7 @@ from E5Gui.E5MainWindow import E5MainWindow from E5Gui.E5ClickableLabel import E5ClickableLabel from E5Gui.E5ZoomWidget import E5ZoomWidget +from E5Gui.E5OverrideCursor import E5OverrideCursor from .QsciScintillaCompat import QsciScintillaCompat @@ -2519,48 +2520,45 @@ @param fileName name of the file to load (string) @param filetype type of the source file (string) """ - QApplication.setOverrideCursor(QCursor(Qt.WaitCursor)) - self.__loadEditorConfig(fileName=fileName) try: - encoding = self.__getEditorConfig("DefaultEncoding", - nodefault=True) - if encoding: - txt, self.encoding = Utilities.readEncodedFileWithEncoding( - fileName, encoding) - else: - txt, self.encoding = Utilities.readEncodedFile(fileName) + with E5OverrideCursor(): + encoding = self.__getEditorConfig("DefaultEncoding", + nodefault=True) + if encoding: + txt, self.encoding = Utilities.readEncodedFileWithEncoding( + fileName, encoding) + else: + txt, self.encoding = Utilities.readEncodedFile(fileName) except (UnicodeDecodeError, IOError) as why: - QApplication.restoreOverrideCursor() E5MessageBox.critical( self, self.tr('Open File'), self.tr('<p>The file <b>{0}</b> could not be opened.</p>' '<p>Reason: {1}</p>') .format(fileName, str(why))) - QApplication.restoreOverrideCursor() return - self.__textEdit.setText(txt) - QApplication.restoreOverrideCursor() - - if filetype is None: - self.filetype = "" - else: - self.filetype = filetype - self.__setCurrentFile(fileName) - - self.__textEdit.setModified(False) - self.setWindowModified(False) - - self.__convertTabs() - - eolMode = self.__getEditorConfig("EOLMode", nodefault=True) - if eolMode is None: - fileEol = self.__textEdit.detectEolString(txt) - self.__textEdit.setEolModeByEolString(fileEol) - else: - self.__textEdit.convertEols(eolMode) + with E5OverrideCursor(): + self.__textEdit.setText(txt) + + if filetype is None: + self.filetype = "" + else: + self.filetype = filetype + self.__setCurrentFile(fileName) + + self.__textEdit.setModified(False) + self.setWindowModified(False) + + self.__convertTabs() + + eolMode = self.__getEditorConfig("EOLMode", nodefault=True) + if eolMode is None: + fileEol = self.__textEdit.detectEolString(txt) + self.__textEdit.setEolModeByEolString(fileEol) + else: + self.__textEdit.convertEols(eolMode) self.__statusBar.showMessage(self.tr("File loaded"), 2000) @@ -2612,8 +2610,6 @@ @return flag indicating success @rtype bool """ - QApplication.setOverrideCursor(Qt.WaitCursor) - config = self.__loadEditorConfigObject(fileName) eol = self.__getEditorConfig("EOLMode", nodefault=True, config=config) @@ -2636,13 +2632,13 @@ # now write text to the file try: - editorConfigEncoding = self.__getEditorConfig( - "DefaultEncoding", nodefault=True, config=config) - self.encoding = Utilities.writeEncodedFile( - fileName, txt, self.encoding, - forcedEncoding=editorConfigEncoding) + with E5OverrideCursor(): + editorConfigEncoding = self.__getEditorConfig( + "DefaultEncoding", nodefault=True, config=config) + self.encoding = Utilities.writeEncodedFile( + fileName, txt, self.encoding, + forcedEncoding=editorConfigEncoding) except (IOError, Utilities.CodingError, UnicodeError) as why: - QApplication.restoreOverrideCursor() E5MessageBox.critical( self, self.tr('Save File'), self.tr('<p>The file <b>{0}</b> could not be saved.<br/>' @@ -2650,7 +2646,6 @@ .format(fileName, str(why))) return False - QApplication.restoreOverrideCursor() self.__statusBar.showMessage(self.tr("File saved"), 2000) return True