提交 f9752e46 编写于 作者: J Jakub Gregorek 提交者: Kentaro Wada

Fixes #462, check shape type before emitting signal to allow to add points

上级 ef7b217f
......@@ -481,9 +481,7 @@ class MainWindow(QtWidgets.QMainWindow):
onShapesPresent=(saveAs, hideAll, showAll),
)
self.canvas.edgeSelected.connect(
self.actions.addPointToEdge.setEnabled
)
self.canvas.possibleToAddPoint.connect(self.actions.addPointToEdge.setEnabled)
self.menus = utils.struct(
file=self.menu('&File'),
......
......@@ -84,6 +84,9 @@ class Shape(object):
else:
self.points.append(point)
def canAddPoint(self):
return self.shape_type in ['polygon', 'linestrip']
def popPoint(self):
if self.points:
return self.points.pop()
......
......@@ -26,7 +26,7 @@ class Canvas(QtWidgets.QWidget):
selectionChanged = QtCore.Signal(list)
shapeMoved = QtCore.Signal()
drawingPolygon = QtCore.Signal(bool)
edgeSelected = QtCore.Signal(bool)
possibleToAddPoint = QtCore.Signal(bool)
CREATE, EDIT = 0, 1
......@@ -267,7 +267,7 @@ class Canvas(QtWidgets.QWidget):
self.hShape.highlightClear()
self.update()
self.hVertex, self.hShape, self.hEdge = None, None, None
self.edgeSelected.emit(self.hEdge is not None)
self.possibleToAddPoint.emit(self.hEdge is not None and self.hShape is not None and self.hShape.canAddPoint())
def addPointToEdge(self):
if (self.hShape is None and
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册