From 8aa93f875768a34529e95f190693621c2be7ea56 Mon Sep 17 00:00:00 2001 From: Roman Telezhynskyi Date: Thu, 7 May 2020 17:02:16 +0300 Subject: [PATCH] Fix disappearing a visibility group tags after Apply -> OK sequence. --- .../operation/flipping/vtoolflippingbyaxis.cpp | 5 ++--- .../operation/flipping/vtoolflippingbyline.cpp | 5 ++--- .../drawTools/operation/vabstractoperation.h | 15 +++++++++++++++ .../tools/drawTools/operation/vtoolmove.cpp | 5 ++--- .../tools/drawTools/operation/vtoolrotation.cpp | 5 ++--- 5 files changed, 23 insertions(+), 12 deletions(-) diff --git a/src/libs/vtools/tools/drawTools/operation/flipping/vtoolflippingbyaxis.cpp b/src/libs/vtools/tools/drawTools/operation/flipping/vtoolflippingbyaxis.cpp index ca558230f..66317733e 100644 --- a/src/libs/vtools/tools/drawTools/operation/flipping/vtoolflippingbyaxis.cpp +++ b/src/libs/vtools/tools/drawTools/operation/flipping/vtoolflippingbyaxis.cpp @@ -226,9 +226,8 @@ void VToolFlippingByAxis::SaveDialog(QDomElement &domElement, QList &ol doc->SetAttribute(domElement, AttrAxisType, QString().setNum(static_cast(dialogTool->GetAxisType()))); doc->SetAttribute(domElement, AttrSuffix, dialogTool->GetSuffix()); - // Save for later use. - hasLinkedGroup = dialogTool->HasLinkedVisibilityGroup(); - groupName = dialogTool->GetVisibilityGroupName(); + // Save visibility data for later use + SaveVisibilityGroupData(dialogTool); } //--------------------------------------------------------------------------------------------------------------------- diff --git a/src/libs/vtools/tools/drawTools/operation/flipping/vtoolflippingbyline.cpp b/src/libs/vtools/tools/drawTools/operation/flipping/vtoolflippingbyline.cpp index e862a99b7..e2bda983b 100644 --- a/src/libs/vtools/tools/drawTools/operation/flipping/vtoolflippingbyline.cpp +++ b/src/libs/vtools/tools/drawTools/operation/flipping/vtoolflippingbyline.cpp @@ -213,9 +213,8 @@ void VToolFlippingByLine::SaveDialog(QDomElement &domElement, QList &ol doc->SetAttribute(domElement, AttrP2Line, QString().setNum(dialogTool->GetSecondLinePointId())); doc->SetAttribute(domElement, AttrSuffix, dialogTool->GetSuffix()); - // Save for later use. - hasLinkedGroup = dialogTool->HasLinkedVisibilityGroup(); - groupName = dialogTool->GetVisibilityGroupName(); + // Save visibility data for later use + SaveVisibilityGroupData(dialogTool); } //--------------------------------------------------------------------------------------------------------------------- diff --git a/src/libs/vtools/tools/drawTools/operation/vabstractoperation.h b/src/libs/vtools/tools/drawTools/operation/vabstractoperation.h index 926411a72..ce120c4d8 100644 --- a/src/libs/vtools/tools/drawTools/operation/vabstractoperation.h +++ b/src/libs/vtools/tools/drawTools/operation/vabstractoperation.h @@ -156,6 +156,9 @@ protected: template void SetDialogVisibilityGroupData(QPointer dialogTool); + template + void SaveVisibilityGroupData(QPointer dialogTool); + void InitCurve(quint32 id, VContainer *data, GOType curveType, SceneObject sceneType); template @@ -197,6 +200,18 @@ void VAbstractOperation::SetDialogVisibilityGroupData(QPointer dialogTool) } } +//--------------------------------------------------------------------------------------------------------------------- +template +void VAbstractOperation::SaveVisibilityGroupData(QPointer dialogTool) +{ + SCASSERT(not dialogTool.isNull()) + + // Save for later use. + hasLinkedGroup = dialogTool->HasLinkedVisibilityGroup(); + groupName = dialogTool->GetVisibilityGroupName(); + groupTags = dialogTool->GetVisibilityGroupTags(); +} + //--------------------------------------------------------------------------------------------------------------------- template void VAbstractOperation::ShowToolVisualization(bool show) diff --git a/src/libs/vtools/tools/drawTools/operation/vtoolmove.cpp b/src/libs/vtools/tools/drawTools/operation/vtoolmove.cpp index 24c5bf9b4..1e494a755 100644 --- a/src/libs/vtools/tools/drawTools/operation/vtoolmove.cpp +++ b/src/libs/vtools/tools/drawTools/operation/vtoolmove.cpp @@ -482,9 +482,8 @@ void VToolMove::SaveDialog(QDomElement &domElement, QList &oldDependenc doc->SetAttribute(domElement, AttrCenter, QString().setNum(dialogTool->GetRotationOrigPointId())); doc->SetAttribute(domElement, AttrRotationAngle, dialogTool->GetRotationAngle()); - // Save for later use. - hasLinkedGroup = dialogTool->HasLinkedVisibilityGroup(); - groupName = dialogTool->GetVisibilityGroupName(); + // Save visibility data for later use + SaveVisibilityGroupData(dialogTool); } //--------------------------------------------------------------------------------------------------------------------- diff --git a/src/libs/vtools/tools/drawTools/operation/vtoolrotation.cpp b/src/libs/vtools/tools/drawTools/operation/vtoolrotation.cpp index 1d4428f33..b03cc7048 100644 --- a/src/libs/vtools/tools/drawTools/operation/vtoolrotation.cpp +++ b/src/libs/vtools/tools/drawTools/operation/vtoolrotation.cpp @@ -362,9 +362,8 @@ void VToolRotation::SaveDialog(QDomElement &domElement, QList &oldDepen doc->SetAttribute(domElement, AttrAngle, dialogTool->GetAngle()); doc->SetAttribute(domElement, AttrSuffix, dialogTool->GetSuffix()); - // Save for later use. - hasLinkedGroup = dialogTool->HasLinkedVisibilityGroup(); - groupName = dialogTool->GetVisibilityGroupName(); + // Save visibility data for later use + SaveVisibilityGroupData(dialogTool); } //---------------------------------------------------------------------------------------------------------------------