--- 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):