Don't convert measurement from the main app. Compare two lists of measurements.
--HG-- branch : feature
This commit is contained in:
parent
8146f53be3
commit
498aaa4ea2
|
@ -2818,7 +2818,7 @@ void MainWindow::LoadPattern(const QString &fileName)
|
||||||
if (qApp->patternType() == MeasurementsType::Standard)
|
if (qApp->patternType() == MeasurementsType::Standard)
|
||||||
{
|
{
|
||||||
VStandardMeasurements m(pattern);
|
VStandardMeasurements m(pattern);
|
||||||
VDomDocument::ValidateXML("://schema/standard_measurements.xsd", path);
|
VDomDocument::ValidateXML(VVSTConverter::CurrentSchema, path);
|
||||||
m.setXMLContent(path);
|
m.setXMLContent(path);
|
||||||
if (m.MUnit() == Unit::Inch)
|
if (m.MUnit() == Unit::Inch)
|
||||||
{
|
{
|
||||||
|
@ -2833,7 +2833,7 @@ void MainWindow::LoadPattern(const QString &fileName)
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
VDomDocument::ValidateXML("://schema/individual_measurements.xsd", path);
|
VDomDocument::ValidateXML(VVITConverter::CurrentSchema, path);
|
||||||
}
|
}
|
||||||
ToolBarOption();
|
ToolBarOption();
|
||||||
}
|
}
|
||||||
|
@ -3084,20 +3084,27 @@ QString MainWindow::CheckPathToMeasurements(const QString &path)
|
||||||
|
|
||||||
if (patternType == MeasurementsType::Standard)
|
if (patternType == MeasurementsType::Standard)
|
||||||
{
|
{
|
||||||
VVSTConverter converter(mPath);
|
|
||||||
converter.Convert();
|
|
||||||
|
|
||||||
VDomDocument::ValidateXML(VVSTConverter::CurrentSchema, mPath);
|
VDomDocument::ValidateXML(VVSTConverter::CurrentSchema, mPath);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
VVITConverter converter(mPath);
|
|
||||||
converter.Convert();
|
|
||||||
|
|
||||||
VDomDocument::ValidateXML(VVITConverter::CurrentSchema, mPath);
|
VDomDocument::ValidateXML(VVITConverter::CurrentSchema, mPath);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const QStringList mList = m->ListAll();
|
||||||
|
const QStringList pList = doc->ListMeasurements();
|
||||||
|
|
||||||
delete m;
|
delete m;
|
||||||
|
|
||||||
|
const QSet<QString> match = pList.toSet().subtract(mList.toSet());
|
||||||
|
if (not match.isEmpty())
|
||||||
|
{
|
||||||
|
VException e("Measurement file doesn't include all required measurements.");
|
||||||
|
e.AddMoreInformation(QString("Please, additionaly provide: %1")
|
||||||
|
.arg(QStringList(match.toList()).join(", ")));
|
||||||
|
throw e;
|
||||||
|
}
|
||||||
|
|
||||||
doc->SetPath(mPath);
|
doc->SetPath(mPath);
|
||||||
PatternWasModified(false);
|
PatternWasModified(false);
|
||||||
return mPath;
|
return mPath;
|
||||||
|
|
Loading…
Reference in New Issue
Block a user