eric7/Plugins/VcsPlugins/vcsGit/GitLogBrowserDialog.py

branch
eric7
changeset 9153
506e35e424d5
parent 8881
54e42bc2437a
--- a/eric7/Plugins/VcsPlugins/vcsGit/GitLogBrowserDialog.py	Thu Jun 16 18:28:59 2022 +0200
+++ b/eric7/Plugins/VcsPlugins/vcsGit/GitLogBrowserDialog.py	Fri Jun 17 16:36:14 2022 +0200
@@ -11,9 +11,10 @@
 import collections
 import re
 import contextlib
+import pathlib
 
 from PyQt6.QtCore import (
-    pyqtSlot, Qt, QDate, QProcess, QTimer, QSize, QPoint, QFileInfo
+    pyqtSlot, Qt, QDate, QProcess, QTimer, QSize, QPoint
 )
 from PyQt6.QtGui import (
     QColor, QPixmap, QPainter, QPen, QIcon, QTextCursor, QPalette
@@ -36,7 +37,6 @@
 
 import UI.PixmapCache
 import Preferences
-import Utilities
 
 COLORNAMES = ["red", "green", "purple", "cyan", "olive", "magenta",
               "gray", "yellow", "darkred", "darkgreen", "darkblue",
@@ -1709,14 +1709,16 @@
             commits[index] = itm.text(self.CommitIdColumn)
         
         if commits:
-            pfile = ericApp().getObject("Project").getProjectFile()
-            lastModified = QFileInfo(pfile).lastModified().toString()
+            pfile = (
+                pathlib.Path(ericApp().getObject("Project").getProjectFile())
+            )
+            lastModified = pfile.stat().st_mtime
             shouldReopen = (
                 self.vcs.gitCherryPick(
                     self.repodir,
                     [commits[i] for i in sorted(commits.keys(), reverse=True)]
                 ) or
-                QFileInfo(pfile).lastModified().toString() != lastModified
+                pfile.stat().st_mtime != lastModified
             )
             if shouldReopen:
                 res = EricMessageBox.yesNo(
@@ -1772,11 +1774,13 @@
                 rev = branch
             else:
                 rev = commit
-            pfile = ericApp().getObject("Project").getProjectFile()
-            lastModified = QFileInfo(pfile).lastModified().toString()
+            pfile = (
+                pathlib.Path(ericApp().getObject("Project").getProjectFile())
+            )
+            lastModified = pfile.stat().st_mtime
             shouldReopen = (
                 self.vcs.vcsUpdate(self.repodir, revision=rev) or
-                QFileInfo(pfile).lastModified().toString() != lastModified
+                pfile.stat().st_mtime != lastModified
             )
             if shouldReopen:
                 res = EricMessageBox.yesNo(
@@ -1846,15 +1850,14 @@
                     return
             else:
                 branch = ""
-            pfile = ericApp().getObject("Project").getProjectFile()
-            lastModified = QFileInfo(pfile).lastModified().toString()
+            pfile = (
+                pathlib.Path(ericApp().getObject("Project").getProjectFile())
+            )
+            lastModified = pfile.stat().st_mtime
             res, shouldReopen = self.vcs.gitBranch(
                 self.repodir, revision=commit, branchName=branch,
                 branchOp=GitBranchDialog.CreateSwitchBranch)
-            shouldReopen = (
-                shouldReopen or
-                QFileInfo(pfile).lastModified().toString() != lastModified
-            )
+            shouldReopen |= pfile.stat().st_mtime != lastModified
             if res:
                 if shouldReopen:
                     res = EricMessageBox.yesNo(
@@ -2300,25 +2303,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.diffEdit.toPlainText().splitlines()))
                 f.write(eol)
         except OSError as why:
@@ -2327,7 +2329,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(str)
     def on_sbsSelectLabel_linkActivated(self, link):

eric ide

mercurial