فهرست منبع

Remove duplicate menu in canvas

Kentaro Wada 6 سال پیش
والد
کامیت
ea23c7caee
2فایلهای تغییر یافته به همراه3 افزوده شده و 9 حذف شده
  1. 0 7
      labelme/app.py
  2. 3 2
      labelme/widgets/canvas.py

+ 0 - 7
labelme/app.py

@@ -526,13 +526,6 @@ class MainWindow(QtWidgets.QMainWindow):
                 action('&Move here', self.moveShape),
             ),
         )
-        utils.addActions(
-            self.canvas.menus[2],
-            (
-                action('&Copy here', self.copyShape),
-                action('&Move here', self.moveShape),
-            ),
-        )
 
         self.tools = self.toolbar('Tools')
         # Menu buttons on Left

+ 3 - 2
labelme/widgets/canvas.py

@@ -67,7 +67,8 @@ class Canvas(QtWidgets.QWidget):
         self._painter = QtGui.QPainter()
         self._cursor = CURSOR_DEFAULT
         # Menus:
-        self.menus = (QtWidgets.QMenu(), QtWidgets.QMenu(), QtWidgets.QMenu())
+        # 0: right-click, 1: ctrl+right-click
+        self.menus = (QtWidgets.QMenu(), QtWidgets.QMenu())
         # Set widget options.
         self.setMouseTracking(True)
         self.setFocusPolicy(QtCore.Qt.WheelFocus)
@@ -330,7 +331,7 @@ class Canvas(QtWidgets.QWidget):
 
     def mouseReleaseEvent(self, ev):
         if ev.button() == QtCore.Qt.RightButton:
-            menu = self.menus[min(len(self.selectedShapesCopy), 2)]
+            menu = self.menus[len(self.selectedShapesCopy) > 0]
             self.restoreCursor()
             if not menu.exec_(self.mapToGlobal(ev.pos())) \
                     and self.selectedShapesCopy: