From 0c7c330fe1296f7741564463929f5ab2b9d83dbf Mon Sep 17 00:00:00 2001 From: donovaly Date: Mon, 11 Jan 2021 03:02:35 +0100 Subject: [PATCH] [TD] show balloon dialog on double-clicking when adding GD&T statements as described in https://wiki.freecadweb.org/TechDraw_Geometric_dimensioning_and_tolerancing You will quickly get a lot of balloons and it is then very tiring to be forced to first select a balloon with a single-click in the drawing, then go to the model tree and there double-click to get the dialog. This PR also removes unused includes from the dialog code. --- src/Mod/TechDraw/Gui/QGIViewBalloon.cpp | 10 +++++++++- src/Mod/TechDraw/Gui/TaskBalloon.cpp | 4 ---- src/Mod/TechDraw/Gui/TaskBalloon.h | 6 ++---- 3 files changed, 11 insertions(+), 9 deletions(-) diff --git a/src/Mod/TechDraw/Gui/QGIViewBalloon.cpp b/src/Mod/TechDraw/Gui/QGIViewBalloon.cpp index bd5e13568c..fb094498ce 100644 --- a/src/Mod/TechDraw/Gui/QGIViewBalloon.cpp +++ b/src/Mod/TechDraw/Gui/QGIViewBalloon.cpp @@ -150,7 +150,15 @@ void QGIBalloonLabel::mouseReleaseEvent(QGraphicsSceneMouseEvent * event) void QGIBalloonLabel::mouseDoubleClickEvent(QGraphicsSceneMouseEvent * event) { -// Gui::Control().showDialog(new TaskDlgBalloon(parent)); //only from tree + QGIViewBalloon* qgivBalloon = dynamic_cast(parentItem()); + if (qgivBalloon == nullptr) { + return; + } + auto ViewProvider = static_cast(qgivBalloon->getViewProvider(qgivBalloon->getViewObject())); + if (ViewProvider == nullptr) { + return; + } + Gui::Control().showDialog(new TaskDlgBalloon(qgivBalloon, ViewProvider)); QGraphicsItem::mouseDoubleClickEvent(event); } diff --git a/src/Mod/TechDraw/Gui/TaskBalloon.cpp b/src/Mod/TechDraw/Gui/TaskBalloon.cpp index f5938235ee..1077466951 100644 --- a/src/Mod/TechDraw/Gui/TaskBalloon.cpp +++ b/src/Mod/TechDraw/Gui/TaskBalloon.cpp @@ -28,7 +28,6 @@ #endif // #ifndef _PreComp_ #include -#include #include #include @@ -41,11 +40,8 @@ #include #include -#include - #include #include -#include #include #include diff --git a/src/Mod/TechDraw/Gui/TaskBalloon.h b/src/Mod/TechDraw/Gui/TaskBalloon.h index b292557c06..6a3b01567d 100644 --- a/src/Mod/TechDraw/Gui/TaskBalloon.h +++ b/src/Mod/TechDraw/Gui/TaskBalloon.h @@ -29,8 +29,6 @@ #include -#include - #include "QGIViewBalloon.h" #include "ViewProviderBalloon.h" @@ -58,8 +56,8 @@ private Q_SLOTS: void onFontsizeChanged(); void onBubbleShapeChanged(); void onShapeScaleChanged(); - void onEndSymbolChanged(); - void onEndSymbolScaleChanged(); + void onEndSymbolChanged(); + void onEndSymbolScaleChanged(); void onLineVisibleChanged(); void onLineWidthChanged(); void onKinkLengthChanged();