mirror of
https://github.com/qelectrotech/qelectrotech-source-mirror.git
synced 2026-01-08 14:49:58 +01:00
fix weird behavior when zooming at the same time of création of shape item
git-svn-id: svn+ssh://svn.tuxfamily.org/svnroot/qet/qet/trunk@4251 bfdf4180-ca20-0410-9c96-a3a8aa849046
This commit is contained in:
@@ -36,10 +36,10 @@
|
||||
#include "diagramfoliolist.h"
|
||||
#include "qetshapeitem.h"
|
||||
#include "dveventaddimage.h"
|
||||
#include "dveventaddshape.h"
|
||||
#include "dveventaddtext.h"
|
||||
#include "reportproperties.h"
|
||||
#include "diagrampropertieseditordockwidget.h"
|
||||
#include "diagrameventaddshape.h"
|
||||
|
||||
#include "ui/dialogautonum.h"
|
||||
|
||||
@@ -1158,19 +1158,32 @@ void QETDiagramEditor::addItemGroupTriggered(QAction *action)
|
||||
else
|
||||
dvevent = event;
|
||||
}
|
||||
else if (value == "line")
|
||||
dvevent = new DVEventAddShape(dv, QetShapeItem::Line);
|
||||
else if (value == "rectangle")
|
||||
dvevent = new DVEventAddShape(dv, QetShapeItem::Rectangle);
|
||||
else if (value == "ellipse")
|
||||
dvevent = new DVEventAddShape(dv, QetShapeItem::Ellipse);
|
||||
else if (value == "polyline")
|
||||
dvevent = new DVEventAddShape(dv, QetShapeItem::Polygon);
|
||||
|
||||
if (dvevent)
|
||||
{
|
||||
dv->setEventInterface(dvevent);
|
||||
connect(dvevent, &DVEventInterface::finish, [action](){action->setChecked(false);});
|
||||
return;
|
||||
}
|
||||
|
||||
if (Q_UNLIKELY (!dv->diagram())) return;
|
||||
|
||||
Diagram *d = dv->diagram();
|
||||
DiagramEventInterface *diagram_event = nullptr;
|
||||
|
||||
if (value == "line")
|
||||
diagram_event = new DiagramEventAddShape (d, QetShapeItem::Line);
|
||||
else if (value == "rectangle")
|
||||
diagram_event = new DiagramEventAddShape (d, QetShapeItem::Rectangle);
|
||||
else if (value == "ellipse")
|
||||
diagram_event = new DiagramEventAddShape (d, QetShapeItem::Ellipse);
|
||||
else if (value == "polyline")
|
||||
diagram_event = new DiagramEventAddShape (d, QetShapeItem::Polygon);
|
||||
|
||||
if (diagram_event)
|
||||
{
|
||||
d->setEventInterface(diagram_event);
|
||||
connect(diagram_event, &DiagramEventInterface::finish, [action](){action->setChecked(false);});
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user