Browse Source

Add shortcut for addPointToEdge

Kentaro Wada 5 years ago
parent
commit
df5e189e92
2 changed files with 30 additions and 12 deletions
  1. 29 11
      labelme/app.py
  2. 1 1
      labelme/config/default_config.yaml

+ 29 - 11
labelme/app.py

@@ -314,9 +314,14 @@ class MainWindow(QtWidgets.QMainWindow):
         undoLastPoint = action('Undo last point', self.canvas.undoLastPoint,
                                shortcuts['undo_last_point'], 'undo',
                                'Undo last drawn point', enabled=False)
-        addPoint = action('Add Point to Edge', self.canvas.addPointToEdge,
-                          None, 'edit', 'Add point to the nearest edge',
-                          enabled=False)
+        addPointToEdge = action(
+            'Add Point to Edge',
+            self.canvas.addPointToEdge,
+            shortcuts['add_point_to_edge'],
+            'edit',
+            'Add point to the nearest edge',
+            enabled=False,
+        )
 
         undo = action('Undo', self.undoShapeEdit, shortcuts['undo'], 'undo',
                       'Undo last add and edit of shape', enabled=False)
@@ -415,7 +420,7 @@ class MainWindow(QtWidgets.QMainWindow):
             toggleKeepPrevMode=toggle_keep_prev_mode,
             delete=delete, edit=edit, copy=copy,
             undoLastPoint=undoLastPoint, undo=undo,
-            addPoint=addPoint,
+            addPointToEdge=addPointToEdge,
             createMode=createMode, editMode=editMode,
             createRectangleMode=createRectangleMode,
             createCircleMode=createCircleMode,
@@ -429,8 +434,22 @@ class MainWindow(QtWidgets.QMainWindow):
             openNextImg=openNextImg, openPrevImg=openPrevImg,
             fileMenuActions=(open_, opendir, save, saveAs, close, quit),
             tool=(),
-            editMenu=(edit, copy, delete, None, undo, undoLastPoint,
-                      None, color1, color2, None, toggle_keep_prev_mode),
+            # XXX: need to add some actions here to activate the shortcut
+            editMenu=(
+                edit,
+                copy,
+                delete,
+                None,
+                undo,
+                undoLastPoint,
+                None,
+                addPointToEdge,
+                None,
+                color1,
+                color2,
+                None,
+                toggle_keep_prev_mode,
+            ),
             # menu shown at right click
             menu=(
                 createMode,
@@ -447,7 +466,7 @@ class MainWindow(QtWidgets.QMainWindow):
                 shapeFillColor,
                 undo,
                 undoLastPoint,
-                addPoint,
+                addPointToEdge,
             ),
             onLoadActive=(
                 close,
@@ -462,7 +481,9 @@ class MainWindow(QtWidgets.QMainWindow):
             onShapesPresent=(saveAs, hideAll, showAll),
         )
 
-        self.canvas.edgeSelected.connect(self.actions.addPoint.setEnabled)
+        self.canvas.edgeSelected.connect(
+            self.actions.addPointToEdge.setEnabled
+        )
 
         self.menus = utils.struct(
             file=self.menu('&File'),
@@ -739,9 +760,6 @@ class MainWindow(QtWidgets.QMainWindow):
         url = 'https://github.com/wkentaro/labelme/tree/master/examples/tutorial'  # NOQA
         webbrowser.open(url)
 
-    def toggleAddPointEnabled(self, enabled):
-        self.actions.addPoint.setEnabled(enabled)
-
     def toggleDrawingSensitive(self, drawing=True):
         """Toggle drawing sensitive.
 

+ 1 - 1
labelme/config/default_config.yaml

@@ -62,7 +62,6 @@ shortcuts:
   fit_window: Ctrl+F
   fit_width: Ctrl+Shift+F
 
-  add_point: Ctrl+Shift+P
   create_polygon: Ctrl+N
   create_rectangle: Ctrl+R
   create_circle: null
@@ -74,6 +73,7 @@ shortcuts:
   duplicate_polygon: Ctrl+D
   undo: Ctrl+Z
   undo_last_point: [Ctrl+Z, Backspace]
+  add_point_to_edge: Ctrl+Shift+P
   edit_label: Ctrl+E
   edit_line_color: Ctrl+L
   edit_fill_color: Ctrl+Shift+L