eric7/Cooperation/ChatWidget.py

branch
eric7
changeset 9152
8a68afaf1ba2
parent 8881
54e42bc2437a
child 9153
506e35e424d5
--- a/eric7/Cooperation/ChatWidget.py	Wed Jun 15 09:44:07 2022 +0200
+++ b/eric7/Cooperation/ChatWidget.py	Thu Jun 16 18:28:59 2022 +0200
@@ -7,7 +7,9 @@
 Module implementing the chat dialog.
 """
 
-from PyQt6.QtCore import Qt, pyqtSlot, pyqtSignal, QDateTime, QPoint, QFileInfo
+import pathlib
+
+from PyQt6.QtCore import Qt, pyqtSlot, pyqtSignal, QDateTime, QPoint
 from PyQt6.QtGui import QColor
 from PyQt6.QtWidgets import QWidget, QListWidgetItem, QMenu, QApplication
 
@@ -21,7 +23,6 @@
 from .Ui_ChatWidget import Ui_ChatWidget
 
 import Preferences
-import Utilities
 import UI.PixmapCache
 
 
@@ -558,24 +559,23 @@
                 None,
                 EricFileDialog.DontConfirmOverwrite)
             if fname:
-                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 Chat"),
                         self.tr("<p>The file <b>{0}</b> already exists."
-                                " Overwrite it?</p>").format(fname),
+                                " Overwrite it?</p>").format(str(fpath)),
                         icon=EricMessageBox.Warning)
                     if not res:
                         return
-                    fname = Utilities.toNativeSeparators(fname)
                 
                 try:
-                    with open(fname, "w", encoding="utf-8") as f:
+                    with fpath.open("w", encoding="utf-8") as f:
                         f.write(txt)
                 except OSError as err:
                     EricMessageBox.critical(
@@ -584,7 +584,7 @@
                         self.tr("""<p>The chat contents could not be"""
                                 """ written to <b>{0}</b></p>"""
                                 """<p>Reason: {1}</p>""") .format(
-                            fname, str(err)))
+                            str(fpath), str(err)))
     
     def __copyChat(self):
         """

eric ide

mercurial