diff -r 10554f5fac78 -r 096b3ebc1409 eric6/PipInterface/PipFreezeDialog.py --- a/eric6/PipInterface/PipFreezeDialog.py Sat Oct 03 11:14:23 2020 +0200 +++ b/eric6/PipInterface/PipFreezeDialog.py Sun Nov 01 11:15:18 2020 +0100 @@ -7,7 +7,6 @@ Module implementing a dialog to generate a requirements file. """ - import os from PyQt5.QtCore import pyqtSlot, Qt @@ -18,6 +17,7 @@ from E5Gui import E5MessageBox, E5FileDialog from E5Gui.E5PathPicker import E5PathPickerModes from E5Gui.E5Application import e5App +from E5Gui.E5OverrideCursor import E5OverrideCursor from .Ui_PipFreezeDialog import Ui_PipFreezeDialog @@ -62,7 +62,6 @@ @param e close event @type QCloseEvent """ - QApplication.restoreOverrideCursor() e.accept() @pyqtSlot(bool) @@ -144,17 +143,16 @@ args.append("--requirement") args.append(fileName) - QApplication.setOverrideCursor(Qt.WaitCursor) - success, output = self.__pip.runProcess(args, interpreter) + with E5OverrideCursor(): + success, output = self.__pip.runProcess(args, interpreter) + + if success: + self.requirementsEdit.setPlainText(output) + self.__requirementsAvailable = True + else: + self.requirementsEdit.setPlainText( + self.tr("No output generated by 'pip freeze'.")) - if success: - self.requirementsEdit.setPlainText(output) - self.__requirementsAvailable = True - else: - self.requirementsEdit.setPlainText( - self.tr("No output generated by 'pip freeze'.")) - - QApplication.restoreOverrideCursor() self.__updateButtons() self.__requirementsEdited = False @@ -198,9 +196,8 @@ return try: - f = open(fileName, "w") - f.write(self.requirementsEdit.toPlainText()) - f.close() + with open(fileName, "w") as f: + f.write(self.requirementsEdit.toPlainText()) except (OSError, IOError) as err: E5MessageBox.critical( self,