提交 21813d28 编写于 作者: K Kentaro Wada

Add config for canvas: double_click

上级 d0fda7de
......@@ -145,6 +145,7 @@ class MainWindow(QtWidgets.QMainWindow):
self.canvas = self.labelList.canvas = Canvas(
epsilon=self._config['epsilon'],
double_click=self._config['canvas']['double_click'],
)
self.canvas.zoomRequest.connect(self.zoomRequest)
......
......@@ -41,7 +41,12 @@ fit_to_content:
column: true
row: false
# canvas
epsilon: 10.0
canvas:
# None: do nothing
# close: close polygon
double_click: close
shortcuts:
close: Ctrl+W
......
......@@ -38,6 +38,12 @@ class Canvas(QtWidgets.QWidget):
def __init__(self, *args, **kwargs):
self.epsilon = kwargs.pop('epsilon', 10.0)
self.double_click = kwargs.pop('double_click', 'close')
if self.double_click not in [None, 'close']:
raise ValueError(
'Unexpected value for double_click event: {}'
.format(self.double_click)
)
super(Canvas, self).__init__(*args, **kwargs)
# Initialise local state.
self.mode = self.EDIT
......@@ -400,7 +406,8 @@ class Canvas(QtWidgets.QWidget):
def mouseDoubleClickEvent(self, ev):
# We need at least 4 points here, since the mousePress handler
# adds an extra one before this handler is called.
if self.canCloseShape() and len(self.current) > 3:
if (self.double_click == 'close' and self.canCloseShape() and
len(self.current) > 3):
self.current.popPoint()
self.finalise()
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册