From 9fca0b5e920c58c3cdaa5be12400ca58c8245e6a Mon Sep 17 00:00:00 2001 From: Kirill Kalashnikov Date: Fri, 12 Jun 2020 17:15:03 +0300 Subject: [PATCH] added delete image button --- .DS_Store | Bin 0 -> 10244 bytes labelImg.py | 23 ++++++++++++++++++----- resources/strings/strings.properties | 2 ++ 3 files changed, 20 insertions(+), 5 deletions(-) create mode 100644 .DS_Store diff --git a/.DS_Store b/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..18fa555fb25601a9649396cee11ff9626e632f58 GIT binary patch literal 10244 zcmeHM!EVz)5S>j@>LjfQ5>h#E@CB)dQYA%5AXF)&4G;+^A_as11-o%ui^NXjgiu0I zF8l-V2Z%4>#E}o-1K`ctMD`|?I3bkoTD!Bh=k3OCW@j}UA`+E;vqWSPk%7vxu!Lqt z;rCppN-BDC5mEq8Kd!a>J-g-G(BMUN z19kP6Ea)-HrallYYSLxo{XVW11q$lR-=XY5(23^yW_Ma{&?^>yh*UbWaAwgkaz<`B z_o9C259&Ru*AFUI_Zi%jjXXe63?NpZ88<+IwrGd$ z(=I)v8dc~KdNthN2D(cD^^&F#9~68BhO=NeOVRszlHR-;X+nfz7Jlx)EPj%plr@7O zsW;CA$q!Tr%F`WqTpfP510Q@k+wW4}6}rwLXauZE9qfw^#%NPBNqBlw z86hvVZD_YJf13_wt(Wvy1(kuei}j_3C=P5NV}Wg=H^1hLh)~SANOwW!7F7{M>Qqe{ zfjE-KX)@>@O!f*!*q6J2lhl{tDz2Z0{!NTrqg$APon{?4PeE~zilcIHtSWHZKv!ow znBagF$1EZIIdmjv}Tz?&N?bCsRVE2t9j0B=X%J#tfvoKGy|uEfpqwtCZGRTPyYY^l(3;cQ!{Wn84#K6`gR51{^ul1rGd}dP1KjDTv%@$ zN(n(DkK-ZbaXfDLIDQqCb&D*ypkI#UIFxvT^3VSam^#>uCt5oH*ZKea=l{O})@%Hm literal 0 HcmV?d00001 diff --git a/labelImg.py b/labelImg.py index 5a95a6cd..f1281e4e 100755 --- a/labelImg.py +++ b/labelImg.py @@ -51,8 +51,11 @@ __appname__ = 'labelImg' class WindowMixin(object): def menu(self, title, actions=None): + menu = self.menuBar().addMenu(title) + if actions: + addActions(menu, actions) return menu @@ -137,7 +140,7 @@ class MainWindow(QMainWindow, WindowMixin): listLayout.addWidget(self.diffcButton) listLayout.addWidget(useDefaultLabelContainer) - # Create and add combobox for showing unique labels in group + # Create and add combobox for showing unique labels in group self.comboBox = ComboBox(self) listLayout.addWidget(self.comboBox) @@ -236,6 +239,8 @@ class MainWindow(QMainWindow, WindowMixin): close = action(getStr('closeCur'), self.closeFile, 'Ctrl+W', 'close', getStr('closeCurDetail')) + deleteImg = action(getStr('deleteImg'), self.deleteImg, 'Ctrl+D', 'close', getStr('deleteImgDetail')) + resetAll = action(getStr('resetAll'), self.resetAll, None, 'resetall', getStr('resetAllDetail')) color1 = action(getStr('boxLineColor'), self.chooseColor1, @@ -330,7 +335,7 @@ class MainWindow(QMainWindow, WindowMixin): self.drawSquaresOption.triggered.connect(self.toogleDrawSquare) # Store actions for further handling. - self.actions = struct(save=save, save_format=save_format, saveAs=saveAs, open=open, close=close, resetAll = resetAll, + self.actions = struct(save=save, save_format=save_format, saveAs=saveAs, open=open, close=close, resetAll = resetAll, deleteImg = deleteImg, lineColor=color1, create=create, delete=delete, edit=edit, copy=copy, createMode=createMode, editMode=editMode, advancedMode=advancedMode, shapeLineColor=shapeLineColor, shapeFillColor=shapeFillColor, @@ -375,7 +380,7 @@ class MainWindow(QMainWindow, WindowMixin): self.displayLabelOption.triggered.connect(self.togglePaintLabelsOption) addActions(self.menus.file, - (open, opendir, changeSavedir, openAnnotation, self.menus.recentFiles, save, save_format, saveAs, close, resetAll, quit)) + (open, opendir, changeSavedir, openAnnotation, self.menus.recentFiles, save, save_format, saveAs, close, resetAll, deleteImg, quit)) addActions(self.menus.help, (help, showInfo)) addActions(self.menus.view, ( self.autoSaving, @@ -410,6 +415,7 @@ class MainWindow(QMainWindow, WindowMixin): # Application state. self.image = QImage() self.filePath = ustr(defaultFilename) + self.lastOpenDir= None self.recentFiles = [] self.maxRecent = 7 self.lineColor = None @@ -840,7 +846,7 @@ class MainWindow(QMainWindow, WindowMixin): text = self.comboBox.cb.itemText(index) for i in range(self.labelList.count()): if text == "": - self.labelList.item(i).setCheckState(2) + self.labelList.item(i).setCheckState(2) elif text != self.labelList.item(i).text(): self.labelList.item(i).setCheckState(0) else: @@ -1217,7 +1223,7 @@ class MainWindow(QMainWindow, WindowMixin): QFileDialog.ShowDirsOnly | QFileDialog.DontResolveSymlinks)) else: targetDirPath = ustr(defaultOpenDirPath) - + self.lastOpenDir = targetDirPath self.importDirImages(targetDirPath) def importDirImages(self, dirpath): @@ -1367,6 +1373,13 @@ class MainWindow(QMainWindow, WindowMixin): self.toggleActions(False) self.canvas.setEnabled(False) self.actions.saveAs.setEnabled(False) + def deleteImg(self): + deletePath = self.filePath + if self.filePath is not None: + self.openNextImg() + os.remove(deletePath) + self.importDirImages(self.lastOpenDir) + def resetAll(self): self.settings.reset() diff --git a/resources/strings/strings.properties b/resources/strings/strings.properties index e2815be6..a40350cd 100644 --- a/resources/strings/strings.properties +++ b/resources/strings/strings.properties @@ -20,6 +20,8 @@ saveAs=Save As saveAsDetail=Save the labels to a different file closeCur=Close closeCurDetail=Close the current file +deleteImg = Delete Current Image +deleteImgDetail = Delete current image resetAll=Reset All resetAllDetail=Reset All boxLineColor=Box Line Color