From f2712d4cc799a28c018d895a56bda429ebc2ba33 Mon Sep 17 00:00:00 2001 From: tzutalin Date: Tue, 6 Sep 2016 20:39:42 +0800 Subject: [PATCH] Add file list and dock to move faster --- labelImg.py | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/labelImg.py b/labelImg.py index a65169716..6e3de46f3 100755 --- a/labelImg.py +++ b/labelImg.py @@ -101,6 +101,18 @@ def __init__(self, filename=None): self.dock.setObjectName(u'Labels') self.dock.setWidget(self.labelListContainer) + # Tzutalin 20160906 : Add file list and dock to move faster + self.fileListWidget = QListWidget() + self.fileListWidget.itemDoubleClicked.connect(self.fileitemDoubleClicked) + filelistLayout = QVBoxLayout() + filelistLayout.setContentsMargins(0, 0, 0, 0) + filelistLayout.addWidget(self.fileListWidget) + self.fileListContainer = QWidget() + self.fileListContainer.setLayout(filelistLayout) + self.filedock = QDockWidget(u'File List', self) + self.filedock.setObjectName(u'Files') + self.filedock.setWidget(self.fileListContainer) + self.zoomWidget = ZoomWidget() self.colorDialog = ColorDialog(parent=self) @@ -123,6 +135,8 @@ def __init__(self, filename=None): self.setCentralWidget(scroll) self.addDockWidget(Qt.RightDockWidgetArea, self.dock) + # Tzutalin 20160906 : Add file list and dock to move faster + self.addDockWidget(Qt.RightDockWidgetArea, self.filedock) self.dockFeatures = QDockWidget.DockWidgetClosable\ | QDockWidget.DockWidgetFloatable self.dock.setFeatures(self.dock.features() ^ self.dockFeatures) @@ -500,6 +514,14 @@ def editLabel(self, item=None): if text is not None: item.setText(text) self.setDirty() + + # Tzutalin 20160906 : Add file list and dock to move faster + def fileitemDoubleClicked(self, item=None): + currIndex = self.mImgList.index(str(item.text())) + if currIndex < len(self.mImgList): + filename = self.mImgList[currIndex] + if filename: + self.loadFile(filename) # React to canvas signals. def shapeSelectionChanged(self, selected=False): @@ -665,6 +687,14 @@ def loadFile(self, filename=None): if filename is None: filename = self.settings['filename'] filename = unicode(filename) + + # Tzutalin 20160906 : Add file list and dock to move faster + # Highlight the file item + if filename and self.fileListWidget.count() > 0: + index = self.mImgList.index(filename) + fileWidgetItem = self.fileListWidget.item(index) + self.fileListWidget.setItemSelected(fileWidgetItem, True) + if QFile.exists(filename): if LabelFile.isLabelFile(filename): try: @@ -845,6 +875,9 @@ def openDir(self, _value=False): self.dirname = dirpath self.mImgList = self.scanAllImages(dirpath) self.openNextImg() + for imgPath in self.mImgList: + item = QListWidgetItem(imgPath) + self.fileListWidget.addItem(item) def openPrevImg(self, _value=False): if not self.mayContinue():