--- a/src/eric7/Project/QuickFindFileDialog.py Fri Feb 23 16:52:01 2024 +0100 +++ b/src/eric7/Project/QuickFindFileDialog.py Mon Feb 26 10:41:10 2024 +0100 @@ -21,6 +21,8 @@ QWidget, ) +from eric7.EricWidgets.EricApplication import ericApp + from .Ui_QuickFindFile import Ui_QuickFindFile @@ -61,7 +63,11 @@ self.stopButton = self.buttonBox.addButton( self.tr("Stop"), QDialogButtonBox.ButtonRole.ActionRole ) + self.project = project + self.__remotefsInterface = ( + ericApp().getObject("EricServer").getServiceInterface("FileSystem") + ) def eventFilter(self, source, event): """ @@ -126,7 +132,11 @@ if itm is not None: filePath = itm.text(1) fileName = itm.text(0) - fullPath = os.path.join(self.project.ppath, filePath, fileName) + fullPath = ( + self.__remotefsInterface.join(self.project.ppath, filePath, fileName) + if self.__isRemote + else os.path.join(self.project.ppath, filePath, fileName) + ) if fullPath.endswith(".ui"): self.designerFile.emit(fullPath) @@ -192,7 +202,14 @@ ordered = [] for _, in_order, name in possible: try: - age = os.stat(os.path.join(self.project.ppath, name)).st_mtime + age = ( + self.__remotefsInterface.stat( + self.__remotefsInterface.join(self.project.ppath, name), + ["st_mtime"], + )["st_mtime"] + if self.__isRemote + else os.stat(os.path.join(self.project.ppath, name)).st_mtime + ) except OSError: # skipping, because it doesn't appear to exist... continue @@ -223,9 +240,12 @@ for _in_order, _age, name in ordered: found = True - QTreeWidgetItem( - self.fileList, [os.path.basename(name), os.path.dirname(name)] + head, tail = ( + self.__remotefsInterface.split(name) + if self.__isRemote + else os.path.split(name) ) + QTreeWidgetItem(self.fileList, [tail, head]) QApplication.processEvents() del locations @@ -283,10 +303,15 @@ current is not None ) - def show(self): + def show(self, isRemote): """ - Public method to enable/disable the project checkbox. + Public method to perform actions before showing the dialog. + + @param isRemote flag indicating a remote project + @type bool """ + self.__isRemote = isRemote + self.fileNameEdit.selectAll() self.fileNameEdit.setFocus()