From ac38d662bf527e256730dc84ce6fcc4cf7d051c1 Mon Sep 17 00:00:00 2001 From: Roman Telezhynskyi Date: Fri, 10 Jan 2020 09:58:16 +0200 Subject: [PATCH] Incorrect conversion to newer curve format. (grafted from d43e0ad7a8b691e3403c96ec1ec17eceac5c235f) --HG-- branch : develop --- ChangeLog.txt | 1 + src/app/valentina/xml/vpattern.cpp | 10 ++++++++-- src/app/valentina/xml/vpattern.h | 4 ++-- 3 files changed, 11 insertions(+), 4 deletions(-) diff --git a/ChangeLog.txt b/ChangeLog.txt index a05da0315..e33a1db31 100644 --- a/ChangeLog.txt +++ b/ChangeLog.txt @@ -75,6 +75,7 @@ - Fixed translation numbers in scientific notation. - Fix dialog for tool Point along perpendicular. No memory of line color settings. - Fix crash after uniting three pieces in sequence. +- Incorrect conversion to newer curve format. # Version 0.6.1 October 23, 2018 - [#885] Regression. Broken support for multi size measurements. diff --git a/src/app/valentina/xml/vpattern.cpp b/src/app/valentina/xml/vpattern.cpp index adf8cc314..7e6791a57 100644 --- a/src/app/valentina/xml/vpattern.cpp +++ b/src/app/valentina/xml/vpattern.cpp @@ -2469,7 +2469,7 @@ void VPattern::ParseToolTrueDarts(VMainGraphicsScene *scene, const QDomElement & //--------------------------------------------------------------------------------------------------------------------- // TODO. Delete if minimal supported version is 0.2.7 -void VPattern::ParseOldToolSpline(VMainGraphicsScene *scene, const QDomElement &domElement, const Document &parse) +void VPattern::ParseOldToolSpline(VMainGraphicsScene *scene, QDomElement &domElement, const Document &parse) { SCASSERT(scene != nullptr) Q_ASSERT_X(not domElement.isNull(), Q_FUNC_INFO, "domElement is null"); @@ -2505,6 +2505,9 @@ void VPattern::ParseOldToolSpline(VMainGraphicsScene *scene, const QDomElement & spline->SetColor(color); VToolSpline::Create(initData, spline); + + // Convert to newer format + SetAttribute(domElement, AttrType, VToolSpline::ToolType); } catch (const VExceptionBadId &e) { @@ -2637,7 +2640,7 @@ void VPattern::ParseToolCubicBezier(VMainGraphicsScene *scene, const QDomElement } //--------------------------------------------------------------------------------------------------------------------- -void VPattern::ParseOldToolSplinePath(VMainGraphicsScene *scene, const QDomElement &domElement, const Document &parse) +void VPattern::ParseOldToolSplinePath(VMainGraphicsScene *scene, QDomElement &domElement, const Document &parse) { SCASSERT(scene != nullptr) Q_ASSERT_X(not domElement.isNull(), Q_FUNC_INFO, "domElement is null"); @@ -2696,6 +2699,9 @@ void VPattern::ParseOldToolSplinePath(VMainGraphicsScene *scene, const QDomEleme path->SetApproximationScale(approximationScale); VToolSplinePath::Create(initData, path); + + // Convert to newer format + SetAttribute(domElement, AttrType, VToolSplinePath::ToolType); } catch (const VExceptionBadId &e) { diff --git a/src/app/valentina/xml/vpattern.h b/src/app/valentina/xml/vpattern.h index 12b21681f..d64960fdd 100644 --- a/src/app/valentina/xml/vpattern.h +++ b/src/app/valentina/xml/vpattern.h @@ -220,7 +220,7 @@ private: // TODO. Delete if minimal supported version is 0.2.7 Q_STATIC_ASSERT_X(VPatternConverter::PatternMinVer < FORMAT_VERSION(0, 2, 7), "Time to refactor the code."); - void ParseOldToolSpline(VMainGraphicsScene *scene, const QDomElement &domElement, const Document &parse); + void ParseOldToolSpline(VMainGraphicsScene *scene, QDomElement &domElement, const Document &parse); void ParseToolSpline(VMainGraphicsScene *scene, QDomElement &domElement, const Document &parse); void ParseToolCubicBezier(VMainGraphicsScene *scene, const QDomElement &domElement, const Document &parse); @@ -228,7 +228,7 @@ private: // TODO. Delete if minimal supported version is 0.2.7 Q_STATIC_ASSERT_X(VPatternConverter::PatternMinVer < FORMAT_VERSION(0, 2, 7), "Time to refactor the code."); - void ParseOldToolSplinePath(VMainGraphicsScene *scene, const QDomElement &domElement, const Document &parse); + void ParseOldToolSplinePath(VMainGraphicsScene *scene, QDomElement &domElement, const Document &parse); void ParseToolSplinePath(VMainGraphicsScene *scene, const QDomElement &domElement, const Document &parse); void ParseToolCubicBezierPath(VMainGraphicsScene *scene, const QDomElement &domElement, const Document &parse);