diff --git a/GUI/View/Mask/MaskGraphicsScene.cpp b/GUI/View/Mask/MaskGraphicsScene.cpp index 619993c89deec20ea298cc04eb74dc82a6e1abd8..e0cd553c66bcd7de1a6cfe358e2ffa83c8559234 100644 --- a/GUI/View/Mask/MaskGraphicsScene.cpp +++ b/GUI/View/Mask/MaskGraphicsScene.cpp @@ -33,9 +33,8 @@ const qreal min_distance_to_create_rect = 10; bool isRectangleShapeMode(MaskEditorFlags::Activity activity) { - return (activity == MaskEditorFlags::RECTANGLE_MODE) - || (activity == MaskEditorFlags::ELLIPSE_MODE) - || (activity == MaskEditorFlags::ROI_MODE); + return activity == MaskEditorFlags::RECTANGLE_MODE || activity == MaskEditorFlags::ELLIPSE_MODE + || activity == MaskEditorFlags::ROI_MODE; } bool isLineMode(MaskEditorFlags::Activity activity) @@ -257,6 +256,9 @@ void MaskGraphicsScene::mousePressEvent(QGraphicsSceneMouseEvent* event) return; } + if (!isValidMouseClick(event)) + return QGraphicsScene::mousePressEvent(event); + if (isValidForPolygonDrawing(event)) processPolygonItem(event); else if (isValidForLineDrawing(event)) @@ -490,8 +492,6 @@ bool MaskGraphicsScene::isValidForRectangleShapeDrawing(QGraphicsSceneMouseEvent { if (m_drawing_in_progress) return false; - if (!isValidMouseClick(event)) - return false; if (!::isRectangleShapeMode(m_activity)) return false; if (isAreaContains(event, MaskType::SIZEHANDLE)) @@ -509,8 +509,6 @@ bool MaskGraphicsScene::isValidForRectangleShapeDrawing(QGraphicsSceneMouseEvent bool MaskGraphicsScene::isValidForPolygonDrawing(QGraphicsSceneMouseEvent* event) const { - if (!isValidMouseClick(event)) - return false; if (m_activity != MaskEditorFlags::POLYGON_MODE) return false; if (!m_drawing_in_progress) { @@ -524,8 +522,6 @@ bool MaskGraphicsScene::isValidForPolygonDrawing(QGraphicsSceneMouseEvent* event bool MaskGraphicsScene::isValidForLineDrawing(QGraphicsSceneMouseEvent* event) const { - if (!isValidMouseClick(event)) - return false; if (m_drawing_in_progress) return false; if (!::isLineMode(m_activity)) @@ -540,10 +536,8 @@ bool MaskGraphicsScene::isValidForLineDrawing(QGraphicsSceneMouseEvent* event) c //! Returns true if MaskAllItem can be drawn. Only one item of such type is allowed. -bool MaskGraphicsScene::isValidForMaskAllDrawing(QGraphicsSceneMouseEvent* event) const +bool MaskGraphicsScene::isValidForMaskAllDrawing(QGraphicsSceneMouseEvent*) const { - if (!isValidMouseClick(event)) - return false; if (m_drawing_in_progress) return false; if (m_activity != MaskEditorFlags::MASKALL_MODE) @@ -619,8 +613,7 @@ void MaskGraphicsScene::makeViewAtMousePosSelected(QGraphicsSceneMouseEvent* eve void MaskGraphicsScene::processRectangleOrEllipseItem(QGraphicsSceneMouseEvent* event) { - if (!m_drawing_in_progress) - m_drawing_in_progress = true; + m_drawing_in_progress = true; const QPointF click_pos = event->buttonDownScenePos(Qt::LeftButton); const QPointF mouse_pos = event->scenePos();