eric7/HexEdit/HexEditMainWindow.py

branch
eric7
changeset 9162
8b75b1668583
parent 9153
506e35e424d5
child 9165
17617e5d5473
--- a/eric7/HexEdit/HexEditMainWindow.py	Mon Jun 20 13:25:14 2022 +0200
+++ b/eric7/HexEdit/HexEditMainWindow.py	Mon Jun 20 19:47:39 2022 +0200
@@ -12,7 +12,7 @@
 import pathlib
 
 from PyQt6.QtCore import (
-    pyqtSignal, pyqtSlot, QFile, QSize, QCoreApplication, QLocale, QIODevice
+    pyqtSignal, pyqtSlot, QSize, QCoreApplication, QLocale
 )
 from PyQt6.QtGui import QKeySequence, QAction
 from PyQt6.QtWidgets import (
@@ -984,24 +984,23 @@
         @param fileName name of the binary file to load
         @type str
         """
-        file = QFile(fileName)
-        if not file.exists():
+        if not os.path.exists(fileName):
             EricMessageBox.warning(
                 self, self.tr("eric Hex Editor"),
                 self.tr("The file '{0}' does not exist.")
                 .format(fileName))
             return
         
-        if not file.open(QIODevice.OpenModeFlag.ReadOnly):
+        try:
+            with open(fileName, "rb") as f:
+                data = f.read()
+        except OSError as err:
             EricMessageBox.warning(
                 self, self.tr("eric Hex Editor"),
-                self.tr("Cannot read file '{0}:\n{1}.")
-                .format(fileName, file.errorString()))
+                self.tr("<p>Cannot read file <b>{0}</b>.</p><p>Reason:{1}</p>")
+                .format(fileName, str(err)))
             return
         
-        data = file.readAll()
-        file.close()
-        
         self.__lastOpenPath = os.path.dirname(fileName)
         self.__editor.setData(data)
         self.__setCurrentFile(fileName)
@@ -1105,28 +1104,16 @@
         @return flag indicating success
         @rtype bool
         """
-        file = QFile(fileName)
-        if not file.open(QIODevice.OpenModeFlag.WriteOnly):
+        try:
+            with open(fileName, "wb") as f:
+                f.write(self.__editor.data())
+        except OSError as err:
             EricMessageBox.warning(
                 self, self.tr("eric Hex Editor"),
-                self.tr("Cannot write file '{0}:\n{1}.")
-                .format(fileName, file.errorString()))
-        
+                self.tr("<p>Cannot write file <b>{0}</b>.</p>"
+                        "<p>Reason:{1}</p>")
+                .format(fileName, str(err)))
             self.__checkActions()
-            
-            return False
-        
-        res = file.write(self.__editor.data()) != -1
-        file.close()
-        
-        if not res:
-            EricMessageBox.warning(
-                self, self.tr("eric Hex Editor"),
-                self.tr("Cannot write file '{0}:\n{1}.")
-                .format(fileName, file.errorString()))
-        
-            self.__checkActions()
-            
             return False
         
         self.__editor.setModified(False, setCleanState=True)

eric ide

mercurial