diff -r a6f70425f5be -r c2d18aefef6b src/eric7/MicroPython/MicroPythonFileManagerWidget.py --- a/src/eric7/MicroPython/MicroPythonFileManagerWidget.py Fri Mar 21 18:12:17 2025 +0100 +++ b/src/eric7/MicroPython/MicroPythonFileManagerWidget.py Sun Mar 23 14:55:14 2025 +0100 @@ -181,9 +181,12 @@ self.__openDeviceFileAct = self.__deviceMenu.addAction( self.tr("Open File"), self.__openDeviceFile ) - self.__devRenameFileAct = self.__deviceMenu.addAction( - self.tr("Rename File"), self.__renameDeviceFile - ) + if not isMicrobitDeviceWithMPy: + self.__devRenameFileAct = self.__deviceMenu.addAction( + self.tr("Rename File"), self.__renameDeviceFile + ) + else: + self.__devRenameFileAct = None self.__devDelFileAct = self.__deviceMenu.addAction( self.tr("Delete File"), self.__deleteDeviceFile ) @@ -301,17 +304,19 @@ return None - @pyqtSlot(tuple) - def __handleLongListFiles(self, filesList): + @pyqtSlot(str, tuple) + def __handleLongListFiles(self, dirname, filesList): """ Private slot to receive a long directory listing. + @param dirname name of the directory the list of files belongs to + @type str @param filesList tuple containing tuples with name, mode, size and time for each directory entry @type tuple of (str, str, str, str) """ if filesList: - dirPath = os.path.dirname(filesList[0][-1]) + dirPath = dirname dirItem = ( self.__findDirectoryItem(dirPath, self.deviceFileTreeWidget) if dirPath != self.deviceCwd.text() @@ -336,7 +341,8 @@ QTreeWidgetItem.ChildIndicatorPolicy.ShowIndicator ) else: - self.deviceFileTreeWidget.clear() + if dirname == self.deviceCwd.text(): + self.deviceFileTreeWidget.clear() self.deviceFileTreeWidget.header().resizeSections( QHeaderView.ResizeMode.ResizeToContents @@ -1380,7 +1386,7 @@ if not self.__repl.isMicrobit(): self.__devDelDirAct.setEnabled(isDir) self.__devDelDirTreeAct.setEnabled(isDir) - self.__devRenameFileAct.setEnabled(isFile) + self.__devRenameFileAct.setEnabled(isFile) self.__devDelFileAct.setEnabled(isFile) self.__openDeviceFileAct.setEnabled(isFile)