diff --git a/src/app/valentina/xml/vpattern.cpp b/src/app/valentina/xml/vpattern.cpp index 2a467cc7a..1ee235205 100644 --- a/src/app/valentina/xml/vpattern.cpp +++ b/src/app/valentina/xml/vpattern.cpp @@ -2430,8 +2430,7 @@ void VPattern::PrepareForParse(const Document &parse) TestUniqueId(); sceneDraw->clear(); sceneDetail->clear(); - data->Clear(); - UpdateMeasurements(); + data->ClearForFullParse(); nameActivPP.clear(); patternPieces.clear(); tools.clear(); @@ -2452,35 +2451,6 @@ void VPattern::PrepareForParse(const Document &parse) } } -//--------------------------------------------------------------------------------------------------------------------- -void VPattern::UpdateMeasurements() -{ -// try -// { -// const QString path = MPath(); -// if (MType() == MeasurementsType::Standard) -// { -// VStandardMeasurements m(data); -// ValidateXML("://schema/standard_measurements.xsd", path); -// m.setXMLContent(path); -// m.Measurements(); -// } -// else -// { -// VIndividualMeasurements m(data); -// ValidateXML("://schema/individual_measurements.xsd", path); -// m.setXMLContent(path); -// m.Measurements(); -// } -// } -// catch (VException &e) -// { -// e.CriticalMessageBox(tr("File error."), qApp->getMainWindow()); -// emit ClearMainWindow(); -// return; -// } -} - //--------------------------------------------------------------------------------------------------------------------- void VPattern::ToolsCommonAttributes(const QDomElement &domElement, quint32 &id) { diff --git a/src/app/valentina/xml/vpattern.h b/src/app/valentina/xml/vpattern.h index 21b3e5fb8..42eae0771 100644 --- a/src/app/valentina/xml/vpattern.h +++ b/src/app/valentina/xml/vpattern.h @@ -112,7 +112,6 @@ private: const Document &parse, const QString& type); void ParseIncrementsElement(const QDomNode& node); void PrepareForParse(const Document &parse); - void UpdateMeasurements(); void ToolsCommonAttributes(const QDomElement &domElement, quint32 &id); void PointsCommonAttributes(const QDomElement &domElement, quint32 &id, QString &name, qreal &mx, qreal &my, QString &typeLine, QString &lineColor); diff --git a/src/libs/vpatterndb/vcontainer.cpp b/src/libs/vpatterndb/vcontainer.cpp index 729cf1015..dc895d5ae 100644 --- a/src/libs/vpatterndb/vcontainer.cpp +++ b/src/libs/vpatterndb/vcontainer.cpp @@ -235,6 +235,25 @@ void VContainer::Clear() ClearUniqueNames(); } +//--------------------------------------------------------------------------------------------------------------------- +void VContainer::ClearForFullParse() +{ + qCDebug(vCon, "Clearing container data for full parse."); + _id = NULL_ID; + + d->details.clear(); + ClearVariables(VarType::Increment); + ClearVariables(VarType::ArcLength); + ClearVariables(VarType::LineAngle); + ClearVariables(VarType::LineLength); + ClearVariables(VarType::SplineLength); + ClearVariables(VarType::ArcRadius); + ClearVariables(VarType::ArcAngle); + ClearVariables(VarType::SplineAngle); + ClearGObjects(); + ClearUniqueNames(); +} + //--------------------------------------------------------------------------------------------------------------------- /** * @brief ClearObject points, splines, arcs, spline paths will be cleared. diff --git a/src/libs/vpatterndb/vcontainer.h b/src/libs/vpatterndb/vcontainer.h index b230e6620..492ad2be5 100644 --- a/src/libs/vpatterndb/vcontainer.h +++ b/src/libs/vpatterndb/vcontainer.h @@ -126,6 +126,7 @@ public: void UpdateDetail(quint32 id, const VDetail &detail); void Clear(); + void ClearForFullParse(); void ClearGObjects(); void ClearCalculationGObjects(); void ClearVariables(const VarType &type = VarType::Unknown);