179 self.__deviceMenu.addSeparator() |
179 self.__deviceMenu.addSeparator() |
180 self.__deviceMenu.addAction(self.tr("New File"), self.__newDeviceFile) |
180 self.__deviceMenu.addAction(self.tr("New File"), self.__newDeviceFile) |
181 self.__openDeviceFileAct = self.__deviceMenu.addAction( |
181 self.__openDeviceFileAct = self.__deviceMenu.addAction( |
182 self.tr("Open File"), self.__openDeviceFile |
182 self.tr("Open File"), self.__openDeviceFile |
183 ) |
183 ) |
184 self.__devRenameFileAct = self.__deviceMenu.addAction( |
184 if not isMicrobitDeviceWithMPy: |
185 self.tr("Rename File"), self.__renameDeviceFile |
185 self.__devRenameFileAct = self.__deviceMenu.addAction( |
186 ) |
186 self.tr("Rename File"), self.__renameDeviceFile |
|
187 ) |
|
188 else: |
|
189 self.__devRenameFileAct = None |
187 self.__devDelFileAct = self.__deviceMenu.addAction( |
190 self.__devDelFileAct = self.__deviceMenu.addAction( |
188 self.tr("Delete File"), self.__deleteDeviceFile |
191 self.tr("Delete File"), self.__deleteDeviceFile |
189 ) |
192 ) |
190 self.__deviceMenu.addSeparator() |
193 self.__deviceMenu.addSeparator() |
191 act = self.__deviceMenu.addAction(self.tr("Show Hidden Files")) |
194 act = self.__deviceMenu.addAction(self.tr("Show Hidden Files")) |
299 return itm |
302 return itm |
300 itm = fileTreeWidget.itemBelow(itm) |
303 itm = fileTreeWidget.itemBelow(itm) |
301 |
304 |
302 return None |
305 return None |
303 |
306 |
304 @pyqtSlot(tuple) |
307 @pyqtSlot(str, tuple) |
305 def __handleLongListFiles(self, filesList): |
308 def __handleLongListFiles(self, dirname, filesList): |
306 """ |
309 """ |
307 Private slot to receive a long directory listing. |
310 Private slot to receive a long directory listing. |
308 |
311 |
|
312 @param dirname name of the directory the list of files belongs to |
|
313 @type str |
309 @param filesList tuple containing tuples with name, mode, size and time |
314 @param filesList tuple containing tuples with name, mode, size and time |
310 for each directory entry |
315 for each directory entry |
311 @type tuple of (str, str, str, str) |
316 @type tuple of (str, str, str, str) |
312 """ |
317 """ |
313 if filesList: |
318 if filesList: |
314 dirPath = os.path.dirname(filesList[0][-1]) |
319 dirPath = dirname |
315 dirItem = ( |
320 dirItem = ( |
316 self.__findDirectoryItem(dirPath, self.deviceFileTreeWidget) |
321 self.__findDirectoryItem(dirPath, self.deviceFileTreeWidget) |
317 if dirPath != self.deviceCwd.text() |
322 if dirPath != self.deviceCwd.text() |
318 else None |
323 else None |
319 ) |
324 ) |
334 if name.endswith("/"): |
339 if name.endswith("/"): |
335 itm.setChildIndicatorPolicy( |
340 itm.setChildIndicatorPolicy( |
336 QTreeWidgetItem.ChildIndicatorPolicy.ShowIndicator |
341 QTreeWidgetItem.ChildIndicatorPolicy.ShowIndicator |
337 ) |
342 ) |
338 else: |
343 else: |
339 self.deviceFileTreeWidget.clear() |
344 if dirname == self.deviceCwd.text(): |
|
345 self.deviceFileTreeWidget.clear() |
340 |
346 |
341 self.deviceFileTreeWidget.header().resizeSections( |
347 self.deviceFileTreeWidget.header().resizeSections( |
342 QHeaderView.ResizeMode.ResizeToContents |
348 QHeaderView.ResizeMode.ResizeToContents |
343 ) |
349 ) |
344 |
350 |
1378 isDir = False |
1384 isDir = False |
1379 isFile = False |
1385 isFile = False |
1380 if not self.__repl.isMicrobit(): |
1386 if not self.__repl.isMicrobit(): |
1381 self.__devDelDirAct.setEnabled(isDir) |
1387 self.__devDelDirAct.setEnabled(isDir) |
1382 self.__devDelDirTreeAct.setEnabled(isDir) |
1388 self.__devDelDirTreeAct.setEnabled(isDir) |
1383 self.__devRenameFileAct.setEnabled(isFile) |
1389 self.__devRenameFileAct.setEnabled(isFile) |
1384 self.__devDelFileAct.setEnabled(isFile) |
1390 self.__devDelFileAct.setEnabled(isFile) |
1385 self.__openDeviceFileAct.setEnabled(isFile) |
1391 self.__openDeviceFileAct.setEnabled(isFile) |
1386 |
1392 |
1387 self.__deviceMenu.exec(self.deviceFileTreeWidget.mapToGlobal(pos)) |
1393 self.__deviceMenu.exec(self.deviceFileTreeWidget.mapToGlobal(pos)) |
1388 |
1394 |