def showDirContent(self, dirPath, lw): lw.bindedLineEdit.setText(dirPath) lw.clear() entryList = sorted(MyLib.getEntries(dirPath)) for entry in entryList: item = MyListWidgetItem(entry) lw.addItem(item)
def onKeyPress_lwMain_addingNewWorkingDir(self, keyEvent): self.lwMain.defKeyPressEvent(keyEvent) if keyEvent.key() == QtCore.Qt.Key_Escape: # возвращаемся в режим управления списком рабочих каталогов print u"Возвращаемся в режим управления списком рабочих каталогов" self.lwAux.setEnabled(True) self.startManageWorkingDirs() elif keyEvent.key() == QtCore.Qt.Key_Return: # переход во вложенный каталог if self.lwMain.currentRow() >= 0: entryPath = os.path.join(self.walkDir, unicode(self.lwMain.currentItem().text())) if os.path.isdir(entryPath): self.walkDir = entryPath self.showDirContent(entryPath, self.lwMain) elif keyEvent.key() == QtCore.Qt.Key_Backspace: # переход в каталог уровнем выше self.walkDir = os.path.dirname(self.walkDir) self.showDirContent(self.walkDir, self.lwMain) elif keyEvent.key() == QtCore.Qt.Key_Insert: # текущий каталог выбран в качестве нового рабочего if self.walkDir in self.workingDirs: QMessageBox(text=u"Каталог {0} уже есть в списке рабочих".format(self.walkDir), parent=self).exec_() else: self.workingDirs[self.walkDir] = {"entries": {}, "new": MyLib.getEntries(self.walkDir), "exists": True} self.configFile.needToSave = True print u"Возвращаемся в режим управления списком рабочих каталогов" self.lwAux.setEnabled(True) self.startManageWorkingDirs()
def onKeyPress_lwMain_addingNewWorkingDir(self, keyEvent): self.lwMain.defKeyPressEvent(keyEvent) if keyEvent.key( ) == QtCore.Qt.Key_Escape: # возвращаемся в режим управления списком рабочих каталогов print u"Возвращаемся в режим управления списком рабочих каталогов" self.lwAux.setEnabled(True) self.startManageWorkingDirs() elif keyEvent.key( ) == QtCore.Qt.Key_Return: # переход во вложенный каталог if self.lwMain.currentRow() >= 0: entryPath = os.path.join( self.walkDir, unicode(self.lwMain.currentItem().text())) if os.path.isdir(entryPath): self.walkDir = entryPath self.showDirContent(entryPath, self.lwMain) elif keyEvent.key( ) == QtCore.Qt.Key_Backspace: # переход в каталог уровнем выше self.walkDir = os.path.dirname(self.walkDir) self.showDirContent(self.walkDir, self.lwMain) elif keyEvent.key( ) == QtCore.Qt.Key_Insert: # текущий каталог выбран в качестве нового рабочего if self.walkDir in self.workingDirs: QMessageBox( text=u"Каталог {0} уже есть в списке рабочих".format( self.walkDir), parent=self).exec_() else: self.workingDirs[self.walkDir] = { "entries": {}, "new": MyLib.getEntries(self.walkDir), "exists": True } self.configFile.needToSave = True print u"Возвращаемся в режим управления списком рабочих каталогов" self.lwAux.setEnabled(True) self.startManageWorkingDirs()