--- a/src/eric7/QScintilla/Editor.py Wed Dec 06 14:20:35 2023 +0100 +++ b/src/eric7/QScintilla/Editor.py Wed Dec 06 14:23:36 2023 +0100 @@ -51,7 +51,7 @@ from eric7.EricWidgets import EricFileDialog, EricMessageBox from eric7.EricWidgets.EricApplication import ericApp from eric7.Globals import recentNameBreakpointConditions -from eric7.SystemUtilities import OSUtilities, PythonUtilities +from eric7.SystemUtilities import FileSystemUtilities, OSUtilities, PythonUtilities from eric7.UI import PythonDisViewer from eric7.Utilities import MouseUtilities @@ -418,7 +418,10 @@ if not Utilities.MimeTypes.isTextFile(self.fileName): raise OSError() - if self.isLocalFile() and pathlib.Path(self.fileName).exists(): + if ( + FileSystemUtilities.isPlainFileName(self.fileName) + and pathlib.Path(self.fileName).exists() + ): fileSizeKB = pathlib.Path(self.fileName).stat().st_size // 1024 if fileSizeKB > Preferences.getEditor("RejectFilesize"): EricMessageBox.warning( @@ -645,33 +648,6 @@ else: self.__fileNameExtension = "" - def isLocalFile(self): - """ - Public method to check, if the editor contains a local file. - - @return flag indicating a local file - @rtype bool - """ - return not self.fileName.startswith(("device:", "remote:")) - - def isDeviceFile(self): - """ - Public method to check, if the editor contains a MCU device file. - - @return flag indicating a MCU device file - @rtype bool - """ - return self.fileName.startswith("device:") - - def isRemoteFile(self): - """ - Public method to check, if the editor contains a remote file. - - @return flag indicating a remote file - @rtype bool - """ - return self.fileName.startswith("remote:") - def __registerImages(self): """ Private method to register images for autocompletion lists. @@ -3350,7 +3326,9 @@ self, self.tr("File Modified"), self.tr("<p>The file <b>{0}</b> has unsaved changes.</p>").format(fn), - self.saveFile if not self.isRemoteFile() else None, + self.saveFile + if not FileSystemUtilities.isRemoteFileName(self.fileName) + else None, ) if res: self.vm.setEditorName(self, self.fileName) @@ -3634,11 +3612,13 @@ @param path directory to save the file in (string) @return flag indicating success (boolean) """ - if not saveas and (not self.isModified() or self.isRemoteFile()): + if not saveas and ( + not self.isModified() or FileSystemUtilities.isRemoteFileName(self.fileName) + ): # do nothing if text wasn't changed or is a remote file return False - if self.isDeviceFile(): + if FileSystemUtilities.isDeviceFileName(self.fileName): return self.__saveDeviceFile(saveas=saveas) newName = None @@ -3748,8 +3728,10 @@ fn = fn.replace("\\", "/") if "/" in fn: dn = fn.rsplit("/", 1)[0] - filemanager.makedirs(dn.replace("device:", "")) - success = filemanager.writeFile(fn.replace("device:", ""), self.text()) + filemanager.makedirs(FileSystemUtilities.plainFileName(dn)) + success = filemanager.writeFile( + FileSystemUtilities.plainFileName(fn), self.text() + ) if success: self.setFileName(fn) self.setModified(False) @@ -7978,7 +7960,9 @@ @param bForce True to force change, False to only update and emit signal if there was an attribute change. """ - if self.fileName == "" or not self.isLocalFile(): + if self.fileName == "" or not FileSystemUtilities.isPlainFileName( + self.fileName + ): return readOnly = self.checkReadOnly() @@ -8000,7 +7984,8 @@ @rtype bool """ return ( - self.isLocalFile() and not os.access(self.fileName, os.W_OK) + FileSystemUtilities.isPlainFileName(self.fileName) + and not os.access(self.fileName, os.W_OK) ) or self.isReadOnly() @pyqtSlot() @@ -9455,7 +9440,7 @@ """ editorConfig = {} - if fileName and self.isLocalFile(): + if fileName and FileSystemUtilities.isPlainFileName(self.fileName): try: editorConfig = editorconfig.get_properties(fileName) except editorconfig.EditorConfigError: