eric7/Plugins/VcsPlugins/vcsGit/GitDiffDialog.py

branch
eric7
changeset 9153
506e35e424d5
parent 8881
54e42bc2437a
diff -r 8a68afaf1ba2 -r 506e35e424d5 eric7/Plugins/VcsPlugins/vcsGit/GitDiffDialog.py
--- a/eric7/Plugins/VcsPlugins/vcsGit/GitDiffDialog.py	Thu Jun 16 18:28:59 2022 +0200
+++ b/eric7/Plugins/VcsPlugins/vcsGit/GitDiffDialog.py	Fri Jun 17 16:36:14 2022 +0200
@@ -9,8 +9,9 @@
 """
 
 import contextlib
+import pathlib
 
-from PyQt6.QtCore import pyqtSlot, QFileInfo, Qt
+from PyQt6.QtCore import pyqtSlot, Qt
 from PyQt6.QtGui import QTextCursor
 from PyQt6.QtWidgets import QWidget, QDialogButtonBox
 
@@ -22,7 +23,6 @@
 from .GitDiffHighlighter import GitDiffHighlighter
 from .GitDiffGenerator import GitDiffGenerator
 
-import Utilities
 import Preferences
 
 
@@ -331,25 +331,24 @@
         if not fname:
             return  # user aborted
         
-        ext = QFileInfo(fname).suffix()
-        if not ext:
+        fpath = pathlib.Path(fname)
+        if not fpath.suffix:
             ex = selectedFilter.split("(*")[1].split(")")[0]
             if ex:
-                fname += ex
-        if QFileInfo(fname).exists():
+                fpath = fpath.with_suffix(ex)
+        if fpath.exists():
             res = EricMessageBox.yesNo(
                 self,
                 self.tr("Save Diff"),
                 self.tr("<p>The patch file <b>{0}</b> already exists."
-                        " Overwrite it?</p>").format(fname),
+                        " Overwrite it?</p>").format(fpath),
                 icon=EricMessageBox.Warning)
             if not res:
                 return
-        fname = Utilities.toNativeSeparators(fname)
         
         eol = ericApp().getObject("Project").getEolString()
         try:
-            with open(fname, "w", encoding="utf-8", newline="") as f:
+            with fpath.open("w", encoding="utf-8", newline="") as f:
                 f.write(eol.join(self.contents2.toPlainText().splitlines()))
                 f.write(eol)
         except OSError as why:
@@ -358,7 +357,7 @@
                 self.tr(
                     '<p>The patch file <b>{0}</b> could not be saved.'
                     '<br>Reason: {1}</p>')
-                .format(fname, str(why)))
+                .format(fpath, str(why)))
     
     @pyqtSlot()
     def on_refreshButton_clicked(self):

eric ide

mercurial