From 40fb6e69007a4830e71dbcaa57a9e5b89587945a Mon Sep 17 00:00:00 2001 From: Roman Telezhynskyi Date: Fri, 4 Dec 2020 09:24:31 +0200 Subject: [PATCH] New option Reset label position. --- ChangeLog.txt | 1 + src/app/valentina/xml/vpattern.cpp | 16 ++++++++-------- .../drawTools/operation/vabstractoperation.h | 2 +- .../toolpoint/tooldoublepoint/vtooltruedarts.h | 4 ++-- .../toolpoint/toolsinglepoint/vtoolbasepoint.h | 4 ++-- .../toolpoint/toolsinglepoint/vtoolsinglepoint.h | 4 ++-- .../tools/drawTools/toolpoint/vabstractpoint.h | 2 -- src/libs/vtools/tools/drawTools/vdrawtool.cpp | 7 +++++++ src/libs/vtools/tools/drawTools/vdrawtool.h | 9 +++++++++ src/libs/vtools/tools/toolsdef.h | 4 ++++ 10 files changed, 36 insertions(+), 17 deletions(-) diff --git a/ChangeLog.txt b/ChangeLog.txt index 045473ba3..012787a6f 100644 --- a/ChangeLog.txt +++ b/ChangeLog.txt @@ -4,6 +4,7 @@ - Fix incorrect nesting status for valid cases. - Improve crossing check for the layout algorithm. - Fix crash after creating an elliptical arc. +- New option Reset label position. # Version 0.7.40 Nov 23, 2020 - New function Warning. diff --git a/src/app/valentina/xml/vpattern.cpp b/src/app/valentina/xml/vpattern.cpp index 072fa2379..ebb976f53 100644 --- a/src/app/valentina/xml/vpattern.cpp +++ b/src/app/valentina/xml/vpattern.cpp @@ -1175,8 +1175,8 @@ void VPattern::PointsCommonAttributes(const QDomElement &domElement, VToolSingle void VPattern::PointsCommonAttributes(const QDomElement &domElement, quint32 &id, qreal &mx, qreal &my) { ToolsCommonAttributes(domElement, id); - mx = qApp->toPixel(GetParametrDouble(domElement, AttrMx, QStringLiteral("10.0"))); - my = qApp->toPixel(GetParametrDouble(domElement, AttrMy, QStringLiteral("15.0"))); + mx = qApp->toPixel(GetParametrDouble(domElement, AttrMx, QString::number(labelMX))); + my = qApp->toPixel(GetParametrDouble(domElement, AttrMy, QString::number(labelMY))); } //--------------------------------------------------------------------------------------------------------------------- @@ -1184,8 +1184,8 @@ void VPattern::DrawPointsCommonAttributes(const QDomElement &domElement, quint32 QString ¬es) { DrawToolsCommonAttributes(domElement, id, notes); - mx = qApp->toPixel(GetParametrDouble(domElement, AttrMx, QStringLiteral("10.0"))); - my = qApp->toPixel(GetParametrDouble(domElement, AttrMy, QStringLiteral("15.0"))); + mx = qApp->toPixel(GetParametrDouble(domElement, AttrMx, QString::number(labelMX))); + my = qApp->toPixel(GetParametrDouble(domElement, AttrMy, QString::number(labelMY))); } //--------------------------------------------------------------------------------------------------------------------- @@ -2459,13 +2459,13 @@ void VPattern::ParseToolTrueDarts(VMainGraphicsScene *scene, const QDomElement & initData.dartP3Id = GetParametrUInt(domElement, AttrDartP3, NULL_ID_STR); initData.name1 = GetParametrString(domElement, AttrName1, QChar('A')); - initData.mx1 = qApp->toPixel(GetParametrDouble(domElement, AttrMx1, QStringLiteral("10.0"))); - initData.my1 = qApp->toPixel(GetParametrDouble(domElement, AttrMy1, QStringLiteral("15.0"))); + initData.mx1 = qApp->toPixel(GetParametrDouble(domElement, AttrMx1, QString::number(labelMX))); + initData.my1 = qApp->toPixel(GetParametrDouble(domElement, AttrMy1, QString::number(labelMY))); initData.showLabel1 = GetParametrBool(domElement, AttrShowLabel1, trueStr); initData.name2 = GetParametrString(domElement, AttrName2, QChar('A')); - initData.mx2 = qApp->toPixel(GetParametrDouble(domElement, AttrMx2, QStringLiteral("10.0"))); - initData.my2 = qApp->toPixel(GetParametrDouble(domElement, AttrMy2, QStringLiteral("15.0"))); + initData.mx2 = qApp->toPixel(GetParametrDouble(domElement, AttrMx2, QString::number(labelMX))); + initData.my2 = qApp->toPixel(GetParametrDouble(domElement, AttrMy2, QString::number(labelMY))); initData.showLabel2 = GetParametrBool(domElement, AttrShowLabel2, trueStr); VToolTrueDarts::Create(initData); diff --git a/src/libs/vtools/tools/drawTools/operation/vabstractoperation.h b/src/libs/vtools/tools/drawTools/operation/vabstractoperation.h index 87c897fda..addd73c68 100644 --- a/src/libs/vtools/tools/drawTools/operation/vabstractoperation.h +++ b/src/libs/vtools/tools/drawTools/operation/vabstractoperation.h @@ -152,7 +152,7 @@ protected: virtual void ReadToolAttributes(const QDomElement &domElement) override; virtual void SaveOptions(QDomElement &tag, QSharedPointer &obj) override; - void UpdateNamePosition(quint32 id, const QPointF &pos); + virtual void UpdateNamePosition(quint32 id, const QPointF &pos) override; void SaveSourceDestination(QDomElement &tag); template diff --git a/src/libs/vtools/tools/drawTools/toolpoint/tooldoublepoint/vtooltruedarts.h b/src/libs/vtools/tools/drawTools/toolpoint/tooldoublepoint/vtooltruedarts.h index 0d97b7505..5d62bf281 100644 --- a/src/libs/vtools/tools/drawTools/toolpoint/tooldoublepoint/vtooltruedarts.h +++ b/src/libs/vtools/tools/drawTools/toolpoint/tooldoublepoint/vtooltruedarts.h @@ -56,8 +56,8 @@ struct VToolTrueDartsInitData : VDrawToolInitData dartP2Id(NULL_ID), dartP3Id(NULL_ID), name1(), - mx1(10), - my1(15), + mx1(labelMX), + my1(labelMY), showLabel1(true), name2(), mx2(10), diff --git a/src/libs/vtools/tools/drawTools/toolpoint/toolsinglepoint/vtoolbasepoint.h b/src/libs/vtools/tools/drawTools/toolpoint/toolsinglepoint/vtoolbasepoint.h index 1b8bfbffe..5a778b7a6 100644 --- a/src/libs/vtools/tools/drawTools/toolpoint/toolsinglepoint/vtoolbasepoint.h +++ b/src/libs/vtools/tools/drawTools/toolpoint/toolsinglepoint/vtoolbasepoint.h @@ -50,8 +50,8 @@ struct VToolBasePointInitData : VToolSinglePointInitData VToolBasePointInitData() : VToolSinglePointInitData(), nameActivPP(), - x(10), - y(10) + x(labelMX), + y(labelMY) {} QString nameActivPP; diff --git a/src/libs/vtools/tools/drawTools/toolpoint/toolsinglepoint/vtoolsinglepoint.h b/src/libs/vtools/tools/drawTools/toolpoint/toolsinglepoint/vtoolsinglepoint.h index 8a14e8cb0..926a0b20e 100644 --- a/src/libs/vtools/tools/drawTools/toolpoint/toolsinglepoint/vtoolsinglepoint.h +++ b/src/libs/vtools/tools/drawTools/toolpoint/toolsinglepoint/vtoolsinglepoint.h @@ -49,8 +49,8 @@ struct VToolSinglePointInitData : VDrawToolInitData VToolSinglePointInitData() : VDrawToolInitData(), name(), - mx(5), - my(10), + mx(labelMX), + my(labelMY), showLabel(true) {} diff --git a/src/libs/vtools/tools/drawTools/toolpoint/vabstractpoint.h b/src/libs/vtools/tools/drawTools/toolpoint/vabstractpoint.h index e78ac1799..50b8f47c8 100644 --- a/src/libs/vtools/tools/drawTools/toolpoint/vabstractpoint.h +++ b/src/libs/vtools/tools/drawTools/toolpoint/vabstractpoint.h @@ -68,8 +68,6 @@ public slots: protected: void SetPointName(quint32 id, const QString &name); - virtual void UpdateNamePosition(quint32 id, const QPointF &pos)=0; - template static void InitToolConnections(VMainGraphicsScene *scene, T *tool); diff --git a/src/libs/vtools/tools/drawTools/vdrawtool.cpp b/src/libs/vtools/tools/drawTools/vdrawtool.cpp index 9da4faddb..e0bcde203 100644 --- a/src/libs/vtools/tools/drawTools/vdrawtool.cpp +++ b/src/libs/vtools/tools/drawTools/vdrawtool.cpp @@ -185,6 +185,13 @@ QString VDrawTool::MakeToolTip() const return QString(); } +//--------------------------------------------------------------------------------------------------------------------- +void VDrawTool::UpdateNamePosition(quint32 id, const QPointF &pos) +{ + Q_UNUSED(id) + Q_UNUSED(pos) +} + //--------------------------------------------------------------------------------------------------------------------- bool VDrawTool::CorrectDisable(bool disable, const QString &namePP) const { diff --git a/src/libs/vtools/tools/drawTools/vdrawtool.h b/src/libs/vtools/tools/drawTools/vdrawtool.h index b64576135..37d943bdd 100644 --- a/src/libs/vtools/tools/drawTools/vdrawtool.h +++ b/src/libs/vtools/tools/drawTools/vdrawtool.h @@ -52,6 +52,7 @@ #include "../vdatatool.h" #include "../vgeometry/vpointf.h" #include "../vtools/undocommands/undogroup.h" +#include "../toolsdef.h" struct VDrawToolInitData : VAbstractToolInitData { @@ -120,6 +121,7 @@ protected: void SaveOption(QSharedPointer &obj); virtual void SaveOptions(QDomElement &tag, QSharedPointer &obj); virtual QString MakeToolTip() const; + virtual void UpdateNamePosition(quint32 id, const QPointF &pos); bool CorrectDisable(bool disable, const QString &namePP) const; @@ -241,6 +243,9 @@ void VDrawTool::ContextMenu(QGraphicsSceneContextMenuEvent *event, quint32 itemI actionShowLabel->setVisible(false); } + QAction *actionRestoreLabelPosition = menu.addAction(VDrawTool::tr("Restore label position")); + actionRestoreLabelPosition->setVisible(itemType == GOType::Point); + QAction *actionRemove = menu.addAction(QIcon::fromTheme(QStringLiteral("edit-delete")), VDrawTool::tr("Delete")); if (showRemove == RemoveOption::Enable) { @@ -299,6 +304,10 @@ void VDrawTool::ContextMenu(QGraphicsSceneContextMenuEvent *event, quint32 itemI { ChangeLabelVisibility(itemId, selectedAction->isChecked()); } + else if (selectedAction == actionRestoreLabelPosition) + { + UpdateNamePosition(itemId, QPointF(labelMX, labelMY)); + } else if (selectedAction->actionGroup() == actionsAddToGroup) { quint32 groupId = selectedAction->data().toUInt(); diff --git a/src/libs/vtools/tools/toolsdef.h b/src/libs/vtools/tools/toolsdef.h index cf144504b..52a849942 100644 --- a/src/libs/vtools/tools/toolsdef.h +++ b/src/libs/vtools/tools/toolsdef.h @@ -47,6 +47,10 @@ struct SourceItem Q_DECLARE_METATYPE(SourceItem) Q_DECLARE_TYPEINFO(SourceItem, Q_MOVABLE_TYPE); +// Default label position +const int labelMX = 10; +const int labelMY = 15; + QVector SourceToObjects(const QVector &source); QString OriginAlias(quint32 id, const QVector &source, const QSharedPointer &obj);