Procházet zdrojové kódy

Fix #266, #285. 'keep_prev' mode is visible in Edit menu and switchable (#286)

* Fix #266, #285. 'keep_prev' mode state is visible in Edit menu and switchable there

* Fix #266, #285. 'keep_prev' mode state is visible in Edit menu and switchable there
+ flake8 fixes
IlyaOvodov před 6 roky
rodič
revize
27ce594f6e
2 změnil soubory, kde provedl 14 přidání a 1 odebrání
  1. 13 1
      labelme/app.py
  2. 1 0
      labelme/config/default_config.yaml

+ 13 - 1
labelme/app.py

@@ -258,6 +258,14 @@ class MainWindow(QtWidgets.QMainWindow, WindowMixin):
                         shortcuts['edit_fill_color'], 'color',
                         'Choose polygon fill color')
 
+        toggle_keep_prev_mode = action(
+            'Keep Previous Annotation',
+            self.toggleKeepPrevMode,
+            shortcuts['toggle_keep_prev_mode'], None,
+            'Toggle "keep pevious annotation" mode',
+            checkable=True)
+        toggle_keep_prev_mode.setChecked(self._config['keep_prev'])
+
         createMode = action(
             'Create Polygons',
             lambda: self.toggleDrawMode(False, createMode='polygon'),
@@ -411,6 +419,7 @@ class MainWindow(QtWidgets.QMainWindow, WindowMixin):
             changeOutputDir=changeOutputDir,
             save=save, saveAs=saveAs, open=open_, close=close,
             lineColor=color1, fillColor=color2,
+            toggleKeepPrevMode=toggle_keep_prev_mode,
             delete=delete, edit=edit, copy=copy,
             undoLastPoint=undoLastPoint, undo=undo,
             addPoint=addPoint,
@@ -428,7 +437,7 @@ class MainWindow(QtWidgets.QMainWindow, WindowMixin):
             fileMenuActions=(open_, opendir, save, saveAs, close, quit),
             tool=(),
             editMenu=(edit, copy, delete, None, undo, undoLastPoint,
-                      None, color1, color2),
+                      None, color1, color2, None, toggle_keep_prev_mode),
             # menu shown at right click
             menu=(
                 createMode,
@@ -1435,6 +1444,9 @@ class MainWindow(QtWidgets.QMainWindow, WindowMixin):
             self.canvas.update()
             self.setDirty()
 
+    def toggleKeepPrevMode(self):
+        self._config['keep_prev'] = not self._config['keep_prev']
+
     def deleteSelectedShape(self):
         yes, no = QtWidgets.QMessageBox.Yes, QtWidgets.QMessageBox.No
         msg = 'You are about to permanently delete this polygon, ' \

+ 1 - 0
labelme/config/default_config.yaml

@@ -73,3 +73,4 @@ shortcuts:
   edit_label: Ctrl+E
   edit_line_color: Ctrl+L
   edit_fill_color: Ctrl+Shift+L
+  toggle_keep_prev_mode: Ctrl+P