diff --git a/sources/diagramevent/diagrameventaddshape.cpp b/sources/diagramevent/diagrameventaddshape.cpp index 8067d166a..ff8d2cac7 100644 --- a/sources/diagramevent/diagrameventaddshape.cpp +++ b/sources/diagramevent/diagrameventaddshape.cpp @@ -182,6 +182,15 @@ void DiagramEventAddShape::mouseDoubleClickEvent(QGraphicsSceneMouseEvent *event //removePoints(); + + //If the last is at the same pos of the first point + //that mean user want a closed polygon, so we remove the last point and close polygon + QPolygonF polygon = m_shape_item->polygon(); + if (polygon.first() == polygon.last()) + { + m_shape_item->removePoints(); + m_shape_item->setClosed(true); + } m_diagram->undoStack().push (new AddItemCommand (m_shape_item, m_diagram)); m_shape_item = nullptr; //< set to nullptr for create new shape at next left clic event->setAccepted(true); diff --git a/sources/qetdiagrameditor.cpp b/sources/qetdiagrameditor.cpp index e1d401648..24500d310 100644 --- a/sources/qetdiagrameditor.cpp +++ b/sources/qetdiagrameditor.cpp @@ -601,7 +601,7 @@ void QETDiagramEditor::setUpActions() add_rectangle->setData("rectangle"); add_ellipse ->setData("ellipse"); add_polyline ->setData("polyline"); - + for(QAction *action : m_add_item_actions_group.actions()) { action->setCheckable(true); } @@ -1300,11 +1300,8 @@ void QETDiagramEditor::addItemGroupTriggered(QAction *action) diagram_event = new DiagramEventAddShape (d, QetShapeItem::Rectangle); else if (value == "ellipse") diagram_event = new DiagramEventAddShape (d, QetShapeItem::Ellipse); - else if (value == "polyline") { + else if (value == "polyline") diagram_event = new DiagramEventAddShape (d, QetShapeItem::Polygon); - setToolTip(tr("Double-click pour terminer la forme")); - setToolTipDuration(2000); - } else if (value == "image") { DiagramEventAddImage *deai = new DiagramEventAddImage(d);