From a3caf574cb037e03835001b86abf408b50b7a555 Mon Sep 17 00:00:00 2001 From: Roman Telezhynskyi Date: Thu, 11 Jun 2015 13:15:57 +0300 Subject: [PATCH] Refactoring. Move translation variables outside VApplication. --HG-- branch : feature --- src/app/container/container.pri | 6 +- src/app/container/vcontainer.cpp | 2 +- src/app/container/vformula.cpp | 8 +- src/app/container/vtranslatevars.cpp | 1538 +++++++++++++++++ src/app/container/vtranslatevars.h | 83 + src/app/core/vapplication.cpp | 1514 +--------------- src/app/core/vapplication.h | 38 +- src/app/dialogs/app/dialogincrements.cpp | 5 +- src/app/dialogs/tools/dialogalongline.cpp | 4 +- src/app/dialogs/tools/dialogarc.cpp | 12 +- src/app/dialogs/tools/dialogarcwithlength.cpp | 12 +- src/app/dialogs/tools/dialogbisector.cpp | 4 +- .../tools/dialogcurveintersectaxis.cpp | 4 +- src/app/dialogs/tools/dialogcutarc.cpp | 4 +- src/app/dialogs/tools/dialogcutspline.cpp | 4 +- src/app/dialogs/tools/dialogcutsplinepath.cpp | 4 +- .../dialogs/tools/dialogeditwrongformula.cpp | 34 +- src/app/dialogs/tools/dialogendline.cpp | 8 +- .../dialogs/tools/dialoglineintersectaxis.cpp | 4 +- src/app/dialogs/tools/dialognormal.cpp | 4 +- .../tools/dialogpointfromcircleandtangent.cpp | 4 +- .../dialogs/tools/dialogpointofcontact.cpp | 4 +- .../dialogpointofintersectioncircles.cpp | 8 +- src/app/dialogs/tools/dialogshoulderpoint.cpp | 4 +- src/app/dialogs/tools/dialogtool.cpp | 2 +- src/app/main.cpp | 2 + src/app/tools/drawTools/vtoolalongline.cpp | 2 +- src/app/tools/drawTools/vtoolarc.cpp | 6 +- .../tools/drawTools/vtoolarcwithlength.cpp | 6 +- src/app/tools/drawTools/vtoolbisector.cpp | 2 +- .../drawTools/vtoolcurveintersectaxis.cpp | 2 +- src/app/tools/drawTools/vtoolcutarc.cpp | 2 +- src/app/tools/drawTools/vtoolcutspline.cpp | 2 +- .../tools/drawTools/vtoolcutsplinepath.cpp | 2 +- src/app/tools/drawTools/vtoolendline.cpp | 4 +- .../drawTools/vtoollineintersectaxis.cpp | 2 +- src/app/tools/drawTools/vtoolnormal.cpp | 2 +- .../tools/drawTools/vtoolpointofcontact.cpp | 2 +- .../tools/drawTools/vtoolshoulderpoint.cpp | 2 +- src/app/visualization/visualization.cpp | 2 +- src/app/xml/vindividualmeasurements.cpp | 3 +- src/app/xml/vstandardmeasurements.cpp | 6 +- 42 files changed, 1739 insertions(+), 1624 deletions(-) create mode 100644 src/app/container/vtranslatevars.cpp create mode 100644 src/app/container/vtranslatevars.h diff --git a/src/app/container/container.pri b/src/app/container/container.pri index 095565326..e1c016619 100644 --- a/src/app/container/container.pri +++ b/src/app/container/container.pri @@ -18,7 +18,8 @@ SOURCES += \ $$PWD/variables/vcurvevariable.cpp \ container/variables/vcurveangle.cpp \ container/variables/varcangle.cpp \ - container/variables/vsplineangle.cpp + container/variables/vsplineangle.cpp \ + container/vtranslatevars.cpp HEADERS += \ $$PWD/vcontainer.h \ @@ -45,4 +46,5 @@ HEADERS += \ $$PWD/variables/vcurvevariable_p.h \ container/variables/vcurveangle.h \ container/variables/varcangle.h \ - container/variables/vsplineangle.h + container/variables/vsplineangle.h \ + container/vtranslatevars.h diff --git a/src/app/container/vcontainer.cpp b/src/app/container/vcontainer.cpp index cd8164ac4..bfc72a4ea 100644 --- a/src/app/container/vcontainer.cpp +++ b/src/app/container/vcontainer.cpp @@ -489,7 +489,7 @@ const QMap > VContainer::DataVar(const VarType &type) if (i.value()->GetType() == type) { QSharedPointer var = GetVariable(i.key()); - map.insert(qApp->VarToUser(i.key()), var); + map.insert(qApp->TrVars()->VarToUser(i.key()), var); } } return map; diff --git a/src/app/container/vformula.cpp b/src/app/container/vformula.cpp index 232a70ac6..b897cf4bf 100644 --- a/src/app/container/vformula.cpp +++ b/src/app/container/vformula.cpp @@ -42,7 +42,7 @@ VFormula::VFormula() //--------------------------------------------------------------------------------------------------------------------- VFormula::VFormula(const QString &formula, const VContainer *container) - :formula(qApp->FormulaToUser(formula)), value(QString(tr("Error"))), checkZero(true), data(container), + :formula(qApp->TrVars()->FormulaToUser(formula)), value(QString(tr("Error"))), checkZero(true), data(container), toolId(NULL_ID), postfix(QString()), _error(true), dValue(0) { this->formula.replace("\n", " ");// Replace line return with spaces for calc if exist @@ -102,7 +102,7 @@ QString VFormula::GetFormula(FormulaType type) const } else { - return qApp->FormulaFromUser(formula); + return qApp->TrVars()->FormulaFromUser(formula); } } @@ -113,7 +113,7 @@ void VFormula::SetFormula(const QString &value, FormulaType type) { if (type == FormulaType::ToUser) { - formula = qApp->FormulaToUser(value); + formula = qApp->TrVars()->FormulaToUser(value); } else { @@ -226,7 +226,7 @@ void VFormula::Eval() try { Calculator *cal = new Calculator(data); - QString expression = qApp->FormulaFromUser(formula); + QString expression = qApp->TrVars()->FormulaFromUser(formula); const qreal result = cal->EvalFormula(expression); delete cal; diff --git a/src/app/container/vtranslatevars.cpp b/src/app/container/vtranslatevars.cpp new file mode 100644 index 000000000..5d50a3046 --- /dev/null +++ b/src/app/container/vtranslatevars.cpp @@ -0,0 +1,1538 @@ +/************************************************************************ + ** + ** @file vtranslatevars.cpp + ** @author Roman Telezhynskyi + ** @date 10 6, 2015 + ** + ** @brief + ** @copyright + ** This source code is part of the Valentine project, a pattern making + ** program, whose allow create and modeling patterns of clothing. + ** Copyright (C) 2015 Valentina project + ** All Rights Reserved. + ** + ** Valentina is free software: you can redistribute it and/or modify + ** it under the terms of the GNU General Public License as published by + ** the Free Software Foundation, either version 3 of the License, or + ** (at your option) any later version. + ** + ** Valentina is distributed in the hope that it will be useful, + ** but WITHOUT ANY WARRANTY; without even the implied warranty of + ** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + ** GNU General Public License for more details. + ** + ** You should have received a copy of the GNU General Public License + ** along with Valentina. If not, see . + ** + *************************************************************************/ + +#include "vtranslatevars.h" +#include "../options.h" +#include "../container/calculator.h" + +using namespace qmu; + +//--------------------------------------------------------------------------------------------------------------------- +VTranslateVars::VTranslateVars(const VSettings *settings) + :measurements(QMap()), guiTexts(QMap()), + descriptions(QMap()), variables(QMap()), + functions(QMap()), postfixOperators(QMap()), + stDescriptions(QMap()), settings(settings) +{ + InitMeasurements(); + InitVariables(); + InitFunctions(); + InitPostfixOperators(); + InitSTDescriptions(); +} + +//--------------------------------------------------------------------------------------------------------------------- +VTranslateVars::~VTranslateVars() +{} + +//--------------------------------------------------------------------------------------------------------------------- +void VTranslateVars::InitMeasurements() +{ + //Note. We can't use here function and variables because lupdate tool doesn't see string in variables and doesn't + //mark such string to translation. + QmuTranslation m; + QmuTranslation g; + QmuTranslation d; + + //================================================================================================================= + // head_and_neck + m = QmuTranslation::translate("Measurements", "head_girth", + "Short measurement name. Don't use math symbols in name!!!!"); + g = QmuTranslation::translate("MeasurementsFullNames", "Head girth", "Full measurement name"); + d = QmuTranslation::translate("MeasurementsDescriptions", "Around fullest part of Head", + "Full measurement description"); + InitMeasurement(headGirth_M, m, g, d); + //================================================================================================================= + m = QmuTranslation::translate("Measurements", "mid_neck_girth", + "Short measurement name. Don't use math symbols in name!!!!"); + g = QmuTranslation::translate("MeasurementsFullNames", "Mid-neck girth", "Full measurement name"); + d = QmuTranslation::translate("MeasurementsDescriptions", "Around middle part of Neck", + "Full measurement description"); + InitMeasurement(midNeckGirth_M, m, g, d); + //================================================================================================================= + m = QmuTranslation::translate("Measurements", "neck_base_girth", + "Short measurement name. Don't use math symbols in name!!!!"); + g = QmuTranslation::translate("MeasurementsFullNames", "Neck Base girth", "Full measurement name"); + d = QmuTranslation::translate("MeasurementsDescriptions", "Around Neck at base", "Full measurement description"); + InitMeasurement(neckBaseGirth_M, m, g, d); + //================================================================================================================= + m = QmuTranslation::translate("Measurements", "head_and_neck_length", + "Short measurement name. Don't use math symbols in name!!!!"); + g = QmuTranslation::translate("MeasurementsFullNames", "Head and Neck length", "Full measurement name"); + d = QmuTranslation::translate("MeasurementsDescriptions", "Vertical Distance from Crown to Nape", + "Full measurement description"); + InitMeasurement(headAndNeckLength_M, m, g, d); + //================================================================================================================= + // torso + m = QmuTranslation::translate("Measurements", "center_front_waist_length", + "Short measurement name. Don't use math symbols in name!!!!"); + g = QmuTranslation::translate("MeasurementsFullNames", "Front Center length", "Full measurement name"); + d = QmuTranslation::translate("MeasurementsDescriptions", "Front Neck Center over tape at Bustline to Front Waist " + "Center", "Full measurement description"); + InitMeasurement(centerFrontWaistLength_M, m, g, d); + //================================================================================================================= + m = QmuTranslation::translate("Measurements", "center_back_waist_length", + "Short measurement name. Don't use math symbols in name!!!!"); + g = QmuTranslation::translate("MeasurementsFullNames", "Back Center length", "Full measurement name"); + d = QmuTranslation::translate("MeasurementsDescriptions", "Back Neck Center to Back Waist Center", + "Full measurement description"); + InitMeasurement(centerBackWaistLength_M, m, g, d); + //================================================================================================================= + m = QmuTranslation::translate("Measurements", "shoulder_length", + "Short measurement name. Don't use math symbols in name!!!!"); + g = QmuTranslation::translate("MeasurementsFullNames", "Shoulder length", "Full measurement name"); + d = QmuTranslation::translate("MeasurementsDescriptions", "NeckPoint to ShoulderTip", + "Full measurement description"); + InitMeasurement(shoulderLength_M, m, g, d); + //================================================================================================================= + m = QmuTranslation::translate("Measurements", "side_waist_length", + "Short measurement name. Don't use math symbols in name!!!!"); + g = QmuTranslation::translate("MeasurementsFullNames", "Side Waist length", "Full measurement name"); + d = QmuTranslation::translate("MeasurementsDescriptions", "Armpit to Waist side", "Full measurement description"); + InitMeasurement(sideWaistLength_M, m, g, d); + //================================================================================================================= + m = QmuTranslation::translate("Measurements", "trunk_length", + "Short measurement name. Don't use math symbols in name!!!!"); + g = QmuTranslation::translate("MeasurementsFullNames", "Trunk length", "Full measurement name"); + d = QmuTranslation::translate("MeasurementsDescriptions", + "Around Body from middle of Shoulder length to BustPoint to Crotch up back to " + "beginning point", "Full measurement description"); + InitMeasurement(trunkLength_M, m, g, d); + //================================================================================================================= + m = QmuTranslation::translate("Measurements", "shoulder_girth", + "Short measurement name. Don't use math symbols in name!!!!"); + g = QmuTranslation::translate("MeasurementsFullNames", "Shoulder girth", "Full measurement name"); + d = QmuTranslation::translate("MeasurementsDescriptions", "Around Arms and Torso, at bicep level parallel to " + "floor, with arms hanging at the sides", "Full measurement description"); + InitMeasurement(shoulderGirth_M, m, g, d); + //================================================================================================================= + m = QmuTranslation::translate("Measurements", "upper_chest_girth", + "Short measurement name. Don't use math symbols in name!!!!"); + g = QmuTranslation::translate("MeasurementsFullNames", "Upper Chest girth", "Full measurement name"); + d = QmuTranslation::translate("MeasurementsDescriptions", "Around Chest at Armfold level, will be parallel to " + "floor across back, will not be parallel to floor across front chest", + "Full measurement description"); + InitMeasurement(upperChestGirth_M, m, g, d); + //================================================================================================================= + m = QmuTranslation::translate("Measurements", "bust_girth", + "Short measurement name. Don't use math symbols in name!!!!"); + g = QmuTranslation::translate("MeasurementsFullNames", "Bust girth", "Full measurement name"); + d = QmuTranslation::translate("MeasurementsDescriptions", "Around fullest part of Bust, parallel to floor", + "Full measurement description"); + InitMeasurement(bustGirth_M, m, g, d); + //================================================================================================================= + m = QmuTranslation::translate("Measurements", "under_bust_girth", + "Short measurement name. Don't use math symbols in name!!!!"); + g = QmuTranslation::translate("MeasurementsFullNames", "Under Bust girth", "Full measurement name"); + d = QmuTranslation::translate("MeasurementsDescriptions", "Around Chest below the Bust, parallel to floor", + "Full measurement description"); + InitMeasurement(underBustGirth_M, m, g, d); + //================================================================================================================= + m = QmuTranslation::translate("Measurements", "waist_girth", + "Short measurement name. Don't use math symbols in name!!!!"); + g = QmuTranslation::translate("MeasurementsFullNames", "Waist girth", "Full measurement name"); + d = QmuTranslation::translate("MeasurementsDescriptions", "Tie a string around smallest part of waist, keep string " + "tied while taking meaasurements. Not usually parallel to floor for front waist or " + "back waist.", + "Full measurement description"); + InitMeasurement(waistGirth_M, m, g, d); + //================================================================================================================= + m = QmuTranslation::translate("Measurements", "high_hip_girth", + "Short measurement name. Don't use math symbols in name!!!!"); + g = QmuTranslation::translate("MeasurementsFullNames", "HighHip girth", "Full measurement name"); + d = QmuTranslation::translate("MeasurementsDescriptions", "Around HighHip, parallel to floor", + "Full measurement description"); + InitMeasurement(highHipGirth_M, m, g, d); + //================================================================================================================= + m = QmuTranslation::translate("Measurements", "hip_girth", + "Short measurement name. Don't use math symbols in name!!!!"); + g = QmuTranslation::translate("MeasurementsFullNames", "Hip girth", "Full measurement name"); + d = QmuTranslation::translate("MeasurementsDescriptions", "Around Hip, parallel to floor", + "Full measurement description"); + InitMeasurement(hipGirth_M, m, g, d); + //================================================================================================================= + m = QmuTranslation::translate("Measurements", "upper_front_chest_width", + "Short measurement name. Don't use math symbols in name!!!!"); + g = QmuTranslation::translate("MeasurementsFullNames", "Front Upper Chest width", "Full measurement name"); + d = QmuTranslation::translate("MeasurementsDescriptions", "Across Front UpperChest, smallest width from armscye to " + "armscye", "Full measurement description"); + InitMeasurement(upperFrontChestWidth_M, m, g, d); + //================================================================================================================= + m = QmuTranslation::translate("Measurements", "front_chest_width", + "Short measurement name. Don't use math symbols in name!!!!"); + g = QmuTranslation::translate("MeasurementsFullNames", "Front Chest width", "Full measurement name"); + d = QmuTranslation::translate("MeasurementsDescriptions", "Across Front Chest, from armfold to armfold", + "Full measurement description"); + InitMeasurement(frontChestWidth_M, m, g, d); + //================================================================================================================= + m = QmuTranslation::translate("Measurements", "across_front_shoulder_width", + "Short measurement name. Don't use math symbols in name!!!!"); + g = QmuTranslation::translate("MeasurementsFullNames", "Front Across Shoulder width", "Full measurement name"); + d = QmuTranslation::translate("MeasurementsDescriptions", "From ShoulderTip to ShoulderTip, across Front", + "Full measurement description"); + InitMeasurement(acrossFrontShoulderWidth_M, m, g, d); + //================================================================================================================= + m = QmuTranslation::translate("Measurements", "across_back_shoulder_width", + "Short measurement name. Don't use math symbols in name!!!!"); + g = QmuTranslation::translate("MeasurementsFullNames", "Back Across Shoulder width", "Full measurement name"); + d = QmuTranslation::translate("MeasurementsDescriptions", "From ShoulderTip to ShoulderTip, across Back", + "Full measurement description"); + InitMeasurement(acrossBackShoulderWidth_M, m, g, d); + //================================================================================================================= + m = QmuTranslation::translate("Measurements", "upper_back_width", + "Short measurement name. Don't use math symbols in name!!!!"); + g = QmuTranslation::translate("MeasurementsFullNames", "Back Upper Chest width", "Full measurement name"); + d = QmuTranslation::translate("MeasurementsDescriptions", "Across Back UpperChest, smallest width from armscye to " + "armscye", "Full measurement description"); + InitMeasurement(upperBackWidth_M, m, g, d); + //================================================================================================================= + m = QmuTranslation::translate("Measurements", "back_width", + "Short measurement name. Don't use math symbols in name!!!!"); + g = QmuTranslation::translate("MeasurementsFullNames", "Back Chest width", "Full measurement name"); + d = QmuTranslation::translate("MeasurementsDescriptions", "Across Back Chest, from armfold to armfold", + "Full measurement description"); + InitMeasurement(backWidth_M, m, g, d); + //================================================================================================================= + m = QmuTranslation::translate("Measurements", "bustpoint_to_bustpoint", + "Short measurement name. Don't use math symbols in name!!!!"); + g = QmuTranslation::translate("MeasurementsFullNames", "BustPoint to BustPoint", "Full measurement name"); + d = QmuTranslation::translate("MeasurementsDescriptions", "Distance between BustPoints, across Chest", + "Full measurement description"); + InitMeasurement(bustpointToBustpoint_M, m, g, d); + //================================================================================================================= + m = QmuTranslation::translate("Measurements", "halter_bustpoint_to_bustpoint", + "Short measurement name. Don't use math symbols in name!!!!"); + g = QmuTranslation::translate("MeasurementsFullNames", "Halter Bustpoint to Bustpoint", "Full measurement name"); + d = QmuTranslation::translate("MeasurementsDescriptions", "Distance from Bustpoint, behind neck, down to Bustpoint", + "Full measurement description"); + InitMeasurement(halterBustpointToBustpoint_M, m, g, d); + //================================================================================================================= + m = QmuTranslation::translate("Measurements", "neck_to_bustpoint", + "Short measurement name. Don't use math symbols in name!!!!"); + g = QmuTranslation::translate("MeasurementsFullNames", "NeckPoint to BustPoint", "Full measurement name"); + d = QmuTranslation::translate("MeasurementsDescriptions", "From NeckPoint to BustPoint", + "Full measurement description"); + InitMeasurement(neckToBustpoint_M, m, g, d); + //================================================================================================================= + m = QmuTranslation::translate("Measurements", "crotch_length", + "Short measurement name. Don't use math symbols in name!!!!"); + g = QmuTranslation::translate("MeasurementsFullNames", "Crotch length", "Full measurement name"); + d = QmuTranslation::translate("MeasurementsDescriptions", "From Front Waist Center, down to crotch, up to Back " + "Waist Center", "Full measurement description"); + InitMeasurement(crotchLength_M, m, g, d); + //================================================================================================================= + m = QmuTranslation::translate("Measurements", "rise_height", + "Short measurement name. Don't use math symbols in name!!!!"); + g = QmuTranslation::translate("MeasurementsFullNames", "Rise height", "Full measurement name"); + d = QmuTranslation::translate("MeasurementsDescriptions", "Sit on hard chair, measure from side waist straight " + "down to chair bottom", "Full measurement description"); + InitMeasurement(riseHeight_M, m, g, d); + //================================================================================================================= + m = QmuTranslation::translate("Measurements", "shoulder_drop", + "Short measurement name. Don't use math symbols in name!!!!"); + g = QmuTranslation::translate("MeasurementsFullNames", "Shoulder Drop", "Full measurement name"); + d = QmuTranslation::translate("MeasurementsDescriptions", "Vertical Distance from NeckPoint level to ShoulderTip " + "level", "Full measurement description"); + InitMeasurement(shoulderDrop_M, m, g, d); + //================================================================================================================= + m = QmuTranslation::translate("Measurements", "shoulder_slope_degrees", + "Short measurement name. Don't use math symbols in name!!!!"); + g = QmuTranslation::translate("MeasurementsFullNames", "Shoulder Slope degrees", "Full measurement name"); + d = QmuTranslation::translate("MeasurementsDescriptions", "Degrees of angle from NeckPoint to ShoulderTip – " + "requires goniometer", "Full measurement description"); + InitMeasurement(shoulderSlopeDegrees_M, m, g, d); + //================================================================================================================= + m = QmuTranslation::translate("Measurements", "front_shoulder_slope_length", + "Short measurement name. Don't use math symbols in name!!!!"); + g = QmuTranslation::translate("MeasurementsFullNames", "Front Shoulder Balance", "Full measurement name"); + d = QmuTranslation::translate("MeasurementsDescriptions", "ShoulderTip to Front Waist Center", + "Full measurement description"); + InitMeasurement(frontShoulderSlopeLength_M, m, g, d); + //================================================================================================================= + m = QmuTranslation::translate("Measurements", "back_shoulder_slope_length", + "Short measurement name. Don't use math symbols in name!!!!"); + g = QmuTranslation::translate("MeasurementsFullNames", "Back Shoulder Balance", "Full measurement name"); + d = QmuTranslation::translate("MeasurementsDescriptions", "ShoulderTip to Back Waist Center", + "Full measurement description"); + InitMeasurement(backShoulderSlopeLength_M, m, g, d); + //================================================================================================================= + m = QmuTranslation::translate("Measurements", "front_shoulder_to_waist_length", + "Short measurement name. Don't use math symbols in name!!!!"); + g = QmuTranslation::translate("MeasurementsFullNames", "Front Full Length", "Full measurement name"); + d = QmuTranslation::translate("MeasurementsDescriptions", "NeckPoint straight down front chest to Waistline", + "Full measurement description"); + InitMeasurement(frontShoulderToWaistLength_M, m, g, d); + //================================================================================================================= + m = QmuTranslation::translate("Measurements", "back_shoulder_to_waist_length", + "Short measurement name. Don't use math symbols in name!!!!"); + g = QmuTranslation::translate("MeasurementsFullNames", "Back Full Length", "Full measurement name"); + d = QmuTranslation::translate("MeasurementsDescriptions", "Back NeckPoint straight down back chest to Waistline", + "Full measurement description"); + InitMeasurement(backShoulderToWaistLength_M, m, g, d); + //================================================================================================================= + m = QmuTranslation::translate("Measurements", "front_neck_arc", + "Short measurement name. Don't use math symbols in name!!!!"); + g = QmuTranslation::translate("MeasurementsFullNames", "Front Neck arc", "Full measurement name"); + d = QmuTranslation::translate("MeasurementsDescriptions", "NeckPoint to NeckPoint through Front Neck Center", + "Full measurement description"); + InitMeasurement(frontNeckArc_M, m, g, d); + //================================================================================================================= + m = QmuTranslation::translate("Measurements", "back_neck_arc", + "Short measurement name. Don't use math symbols in name!!!!"); + g = QmuTranslation::translate("MeasurementsFullNames", "Back Neck arc", "Full measurement name"); + d = QmuTranslation::translate("MeasurementsDescriptions", "NeckPoint to NeckPoint across Nape", + "Full measurement description"); + InitMeasurement(backNeckArc_M, m, g, d); + //================================================================================================================= + m = QmuTranslation::translate("Measurements", "front_upper_chest_arc", + "Short measurement name. Don't use math symbols in name!!!!"); + g = QmuTranslation::translate("MeasurementsFullNames", "Front upper-bust arc", "Full measurement name"); + d = QmuTranslation::translate("MeasurementsDescriptions", "Front upper-bust arc", "Full measurement description"); + InitMeasurement(frontUpperChestArc_M, m, g, d); + //================================================================================================================= + m = QmuTranslation::translate("Measurements", "back_upper_chest_arc", + "Short measurement name. Don't use math symbols in name!!!!"); + g = QmuTranslation::translate("MeasurementsFullNames", "Back UpperBust arc", "Full measurement name"); + d = QmuTranslation::translate("MeasurementsDescriptions", "Back UpperBust side to side", + "Full measurement description"); + InitMeasurement(backUpperChestArc_M, m, g, d); + //================================================================================================================= + m = QmuTranslation::translate("Measurements", "front_waist_arc", + "Short measurement name. Don't use math symbols in name!!!!"); + g = QmuTranslation::translate("MeasurementsFullNames", "Front Waist arc", "Full measurement name"); + d = QmuTranslation::translate("MeasurementsDescriptions", "Front Waist side to side", + "Full measurement description"); + InitMeasurement(frontWaistArc_M, m, g, d); + //================================================================================================================= + m = QmuTranslation::translate("Measurements", "back_waist_arc", + "Short measurement name. Don't use math symbols in name!!!!"); + g = QmuTranslation::translate("MeasurementsFullNames", "Back Waist arc", "Full measurement name"); + d = QmuTranslation::translate("MeasurementsDescriptions", "Back Waist side to side", + "Full measurement description"); + InitMeasurement(backWaistArc_M, m, g, d); + //================================================================================================================= + m = QmuTranslation::translate("Measurements", "front_upper_hip_arc", + "Short measurement name. Don't use math symbols in name!!!!"); + g = QmuTranslation::translate("MeasurementsFullNames", "Front UpperHip arc", "Full measurement name"); + d = QmuTranslation::translate("MeasurementsDescriptions", "Front UpperHip side to side", + "Full measurement description"); + InitMeasurement(frontUpperHipArc_M, m, g, d); + //================================================================================================================= + m = QmuTranslation::translate("Measurements", "back_upper_hip_arc", + "Short measurement name. Don't use math symbols in name!!!!"); + g = QmuTranslation::translate("MeasurementsFullNames", "Back UpperHip arc", "Full measurement name"); + d = QmuTranslation::translate("MeasurementsDescriptions", "Back UpperHip side to side", + "Full measurement description"); + InitMeasurement(backUpperHipArc_M, m, g, d); + //================================================================================================================= + m = QmuTranslation::translate("Measurements", "front_hip_arc", + "Short measurement name. Don't use math symbols in name!!!!"); + g = QmuTranslation::translate("MeasurementsFullNames", "Front Hip arc", "Full measurement name"); + d = QmuTranslation::translate("MeasurementsDescriptions", "Front Hip side to side", + "Full measurement description"); + InitMeasurement(frontHipArc_M, m, g, d); + //================================================================================================================= + m = QmuTranslation::translate("Measurements", "back_hip_arc", + "Short measurement name. Don't use math symbols in name!!!!"); + g = QmuTranslation::translate("MeasurementsFullNames", "Back Hip arc", "Full measurement name"); + d = QmuTranslation::translate("MeasurementsDescriptions", "Back Hip side to side", "Full measurement description"); + InitMeasurement(backHipArc_M, m, g, d); + //================================================================================================================= + m = QmuTranslation::translate("Measurements", "chest_slope", + "Short measurement name. Don't use math symbols in name!!!!"); + g = QmuTranslation::translate("MeasurementsFullNames", "Chest Balance", "Full measurement name"); + d = QmuTranslation::translate("MeasurementsDescriptions", "NeckPoint to Front ArmfoldPoint", + "Full measurement description"); + InitMeasurement(chestSlope_M, m, g, d); + //================================================================================================================= + m = QmuTranslation::translate("Measurements", "back_slope", + "Short measurement name. Don't use math symbols in name!!!!"); + g = QmuTranslation::translate("MeasurementsFullNames", "Back Balance", "Full measurement name"); + d = QmuTranslation::translate("MeasurementsDescriptions", "NeckPoint to Back ArmfoldPoint", + "Full measurement description"); + InitMeasurement(backSlope_M, m, g, d); + //================================================================================================================= + m = QmuTranslation::translate("Measurements", "front_waist_slope", + "Short measurement name. Don't use math symbols in name!!!!"); + g = QmuTranslation::translate("MeasurementsFullNames", "Front Waist Balance", "Full measurement name"); + d = QmuTranslation::translate("MeasurementsDescriptions", "NeckPoint across Front Chest to Waist side", + "Full measurement description"); + InitMeasurement(frontWaistSlope_M, m, g, d); + //================================================================================================================= + m = QmuTranslation::translate("Measurements", "back_waist_slope", + "Short measurement name. Don't use math symbols in name!!!!"); + g = QmuTranslation::translate("MeasurementsFullNames", "Back Waist Balance", "Full measurement name"); + d = QmuTranslation::translate("MeasurementsDescriptions", "NeckPoint across Back Chest to Waist side", + "Full measurement description"); + InitMeasurement(backWaistSlope_M, m, g, d); + //================================================================================================================= + m = QmuTranslation::translate("Measurements", "front_neck_to_upper_chest_height", + "Short measurement name. Don't use math symbols in name!!!!"); + g = QmuTranslation::translate("MeasurementsFullNames", "Front UpperChest height", "Full measurement name"); + d = QmuTranslation::translate("MeasurementsDescriptions", "Front Neck Center straight down to UpperChest line", + "Full measurement description"); + InitMeasurement(frontNeckToUpperChestHeight_M, m, g, d); + //================================================================================================================= + m = QmuTranslation::translate("Measurements", "front_neck_to_bust_height", + "Short measurement name. Don't use math symbols in name!!!!"); + g = QmuTranslation::translate("MeasurementsFullNames", "Bust height", "Full measurement name"); + d = QmuTranslation::translate("MeasurementsDescriptions", "Front Neck Center straight down to Bust line", + "Full measurement description"); + InitMeasurement(frontNeckToBustHeight_M, m, g, d); + //================================================================================================================= + m = QmuTranslation::translate("Measurements", "front_waist_to_upper_chest", + "Short measurement name. Don't use math symbols in name!!!!"); + g = QmuTranslation::translate("MeasurementsFullNames", "Front Upper chest waist", "Full measurement name"); + d = QmuTranslation::translate("MeasurementsDescriptions", "Front Upper chest waist", + "Full measurement description"); + InitMeasurement(frontWaistToUpperChest_M, m, g, d); + //================================================================================================================= + m = QmuTranslation::translate("Measurements", "front_waist_to_lower_breast", + "Short measurement name. Don't use math symbols in name!!!!"); + g = QmuTranslation::translate("MeasurementsFullNames", "Front waist to lower breast", "Full measurement name"); + d = QmuTranslation::translate("MeasurementsDescriptions", "Front waist to lower breast", + "Full measurement description"); + InitMeasurement(frontWaistToLowerBreast_M, m, g, d); + //================================================================================================================= + m = QmuTranslation::translate("Measurements", "back_waist_to_upper_chest", + "Short measurement name. Don't use math symbols in name!!!!"); + g = QmuTranslation::translate("MeasurementsFullNames", "Back waist to upper chest", "Full measurement name"); + d = QmuTranslation::translate("MeasurementsDescriptions", "Back waist to upper chest", + "Full measurement description"); + InitMeasurement(backWaistToUpperChest_M, m, g, d); + //================================================================================================================= + m = QmuTranslation::translate("Measurements", "strap_length", + "Short measurement name. Don't use math symbols in name!!!!"); + g = QmuTranslation::translate("MeasurementsFullNames", "Strap length", "Full measurement name"); + d = QmuTranslation::translate("MeasurementsDescriptions", "Strap length", + "Full measurement description"); + InitMeasurement(strapLength_M, m, g, d); + //================================================================================================================= + // arm + m = QmuTranslation::translate("Measurements", "armscye_girth", + "Short measurement name. Don't use math symbols in name!!!!"); + g = QmuTranslation::translate("MeasurementsFullNames", "Armscye Girth", "Full measurement name"); + d = QmuTranslation::translate("MeasurementsDescriptions", "Around Armscye", "Full measurement description"); + InitMeasurement(armscyeGirth_M, m, g, d); + //================================================================================================================= + m = QmuTranslation::translate("Measurements", "elbow_girth", + "Short measurement name. Don't use math symbols in name!!!!"); + g = QmuTranslation::translate("MeasurementsFullNames", "Elbow Girth", "Full measurement name"); + d = QmuTranslation::translate("MeasurementsDescriptions", "Around Elbow with elbow bent", + "Full measurement description"); + InitMeasurement(elbowGirth_M, m, g, d); + //================================================================================================================= + m = QmuTranslation::translate("Measurements", "upper_arm_girth", + "Short measurement name. Don't use math symbols in name!!!!"); + g = QmuTranslation::translate("MeasurementsFullNames", "Upperarm Girth", "Full measurement name"); + d = QmuTranslation::translate("MeasurementsDescriptions", "Around UpperArm", "Full measurement description"); + InitMeasurement(upperArmGirth_M, m, g, d); + //================================================================================================================= + m = QmuTranslation::translate("Measurements", "wrist_girth", + "Short measurement name. Don't use math symbols in name!!!!"); + g = QmuTranslation::translate("MeasurementsFullNames", "Wrist girth", "Full measurement name"); + d = QmuTranslation::translate("MeasurementsDescriptions", "Around Wrist", "Full measurement description"); + InitMeasurement(wristGirth_M, m, g, d); + //================================================================================================================= + m = QmuTranslation::translate("Measurements", "scye_depth", + "Short measurement name. Don't use math symbols in name!!!!"); + g = QmuTranslation::translate("MeasurementsFullNames", "Armscye depth", "Full measurement name"); + d = QmuTranslation::translate("MeasurementsDescriptions", "Nape straight down to UnderBust line (same as Back " + "UpperBust height)", "Full measurement description"); + InitMeasurement(scyeDepth_M, m, g, d); + //================================================================================================================= + m = QmuTranslation::translate("Measurements", "shoulder_and_arm_length", + "Short measurement name. Don't use math symbols in name!!!!"); + g = QmuTranslation::translate("MeasurementsFullNames", "Shoulder and Arm length", "Full measurement name"); + d = QmuTranslation::translate("MeasurementsDescriptions", "NeckPoint to ShoulderTip to Wrist, with elbow bent and " + "hand on hip", "Full measurement description"); + InitMeasurement(shoulderAndArmLength_M, m, g, d); + //================================================================================================================= + m = QmuTranslation::translate("Measurements", "underarm_length", + "Short measurement name. Don't use math symbols in name!!!!"); + g = QmuTranslation::translate("MeasurementsFullNames", "Underarm length", "Full measurement name"); + d = QmuTranslation::translate("MeasurementsDescriptions", "Armpit to Wrist, with arm straight and hanging at side", + "Full measurement description"); + InitMeasurement(underarmLength_M, m, g, d); + //================================================================================================================= + m = QmuTranslation::translate("Measurements", "cervicale_to_wrist_length", + "Short measurement name. Don't use math symbols in name!!!!"); + g = QmuTranslation::translate("MeasurementsFullNames", "Nape to wrist length", "Full measurement name"); + d = QmuTranslation::translate("MeasurementsDescriptions", "Nape to Wrist, with elbow bent and hand on hip", + "Full measurement description"); + InitMeasurement(cervicaleToWristLength_M, m, g, d); + //================================================================================================================= + m = QmuTranslation::translate("Measurements", "shoulder_to_elbow_length", + "Short measurement name. Don't use math symbols in name!!!!"); + g = QmuTranslation::translate("MeasurementsFullNames", "Elbow length", "Full measurement name"); + d = QmuTranslation::translate("MeasurementsDescriptions", "ShoulderTip to Elbow, with elbow bent and hand on hip", + "Full measurement description"); + InitMeasurement(shoulderToElbowLength_M, m, g, d); + //================================================================================================================= + m = QmuTranslation::translate("Measurements", "arm_length", + "Short measurement name. Don't use math symbols in name!!!!"); + g = QmuTranslation::translate("MeasurementsFullNames", "Arm length", "Full measurement name"); + d = QmuTranslation::translate("MeasurementsDescriptions", "ShoulderTip to Wrist, with elbow bent and hand on hip", + "Full measurement description"); + InitMeasurement(armLength_M, m, g, d); + //================================================================================================================= + // hand + m = QmuTranslation::translate("Measurements", "hand_width", + "Short measurement name. Don't use math symbols in name!!!!"); + g = QmuTranslation::translate("MeasurementsFullNames", "Hand width", "Full measurement name"); + d = QmuTranslation::translate("MeasurementsDescriptions", "Hand side to side", "Full measurement description"); + InitMeasurement(handWidth_M, m, g, d); + //================================================================================================================= + m = QmuTranslation::translate("Measurements", "hand_length", + "Short measurement name. Don't use math symbols in name!!!!"); + g = QmuTranslation::translate("MeasurementsFullNames", "Hand length", "Full measurement name"); + d = QmuTranslation::translate("MeasurementsDescriptions", "Hand Middle Finger tip to wrist", + "Full measurement description"); + InitMeasurement(handLength_M, m, g, d); + //================================================================================================================= + m = QmuTranslation::translate("Measurements", "hand_girth", + "Short measurement name. Don't use math symbols in name!!!!"); + g = QmuTranslation::translate("MeasurementsFullNames", "Hand girth", "Full measurement name"); + d = QmuTranslation::translate("MeasurementsDescriptions", "Around Hand", "Full measurement description"); + InitMeasurement(handGirth_M, m, g, d); + //================================================================================================================= + // leg + m = QmuTranslation::translate("Measurements", "thigh_girth", + "Short measurement name. Don't use math symbols in name!!!!"); + g = QmuTranslation::translate("MeasurementsFullNames", "Thigh girth", "Full measurement name"); + d = QmuTranslation::translate("MeasurementsDescriptions", "Around Thigh", "Full measurement description"); + InitMeasurement(thighGirth_M, m, g, d); + //================================================================================================================= + m = QmuTranslation::translate("Measurements", "mid_thigh_girth", + "Short measurement name. Don't use math symbols in name!!!!"); + g = QmuTranslation::translate("MeasurementsFullNames", "Midthigh girth", "Full measurement name"); + d = QmuTranslation::translate("MeasurementsDescriptions", "Around MidThigh", "Full measurement description"); + InitMeasurement(midThighGirth_M, m, g, d); + //================================================================================================================= + m = QmuTranslation::translate("Measurements", "knee_girth", + "Short measurement name. Don't use math symbols in name!!!!"); + g = QmuTranslation::translate("MeasurementsFullNames", "Knee girth", "Full measurement name"); + d = QmuTranslation::translate("MeasurementsDescriptions", "Around Knee", "Full measurement description"); + InitMeasurement(kneeGirth_M, m, g, d); + //================================================================================================================= + m = QmuTranslation::translate("Measurements", "calf_girth", + "Short measurement name. Don't use math symbols in name!!!!"); + g = QmuTranslation::translate("MeasurementsFullNames", "Calf girth", "Full measurement name"); + d = QmuTranslation::translate("MeasurementsDescriptions", "Around Calf", "Full measurement description"); + InitMeasurement(calfGirth_M, m, g, d); + //================================================================================================================= + m = QmuTranslation::translate("Measurements", "ankle_girth", + "Short measurement name. Don't use math symbols in name!!!!"); + g = QmuTranslation::translate("MeasurementsFullNames", "Ankle girth", "Full measurement name"); + d = QmuTranslation::translate("MeasurementsDescriptions", "Around Ankle", "Full measurement description"); + InitMeasurement(ankleGirth_M, m, g, d); + //================================================================================================================= + m = QmuTranslation::translate("Measurements", "knee_height", + "Short measurement name. Don't use math symbols in name!!!!"); + g = QmuTranslation::translate("MeasurementsFullNames", "Knee height", "Full measurement name"); + d = QmuTranslation::translate("MeasurementsDescriptions", "Knee to Floor", "Full measurement description"); + InitMeasurement(kneeHeight_M, m, g, d); + //================================================================================================================= + m = QmuTranslation::translate("Measurements", "ankle_height", + "Short measurement name. Don't use math symbols in name!!!!"); + g = QmuTranslation::translate("MeasurementsFullNames", "Ankle height", "Full measurement name"); + d = QmuTranslation::translate("MeasurementsDescriptions", "Ankle to Floor", "Full measurement description"); + InitMeasurement(ankleHeight_M, m, g, d); + //================================================================================================================= + // foot + m = QmuTranslation::translate("Measurements", "foot_width", + "Short measurement name. Don't use math symbols in name!!!!"); + g = QmuTranslation::translate("MeasurementsFullNames", "Foot width", "Full measurement name"); + d = QmuTranslation::translate("MeasurementsDescriptions", "Widest part of Foot side to side", + "Full measurement description"); + InitMeasurement(footWidth_M, m, g, d); + //================================================================================================================= + m = QmuTranslation::translate("Measurements", "foot_length", + "Short measurement name. Don't use math symbols in name!!!!"); + g = QmuTranslation::translate("MeasurementsFullNames", "Foot length", "Full measurement name"); + d = QmuTranslation::translate("MeasurementsDescriptions", "Tip of Longest Toe straight to back of heel", + "Full measurement description"); + InitMeasurement(footLength_M, m, g, d); + //================================================================================================================= + // heights + m = QmuTranslation::translate("Measurements", "height", + "Short measurement name. Don't use math symbols in name!!!!"); + g = QmuTranslation::translate("MeasurementsFullNames", "Total Height", "Full measurement name"); + d = QmuTranslation::translate("MeasurementsDescriptions", "Top of head to floor", "Full measurement description"); + InitMeasurement(height_M, m, g, d); + //================================================================================================================= + m = QmuTranslation::translate("Measurements", "cervicale_height", + "Short measurement name. Don't use math symbols in name!!!!"); + g = QmuTranslation::translate("MeasurementsFullNames", "Nape height", "Full measurement name"); + d = QmuTranslation::translate("MeasurementsDescriptions", "Nape to Floor", "Full measurement description"); + InitMeasurement(cervicaleHeight_M, m, g, d); + //================================================================================================================= + m = QmuTranslation::translate("Measurements", "cervicale_to_knee_height", + "Short measurement name. Don't use math symbols in name!!!!"); + g = QmuTranslation::translate("MeasurementsFullNames", "Nape to knee height", "Full measurement name"); + d = QmuTranslation::translate("MeasurementsDescriptions", "Nape to Knee", "Full measurement description"); + InitMeasurement(cervicaleToKneeHeight_M, m, g, d); + //================================================================================================================= + m = QmuTranslation::translate("Measurements", "waist_height", + "Short measurement name. Don't use math symbols in name!!!!"); + g = QmuTranslation::translate("MeasurementsFullNames", "Waist height", "Full measurement name"); + d = QmuTranslation::translate("MeasurementsDescriptions", "Waist side to floor", "Full measurement description"); + InitMeasurement(waistHeight_M, m, g, d); + //================================================================================================================= + m = QmuTranslation::translate("Measurements", "high_hip_height", + "Short measurement name. Don't use math symbols in name!!!!"); + g = QmuTranslation::translate("MeasurementsFullNames", "HighHip height", "Full measurement name"); + d = QmuTranslation::translate("MeasurementsDescriptions", "HighHip side to Floor", "Full measurement description"); + InitMeasurement(highHipHeight_M, m, g, d); + //================================================================================================================= + m = QmuTranslation::translate("Measurements", "hip_height", + "Short measurement name. Don't use math symbols in name!!!!"); + g = QmuTranslation::translate("MeasurementsFullNames", "Hip height", "Full measurement name"); + d = QmuTranslation::translate("MeasurementsDescriptions", "Hip side to Floor", "Full measurement description"); + InitMeasurement(hipHeight_M, m, g, d); + //================================================================================================================= + m = QmuTranslation::translate("Measurements", "waist_to_hip_height", + "Short measurement name. Don't use math symbols in name!!!!"); + g = QmuTranslation::translate("MeasurementsFullNames", "Waist to Hip height", "Full measurement name"); + d = QmuTranslation::translate("MeasurementsDescriptions", "Waist side to Hip", "Full measurement description"); + InitMeasurement(waistToHipHeight_M, m, g, d); + //================================================================================================================= + m = QmuTranslation::translate("Measurements", "waist_to_knee_height", + "Short measurement name. Don't use math symbols in name!!!!"); + g = QmuTranslation::translate("MeasurementsFullNames", "Waist to Knee height", "Full measurement name"); + d = QmuTranslation::translate("MeasurementsDescriptions", "Waist side to Knee", "Full measurement description"); + InitMeasurement(waistToKneeHeight_M, m, g, d); + //================================================================================================================= + m = QmuTranslation::translate("Measurements", "crotch_height", + "Short measurement name. Don't use math symbols in name!!!!"); + g = QmuTranslation::translate("MeasurementsFullNames", "Crotch height/Inseam", "Full measurement name"); + d = QmuTranslation::translate("MeasurementsDescriptions", "Crotch to Floor along inside leg", + "Full measurement description"); + InitMeasurement(crotchHeight_M, m, g, d); + //================================================================================================================= + //extended + m = QmuTranslation::translate("Measurements", "size", "Short measurement name. Don't use math symbols in name!!!!"); + g = QmuTranslation::translate("MeasurementsFullNames", "Size", "Full measurement name"); + d = QmuTranslation::translate("MeasurementsDescriptions", "Size", "Full measurement description"); + InitMeasurement(size_M, m, g, d); + //================================================================================================================= + m = QmuTranslation::translate("Measurements", "height_front_neck_base_point", + "Short measurement name. Don't use math symbols in name!!!!"); + g = QmuTranslation::translate("MeasurementsFullNames", "Height front neck base point", "Full measurement name"); + d = QmuTranslation::translate("MeasurementsDescriptions", "Height of the point base of the neck in front", + "Full measurement description"); + InitMeasurement(heightFrontNeckBasePoint_M, m, g, d); + //================================================================================================================= + m = QmuTranslation::translate("Measurements", "height_base_neck_side_point", + "Short measurement name. Don't use math symbols in name!!!!"); + g = QmuTranslation::translate("MeasurementsFullNames", "Height base neck side point", "Full measurement name"); + d = QmuTranslation::translate("MeasurementsDescriptions", "Height of the base of the neck side point", + "Full measurement description"); + InitMeasurement(heightBaseNeckSidePoint_M, m, g, d); + //================================================================================================================= + m = QmuTranslation::translate("Measurements", "height_shoulder_point", + "Short measurement name. Don't use math symbols in name!!!!"); + g = QmuTranslation::translate("MeasurementsFullNames", "Height shoulder point", "Full measurement name"); + d = QmuTranslation::translate("MeasurementsDescriptions", "The height of the shoulder point", + "Full measurement description"); + InitMeasurement(heightShoulderPoint_M, m, g, d); + //================================================================================================================= + m = QmuTranslation::translate("Measurements", "height_nipple_point", + "Short measurement name. Don't use math symbols in name!!!!"); + g = QmuTranslation::translate("MeasurementsFullNames", "Height nipple point", "Full measurement name"); + d = QmuTranslation::translate("MeasurementsDescriptions", "Height nipple point", "Full measurement description"); + InitMeasurement(heightNipplePoint_M, m, g, d); + //================================================================================================================= + m = QmuTranslation::translate("Measurements", "height_back_angle_axilla", + "Short measurement name. Don't use math symbols in name!!!!"); + g = QmuTranslation::translate("MeasurementsFullNames", "Height back angle axilla", "Full measurement name"); + d = QmuTranslation::translate("MeasurementsDescriptions", "Height back angle axilla", + "Full measurement description"); + InitMeasurement(heightBackAngleAxilla_M, m, g, d); + //================================================================================================================= + m = QmuTranslation::translate("Measurements", "height_scapular_point", + "Short measurement name. Don't use math symbols in name!!!!"); + g = QmuTranslation::translate("MeasurementsFullNames", "Height scapular point", "Full measurement name"); + d = QmuTranslation::translate("MeasurementsDescriptions", "Height scapular point", "Full measurement description"); + InitMeasurement(heightScapularPoint_M, m, g, d); + //================================================================================================================= + m = QmuTranslation::translate("Measurements", "height_under_buttock_folds", + "Short measurement name. Don't use math symbols in name!!!!"); + g = QmuTranslation::translate("MeasurementsFullNames", "Height under buttock folds", "Full measurement name"); + d = QmuTranslation::translate("MeasurementsDescriptions", "Height under buttock folds", + "Full measurement description"); + InitMeasurement(heightUnderButtockFolds_M, m, g, d); + //================================================================================================================= + m = QmuTranslation::translate("Measurements", "hips_excluding_protruding_abdomen", + "Short measurement name. Don't use math symbols in name!!!!"); + g = QmuTranslation::translate("MeasurementsFullNames", "Hips excluding protruding abdomen", + "Full measurement name"); + d = QmuTranslation::translate("MeasurementsDescriptions", "Hips excluding protruding abdomen", + "Full measurement description"); + InitMeasurement(hipsExcludingProtrudingAbdomen_M, m, g, d); + //================================================================================================================= + m = QmuTranslation::translate("Measurements", "girth_foot_instep", + "Short measurement name. Don't use math symbols in name!!!!"); + g = QmuTranslation::translate("MeasurementsFullNames", "Girth foot instep", "Full measurement name"); + d = QmuTranslation::translate("MeasurementsDescriptions", "Girth foot instep", "Full measurement description"); + InitMeasurement(girthFootInstep_M, m, g, d); + //================================================================================================================= + m = QmuTranslation::translate("Measurements", "side_waist_to_floor", + "Short measurement name. Don't use math symbols in name!!!!"); + g = QmuTranslation::translate("MeasurementsFullNames", "Side waist to floor", "Full measurement name"); + d = QmuTranslation::translate("MeasurementsDescriptions", "The distance from the side waist to floor", + "Full measurement description"); + InitMeasurement(sideWaistToFloor_M, m, g, d); + //================================================================================================================= + m = QmuTranslation::translate("Measurements", "front_waist_to_floor", + "Short measurement name. Don't use math symbols in name!!!!"); + g = QmuTranslation::translate("MeasurementsFullNames", "Front waist to floor", "Full measurement name"); + d = QmuTranslation::translate("MeasurementsDescriptions", "The distance from the front waist to floor", + "Full measurement description"); + InitMeasurement(frontWaistToFloor_M, m, g, d); + //================================================================================================================= + m = QmuTranslation::translate("Measurements", "arc_through_groin_area", + "Short measurement name. Don't use math symbols in name!!!!"); + g = QmuTranslation::translate("MeasurementsFullNames", "Arc through groin area", "Full measurement name"); + d = QmuTranslation::translate("MeasurementsDescriptions", "Arc through groin area", "Full measurement description"); + InitMeasurement(arcThroughGroinArea_M, m, g, d); + //================================================================================================================= + m = QmuTranslation::translate("Measurements", "waist_to_plane_seat", + "Short measurement name. Don't use math symbols in name!!!!"); + g = QmuTranslation::translate("MeasurementsFullNames", "Waist to plane seat", "Full measurement name"); + d = QmuTranslation::translate("MeasurementsDescriptions", "The distance from the waist to the plane seat", + "Full measurement description"); + InitMeasurement(waistToPlaneSeat_M, m, g, d); + //================================================================================================================= + m = QmuTranslation::translate("Measurements", "neck_to_radial_point", + "Short measurement name. Don't use math symbols in name!!!!"); + g = QmuTranslation::translate("MeasurementsFullNames", "Neck to radial point", "Full measurement name"); + d = QmuTranslation::translate("MeasurementsDescriptions", "The distance from the base of the neck to the side of " + "the radial point", "Full measurement description"); + InitMeasurement(neckToRadialPoint_M, m, g, d); + //================================================================================================================= + m = QmuTranslation::translate("Measurements", "neck_to_third_finger", + "Short measurement name. Don't use math symbols in name!!!!"); + g = QmuTranslation::translate("MeasurementsFullNames", "Neck to third finger", "Full measurement name"); + d = QmuTranslation::translate("MeasurementsDescriptions", "Distance from the base of the neck side point to the " + "end of the third finger", "Full measurement description"); + InitMeasurement(neckToThirdFinger_M, m, g, d); + //================================================================================================================= + m = QmuTranslation::translate("Measurements", "neck_to_first_line_chest_circumference", + "Short measurement name. Don't use math symbols in name!!!!"); + g = QmuTranslation::translate("MeasurementsFullNames", "Neck to first line chest circumference", + "Full measurement name"); + d = QmuTranslation::translate("MeasurementsDescriptions", "The distance from the base of the neck to the side of " + "the first line in front of chest circumference", "Full measurement description"); + InitMeasurement(neckToFirstLineChestCircumference_M, m, g, d); + //================================================================================================================= + m = QmuTranslation::translate("Measurements", "front_waist_length", + "Short measurement name. Don't use math symbols in name!!!!"); + g = QmuTranslation::translate("MeasurementsFullNames", "Front waist length", "Full measurement name"); + d = QmuTranslation::translate("MeasurementsDescriptions", "The distance from the base of the neck to the waist " + "side front (waist length in the front)", "Full measurement description"); + InitMeasurement(frontWaistLength_M, m, g, d); + //================================================================================================================= + m = QmuTranslation::translate("Measurements", "arc_through_shoulder_joint", + "Short measurement name. Don't use math symbols in name!!!!"); + g = QmuTranslation::translate("MeasurementsFullNames", "Arc through shoulder joint", "Full measurement name"); + d = QmuTranslation::translate("MeasurementsDescriptions", "Arc through the highest point of the shoulder joint", + "Full measurement description"); + InitMeasurement(arcThroughShoulderJoint_M, m, g, d); + //================================================================================================================= + m = QmuTranslation::translate("Measurements", "neck_to_back_line_chest_circumference", + "Short measurement name. Don't use math symbols in name!!!!"); + g = QmuTranslation::translate("MeasurementsFullNames", "Neck to back line chest circumference", + "Full measurement name"); + d = QmuTranslation::translate("MeasurementsDescriptions", "The distance from the base of the neck to the back line " + "of chest circumference of the first and the second based on ledge vanes", + "Full measurement description"); + InitMeasurement(neckToBackLineChestCircumference_M, m, g, d); + //================================================================================================================= + m = QmuTranslation::translate("Measurements", "waist_to_neck_side", + "Short measurement name. Don't use math symbols in name!!!!"); + g = QmuTranslation::translate("MeasurementsFullNames", "Waist to neck side", "Full measurement name"); + d = QmuTranslation::translate("MeasurementsDescriptions", "The distance from the waist to the back base of the " + "neck side point", "Full measurement description"); + InitMeasurement(waistToNeckSide_M, m, g, d); + //================================================================================================================= + m = QmuTranslation::translate("Measurements", "arc_length_upper_body", + "Short measurement name. Don't use math symbols in name!!!!"); + g = QmuTranslation::translate("MeasurementsFullNames", "Arc length upper body", "Full measurement name"); + d = QmuTranslation::translate("MeasurementsDescriptions", "Arc length of the upper body through the base of the " + "neck side point", "Full measurement description"); + InitMeasurement(arcLengthUpperBody_M, m, g, d); + //================================================================================================================= + m = QmuTranslation::translate("Measurements", "chest_width", + "Short measurement name. Don't use math symbols in name!!!!"); + g = QmuTranslation::translate("MeasurementsFullNames", "Chest width", "Full measurement name"); + d = QmuTranslation::translate("MeasurementsDescriptions", "Chest width", "Full measurement description"); + InitMeasurement(chestWidth_M, m, g, d); + //================================================================================================================= + m = QmuTranslation::translate("Measurements", "anteroposterior_diameter_hands", + "Short measurement name. Don't use math symbols in name!!!!"); + g = QmuTranslation::translate("MeasurementsFullNames", "Anteroposterior diameter hands", "Full measurement name"); + d = QmuTranslation::translate("MeasurementsDescriptions", "Anteroposterior diameter of the hands", + "Full measurement description"); + InitMeasurement(anteroposteriorDiameterHands_M, m, g, d); + //================================================================================================================= + m = QmuTranslation::translate("Measurements", "height_clavicular_point", + "Short measurement name. Don't use math symbols in name!!!!"); + g = QmuTranslation::translate("MeasurementsFullNames", "Height clavicular point", "Full measurement name"); + d = QmuTranslation::translate("MeasurementsDescriptions", "Height clavicular point", + "Full measurement description"); + InitMeasurement(heightClavicularPoint_M, m, g, d); + //================================================================================================================= + m = QmuTranslation::translate("Measurements", "height_armhole_slash", + "Short measurement name. Don't use math symbols in name!!!!"); + g = QmuTranslation::translate("MeasurementsFullNames", "Height armhole slash", "Full measurement name"); + d = QmuTranslation::translate("MeasurementsDescriptions", "The distance from the point to the cervical level of " + "the posterior angle of the front armpit (underarm height oblique)", + "Full measurement description"); + InitMeasurement(heightArmholeSlash_M, m, g, d); + //================================================================================================================= + m = QmuTranslation::translate("Measurements", "slash_shoulder_height", + "Short measurement name. Don't use math symbols in name!!!!"); + g = QmuTranslation::translate("MeasurementsFullNames", "Slash shoulder height", "Full measurement name"); + d = QmuTranslation::translate("MeasurementsDescriptions", "Slash shoulder height", "Full measurement description"); + InitMeasurement(slashShoulderHeight_M, m, g, d); + //================================================================================================================= + m = QmuTranslation::translate("Measurements", "half_girth_neck", + "Short measurement name. Don't use math symbols in name!!!!"); + g = QmuTranslation::translate("MeasurementsFullNames", "Half girth neck", "Full measurement name"); + d = QmuTranslation::translate("MeasurementsDescriptions", "Half girth neck", "Full measurement description"); + InitMeasurement(halfGirthNeck_M, m, g, d); + //================================================================================================================= + m = QmuTranslation::translate("Measurements", "half_girth_neck_for_shirts", + "Short measurement name. Don't use math symbols in name!!!!"); + g = QmuTranslation::translate("MeasurementsFullNames", "Half girth neck for shirts", "Full measurement name"); + d = QmuTranslation::translate("MeasurementsDescriptions", "Half girth neck for shirts", + "Full measurement description"); + InitMeasurement(halfGirthNeckForShirts_M, m, g, d); + //================================================================================================================= + m = QmuTranslation::translate("Measurements", "half_girth_chest_first", + "Short measurement name. Don't use math symbols in name!!!!"); + g = QmuTranslation::translate("MeasurementsFullNames", "Half girth chest first", "Full measurement name"); + d = QmuTranslation::translate("MeasurementsDescriptions", "Half girth chest first", "Full measurement description"); + InitMeasurement(halfGirthChestFirst_M, m, g, d); + //================================================================================================================= + m = QmuTranslation::translate("Measurements", "half_girth_chest_second", + "Short measurement name. Don't use math symbols in name!!!!"); + g = QmuTranslation::translate("MeasurementsFullNames", "Half girth chest second", "Full measurement name"); + d = QmuTranslation::translate("MeasurementsDescriptions", "Half girth chest second", + "Full measurement description"); + InitMeasurement(halfGirthChestSecond_M, m, g, d); + //================================================================================================================= + m = QmuTranslation::translate("Measurements", "half_girth_chest_third", + "Short measurement name. Don't use math symbols in name!!!!"); + g = QmuTranslation::translate("MeasurementsFullNames", "Half girth chest third", "Full measurement name"); + d = QmuTranslation::translate("MeasurementsDescriptions", "Half girth chest third", "Full measurement description"); + InitMeasurement(halfGirthChestThird_M, m, g, d); + //================================================================================================================= + m = QmuTranslation::translate("Measurements", "half_girth_waist", + "Short measurement name. Don't use math symbols in name!!!!"); + g = QmuTranslation::translate("MeasurementsFullNames", "Half girth waist", "Full measurement name"); + d = QmuTranslation::translate("MeasurementsDescriptions", "Half girth waist", "Full measurement description"); + InitMeasurement(halfGirthWaist_M, m, g, d); + //================================================================================================================= + m = QmuTranslation::translate("Measurements", "half_girth_hips_considering_protruding_abdomen", + "Short measurement name. Don't use math symbols in name!!!!"); + g = QmuTranslation::translate("MeasurementsFullNames", "Half girth hips considering protruding abdomen", + "Full measurement name"); + d = QmuTranslation::translate("MeasurementsDescriptions", "Half girth hips considering protruding abdomen", + "Full measurement description"); + InitMeasurement(halfGirthHipsConsideringProtrudingAbdomen_M, m, g, d); + //================================================================================================================= + m = QmuTranslation::translate("Measurements", "half_girth_hips_excluding_protruding_abdomen", + "Short measurement name. Don't use math symbols in name!!!!"); + g = QmuTranslation::translate("MeasurementsFullNames", "Half girth hips excluding protruding abdomen", + "Full measurement name"); + d = QmuTranslation::translate("MeasurementsDescriptions", "Half girth hips excluding protruding abdomen", + "Full measurement description"); + InitMeasurement(halfGirthHipsExcludingProtrudingAbdomen_M, m, g, d); + //================================================================================================================= + m = QmuTranslation::translate("Measurements", "girth_knee_flexed_feet", + "Short measurement name. Don't use math symbols in name!!!!"); + g = QmuTranslation::translate("MeasurementsFullNames", "Girth knee flexed feet", "Full measurement name"); + d = QmuTranslation::translate("MeasurementsDescriptions", "Girth knee flexed feet", "Full measurement description"); + InitMeasurement(girthKneeFlexedFeet_M, m, g, d); + //================================================================================================================= + m = QmuTranslation::translate("Measurements", "neck_transverse_diameter", + "Short measurement name. Don't use math symbols in name!!!!"); + g = QmuTranslation::translate("MeasurementsFullNames", "Neck transverse diameter", "Full measurement name"); + d = QmuTranslation::translate("MeasurementsDescriptions", "Neck transverse diameter", + "Full measurement description"); + InitMeasurement(neckTransverseDiameter_M, m, g, d); + //================================================================================================================= + m = QmuTranslation::translate("Measurements", "front_slash_shoulder_height", + "Short measurement name. Don't use math symbols in name!!!!"); + g = QmuTranslation::translate("MeasurementsFullNames", "Front slash shoulder height", "Full measurement name"); + d = QmuTranslation::translate("MeasurementsDescriptions", "Front slash shoulder height", + "Full measurement description"); + InitMeasurement(frontSlashShoulderHeight_M, m, g, d); + //================================================================================================================= + m = QmuTranslation::translate("Measurements", "neck_to_front_waist_line", + "Short measurement name. Don't use math symbols in name!!!!"); + g = QmuTranslation::translate("MeasurementsFullNames", "Neck to front waist line", "Full measurement name"); + d = QmuTranslation::translate("MeasurementsDescriptions", "The distance from the base of the neck to the waist " + "line front", "Full measurement description"); + InitMeasurement(neckToFrontWaistLine_M, m, g, d); + //================================================================================================================= + m = QmuTranslation::translate("Measurements", "hand_vertical_diameter", + "Short measurement name. Don't use math symbols in name!!!!"); + g = QmuTranslation::translate("MeasurementsFullNames", "Hand vertical diameter", "Full measurement name"); + d = QmuTranslation::translate("MeasurementsDescriptions", "Hand vertical diameter", "Full measurement description"); + InitMeasurement(handVerticalDiameter_M, m, g, d); + //================================================================================================================= + m = QmuTranslation::translate("Measurements", "neck_to_knee_point", + "Short measurement name. Don't use math symbols in name!!!!"); + g = QmuTranslation::translate("MeasurementsFullNames", "Neck to knee point", "Full measurement name"); + d = QmuTranslation::translate("MeasurementsDescriptions", "Distance from neck to knee point", + "Full measurement description"); + InitMeasurement(neckToKneePoint_M, m, g, d); + //================================================================================================================= + m = QmuTranslation::translate("Measurements", "waist_to_knee", + "Short measurement name. Don't use math symbols in name!!!!"); + g = QmuTranslation::translate("MeasurementsFullNames", "Waist to knee", "Full measurement name"); + d = QmuTranslation::translate("MeasurementsDescriptions", "The distance from the waist to the knee", + "Full measurement description"); + InitMeasurement(waistToKnee_M, m, g, d); + //================================================================================================================= + m = QmuTranslation::translate("Measurements", "shoulder_height", + "Short measurement name. Don't use math symbols in name!!!!"); + g = QmuTranslation::translate("MeasurementsFullNames", "Shoulder height", "Full measurement name"); + d = QmuTranslation::translate("MeasurementsDescriptions", "Shoulder height", "Full measurement description"); + InitMeasurement(shoulderHeight_M, m, g, d); + //================================================================================================================= + m = QmuTranslation::translate("Measurements", "head_height", + "Short measurement name. Don't use math symbols in name!!!!"); + g = QmuTranslation::translate("MeasurementsFullNames", "Head height", "Full measurement name"); + d = QmuTranslation::translate("MeasurementsDescriptions", "Head height", "Full measurement description"); + InitMeasurement(headHeight_M, m, g, d); + //================================================================================================================= + m = QmuTranslation::translate("Measurements", "body_position", + "Short measurement name. Don't use math symbols in name!!!!"); + g = QmuTranslation::translate("MeasurementsFullNames", "Body position", "Full measurement name"); + d = QmuTranslation::translate("MeasurementsDescriptions", "Body position", "Full measurement description"); + InitMeasurement(bodyPosition_M, m, g, d); + //================================================================================================================= + m = QmuTranslation::translate("Measurements", "arc_behind_shoulder_girdle", + "Short measurement name. Don't use math symbols in name!!!!"); + g = QmuTranslation::translate("MeasurementsFullNames", "Arc behind shoulder girdle", "Full measurement name"); + d = QmuTranslation::translate("MeasurementsDescriptions", "Arc behind the shoulder girdle", + "Full measurement description"); + InitMeasurement(arcBehindShoulderGirdle_M, m, g, d); + //================================================================================================================= + m = QmuTranslation::translate("Measurements", "neck_to_neck_base", + "Short measurement name. Don't use math symbols in name!!!!"); + g = QmuTranslation::translate("MeasurementsFullNames", "Neck to neck base", "Full measurement name"); + d = QmuTranslation::translate("MeasurementsDescriptions", "Distance from neck point to point on the base of the " + "neck side neck girth measurement line", "Full measurement description"); + InitMeasurement(neckToNeckBase_M, m, g, d); + //================================================================================================================= + m = QmuTranslation::translate("Measurements", "depth_waist_first", + "Short measurement name. Don't use math symbols in name!!!!"); + g = QmuTranslation::translate("MeasurementsFullNames", "Depth waist first", "Full measurement name"); + d = QmuTranslation::translate("MeasurementsDescriptions", "Depth waist first", "Full measurement description"); + InitMeasurement(depthWaistFirst_M, m, g, d); + //================================================================================================================= + m = QmuTranslation::translate("Measurements", "depth_waist_second", + "Short measurement name. Don't use math symbols in name!!!!"); + g = QmuTranslation::translate("MeasurementsFullNames", "Depth waist second", "Full measurement name"); + d = QmuTranslation::translate("MeasurementsDescriptions", "Depth waist second", "Full measurement description"); + InitMeasurement(depthWaistSecond_M, m, g, d); +} + +//--------------------------------------------------------------------------------------------------------------------- +void VTranslateVars::InitVariables() +{ + variables.insert(line_, QmuTranslation::translate("Variables", "Line_", "Left symbol _ in name")); + variables.insert(angleLine_, QmuTranslation::translate("Variables", "AngleLine_", "Left symbol _ in name")); + variables.insert(arc_, QmuTranslation::translate("Variables", "Arc_", "Left symbol _ in name")); + variables.insert(spl_, QmuTranslation::translate("Variables", "Spl_", "Left symbol _ in name")); + variables.insert(splPath, QmuTranslation::translate("Variables", "SplPath", + "Do not add symbol _ to the end of name")); + variables.insert(radiusArc_, QmuTranslation::translate("Variables", "RadiusArc_", "Left symbol _ in name")); + variables.insert(angle1Arc_, QmuTranslation::translate("Variables", "Angle1Arc_", "Left symbol _ in name")); + variables.insert(angle2Arc_, QmuTranslation::translate("Variables", "Angle2Arc_", "Left symbol _ in name")); + variables.insert(angle1Spl_, QmuTranslation::translate("Variables", "Angle1Spl_", "Left symbol _ in name")); + variables.insert(angle2Spl_, QmuTranslation::translate("Variables", "Angle2Spl_", "Left symbol _ in name")); + variables.insert(angle1SplPath, QmuTranslation::translate("Variables", "Angle1SplPath", + "Do not add symbol _ to the end of name")); + variables.insert(angle2SplPath, QmuTranslation::translate("Variables", "Angle2SplPath", + "Do not add symbol _ to the end of name")); +} + +//--------------------------------------------------------------------------------------------------------------------- +void VTranslateVars::InitFunctions() +{ + functions.insert(sin_F, QmuTranslation::translate("Functions", "sin", "sine function")); + functions.insert(cos_F, QmuTranslation::translate("Functions", "cos", "cosine function")); + functions.insert(tan_F, QmuTranslation::translate("Functions", "tan", "tangens function")); + functions.insert(asin_F, QmuTranslation::translate("Functions", "asin", "arcus sine function")); + functions.insert(acos_F, QmuTranslation::translate("Functions", "acos", "arcus cosine function")); + functions.insert(atan_F, QmuTranslation::translate("Functions", "atan", "arcus tangens function")); + functions.insert(sinh_F, QmuTranslation::translate("Functions", "sinh", "hyperbolic sine function")); + functions.insert(cosh_F, QmuTranslation::translate("Functions", "cosh", "hyperbolic cosine")); + functions.insert(tanh_F, QmuTranslation::translate("Functions", "tanh", "hyperbolic tangens function")); + functions.insert(asinh_F, QmuTranslation::translate("Functions", "asinh", "hyperbolic arcus sine function")); + functions.insert(acosh_F, QmuTranslation::translate("Functions", "acosh", "hyperbolic arcus tangens function")); + functions.insert(atanh_F, QmuTranslation::translate("Functions", "atanh", "hyperbolic arcur tangens function")); + functions.insert(log2_F, QmuTranslation::translate("Functions", "log2", "logarithm to the base 2")); + functions.insert(log10_F, QmuTranslation::translate("Functions", "log10", "logarithm to the base 10")); + functions.insert(log_F, QmuTranslation::translate("Functions", "log", "logarithm to the base 10")); + functions.insert(ln_F, QmuTranslation::translate("Functions", "ln", "logarithm to base e (2.71828...)")); + functions.insert(exp_F, QmuTranslation::translate("Functions", "exp", "e raised to the power of x")); + functions.insert(sqrt_F, QmuTranslation::translate("Functions", "sqrt", "square root of a value")); + functions.insert(sign_F, QmuTranslation::translate("Functions", "sign", "sign function -1 if x<0; 1 if x>0")); + functions.insert(rint_F, QmuTranslation::translate("Functions", "rint", "round to nearest integer")); + functions.insert(abs_F, QmuTranslation::translate("Functions", "abs", "absolute value")); + functions.insert(min_F, QmuTranslation::translate("Functions", "min", "min of all arguments")); + functions.insert(max_F, QmuTranslation::translate("Functions", "max", "max of all arguments")); + functions.insert(sum_F, QmuTranslation::translate("Functions", "sum", "sum of all arguments")); + functions.insert(avg_F, QmuTranslation::translate("Functions", "avg", "mean value of all arguments")); + functions.insert(fmod_F, QmuTranslation::translate("Functions", "fmod", + "Returns the floating-point remainder of numer/denom (rounded towards zero)")); +} + +//--------------------------------------------------------------------------------------------------------------------- +void VTranslateVars::InitPostfixOperators() +{ + postfixOperators.insert(cm_Oprt, QmuTranslation::translate("PostfixOperators", "cm", "centimeter")); + postfixOperators.insert(mm_Oprt, QmuTranslation::translate("PostfixOperators", "mm", "millimeter")); + postfixOperators.insert(in_Oprt, QmuTranslation::translate("PostfixOperators", "in", "inch")); +} + +//--------------------------------------------------------------------------------------------------------------------- +void VTranslateVars::InitSTDescriptions() +{ + stDescriptions.insert("0", QmuTranslation::translate("STDescriptions", + "Standard figures of men 1st group, chest 100 cm", + "Standard table description")); +} + +//--------------------------------------------------------------------------------------------------------------------- +void VTranslateVars::InitMeasurement(const QString &name, const QmuTranslation &m, const QmuTranslation &g, + const QmuTranslation &d) +{ + measurements.insert(name, m); + guiTexts.insert(name, g); + descriptions.insert(name, d); +} + +//--------------------------------------------------------------------------------------------------------------------- +/** + * @brief CorrectionsPositions correct position tokens in expression after token translation. + * + * Because translated string can have different length compare to original need make correction after each translation. + * If bias = 0 correction will not happens. + * + * @param position position currecnt token in expression + * @param bias difference between original token length and translated + * @param tokens all tokens + * @param numbers all numbers + */ +void VTranslateVars::CorrectionsPositions(int position, int bias, QMap &tokens, + QMap &numbers) const +{ + if (bias == 0) + { + return;// Nothing to correct; + } + + BiasTokens(position, bias, tokens); + BiasTokens(position, bias, numbers); +} + +//--------------------------------------------------------------------------------------------------------------------- +/** + * @brief BiasTokens change position for each token that have position more then "position". + * @param position token position + * @param bias difference between original token length and translated + * @param tokens all tokens + */ +void VTranslateVars::BiasTokens(int position, int bias, QMap &tokens) const +{ + QMap newTokens; + QMap::const_iterator i = tokens.constBegin(); + while (i != tokens.constEnd()) + { + if (i.key()<= position) + { // Tokens before position "position" did not change his positions. + newTokens.insert(i.key(), i.value()); + } + else + { + newTokens.insert(i.key()-bias, i.value()); + } + ++i; + } + tokens = newTokens; +} + +//--------------------------------------------------------------------------------------------------------------------- +/** + * @brief MeasurementsFromUser translate measurement to internal look. + * @param newFormula [in|out] expression to translate + * @param position token position + * @param token token to translate + * @param bias hold change of length between translated and origin token string + * @return true if was found measurement with same name. + */ +bool VTranslateVars::MeasurementsFromUser(QString &newFormula, int position, const QString &token, int &bias) const +{ + QMap::const_iterator i = measurements.constBegin(); + while (i != measurements.constEnd()) + { + if (token == i.value().translate()) + { + newFormula.replace(position, token.length(), i.key()); + bias = token.length() - i.key().length(); + return true; + } + ++i; + } + return false; +} + +//--------------------------------------------------------------------------------------------------------------------- +/** + * @brief VariablesFromUser translate variable to internal look. + * @param newFormula [in|out] expression to translate + * @param position token position + * @param token token to translate + * @param bias hold change of length between translated and origin token string + * @return true if was found variable with same name. + */ +bool VTranslateVars::VariablesFromUser(QString &newFormula, int position, const QString &token, int &bias) const +{ + QMap::const_iterator i = variables.constBegin(); + while (i != variables.constEnd()) + { + if (token.indexOf( i.value().translate() ) == 0) + { + newFormula.replace(position, i.value().translate().length(), i.key()); + QString newToken = token; + newToken.replace(0, i.value().translate().length(), i.key()); + bias = token.length() - newToken.length(); + return true; + } + ++i; + } + return false; +} + +//--------------------------------------------------------------------------------------------------------------------- +/** + * @brief PostfixOperatorsFromUser translate postfix operator to internal look. + * @param newFormula [in|out] expression to translate + * @param position token position + * @param token token to translate + * @param bias hold change of length between translated and origin token string + * @return true if was found postfix operator with same name. + */ +bool VTranslateVars::PostfixOperatorsFromUser(QString &newFormula, int position, const QString &token, int &bias) const +{ + QMap::const_iterator i = postfixOperators.constBegin(); + while (i != postfixOperators.constEnd()) + { + if (token == i.value().translate()) + { + newFormula.replace(position, token.length(), i.key()); + bias = token.length() - i.key().length(); + return true; + } + ++i; + } + return false; +} + +//--------------------------------------------------------------------------------------------------------------------- +/** + * @brief FunctionsFromUser translate function name to internal look. + * @param newFormula [in|out] expression to translate + * @param position token position + * @param token token to translate + * @param bias hold change of length between translated and origin token string + * @return true if was found function with same name. + */ +bool VTranslateVars::FunctionsFromUser(QString &newFormula, int position, const QString &token, int &bias) const +{ + QMap::const_iterator i = functions.constBegin(); + while (i != functions.constEnd()) + { + if (token == i.value().translate()) + { + newFormula.replace(position, token.length(), i.key()); + bias = token.length() - i.key().length(); + return true; + } + ++i; + } + return false; +} + +//--------------------------------------------------------------------------------------------------------------------- +/** + * @brief VariablesToUser translate variable name to user. + * @param newFormula [in|out] expression to translate + * @param position token position + * @param token token to translate + * @param bias hold change of length between translated and origin token string + * @return true if was found variable with same name. + */ +bool VTranslateVars::VariablesToUser(QString &newFormula, int position, const QString &token, int &bias) const +{ + QMap::const_iterator i = variables.constBegin(); + while (i != variables.constEnd()) + { + if (token.indexOf( i.key() ) == 0) + { + newFormula.replace(position, i.key().length(), i.value().translate()); + + QString newToken = token; + newToken.replace(0, i.key().length(), i.value().translate()); + bias = token.length() - newToken.length(); + return true; + } + ++i; + } + return false; +} + +//--------------------------------------------------------------------------------------------------------------------- +QString VTranslateVars::VarToUser(const QString &var) const +{ + if (measurements.contains(var)) + { + return measurements.value(var).translate(); + } + + if (functions.contains(var)) + { + return functions.value(var).translate(); + } + + if (postfixOperators.contains(var)) + { + return postfixOperators.value(var).translate(); + } + + QString newVar = var; + int bias = 0; + if (VariablesToUser(newVar, 0, var, bias)) + { + return newVar; + } + return newVar; +} + +//--------------------------------------------------------------------------------------------------------------------- +QString VTranslateVars::VarFromUser(const QString &var) const +{ + QString newVar = var; + int bias = 0; + if (MeasurementsFromUser(newVar, 0, var, bias)) + { + return newVar; + } + + if (VariablesFromUser(newVar, 0, var, bias)) + { + return newVar; + } + + if (PostfixOperatorsFromUser(newVar, 0, var, bias)) + { + return newVar; + } + + if (FunctionsFromUser(newVar, 0, var, bias)) + { + return newVar; + } + return newVar; +} + +//--------------------------------------------------------------------------------------------------------------------- +QString VTranslateVars::GuiText(const QString &measurement) const +{ + return guiTexts.value(measurement).translate(); +} + +//--------------------------------------------------------------------------------------------------------------------- +QString VTranslateVars::Description(const QString &measurement) const +{ + return descriptions.value(measurement).translate(); +} + +//--------------------------------------------------------------------------------------------------------------------- +// cppcheck-suppress unusedFunction +QString VTranslateVars::PostfixOperator(const QString &name) const +{ + return postfixOperators.value(name).translate(); +} + +//--------------------------------------------------------------------------------------------------------------------- +QString VTranslateVars::STDescription(const QString &id) const +{ + if (stDescriptions.contains(id)) + { + return stDescriptions.value(id).translate(); + } + else + { + qDebug()<<"Unknown id number. Got"< tokens = cal->GetTokens();// Tokens (variables, measurements) + QMap numbers = cal->GetNumbers();// All numbers in expression for changing decimal separator + delete cal; + + QList tKeys = tokens.keys();// Take all tokens positions + QList tValues = tokens.values(); + for (int i = 0; i < tKeys.size(); ++i) + { + int bias = 0; + if (MeasurementsFromUser(newFormula, tKeys.at(i), tValues.at(i), bias)) + { + if (bias != 0) + {// Translated token has different length than original. Position next tokens need to be corrected. + CorrectionsPositions(tKeys.at(i), bias, tokens, numbers); + tKeys = tokens.keys(); + tValues = tokens.values(); + } + continue; + } + + if (VariablesFromUser(newFormula, tKeys.at(i), tValues.at(i), bias)) + { + if (bias != 0) + {// Translated token has different length than original. Position next tokens need to be corrected. + CorrectionsPositions(tKeys.at(i), bias, tokens, numbers); + tKeys = tokens.keys(); + tValues = tokens.values(); + } + continue; + } + + if (PostfixOperatorsFromUser(newFormula, tKeys.at(i), tValues.at(i), bias)) + { + if (bias != 0) + {// Translated token has different length than original. Position next tokens need to be corrected. + CorrectionsPositions(tKeys.at(i), bias, tokens, numbers); + tKeys = tokens.keys(); + tValues = tokens.values(); + } + continue; + } + + if (FunctionsFromUser(newFormula, tKeys.at(i), tValues.at(i), bias)) + { + if (bias != 0) + {// Translated token has different length than original. Position next tokens need to be corrected. + CorrectionsPositions(tKeys.at(i), bias, tokens, numbers); + tKeys = tokens.keys(); + tValues = tokens.values(); + } + continue; + } + } + + QLocale loc = QLocale::system(); // User locale + if (loc != QLocale(QLocale::C) && settings->GetOsSeparator()) + {// User want use Os separator + QList nKeys = numbers.keys();// Positions for all numbers in expression + QList nValues = numbers.values(); + for (int i = 0; i < nKeys.size(); ++i) + { + loc = QLocale::system();// From system locale + bool ok = false; + const qreal d = loc.toDouble(nValues.at(i), &ok); + if (ok == false) + { + qDebug()<<"Can't convert to double token"< tokens; + QMap numbers; + try + { + Calculator *cal = new Calculator(formula, false);// Eval formula + tokens = cal->GetTokens();// Tokens (variables, measurements) + numbers = cal->GetNumbers();// All numbers in expression for changing decimal separator + delete cal; + } + catch (qmu::QmuParserError &e) + { + qDebug() << "\nMath parser error:\n" + << "--------------------------------------\n" + << "Message: " << e.GetMsg() << "\n" + << "Expression: " << e.GetExpr() << "\n" + << "--------------------------------------"; + return newFormula; + } + + QList tKeys = tokens.keys(); + QList tValues = tokens.values(); + for (int i = 0; i < tKeys.size(); ++i) + { + if (measurements.contains(tValues.at(i))) + { + newFormula.replace(tKeys.at(i), tValues.at(i).length(), measurements.value(tValues.at(i)).translate()); + int bias = tValues.at(i).length() - measurements.value(tValues.at(i)).translate().length(); + if (bias != 0) + {// Translated token has different length than original. Position next tokens need to be corrected. + CorrectionsPositions(tKeys.at(i), bias, tokens, numbers); + tKeys = tokens.keys(); + tValues = tokens.values(); + } + continue; + } + + if (functions.contains(tValues.at(i))) + { + newFormula.replace(tKeys.at(i), tValues.at(i).length(), functions.value(tValues.at(i)).translate()); + int bias = tValues.at(i).length() - functions.value(tValues.at(i)).translate().length(); + if (bias != 0) + {// Translated token has different length than original. Position next tokens need to be corrected. + CorrectionsPositions(tKeys.at(i), bias, tokens, numbers); + tKeys = tokens.keys(); + tValues = tokens.values(); + } + continue; + } + + if (postfixOperators.contains(tValues.at(i))) + { + newFormula.replace(tKeys.at(i), tValues.at(i).length(), postfixOperators.value(tValues.at(i)).translate()); + int bias = tValues.at(i).length() - postfixOperators.value(tValues.at(i)).translate().length(); + if (bias != 0) + {// Translated token has different length than original. Position next tokens need to be corrected. + CorrectionsPositions(tKeys.at(i), bias, tokens, numbers); + tKeys = tokens.keys(); + tValues = tokens.values(); + } + continue; + } + + int bias = 0; + if (VariablesToUser(newFormula, tKeys.at(i), tValues.at(i), bias)) + { + if (bias != 0) + {// Translated token has different length than original. Position next tokens need to be corrected. + CorrectionsPositions(tKeys.at(i), bias, tokens, numbers); + tKeys = tokens.keys(); + tValues = tokens.values(); + } + continue; + } + } + + QLocale loc = QLocale::system();// User locale + if (loc != QLocale::C && settings->GetOsSeparator()) + {// User want use Os separator + QList nKeys = numbers.keys();// Positions for all numbers in expression + QList nValues = numbers.values(); + for (int i = 0; i < nKeys.size(); ++i) + { + loc = QLocale(QLocale::C);// From pattern locale + bool ok = false; + const qreal d = loc.toDouble(nValues.at(i), &ok); + if (ok == false) + { + qDebug()<<"Can't convert to double token"< + ** @date 10 6, 2015 + ** + ** @brief + ** @copyright + ** This source code is part of the Valentine project, a pattern making + ** program, whose allow create and modeling patterns of clothing. + ** Copyright (C) 2015 Valentina project + ** All Rights Reserved. + ** + ** Valentina is free software: you can redistribute it and/or modify + ** it under the terms of the GNU General Public License as published by + ** the Free Software Foundation, either version 3 of the License, or + ** (at your option) any later version. + ** + ** Valentina is distributed in the hope that it will be useful, + ** but WITHOUT ANY WARRANTY; without even the implied warranty of + ** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + ** GNU General Public License for more details. + ** + ** You should have received a copy of the GNU General Public License + ** along with Valentina. If not, see . + ** + *************************************************************************/ + +#ifndef VTRANSLATEVARS_H +#define VTRANSLATEVARS_H + +#include +#include "../../libs/qmuparser/qmutranslation.h" +#include "../core/vsettings.h" + +class VTranslateVars +{ +public: + VTranslateVars(const VSettings *settings); + ~VTranslateVars(); + + bool MeasurementsFromUser(QString &newFormula, int position, const QString &token, int &bias) const; + bool VariablesFromUser(QString &newFormula, int position, const QString &token, int &bias) const; + bool PostfixOperatorsFromUser(QString &newFormula, int position, const QString &token, int &bias) const; + bool FunctionsFromUser(QString &newFormula, int position, const QString &token, int &bias) const; + bool VariablesToUser(QString &newFormula, int position, const QString &token, int &bias) const; + + QString VarToUser(const QString &var) const; + QString VarFromUser(const QString &var) const; + + QString GuiText(const QString &measurement) const; + QString Description(const QString &measurement) const; + QString PostfixOperator(const QString &name) const; + QString STDescription(const QString &id) const; + + QString FormulaFromUser(const QString &formula) const; + QString FormulaToUser(const QString &formula) const; + +private: + Q_DISABLE_COPY(VTranslateVars) + QMap measurements; + QMap guiTexts; + QMap descriptions; + QMap variables; + QMap functions; + QMap postfixOperators; + QMap stDescriptions; + const VSettings *settings; + + void InitMeasurements(); + void InitVariables(); + void InitFunctions(); + void InitPostfixOperators(); + void InitSTDescriptions(); + + void InitMeasurement(const QString &name, const qmu::QmuTranslation &m, const qmu::QmuTranslation &g, + const qmu::QmuTranslation &d); + + void CorrectionsPositions(int position, int bias, QMap &tokens, QMap &numbers) const; + void BiasTokens(int position, int bias, QMap &tokens) const; +}; + +#endif // VTRANSLATEVARS_H diff --git a/src/app/core/vapplication.cpp b/src/app/core/vapplication.cpp index 97dc99e64..7d54a830b 100644 --- a/src/app/core/vapplication.cpp +++ b/src/app/core/vapplication.cpp @@ -33,7 +33,6 @@ #include "../libs/ifc/exception/vexceptionemptyparameter.h" #include "../libs/ifc/exception/vexceptionwrongid.h" #include "vmaingraphicsview.h" -#include "../container/calculator.h" #include "../version.h" #include "../../utils/logging.h" @@ -54,8 +53,6 @@ #endif #include -using namespace qmu; - Q_LOGGING_CATEGORY(vApp, "v.application") //--------------------------------------------------------------------------------------------------------------------- @@ -162,10 +159,7 @@ const QString VApplication::GistFileName = QStringLiteral("gist.json"); */ VApplication::VApplication(int &argc, char **argv) : QApplication(argc, argv), _patternUnit(Unit::Cm), _patternType(MeasurementsType::Individual), - _widthMainLine(DefWidth), _widthHairLine(DefWidth/3.0), measurements(QMap()), - guiTexts(QMap()), descriptions(QMap()), - variables(QMap()), functions(QMap()), - postfixOperators(QMap()), stDescriptions(QMap()), + _widthMainLine(DefWidth), _widthHairLine(DefWidth/3.0), trVars(nullptr), undoStack(nullptr), sceneView(nullptr), currentScene(nullptr), autoSaveTimer(nullptr), mainWindow(nullptr), openingPattern(false), settings(nullptr), doc(nullptr), log(nullptr), #if QT_VERSION >= QT_VERSION_CHECK(5, 1, 0) @@ -177,11 +171,6 @@ VApplication::VApplication(int &argc, char **argv) undoStack = new QUndoStack(this); InitLineWidth(); - InitMeasurements(); - InitVariables(); - InitFunctions(); - InitPostfixOperators(); - InitSTDescriptions(); } //--------------------------------------------------------------------------------------------------------------------- @@ -199,6 +188,8 @@ VApplication::~VApplication() delete logLock; #endif } + + delete trVars; } //--------------------------------------------------------------------------------------------------------------------- @@ -431,15 +422,6 @@ void VApplication::InitLineWidth() _widthHairLine = _widthMainLine/3.0; } -//--------------------------------------------------------------------------------------------------------------------- -void VApplication::InitMeasurement(const QString &name, const QmuTranslation &m, const QmuTranslation &g, - const QmuTranslation &d) -{ - measurements.insert(name, m); - guiTexts.insert(name, g); - descriptions.insert(name, d); -} - //--------------------------------------------------------------------------------------------------------------------- QString VApplication::LogDirPath() const { @@ -559,1172 +541,6 @@ void VApplication::ClearOldLogs() const } } -//--------------------------------------------------------------------------------------------------------------------- -void VApplication::InitMeasurements() -{ - //Note. We can't use here function and variables because lupdate tool doesn't see string in variables and doesn't - //mark such string to translation. - QmuTranslation m; - QmuTranslation g; - QmuTranslation d; - - //================================================================================================================= - // head_and_neck - m = QmuTranslation::translate("Measurements", "head_girth", - "Short measurement name. Don't use math symbols in name!!!!"); - g = QmuTranslation::translate("MeasurementsFullNames", "Head girth", "Full measurement name"); - d = QmuTranslation::translate("MeasurementsDescriptions", "Around fullest part of Head", - "Full measurement description"); - InitMeasurement(headGirth_M, m, g, d); - //================================================================================================================= - m = QmuTranslation::translate("Measurements", "mid_neck_girth", - "Short measurement name. Don't use math symbols in name!!!!"); - g = QmuTranslation::translate("MeasurementsFullNames", "Mid-neck girth", "Full measurement name"); - d = QmuTranslation::translate("MeasurementsDescriptions", "Around middle part of Neck", - "Full measurement description"); - InitMeasurement(midNeckGirth_M, m, g, d); - //================================================================================================================= - m = QmuTranslation::translate("Measurements", "neck_base_girth", - "Short measurement name. Don't use math symbols in name!!!!"); - g = QmuTranslation::translate("MeasurementsFullNames", "Neck Base girth", "Full measurement name"); - d = QmuTranslation::translate("MeasurementsDescriptions", "Around Neck at base", "Full measurement description"); - InitMeasurement(neckBaseGirth_M, m, g, d); - //================================================================================================================= - m = QmuTranslation::translate("Measurements", "head_and_neck_length", - "Short measurement name. Don't use math symbols in name!!!!"); - g = QmuTranslation::translate("MeasurementsFullNames", "Head and Neck length", "Full measurement name"); - d = QmuTranslation::translate("MeasurementsDescriptions", "Vertical Distance from Crown to Nape", - "Full measurement description"); - InitMeasurement(headAndNeckLength_M, m, g, d); - //================================================================================================================= - // torso - m = QmuTranslation::translate("Measurements", "center_front_waist_length", - "Short measurement name. Don't use math symbols in name!!!!"); - g = QmuTranslation::translate("MeasurementsFullNames", "Front Center length", "Full measurement name"); - d = QmuTranslation::translate("MeasurementsDescriptions", "Front Neck Center over tape at Bustline to Front Waist " - "Center", "Full measurement description"); - InitMeasurement(centerFrontWaistLength_M, m, g, d); - //================================================================================================================= - m = QmuTranslation::translate("Measurements", "center_back_waist_length", - "Short measurement name. Don't use math symbols in name!!!!"); - g = QmuTranslation::translate("MeasurementsFullNames", "Back Center length", "Full measurement name"); - d = QmuTranslation::translate("MeasurementsDescriptions", "Back Neck Center to Back Waist Center", - "Full measurement description"); - InitMeasurement(centerBackWaistLength_M, m, g, d); - //================================================================================================================= - m = QmuTranslation::translate("Measurements", "shoulder_length", - "Short measurement name. Don't use math symbols in name!!!!"); - g = QmuTranslation::translate("MeasurementsFullNames", "Shoulder length", "Full measurement name"); - d = QmuTranslation::translate("MeasurementsDescriptions", "NeckPoint to ShoulderTip", - "Full measurement description"); - InitMeasurement(shoulderLength_M, m, g, d); - //================================================================================================================= - m = QmuTranslation::translate("Measurements", "side_waist_length", - "Short measurement name. Don't use math symbols in name!!!!"); - g = QmuTranslation::translate("MeasurementsFullNames", "Side Waist length", "Full measurement name"); - d = QmuTranslation::translate("MeasurementsDescriptions", "Armpit to Waist side", "Full measurement description"); - InitMeasurement(sideWaistLength_M, m, g, d); - //================================================================================================================= - m = QmuTranslation::translate("Measurements", "trunk_length", - "Short measurement name. Don't use math symbols in name!!!!"); - g = QmuTranslation::translate("MeasurementsFullNames", "Trunk length", "Full measurement name"); - d = QmuTranslation::translate("MeasurementsDescriptions", - "Around Body from middle of Shoulder length to BustPoint to Crotch up back to " - "beginning point", "Full measurement description"); - InitMeasurement(trunkLength_M, m, g, d); - //================================================================================================================= - m = QmuTranslation::translate("Measurements", "shoulder_girth", - "Short measurement name. Don't use math symbols in name!!!!"); - g = QmuTranslation::translate("MeasurementsFullNames", "Shoulder girth", "Full measurement name"); - d = QmuTranslation::translate("MeasurementsDescriptions", "Around Arms and Torso, at bicep level parallel to " - "floor, with arms hanging at the sides", "Full measurement description"); - InitMeasurement(shoulderGirth_M, m, g, d); - //================================================================================================================= - m = QmuTranslation::translate("Measurements", "upper_chest_girth", - "Short measurement name. Don't use math symbols in name!!!!"); - g = QmuTranslation::translate("MeasurementsFullNames", "Upper Chest girth", "Full measurement name"); - d = QmuTranslation::translate("MeasurementsDescriptions", "Around Chest at Armfold level, will be parallel to " - "floor across back, will not be parallel to floor across front chest", - "Full measurement description"); - InitMeasurement(upperChestGirth_M, m, g, d); - //================================================================================================================= - m = QmuTranslation::translate("Measurements", "bust_girth", - "Short measurement name. Don't use math symbols in name!!!!"); - g = QmuTranslation::translate("MeasurementsFullNames", "Bust girth", "Full measurement name"); - d = QmuTranslation::translate("MeasurementsDescriptions", "Around fullest part of Bust, parallel to floor", - "Full measurement description"); - InitMeasurement(bustGirth_M, m, g, d); - //================================================================================================================= - m = QmuTranslation::translate("Measurements", "under_bust_girth", - "Short measurement name. Don't use math symbols in name!!!!"); - g = QmuTranslation::translate("MeasurementsFullNames", "Under Bust girth", "Full measurement name"); - d = QmuTranslation::translate("MeasurementsDescriptions", "Around Chest below the Bust, parallel to floor", - "Full measurement description"); - InitMeasurement(underBustGirth_M, m, g, d); - //================================================================================================================= - m = QmuTranslation::translate("Measurements", "waist_girth", - "Short measurement name. Don't use math symbols in name!!!!"); - g = QmuTranslation::translate("MeasurementsFullNames", "Waist girth", "Full measurement name"); - d = QmuTranslation::translate("MeasurementsDescriptions", "Tie a string around smallest part of waist, keep string " - "tied while taking meaasurements. Not usually parallel to floor for front waist or " - "back waist.", - "Full measurement description"); - InitMeasurement(waistGirth_M, m, g, d); - //================================================================================================================= - m = QmuTranslation::translate("Measurements", "high_hip_girth", - "Short measurement name. Don't use math symbols in name!!!!"); - g = QmuTranslation::translate("MeasurementsFullNames", "HighHip girth", "Full measurement name"); - d = QmuTranslation::translate("MeasurementsDescriptions", "Around HighHip, parallel to floor", - "Full measurement description"); - InitMeasurement(highHipGirth_M, m, g, d); - //================================================================================================================= - m = QmuTranslation::translate("Measurements", "hip_girth", - "Short measurement name. Don't use math symbols in name!!!!"); - g = QmuTranslation::translate("MeasurementsFullNames", "Hip girth", "Full measurement name"); - d = QmuTranslation::translate("MeasurementsDescriptions", "Around Hip, parallel to floor", - "Full measurement description"); - InitMeasurement(hipGirth_M, m, g, d); - //================================================================================================================= - m = QmuTranslation::translate("Measurements", "upper_front_chest_width", - "Short measurement name. Don't use math symbols in name!!!!"); - g = QmuTranslation::translate("MeasurementsFullNames", "Front Upper Chest width", "Full measurement name"); - d = QmuTranslation::translate("MeasurementsDescriptions", "Across Front UpperChest, smallest width from armscye to " - "armscye", "Full measurement description"); - InitMeasurement(upperFrontChestWidth_M, m, g, d); - //================================================================================================================= - m = QmuTranslation::translate("Measurements", "front_chest_width", - "Short measurement name. Don't use math symbols in name!!!!"); - g = QmuTranslation::translate("MeasurementsFullNames", "Front Chest width", "Full measurement name"); - d = QmuTranslation::translate("MeasurementsDescriptions", "Across Front Chest, from armfold to armfold", - "Full measurement description"); - InitMeasurement(frontChestWidth_M, m, g, d); - //================================================================================================================= - m = QmuTranslation::translate("Measurements", "across_front_shoulder_width", - "Short measurement name. Don't use math symbols in name!!!!"); - g = QmuTranslation::translate("MeasurementsFullNames", "Front Across Shoulder width", "Full measurement name"); - d = QmuTranslation::translate("MeasurementsDescriptions", "From ShoulderTip to ShoulderTip, across Front", - "Full measurement description"); - InitMeasurement(acrossFrontShoulderWidth_M, m, g, d); - //================================================================================================================= - m = QmuTranslation::translate("Measurements", "across_back_shoulder_width", - "Short measurement name. Don't use math symbols in name!!!!"); - g = QmuTranslation::translate("MeasurementsFullNames", "Back Across Shoulder width", "Full measurement name"); - d = QmuTranslation::translate("MeasurementsDescriptions", "From ShoulderTip to ShoulderTip, across Back", - "Full measurement description"); - InitMeasurement(acrossBackShoulderWidth_M, m, g, d); - //================================================================================================================= - m = QmuTranslation::translate("Measurements", "upper_back_width", - "Short measurement name. Don't use math symbols in name!!!!"); - g = QmuTranslation::translate("MeasurementsFullNames", "Back Upper Chest width", "Full measurement name"); - d = QmuTranslation::translate("MeasurementsDescriptions", "Across Back UpperChest, smallest width from armscye to " - "armscye", "Full measurement description"); - InitMeasurement(upperBackWidth_M, m, g, d); - //================================================================================================================= - m = QmuTranslation::translate("Measurements", "back_width", - "Short measurement name. Don't use math symbols in name!!!!"); - g = QmuTranslation::translate("MeasurementsFullNames", "Back Chest width", "Full measurement name"); - d = QmuTranslation::translate("MeasurementsDescriptions", "Across Back Chest, from armfold to armfold", - "Full measurement description"); - InitMeasurement(backWidth_M, m, g, d); - //================================================================================================================= - m = QmuTranslation::translate("Measurements", "bustpoint_to_bustpoint", - "Short measurement name. Don't use math symbols in name!!!!"); - g = QmuTranslation::translate("MeasurementsFullNames", "BustPoint to BustPoint", "Full measurement name"); - d = QmuTranslation::translate("MeasurementsDescriptions", "Distance between BustPoints, across Chest", - "Full measurement description"); - InitMeasurement(bustpointToBustpoint_M, m, g, d); - //================================================================================================================= - m = QmuTranslation::translate("Measurements", "halter_bustpoint_to_bustpoint", - "Short measurement name. Don't use math symbols in name!!!!"); - g = QmuTranslation::translate("MeasurementsFullNames", "Halter Bustpoint to Bustpoint", "Full measurement name"); - d = QmuTranslation::translate("MeasurementsDescriptions", "Distance from Bustpoint, behind neck, down to Bustpoint", - "Full measurement description"); - InitMeasurement(halterBustpointToBustpoint_M, m, g, d); - //================================================================================================================= - m = QmuTranslation::translate("Measurements", "neck_to_bustpoint", - "Short measurement name. Don't use math symbols in name!!!!"); - g = QmuTranslation::translate("MeasurementsFullNames", "NeckPoint to BustPoint", "Full measurement name"); - d = QmuTranslation::translate("MeasurementsDescriptions", "From NeckPoint to BustPoint", - "Full measurement description"); - InitMeasurement(neckToBustpoint_M, m, g, d); - //================================================================================================================= - m = QmuTranslation::translate("Measurements", "crotch_length", - "Short measurement name. Don't use math symbols in name!!!!"); - g = QmuTranslation::translate("MeasurementsFullNames", "Crotch length", "Full measurement name"); - d = QmuTranslation::translate("MeasurementsDescriptions", "From Front Waist Center, down to crotch, up to Back " - "Waist Center", "Full measurement description"); - InitMeasurement(crotchLength_M, m, g, d); - //================================================================================================================= - m = QmuTranslation::translate("Measurements", "rise_height", - "Short measurement name. Don't use math symbols in name!!!!"); - g = QmuTranslation::translate("MeasurementsFullNames", "Rise height", "Full measurement name"); - d = QmuTranslation::translate("MeasurementsDescriptions", "Sit on hard chair, measure from side waist straight " - "down to chair bottom", "Full measurement description"); - InitMeasurement(riseHeight_M, m, g, d); - //================================================================================================================= - m = QmuTranslation::translate("Measurements", "shoulder_drop", - "Short measurement name. Don't use math symbols in name!!!!"); - g = QmuTranslation::translate("MeasurementsFullNames", "Shoulder Drop", "Full measurement name"); - d = QmuTranslation::translate("MeasurementsDescriptions", "Vertical Distance from NeckPoint level to ShoulderTip " - "level", "Full measurement description"); - InitMeasurement(shoulderDrop_M, m, g, d); - //================================================================================================================= - m = QmuTranslation::translate("Measurements", "shoulder_slope_degrees", - "Short measurement name. Don't use math symbols in name!!!!"); - g = QmuTranslation::translate("MeasurementsFullNames", "Shoulder Slope degrees", "Full measurement name"); - d = QmuTranslation::translate("MeasurementsDescriptions", "Degrees of angle from NeckPoint to ShoulderTip – " - "requires goniometer", "Full measurement description"); - InitMeasurement(shoulderSlopeDegrees_M, m, g, d); - //================================================================================================================= - m = QmuTranslation::translate("Measurements", "front_shoulder_slope_length", - "Short measurement name. Don't use math symbols in name!!!!"); - g = QmuTranslation::translate("MeasurementsFullNames", "Front Shoulder Balance", "Full measurement name"); - d = QmuTranslation::translate("MeasurementsDescriptions", "ShoulderTip to Front Waist Center", - "Full measurement description"); - InitMeasurement(frontShoulderSlopeLength_M, m, g, d); - //================================================================================================================= - m = QmuTranslation::translate("Measurements", "back_shoulder_slope_length", - "Short measurement name. Don't use math symbols in name!!!!"); - g = QmuTranslation::translate("MeasurementsFullNames", "Back Shoulder Balance", "Full measurement name"); - d = QmuTranslation::translate("MeasurementsDescriptions", "ShoulderTip to Back Waist Center", - "Full measurement description"); - InitMeasurement(backShoulderSlopeLength_M, m, g, d); - //================================================================================================================= - m = QmuTranslation::translate("Measurements", "front_shoulder_to_waist_length", - "Short measurement name. Don't use math symbols in name!!!!"); - g = QmuTranslation::translate("MeasurementsFullNames", "Front Full Length", "Full measurement name"); - d = QmuTranslation::translate("MeasurementsDescriptions", "NeckPoint straight down front chest to Waistline", - "Full measurement description"); - InitMeasurement(frontShoulderToWaistLength_M, m, g, d); - //================================================================================================================= - m = QmuTranslation::translate("Measurements", "back_shoulder_to_waist_length", - "Short measurement name. Don't use math symbols in name!!!!"); - g = QmuTranslation::translate("MeasurementsFullNames", "Back Full Length", "Full measurement name"); - d = QmuTranslation::translate("MeasurementsDescriptions", "Back NeckPoint straight down back chest to Waistline", - "Full measurement description"); - InitMeasurement(backShoulderToWaistLength_M, m, g, d); - //================================================================================================================= - m = QmuTranslation::translate("Measurements", "front_neck_arc", - "Short measurement name. Don't use math symbols in name!!!!"); - g = QmuTranslation::translate("MeasurementsFullNames", "Front Neck arc", "Full measurement name"); - d = QmuTranslation::translate("MeasurementsDescriptions", "NeckPoint to NeckPoint through Front Neck Center", - "Full measurement description"); - InitMeasurement(frontNeckArc_M, m, g, d); - //================================================================================================================= - m = QmuTranslation::translate("Measurements", "back_neck_arc", - "Short measurement name. Don't use math symbols in name!!!!"); - g = QmuTranslation::translate("MeasurementsFullNames", "Back Neck arc", "Full measurement name"); - d = QmuTranslation::translate("MeasurementsDescriptions", "NeckPoint to NeckPoint across Nape", - "Full measurement description"); - InitMeasurement(backNeckArc_M, m, g, d); - //================================================================================================================= - m = QmuTranslation::translate("Measurements", "front_upper_chest_arc", - "Short measurement name. Don't use math symbols in name!!!!"); - g = QmuTranslation::translate("MeasurementsFullNames", "Front upper-bust arc", "Full measurement name"); - d = QmuTranslation::translate("MeasurementsDescriptions", "Front upper-bust arc", "Full measurement description"); - InitMeasurement(frontUpperChestArc_M, m, g, d); - //================================================================================================================= - m = QmuTranslation::translate("Measurements", "back_upper_chest_arc", - "Short measurement name. Don't use math symbols in name!!!!"); - g = QmuTranslation::translate("MeasurementsFullNames", "Back UpperBust arc", "Full measurement name"); - d = QmuTranslation::translate("MeasurementsDescriptions", "Back UpperBust side to side", - "Full measurement description"); - InitMeasurement(backUpperChestArc_M, m, g, d); - //================================================================================================================= - m = QmuTranslation::translate("Measurements", "front_waist_arc", - "Short measurement name. Don't use math symbols in name!!!!"); - g = QmuTranslation::translate("MeasurementsFullNames", "Front Waist arc", "Full measurement name"); - d = QmuTranslation::translate("MeasurementsDescriptions", "Front Waist side to side", - "Full measurement description"); - InitMeasurement(frontWaistArc_M, m, g, d); - //================================================================================================================= - m = QmuTranslation::translate("Measurements", "back_waist_arc", - "Short measurement name. Don't use math symbols in name!!!!"); - g = QmuTranslation::translate("MeasurementsFullNames", "Back Waist arc", "Full measurement name"); - d = QmuTranslation::translate("MeasurementsDescriptions", "Back Waist side to side", - "Full measurement description"); - InitMeasurement(backWaistArc_M, m, g, d); - //================================================================================================================= - m = QmuTranslation::translate("Measurements", "front_upper_hip_arc", - "Short measurement name. Don't use math symbols in name!!!!"); - g = QmuTranslation::translate("MeasurementsFullNames", "Front UpperHip arc", "Full measurement name"); - d = QmuTranslation::translate("MeasurementsDescriptions", "Front UpperHip side to side", - "Full measurement description"); - InitMeasurement(frontUpperHipArc_M, m, g, d); - //================================================================================================================= - m = QmuTranslation::translate("Measurements", "back_upper_hip_arc", - "Short measurement name. Don't use math symbols in name!!!!"); - g = QmuTranslation::translate("MeasurementsFullNames", "Back UpperHip arc", "Full measurement name"); - d = QmuTranslation::translate("MeasurementsDescriptions", "Back UpperHip side to side", - "Full measurement description"); - InitMeasurement(backUpperHipArc_M, m, g, d); - //================================================================================================================= - m = QmuTranslation::translate("Measurements", "front_hip_arc", - "Short measurement name. Don't use math symbols in name!!!!"); - g = QmuTranslation::translate("MeasurementsFullNames", "Front Hip arc", "Full measurement name"); - d = QmuTranslation::translate("MeasurementsDescriptions", "Front Hip side to side", - "Full measurement description"); - InitMeasurement(frontHipArc_M, m, g, d); - //================================================================================================================= - m = QmuTranslation::translate("Measurements", "back_hip_arc", - "Short measurement name. Don't use math symbols in name!!!!"); - g = QmuTranslation::translate("MeasurementsFullNames", "Back Hip arc", "Full measurement name"); - d = QmuTranslation::translate("MeasurementsDescriptions", "Back Hip side to side", "Full measurement description"); - InitMeasurement(backHipArc_M, m, g, d); - //================================================================================================================= - m = QmuTranslation::translate("Measurements", "chest_slope", - "Short measurement name. Don't use math symbols in name!!!!"); - g = QmuTranslation::translate("MeasurementsFullNames", "Chest Balance", "Full measurement name"); - d = QmuTranslation::translate("MeasurementsDescriptions", "NeckPoint to Front ArmfoldPoint", - "Full measurement description"); - InitMeasurement(chestSlope_M, m, g, d); - //================================================================================================================= - m = QmuTranslation::translate("Measurements", "back_slope", - "Short measurement name. Don't use math symbols in name!!!!"); - g = QmuTranslation::translate("MeasurementsFullNames", "Back Balance", "Full measurement name"); - d = QmuTranslation::translate("MeasurementsDescriptions", "NeckPoint to Back ArmfoldPoint", - "Full measurement description"); - InitMeasurement(backSlope_M, m, g, d); - //================================================================================================================= - m = QmuTranslation::translate("Measurements", "front_waist_slope", - "Short measurement name. Don't use math symbols in name!!!!"); - g = QmuTranslation::translate("MeasurementsFullNames", "Front Waist Balance", "Full measurement name"); - d = QmuTranslation::translate("MeasurementsDescriptions", "NeckPoint across Front Chest to Waist side", - "Full measurement description"); - InitMeasurement(frontWaistSlope_M, m, g, d); - //================================================================================================================= - m = QmuTranslation::translate("Measurements", "back_waist_slope", - "Short measurement name. Don't use math symbols in name!!!!"); - g = QmuTranslation::translate("MeasurementsFullNames", "Back Waist Balance", "Full measurement name"); - d = QmuTranslation::translate("MeasurementsDescriptions", "NeckPoint across Back Chest to Waist side", - "Full measurement description"); - InitMeasurement(backWaistSlope_M, m, g, d); - //================================================================================================================= - m = QmuTranslation::translate("Measurements", "front_neck_to_upper_chest_height", - "Short measurement name. Don't use math symbols in name!!!!"); - g = QmuTranslation::translate("MeasurementsFullNames", "Front UpperChest height", "Full measurement name"); - d = QmuTranslation::translate("MeasurementsDescriptions", "Front Neck Center straight down to UpperChest line", - "Full measurement description"); - InitMeasurement(frontNeckToUpperChestHeight_M, m, g, d); - //================================================================================================================= - m = QmuTranslation::translate("Measurements", "front_neck_to_bust_height", - "Short measurement name. Don't use math symbols in name!!!!"); - g = QmuTranslation::translate("MeasurementsFullNames", "Bust height", "Full measurement name"); - d = QmuTranslation::translate("MeasurementsDescriptions", "Front Neck Center straight down to Bust line", - "Full measurement description"); - InitMeasurement(frontNeckToBustHeight_M, m, g, d); - //================================================================================================================= - m = QmuTranslation::translate("Measurements", "front_waist_to_upper_chest", - "Short measurement name. Don't use math symbols in name!!!!"); - g = QmuTranslation::translate("MeasurementsFullNames", "Front Upper chest waist", "Full measurement name"); - d = QmuTranslation::translate("MeasurementsDescriptions", "Front Upper chest waist", - "Full measurement description"); - InitMeasurement(frontWaistToUpperChest_M, m, g, d); - //================================================================================================================= - m = QmuTranslation::translate("Measurements", "front_waist_to_lower_breast", - "Short measurement name. Don't use math symbols in name!!!!"); - g = QmuTranslation::translate("MeasurementsFullNames", "Front waist to lower breast", "Full measurement name"); - d = QmuTranslation::translate("MeasurementsDescriptions", "Front waist to lower breast", - "Full measurement description"); - InitMeasurement(frontWaistToLowerBreast_M, m, g, d); - //================================================================================================================= - m = QmuTranslation::translate("Measurements", "back_waist_to_upper_chest", - "Short measurement name. Don't use math symbols in name!!!!"); - g = QmuTranslation::translate("MeasurementsFullNames", "Back waist to upper chest", "Full measurement name"); - d = QmuTranslation::translate("MeasurementsDescriptions", "Back waist to upper chest", - "Full measurement description"); - InitMeasurement(backWaistToUpperChest_M, m, g, d); - //================================================================================================================= - m = QmuTranslation::translate("Measurements", "strap_length", - "Short measurement name. Don't use math symbols in name!!!!"); - g = QmuTranslation::translate("MeasurementsFullNames", "Strap length", "Full measurement name"); - d = QmuTranslation::translate("MeasurementsDescriptions", "Strap length", - "Full measurement description"); - InitMeasurement(strapLength_M, m, g, d); - //================================================================================================================= - // arm - m = QmuTranslation::translate("Measurements", "armscye_girth", - "Short measurement name. Don't use math symbols in name!!!!"); - g = QmuTranslation::translate("MeasurementsFullNames", "Armscye Girth", "Full measurement name"); - d = QmuTranslation::translate("MeasurementsDescriptions", "Around Armscye", "Full measurement description"); - InitMeasurement(armscyeGirth_M, m, g, d); - //================================================================================================================= - m = QmuTranslation::translate("Measurements", "elbow_girth", - "Short measurement name. Don't use math symbols in name!!!!"); - g = QmuTranslation::translate("MeasurementsFullNames", "Elbow Girth", "Full measurement name"); - d = QmuTranslation::translate("MeasurementsDescriptions", "Around Elbow with elbow bent", - "Full measurement description"); - InitMeasurement(elbowGirth_M, m, g, d); - //================================================================================================================= - m = QmuTranslation::translate("Measurements", "upper_arm_girth", - "Short measurement name. Don't use math symbols in name!!!!"); - g = QmuTranslation::translate("MeasurementsFullNames", "Upperarm Girth", "Full measurement name"); - d = QmuTranslation::translate("MeasurementsDescriptions", "Around UpperArm", "Full measurement description"); - InitMeasurement(upperArmGirth_M, m, g, d); - //================================================================================================================= - m = QmuTranslation::translate("Measurements", "wrist_girth", - "Short measurement name. Don't use math symbols in name!!!!"); - g = QmuTranslation::translate("MeasurementsFullNames", "Wrist girth", "Full measurement name"); - d = QmuTranslation::translate("MeasurementsDescriptions", "Around Wrist", "Full measurement description"); - InitMeasurement(wristGirth_M, m, g, d); - //================================================================================================================= - m = QmuTranslation::translate("Measurements", "scye_depth", - "Short measurement name. Don't use math symbols in name!!!!"); - g = QmuTranslation::translate("MeasurementsFullNames", "Armscye depth", "Full measurement name"); - d = QmuTranslation::translate("MeasurementsDescriptions", "Nape straight down to UnderBust line (same as Back " - "UpperBust height)", "Full measurement description"); - InitMeasurement(scyeDepth_M, m, g, d); - //================================================================================================================= - m = QmuTranslation::translate("Measurements", "shoulder_and_arm_length", - "Short measurement name. Don't use math symbols in name!!!!"); - g = QmuTranslation::translate("MeasurementsFullNames", "Shoulder and Arm length", "Full measurement name"); - d = QmuTranslation::translate("MeasurementsDescriptions", "NeckPoint to ShoulderTip to Wrist, with elbow bent and " - "hand on hip", "Full measurement description"); - InitMeasurement(shoulderAndArmLength_M, m, g, d); - //================================================================================================================= - m = QmuTranslation::translate("Measurements", "underarm_length", - "Short measurement name. Don't use math symbols in name!!!!"); - g = QmuTranslation::translate("MeasurementsFullNames", "Underarm length", "Full measurement name"); - d = QmuTranslation::translate("MeasurementsDescriptions", "Armpit to Wrist, with arm straight and hanging at side", - "Full measurement description"); - InitMeasurement(underarmLength_M, m, g, d); - //================================================================================================================= - m = QmuTranslation::translate("Measurements", "cervicale_to_wrist_length", - "Short measurement name. Don't use math symbols in name!!!!"); - g = QmuTranslation::translate("MeasurementsFullNames", "Nape to wrist length", "Full measurement name"); - d = QmuTranslation::translate("MeasurementsDescriptions", "Nape to Wrist, with elbow bent and hand on hip", - "Full measurement description"); - InitMeasurement(cervicaleToWristLength_M, m, g, d); - //================================================================================================================= - m = QmuTranslation::translate("Measurements", "shoulder_to_elbow_length", - "Short measurement name. Don't use math symbols in name!!!!"); - g = QmuTranslation::translate("MeasurementsFullNames", "Elbow length", "Full measurement name"); - d = QmuTranslation::translate("MeasurementsDescriptions", "ShoulderTip to Elbow, with elbow bent and hand on hip", - "Full measurement description"); - InitMeasurement(shoulderToElbowLength_M, m, g, d); - //================================================================================================================= - m = QmuTranslation::translate("Measurements", "arm_length", - "Short measurement name. Don't use math symbols in name!!!!"); - g = QmuTranslation::translate("MeasurementsFullNames", "Arm length", "Full measurement name"); - d = QmuTranslation::translate("MeasurementsDescriptions", "ShoulderTip to Wrist, with elbow bent and hand on hip", - "Full measurement description"); - InitMeasurement(armLength_M, m, g, d); - //================================================================================================================= - // hand - m = QmuTranslation::translate("Measurements", "hand_width", - "Short measurement name. Don't use math symbols in name!!!!"); - g = QmuTranslation::translate("MeasurementsFullNames", "Hand width", "Full measurement name"); - d = QmuTranslation::translate("MeasurementsDescriptions", "Hand side to side", "Full measurement description"); - InitMeasurement(handWidth_M, m, g, d); - //================================================================================================================= - m = QmuTranslation::translate("Measurements", "hand_length", - "Short measurement name. Don't use math symbols in name!!!!"); - g = QmuTranslation::translate("MeasurementsFullNames", "Hand length", "Full measurement name"); - d = QmuTranslation::translate("MeasurementsDescriptions", "Hand Middle Finger tip to wrist", - "Full measurement description"); - InitMeasurement(handLength_M, m, g, d); - //================================================================================================================= - m = QmuTranslation::translate("Measurements", "hand_girth", - "Short measurement name. Don't use math symbols in name!!!!"); - g = QmuTranslation::translate("MeasurementsFullNames", "Hand girth", "Full measurement name"); - d = QmuTranslation::translate("MeasurementsDescriptions", "Around Hand", "Full measurement description"); - InitMeasurement(handGirth_M, m, g, d); - //================================================================================================================= - // leg - m = QmuTranslation::translate("Measurements", "thigh_girth", - "Short measurement name. Don't use math symbols in name!!!!"); - g = QmuTranslation::translate("MeasurementsFullNames", "Thigh girth", "Full measurement name"); - d = QmuTranslation::translate("MeasurementsDescriptions", "Around Thigh", "Full measurement description"); - InitMeasurement(thighGirth_M, m, g, d); - //================================================================================================================= - m = QmuTranslation::translate("Measurements", "mid_thigh_girth", - "Short measurement name. Don't use math symbols in name!!!!"); - g = QmuTranslation::translate("MeasurementsFullNames", "Midthigh girth", "Full measurement name"); - d = QmuTranslation::translate("MeasurementsDescriptions", "Around MidThigh", "Full measurement description"); - InitMeasurement(midThighGirth_M, m, g, d); - //================================================================================================================= - m = QmuTranslation::translate("Measurements", "knee_girth", - "Short measurement name. Don't use math symbols in name!!!!"); - g = QmuTranslation::translate("MeasurementsFullNames", "Knee girth", "Full measurement name"); - d = QmuTranslation::translate("MeasurementsDescriptions", "Around Knee", "Full measurement description"); - InitMeasurement(kneeGirth_M, m, g, d); - //================================================================================================================= - m = QmuTranslation::translate("Measurements", "calf_girth", - "Short measurement name. Don't use math symbols in name!!!!"); - g = QmuTranslation::translate("MeasurementsFullNames", "Calf girth", "Full measurement name"); - d = QmuTranslation::translate("MeasurementsDescriptions", "Around Calf", "Full measurement description"); - InitMeasurement(calfGirth_M, m, g, d); - //================================================================================================================= - m = QmuTranslation::translate("Measurements", "ankle_girth", - "Short measurement name. Don't use math symbols in name!!!!"); - g = QmuTranslation::translate("MeasurementsFullNames", "Ankle girth", "Full measurement name"); - d = QmuTranslation::translate("MeasurementsDescriptions", "Around Ankle", "Full measurement description"); - InitMeasurement(ankleGirth_M, m, g, d); - //================================================================================================================= - m = QmuTranslation::translate("Measurements", "knee_height", - "Short measurement name. Don't use math symbols in name!!!!"); - g = QmuTranslation::translate("MeasurementsFullNames", "Knee height", "Full measurement name"); - d = QmuTranslation::translate("MeasurementsDescriptions", "Knee to Floor", "Full measurement description"); - InitMeasurement(kneeHeight_M, m, g, d); - //================================================================================================================= - m = QmuTranslation::translate("Measurements", "ankle_height", - "Short measurement name. Don't use math symbols in name!!!!"); - g = QmuTranslation::translate("MeasurementsFullNames", "Ankle height", "Full measurement name"); - d = QmuTranslation::translate("MeasurementsDescriptions", "Ankle to Floor", "Full measurement description"); - InitMeasurement(ankleHeight_M, m, g, d); - //================================================================================================================= - // foot - m = QmuTranslation::translate("Measurements", "foot_width", - "Short measurement name. Don't use math symbols in name!!!!"); - g = QmuTranslation::translate("MeasurementsFullNames", "Foot width", "Full measurement name"); - d = QmuTranslation::translate("MeasurementsDescriptions", "Widest part of Foot side to side", - "Full measurement description"); - InitMeasurement(footWidth_M, m, g, d); - //================================================================================================================= - m = QmuTranslation::translate("Measurements", "foot_length", - "Short measurement name. Don't use math symbols in name!!!!"); - g = QmuTranslation::translate("MeasurementsFullNames", "Foot length", "Full measurement name"); - d = QmuTranslation::translate("MeasurementsDescriptions", "Tip of Longest Toe straight to back of heel", - "Full measurement description"); - InitMeasurement(footLength_M, m, g, d); - //================================================================================================================= - // heights - m = QmuTranslation::translate("Measurements", "height", - "Short measurement name. Don't use math symbols in name!!!!"); - g = QmuTranslation::translate("MeasurementsFullNames", "Total Height", "Full measurement name"); - d = QmuTranslation::translate("MeasurementsDescriptions", "Top of head to floor", "Full measurement description"); - InitMeasurement(height_M, m, g, d); - //================================================================================================================= - m = QmuTranslation::translate("Measurements", "cervicale_height", - "Short measurement name. Don't use math symbols in name!!!!"); - g = QmuTranslation::translate("MeasurementsFullNames", "Nape height", "Full measurement name"); - d = QmuTranslation::translate("MeasurementsDescriptions", "Nape to Floor", "Full measurement description"); - InitMeasurement(cervicaleHeight_M, m, g, d); - //================================================================================================================= - m = QmuTranslation::translate("Measurements", "cervicale_to_knee_height", - "Short measurement name. Don't use math symbols in name!!!!"); - g = QmuTranslation::translate("MeasurementsFullNames", "Nape to knee height", "Full measurement name"); - d = QmuTranslation::translate("MeasurementsDescriptions", "Nape to Knee", "Full measurement description"); - InitMeasurement(cervicaleToKneeHeight_M, m, g, d); - //================================================================================================================= - m = QmuTranslation::translate("Measurements", "waist_height", - "Short measurement name. Don't use math symbols in name!!!!"); - g = QmuTranslation::translate("MeasurementsFullNames", "Waist height", "Full measurement name"); - d = QmuTranslation::translate("MeasurementsDescriptions", "Waist side to floor", "Full measurement description"); - InitMeasurement(waistHeight_M, m, g, d); - //================================================================================================================= - m = QmuTranslation::translate("Measurements", "high_hip_height", - "Short measurement name. Don't use math symbols in name!!!!"); - g = QmuTranslation::translate("MeasurementsFullNames", "HighHip height", "Full measurement name"); - d = QmuTranslation::translate("MeasurementsDescriptions", "HighHip side to Floor", "Full measurement description"); - InitMeasurement(highHipHeight_M, m, g, d); - //================================================================================================================= - m = QmuTranslation::translate("Measurements", "hip_height", - "Short measurement name. Don't use math symbols in name!!!!"); - g = QmuTranslation::translate("MeasurementsFullNames", "Hip height", "Full measurement name"); - d = QmuTranslation::translate("MeasurementsDescriptions", "Hip side to Floor", "Full measurement description"); - InitMeasurement(hipHeight_M, m, g, d); - //================================================================================================================= - m = QmuTranslation::translate("Measurements", "waist_to_hip_height", - "Short measurement name. Don't use math symbols in name!!!!"); - g = QmuTranslation::translate("MeasurementsFullNames", "Waist to Hip height", "Full measurement name"); - d = QmuTranslation::translate("MeasurementsDescriptions", "Waist side to Hip", "Full measurement description"); - InitMeasurement(waistToHipHeight_M, m, g, d); - //================================================================================================================= - m = QmuTranslation::translate("Measurements", "waist_to_knee_height", - "Short measurement name. Don't use math symbols in name!!!!"); - g = QmuTranslation::translate("MeasurementsFullNames", "Waist to Knee height", "Full measurement name"); - d = QmuTranslation::translate("MeasurementsDescriptions", "Waist side to Knee", "Full measurement description"); - InitMeasurement(waistToKneeHeight_M, m, g, d); - //================================================================================================================= - m = QmuTranslation::translate("Measurements", "crotch_height", - "Short measurement name. Don't use math symbols in name!!!!"); - g = QmuTranslation::translate("MeasurementsFullNames", "Crotch height/Inseam", "Full measurement name"); - d = QmuTranslation::translate("MeasurementsDescriptions", "Crotch to Floor along inside leg", - "Full measurement description"); - InitMeasurement(crotchHeight_M, m, g, d); - //================================================================================================================= - //extended - m = QmuTranslation::translate("Measurements", "size", "Short measurement name. Don't use math symbols in name!!!!"); - g = QmuTranslation::translate("MeasurementsFullNames", "Size", "Full measurement name"); - d = QmuTranslation::translate("MeasurementsDescriptions", "Size", "Full measurement description"); - InitMeasurement(size_M, m, g, d); - //================================================================================================================= - m = QmuTranslation::translate("Measurements", "height_front_neck_base_point", - "Short measurement name. Don't use math symbols in name!!!!"); - g = QmuTranslation::translate("MeasurementsFullNames", "Height front neck base point", "Full measurement name"); - d = QmuTranslation::translate("MeasurementsDescriptions", "Height of the point base of the neck in front", - "Full measurement description"); - InitMeasurement(heightFrontNeckBasePoint_M, m, g, d); - //================================================================================================================= - m = QmuTranslation::translate("Measurements", "height_base_neck_side_point", - "Short measurement name. Don't use math symbols in name!!!!"); - g = QmuTranslation::translate("MeasurementsFullNames", "Height base neck side point", "Full measurement name"); - d = QmuTranslation::translate("MeasurementsDescriptions", "Height of the base of the neck side point", - "Full measurement description"); - InitMeasurement(heightBaseNeckSidePoint_M, m, g, d); - //================================================================================================================= - m = QmuTranslation::translate("Measurements", "height_shoulder_point", - "Short measurement name. Don't use math symbols in name!!!!"); - g = QmuTranslation::translate("MeasurementsFullNames", "Height shoulder point", "Full measurement name"); - d = QmuTranslation::translate("MeasurementsDescriptions", "The height of the shoulder point", - "Full measurement description"); - InitMeasurement(heightShoulderPoint_M, m, g, d); - //================================================================================================================= - m = QmuTranslation::translate("Measurements", "height_nipple_point", - "Short measurement name. Don't use math symbols in name!!!!"); - g = QmuTranslation::translate("MeasurementsFullNames", "Height nipple point", "Full measurement name"); - d = QmuTranslation::translate("MeasurementsDescriptions", "Height nipple point", "Full measurement description"); - InitMeasurement(heightNipplePoint_M, m, g, d); - //================================================================================================================= - m = QmuTranslation::translate("Measurements", "height_back_angle_axilla", - "Short measurement name. Don't use math symbols in name!!!!"); - g = QmuTranslation::translate("MeasurementsFullNames", "Height back angle axilla", "Full measurement name"); - d = QmuTranslation::translate("MeasurementsDescriptions", "Height back angle axilla", - "Full measurement description"); - InitMeasurement(heightBackAngleAxilla_M, m, g, d); - //================================================================================================================= - m = QmuTranslation::translate("Measurements", "height_scapular_point", - "Short measurement name. Don't use math symbols in name!!!!"); - g = QmuTranslation::translate("MeasurementsFullNames", "Height scapular point", "Full measurement name"); - d = QmuTranslation::translate("MeasurementsDescriptions", "Height scapular point", "Full measurement description"); - InitMeasurement(heightScapularPoint_M, m, g, d); - //================================================================================================================= - m = QmuTranslation::translate("Measurements", "height_under_buttock_folds", - "Short measurement name. Don't use math symbols in name!!!!"); - g = QmuTranslation::translate("MeasurementsFullNames", "Height under buttock folds", "Full measurement name"); - d = QmuTranslation::translate("MeasurementsDescriptions", "Height under buttock folds", - "Full measurement description"); - InitMeasurement(heightUnderButtockFolds_M, m, g, d); - //================================================================================================================= - m = QmuTranslation::translate("Measurements", "hips_excluding_protruding_abdomen", - "Short measurement name. Don't use math symbols in name!!!!"); - g = QmuTranslation::translate("MeasurementsFullNames", "Hips excluding protruding abdomen", - "Full measurement name"); - d = QmuTranslation::translate("MeasurementsDescriptions", "Hips excluding protruding abdomen", - "Full measurement description"); - InitMeasurement(hipsExcludingProtrudingAbdomen_M, m, g, d); - //================================================================================================================= - m = QmuTranslation::translate("Measurements", "girth_foot_instep", - "Short measurement name. Don't use math symbols in name!!!!"); - g = QmuTranslation::translate("MeasurementsFullNames", "Girth foot instep", "Full measurement name"); - d = QmuTranslation::translate("MeasurementsDescriptions", "Girth foot instep", "Full measurement description"); - InitMeasurement(girthFootInstep_M, m, g, d); - //================================================================================================================= - m = QmuTranslation::translate("Measurements", "side_waist_to_floor", - "Short measurement name. Don't use math symbols in name!!!!"); - g = QmuTranslation::translate("MeasurementsFullNames", "Side waist to floor", "Full measurement name"); - d = QmuTranslation::translate("MeasurementsDescriptions", "The distance from the side waist to floor", - "Full measurement description"); - InitMeasurement(sideWaistToFloor_M, m, g, d); - //================================================================================================================= - m = QmuTranslation::translate("Measurements", "front_waist_to_floor", - "Short measurement name. Don't use math symbols in name!!!!"); - g = QmuTranslation::translate("MeasurementsFullNames", "Front waist to floor", "Full measurement name"); - d = QmuTranslation::translate("MeasurementsDescriptions", "The distance from the front waist to floor", - "Full measurement description"); - InitMeasurement(frontWaistToFloor_M, m, g, d); - //================================================================================================================= - m = QmuTranslation::translate("Measurements", "arc_through_groin_area", - "Short measurement name. Don't use math symbols in name!!!!"); - g = QmuTranslation::translate("MeasurementsFullNames", "Arc through groin area", "Full measurement name"); - d = QmuTranslation::translate("MeasurementsDescriptions", "Arc through groin area", "Full measurement description"); - InitMeasurement(arcThroughGroinArea_M, m, g, d); - //================================================================================================================= - m = QmuTranslation::translate("Measurements", "waist_to_plane_seat", - "Short measurement name. Don't use math symbols in name!!!!"); - g = QmuTranslation::translate("MeasurementsFullNames", "Waist to plane seat", "Full measurement name"); - d = QmuTranslation::translate("MeasurementsDescriptions", "The distance from the waist to the plane seat", - "Full measurement description"); - InitMeasurement(waistToPlaneSeat_M, m, g, d); - //================================================================================================================= - m = QmuTranslation::translate("Measurements", "neck_to_radial_point", - "Short measurement name. Don't use math symbols in name!!!!"); - g = QmuTranslation::translate("MeasurementsFullNames", "Neck to radial point", "Full measurement name"); - d = QmuTranslation::translate("MeasurementsDescriptions", "The distance from the base of the neck to the side of " - "the radial point", "Full measurement description"); - InitMeasurement(neckToRadialPoint_M, m, g, d); - //================================================================================================================= - m = QmuTranslation::translate("Measurements", "neck_to_third_finger", - "Short measurement name. Don't use math symbols in name!!!!"); - g = QmuTranslation::translate("MeasurementsFullNames", "Neck to third finger", "Full measurement name"); - d = QmuTranslation::translate("MeasurementsDescriptions", "Distance from the base of the neck side point to the " - "end of the third finger", "Full measurement description"); - InitMeasurement(neckToThirdFinger_M, m, g, d); - //================================================================================================================= - m = QmuTranslation::translate("Measurements", "neck_to_first_line_chest_circumference", - "Short measurement name. Don't use math symbols in name!!!!"); - g = QmuTranslation::translate("MeasurementsFullNames", "Neck to first line chest circumference", - "Full measurement name"); - d = QmuTranslation::translate("MeasurementsDescriptions", "The distance from the base of the neck to the side of " - "the first line in front of chest circumference", "Full measurement description"); - InitMeasurement(neckToFirstLineChestCircumference_M, m, g, d); - //================================================================================================================= - m = QmuTranslation::translate("Measurements", "front_waist_length", - "Short measurement name. Don't use math symbols in name!!!!"); - g = QmuTranslation::translate("MeasurementsFullNames", "Front waist length", "Full measurement name"); - d = QmuTranslation::translate("MeasurementsDescriptions", "The distance from the base of the neck to the waist " - "side front (waist length in the front)", "Full measurement description"); - InitMeasurement(frontWaistLength_M, m, g, d); - //================================================================================================================= - m = QmuTranslation::translate("Measurements", "arc_through_shoulder_joint", - "Short measurement name. Don't use math symbols in name!!!!"); - g = QmuTranslation::translate("MeasurementsFullNames", "Arc through shoulder joint", "Full measurement name"); - d = QmuTranslation::translate("MeasurementsDescriptions", "Arc through the highest point of the shoulder joint", - "Full measurement description"); - InitMeasurement(arcThroughShoulderJoint_M, m, g, d); - //================================================================================================================= - m = QmuTranslation::translate("Measurements", "neck_to_back_line_chest_circumference", - "Short measurement name. Don't use math symbols in name!!!!"); - g = QmuTranslation::translate("MeasurementsFullNames", "Neck to back line chest circumference", - "Full measurement name"); - d = QmuTranslation::translate("MeasurementsDescriptions", "The distance from the base of the neck to the back line " - "of chest circumference of the first and the second based on ledge vanes", - "Full measurement description"); - InitMeasurement(neckToBackLineChestCircumference_M, m, g, d); - //================================================================================================================= - m = QmuTranslation::translate("Measurements", "waist_to_neck_side", - "Short measurement name. Don't use math symbols in name!!!!"); - g = QmuTranslation::translate("MeasurementsFullNames", "Waist to neck side", "Full measurement name"); - d = QmuTranslation::translate("MeasurementsDescriptions", "The distance from the waist to the back base of the " - "neck side point", "Full measurement description"); - InitMeasurement(waistToNeckSide_M, m, g, d); - //================================================================================================================= - m = QmuTranslation::translate("Measurements", "arc_length_upper_body", - "Short measurement name. Don't use math symbols in name!!!!"); - g = QmuTranslation::translate("MeasurementsFullNames", "Arc length upper body", "Full measurement name"); - d = QmuTranslation::translate("MeasurementsDescriptions", "Arc length of the upper body through the base of the " - "neck side point", "Full measurement description"); - InitMeasurement(arcLengthUpperBody_M, m, g, d); - //================================================================================================================= - m = QmuTranslation::translate("Measurements", "chest_width", - "Short measurement name. Don't use math symbols in name!!!!"); - g = QmuTranslation::translate("MeasurementsFullNames", "Chest width", "Full measurement name"); - d = QmuTranslation::translate("MeasurementsDescriptions", "Chest width", "Full measurement description"); - InitMeasurement(chestWidth_M, m, g, d); - //================================================================================================================= - m = QmuTranslation::translate("Measurements", "anteroposterior_diameter_hands", - "Short measurement name. Don't use math symbols in name!!!!"); - g = QmuTranslation::translate("MeasurementsFullNames", "Anteroposterior diameter hands", "Full measurement name"); - d = QmuTranslation::translate("MeasurementsDescriptions", "Anteroposterior diameter of the hands", - "Full measurement description"); - InitMeasurement(anteroposteriorDiameterHands_M, m, g, d); - //================================================================================================================= - m = QmuTranslation::translate("Measurements", "height_clavicular_point", - "Short measurement name. Don't use math symbols in name!!!!"); - g = QmuTranslation::translate("MeasurementsFullNames", "Height clavicular point", "Full measurement name"); - d = QmuTranslation::translate("MeasurementsDescriptions", "Height clavicular point", - "Full measurement description"); - InitMeasurement(heightClavicularPoint_M, m, g, d); - //================================================================================================================= - m = QmuTranslation::translate("Measurements", "height_armhole_slash", - "Short measurement name. Don't use math symbols in name!!!!"); - g = QmuTranslation::translate("MeasurementsFullNames", "Height armhole slash", "Full measurement name"); - d = QmuTranslation::translate("MeasurementsDescriptions", "The distance from the point to the cervical level of " - "the posterior angle of the front armpit (underarm height oblique)", - "Full measurement description"); - InitMeasurement(heightArmholeSlash_M, m, g, d); - //================================================================================================================= - m = QmuTranslation::translate("Measurements", "slash_shoulder_height", - "Short measurement name. Don't use math symbols in name!!!!"); - g = QmuTranslation::translate("MeasurementsFullNames", "Slash shoulder height", "Full measurement name"); - d = QmuTranslation::translate("MeasurementsDescriptions", "Slash shoulder height", "Full measurement description"); - InitMeasurement(slashShoulderHeight_M, m, g, d); - //================================================================================================================= - m = QmuTranslation::translate("Measurements", "half_girth_neck", - "Short measurement name. Don't use math symbols in name!!!!"); - g = QmuTranslation::translate("MeasurementsFullNames", "Half girth neck", "Full measurement name"); - d = QmuTranslation::translate("MeasurementsDescriptions", "Half girth neck", "Full measurement description"); - InitMeasurement(halfGirthNeck_M, m, g, d); - //================================================================================================================= - m = QmuTranslation::translate("Measurements", "half_girth_neck_for_shirts", - "Short measurement name. Don't use math symbols in name!!!!"); - g = QmuTranslation::translate("MeasurementsFullNames", "Half girth neck for shirts", "Full measurement name"); - d = QmuTranslation::translate("MeasurementsDescriptions", "Half girth neck for shirts", - "Full measurement description"); - InitMeasurement(halfGirthNeckForShirts_M, m, g, d); - //================================================================================================================= - m = QmuTranslation::translate("Measurements", "half_girth_chest_first", - "Short measurement name. Don't use math symbols in name!!!!"); - g = QmuTranslation::translate("MeasurementsFullNames", "Half girth chest first", "Full measurement name"); - d = QmuTranslation::translate("MeasurementsDescriptions", "Half girth chest first", "Full measurement description"); - InitMeasurement(halfGirthChestFirst_M, m, g, d); - //================================================================================================================= - m = QmuTranslation::translate("Measurements", "half_girth_chest_second", - "Short measurement name. Don't use math symbols in name!!!!"); - g = QmuTranslation::translate("MeasurementsFullNames", "Half girth chest second", "Full measurement name"); - d = QmuTranslation::translate("MeasurementsDescriptions", "Half girth chest second", - "Full measurement description"); - InitMeasurement(halfGirthChestSecond_M, m, g, d); - //================================================================================================================= - m = QmuTranslation::translate("Measurements", "half_girth_chest_third", - "Short measurement name. Don't use math symbols in name!!!!"); - g = QmuTranslation::translate("MeasurementsFullNames", "Half girth chest third", "Full measurement name"); - d = QmuTranslation::translate("MeasurementsDescriptions", "Half girth chest third", "Full measurement description"); - InitMeasurement(halfGirthChestThird_M, m, g, d); - //================================================================================================================= - m = QmuTranslation::translate("Measurements", "half_girth_waist", - "Short measurement name. Don't use math symbols in name!!!!"); - g = QmuTranslation::translate("MeasurementsFullNames", "Half girth waist", "Full measurement name"); - d = QmuTranslation::translate("MeasurementsDescriptions", "Half girth waist", "Full measurement description"); - InitMeasurement(halfGirthWaist_M, m, g, d); - //================================================================================================================= - m = QmuTranslation::translate("Measurements", "half_girth_hips_considering_protruding_abdomen", - "Short measurement name. Don't use math symbols in name!!!!"); - g = QmuTranslation::translate("MeasurementsFullNames", "Half girth hips considering protruding abdomen", - "Full measurement name"); - d = QmuTranslation::translate("MeasurementsDescriptions", "Half girth hips considering protruding abdomen", - "Full measurement description"); - InitMeasurement(halfGirthHipsConsideringProtrudingAbdomen_M, m, g, d); - //================================================================================================================= - m = QmuTranslation::translate("Measurements", "half_girth_hips_excluding_protruding_abdomen", - "Short measurement name. Don't use math symbols in name!!!!"); - g = QmuTranslation::translate("MeasurementsFullNames", "Half girth hips excluding protruding abdomen", - "Full measurement name"); - d = QmuTranslation::translate("MeasurementsDescriptions", "Half girth hips excluding protruding abdomen", - "Full measurement description"); - InitMeasurement(halfGirthHipsExcludingProtrudingAbdomen_M, m, g, d); - //================================================================================================================= - m = QmuTranslation::translate("Measurements", "girth_knee_flexed_feet", - "Short measurement name. Don't use math symbols in name!!!!"); - g = QmuTranslation::translate("MeasurementsFullNames", "Girth knee flexed feet", "Full measurement name"); - d = QmuTranslation::translate("MeasurementsDescriptions", "Girth knee flexed feet", "Full measurement description"); - InitMeasurement(girthKneeFlexedFeet_M, m, g, d); - //================================================================================================================= - m = QmuTranslation::translate("Measurements", "neck_transverse_diameter", - "Short measurement name. Don't use math symbols in name!!!!"); - g = QmuTranslation::translate("MeasurementsFullNames", "Neck transverse diameter", "Full measurement name"); - d = QmuTranslation::translate("MeasurementsDescriptions", "Neck transverse diameter", - "Full measurement description"); - InitMeasurement(neckTransverseDiameter_M, m, g, d); - //================================================================================================================= - m = QmuTranslation::translate("Measurements", "front_slash_shoulder_height", - "Short measurement name. Don't use math symbols in name!!!!"); - g = QmuTranslation::translate("MeasurementsFullNames", "Front slash shoulder height", "Full measurement name"); - d = QmuTranslation::translate("MeasurementsDescriptions", "Front slash shoulder height", - "Full measurement description"); - InitMeasurement(frontSlashShoulderHeight_M, m, g, d); - //================================================================================================================= - m = QmuTranslation::translate("Measurements", "neck_to_front_waist_line", - "Short measurement name. Don't use math symbols in name!!!!"); - g = QmuTranslation::translate("MeasurementsFullNames", "Neck to front waist line", "Full measurement name"); - d = QmuTranslation::translate("MeasurementsDescriptions", "The distance from the base of the neck to the waist " - "line front", "Full measurement description"); - InitMeasurement(neckToFrontWaistLine_M, m, g, d); - //================================================================================================================= - m = QmuTranslation::translate("Measurements", "hand_vertical_diameter", - "Short measurement name. Don't use math symbols in name!!!!"); - g = QmuTranslation::translate("MeasurementsFullNames", "Hand vertical diameter", "Full measurement name"); - d = QmuTranslation::translate("MeasurementsDescriptions", "Hand vertical diameter", "Full measurement description"); - InitMeasurement(handVerticalDiameter_M, m, g, d); - //================================================================================================================= - m = QmuTranslation::translate("Measurements", "neck_to_knee_point", - "Short measurement name. Don't use math symbols in name!!!!"); - g = QmuTranslation::translate("MeasurementsFullNames", "Neck to knee point", "Full measurement name"); - d = QmuTranslation::translate("MeasurementsDescriptions", "Distance from neck to knee point", - "Full measurement description"); - InitMeasurement(neckToKneePoint_M, m, g, d); - //================================================================================================================= - m = QmuTranslation::translate("Measurements", "waist_to_knee", - "Short measurement name. Don't use math symbols in name!!!!"); - g = QmuTranslation::translate("MeasurementsFullNames", "Waist to knee", "Full measurement name"); - d = QmuTranslation::translate("MeasurementsDescriptions", "The distance from the waist to the knee", - "Full measurement description"); - InitMeasurement(waistToKnee_M, m, g, d); - //================================================================================================================= - m = QmuTranslation::translate("Measurements", "shoulder_height", - "Short measurement name. Don't use math symbols in name!!!!"); - g = QmuTranslation::translate("MeasurementsFullNames", "Shoulder height", "Full measurement name"); - d = QmuTranslation::translate("MeasurementsDescriptions", "Shoulder height", "Full measurement description"); - InitMeasurement(shoulderHeight_M, m, g, d); - //================================================================================================================= - m = QmuTranslation::translate("Measurements", "head_height", - "Short measurement name. Don't use math symbols in name!!!!"); - g = QmuTranslation::translate("MeasurementsFullNames", "Head height", "Full measurement name"); - d = QmuTranslation::translate("MeasurementsDescriptions", "Head height", "Full measurement description"); - InitMeasurement(headHeight_M, m, g, d); - //================================================================================================================= - m = QmuTranslation::translate("Measurements", "body_position", - "Short measurement name. Don't use math symbols in name!!!!"); - g = QmuTranslation::translate("MeasurementsFullNames", "Body position", "Full measurement name"); - d = QmuTranslation::translate("MeasurementsDescriptions", "Body position", "Full measurement description"); - InitMeasurement(bodyPosition_M, m, g, d); - //================================================================================================================= - m = QmuTranslation::translate("Measurements", "arc_behind_shoulder_girdle", - "Short measurement name. Don't use math symbols in name!!!!"); - g = QmuTranslation::translate("MeasurementsFullNames", "Arc behind shoulder girdle", "Full measurement name"); - d = QmuTranslation::translate("MeasurementsDescriptions", "Arc behind the shoulder girdle", - "Full measurement description"); - InitMeasurement(arcBehindShoulderGirdle_M, m, g, d); - //================================================================================================================= - m = QmuTranslation::translate("Measurements", "neck_to_neck_base", - "Short measurement name. Don't use math symbols in name!!!!"); - g = QmuTranslation::translate("MeasurementsFullNames", "Neck to neck base", "Full measurement name"); - d = QmuTranslation::translate("MeasurementsDescriptions", "Distance from neck point to point on the base of the " - "neck side neck girth measurement line", "Full measurement description"); - InitMeasurement(neckToNeckBase_M, m, g, d); - //================================================================================================================= - m = QmuTranslation::translate("Measurements", "depth_waist_first", - "Short measurement name. Don't use math symbols in name!!!!"); - g = QmuTranslation::translate("MeasurementsFullNames", "Depth waist first", "Full measurement name"); - d = QmuTranslation::translate("MeasurementsDescriptions", "Depth waist first", "Full measurement description"); - InitMeasurement(depthWaistFirst_M, m, g, d); - //================================================================================================================= - m = QmuTranslation::translate("Measurements", "depth_waist_second", - "Short measurement name. Don't use math symbols in name!!!!"); - g = QmuTranslation::translate("MeasurementsFullNames", "Depth waist second", "Full measurement name"); - d = QmuTranslation::translate("MeasurementsDescriptions", "Depth waist second", "Full measurement description"); - InitMeasurement(depthWaistSecond_M, m, g, d); -} - -//--------------------------------------------------------------------------------------------------------------------- -void VApplication::InitVariables() -{ - variables.insert(line_, QmuTranslation::translate("Variables", "Line_", "Left symbol _ in name")); - variables.insert(angleLine_, QmuTranslation::translate("Variables", "AngleLine_", "Left symbol _ in name")); - variables.insert(arc_, QmuTranslation::translate("Variables", "Arc_", "Left symbol _ in name")); - variables.insert(spl_, QmuTranslation::translate("Variables", "Spl_", "Left symbol _ in name")); - variables.insert(splPath, QmuTranslation::translate("Variables", "SplPath", - "Do not add symbol _ to the end of name")); - variables.insert(radiusArc_, QmuTranslation::translate("Variables", "RadiusArc_", "Left symbol _ in name")); - variables.insert(angle1Arc_, QmuTranslation::translate("Variables", "Angle1Arc_", "Left symbol _ in name")); - variables.insert(angle2Arc_, QmuTranslation::translate("Variables", "Angle2Arc_", "Left symbol _ in name")); - variables.insert(angle1Spl_, QmuTranslation::translate("Variables", "Angle1Spl_", "Left symbol _ in name")); - variables.insert(angle2Spl_, QmuTranslation::translate("Variables", "Angle2Spl_", "Left symbol _ in name")); - variables.insert(angle1SplPath, QmuTranslation::translate("Variables", "Angle1SplPath", - "Do not add symbol _ to the end of name")); - variables.insert(angle2SplPath, QmuTranslation::translate("Variables", "Angle2SplPath", - "Do not add symbol _ to the end of name")); -} - -//--------------------------------------------------------------------------------------------------------------------- -void VApplication::InitFunctions() -{ - functions.insert(sin_F, QmuTranslation::translate("Functions", "sin", "sine function")); - functions.insert(cos_F, QmuTranslation::translate("Functions", "cos", "cosine function")); - functions.insert(tan_F, QmuTranslation::translate("Functions", "tan", "tangens function")); - functions.insert(asin_F, QmuTranslation::translate("Functions", "asin", "arcus sine function")); - functions.insert(acos_F, QmuTranslation::translate("Functions", "acos", "arcus cosine function")); - functions.insert(atan_F, QmuTranslation::translate("Functions", "atan", "arcus tangens function")); - functions.insert(sinh_F, QmuTranslation::translate("Functions", "sinh", "hyperbolic sine function")); - functions.insert(cosh_F, QmuTranslation::translate("Functions", "cosh", "hyperbolic cosine")); - functions.insert(tanh_F, QmuTranslation::translate("Functions", "tanh", "hyperbolic tangens function")); - functions.insert(asinh_F, QmuTranslation::translate("Functions", "asinh", "hyperbolic arcus sine function")); - functions.insert(acosh_F, QmuTranslation::translate("Functions", "acosh", "hyperbolic arcus tangens function")); - functions.insert(atanh_F, QmuTranslation::translate("Functions", "atanh", "hyperbolic arcur tangens function")); - functions.insert(log2_F, QmuTranslation::translate("Functions", "log2", "logarithm to the base 2")); - functions.insert(log10_F, QmuTranslation::translate("Functions", "log10", "logarithm to the base 10")); - functions.insert(log_F, QmuTranslation::translate("Functions", "log", "logarithm to the base 10")); - functions.insert(ln_F, QmuTranslation::translate("Functions", "ln", "logarithm to base e (2.71828...)")); - functions.insert(exp_F, QmuTranslation::translate("Functions", "exp", "e raised to the power of x")); - functions.insert(sqrt_F, QmuTranslation::translate("Functions", "sqrt", "square root of a value")); - functions.insert(sign_F, QmuTranslation::translate("Functions", "sign", "sign function -1 if x<0; 1 if x>0")); - functions.insert(rint_F, QmuTranslation::translate("Functions", "rint", "round to nearest integer")); - functions.insert(abs_F, QmuTranslation::translate("Functions", "abs", "absolute value")); - functions.insert(min_F, QmuTranslation::translate("Functions", "min", "min of all arguments")); - functions.insert(max_F, QmuTranslation::translate("Functions", "max", "max of all arguments")); - functions.insert(sum_F, QmuTranslation::translate("Functions", "sum", "sum of all arguments")); - functions.insert(avg_F, QmuTranslation::translate("Functions", "avg", "mean value of all arguments")); - functions.insert(fmod_F, QmuTranslation::translate("Functions", "fmod", - "Returns the floating-point remainder of numer/denom (rounded towards zero)")); -} - -//--------------------------------------------------------------------------------------------------------------------- -void VApplication::InitPostfixOperators() -{ - postfixOperators.insert(cm_Oprt, QmuTranslation::translate("PostfixOperators", "cm", "centimeter")); - postfixOperators.insert(mm_Oprt, QmuTranslation::translate("PostfixOperators", "mm", "millimeter")); - postfixOperators.insert(in_Oprt, QmuTranslation::translate("PostfixOperators", "in", "inch")); -} - -//--------------------------------------------------------------------------------------------------------------------- -void VApplication::InitSTDescriptions() -{ - stDescriptions.insert("0", QmuTranslation::translate("STDescriptions", - "Standard figures of men 1st group, chest 100 cm", - "Standard table description")); -} - -//--------------------------------------------------------------------------------------------------------------------- -/** - * @brief VApplication::MeasurementsFromUser translate measurement to internal look. - * @param newFormula [in|out] expression to translate - * @param position token position - * @param token token to translate - * @param bias hold change of length between translated and origin token string - * @return true if was found measurement with same name. - */ -bool VApplication::MeasurementsFromUser(QString &newFormula, int position, const QString &token, int &bias) const -{ - QMap::const_iterator i = measurements.constBegin(); - while (i != measurements.constEnd()) - { - if (token == i.value().translate()) - { - newFormula.replace(position, token.length(), i.key()); - bias = token.length() - i.key().length(); - return true; - } - ++i; - } - return false; -} - -//--------------------------------------------------------------------------------------------------------------------- -/** - * @brief VApplication::VariablesFromUser translate variable to internal look. - * @param newFormula [in|out] expression to translate - * @param position token position - * @param token token to translate - * @param bias hold change of length between translated and origin token string - * @return true if was found variable with same name. - */ -bool VApplication::VariablesFromUser(QString &newFormula, int position, const QString &token, int &bias) const -{ - QMap::const_iterator i = variables.constBegin(); - while (i != variables.constEnd()) - { - if (token.indexOf( i.value().translate() ) == 0) - { - newFormula.replace(position, i.value().translate().length(), i.key()); - QString newToken = token; - newToken.replace(0, i.value().translate().length(), i.key()); - bias = token.length() - newToken.length(); - return true; - } - ++i; - } - return false; -} - -//--------------------------------------------------------------------------------------------------------------------- -/** - * @brief VApplication::PostfixOperatorsFromUser translate postfix operator to internal look. - * @param newFormula [in|out] expression to translate - * @param position token position - * @param token token to translate - * @param bias hold change of length between translated and origin token string - * @return true if was found postfix operator with same name. - */ -bool VApplication::PostfixOperatorsFromUser(QString &newFormula, int position, const QString &token, int &bias) const -{ - QMap::const_iterator i = postfixOperators.constBegin(); - while (i != postfixOperators.constEnd()) - { - if (token == i.value().translate()) - { - newFormula.replace(position, token.length(), i.key()); - bias = token.length() - i.key().length(); - return true; - } - ++i; - } - return false; -} - -//--------------------------------------------------------------------------------------------------------------------- -/** - * @brief VApplication::FunctionsFromUser translate function name to internal look. - * @param newFormula [in|out] expression to translate - * @param position token position - * @param token token to translate - * @param bias hold change of length between translated and origin token string - * @return true if was found function with same name. - */ -bool VApplication::FunctionsFromUser(QString &newFormula, int position, const QString &token, int &bias) const -{ - QMap::const_iterator i = functions.constBegin(); - while (i != functions.constEnd()) - { - if (token == i.value().translate()) - { - newFormula.replace(position, token.length(), i.key()); - bias = token.length() - i.key().length(); - return true; - } - ++i; - } - return false; -} - -//--------------------------------------------------------------------------------------------------------------------- -/** - * @brief VApplication::VariablesToUser translate variable name to user. - * @param newFormula [in|out] expression to translate - * @param position token position - * @param token token to translate - * @param bias hold change of length between translated and origin token string - * @return true if was found variable with same name. - */ -bool VApplication::VariablesToUser(QString &newFormula, int position, const QString &token, int &bias) const -{ - QMap::const_iterator i = variables.constBegin(); - while (i != variables.constEnd()) - { - if (token.indexOf( i.key() ) == 0) - { - newFormula.replace(position, i.key().length(), i.value().translate()); - - QString newToken = token; - newToken.replace(0, i.key().length(), i.value().translate()); - bias = token.length() - newToken.length(); - return true; - } - ++i; - } - return false; -} - -//--------------------------------------------------------------------------------------------------------------------- -/** - * @brief VApplication::CorrectionsPositions correct position tokens in expression after token translation. - * - * Because translated string can have different length compare to original need make correction after each translation. - * If bias = 0 correction will not happens. - * - * @param position position currecnt token in expression - * @param bias difference between original token length and translated - * @param tokens all tokens - * @param numbers all numbers - */ -void VApplication::CorrectionsPositions(int position, int bias, QMap &tokens, - QMap &numbers) -{ - if (bias == 0) - { - return;// Nothing to correct; - } - - BiasTokens(position, bias, tokens); - BiasTokens(position, bias, numbers); -} - -//--------------------------------------------------------------------------------------------------------------------- -/** - * @brief VApplication::BiasTokens change position for each token that have position more then "position". - * @param position token position - * @param bias difference between original token length and translated - * @param tokens all tokens - */ -void VApplication::BiasTokens(int position, int bias, QMap &tokens) const -{ - QMap newTokens; - QMap::const_iterator i = tokens.constBegin(); - while (i != tokens.constEnd()) - { - if (i.key()<= position) - { // Tokens before position "position" did not change his positions. - newTokens.insert(i.key(), i.value()); - } - else - { - newTokens.insert(i.key()-bias, i.value()); - } - ++i; - } - tokens = newTokens; -} - //--------------------------------------------------------------------------------------------------------------------- void VApplication::setPatternUnit(const Unit &patternUnit) { @@ -1732,304 +548,6 @@ void VApplication::setPatternUnit(const Unit &patternUnit) InitLineWidth(); } -//--------------------------------------------------------------------------------------------------------------------- -QString VApplication::VarToUser(const QString &var) const -{ - if (measurements.contains(var)) - { - return measurements.value(var).translate(); - } - - if (functions.contains(var)) - { - return functions.value(var).translate(); - } - - if (postfixOperators.contains(var)) - { - return postfixOperators.value(var).translate(); - } - - QString newVar = var; - int bias = 0; - if (VariablesToUser(newVar, 0, var, bias)) - { - return newVar; - } - return newVar; -} - -//--------------------------------------------------------------------------------------------------------------------- -QString VApplication::VarFromUser(const QString &var) const -{ - QString newVar = var; - int bias = 0; - if (MeasurementsFromUser(newVar, 0, var, bias)) - { - return newVar; - } - - if (VariablesFromUser(newVar, 0, var, bias)) - { - return newVar; - } - - if (PostfixOperatorsFromUser(newVar, 0, var, bias)) - { - return newVar; - } - - if (FunctionsFromUser(newVar, 0, var, bias)) - { - return newVar; - } - return newVar; -} - -//--------------------------------------------------------------------------------------------------------------------- -QString VApplication::GuiText(const QString &measurement) const -{ - return guiTexts.value(measurement).translate(); -} - -//--------------------------------------------------------------------------------------------------------------------- -QString VApplication::Description(const QString &measurement) const -{ - return descriptions.value(measurement).translate(); -} - -//--------------------------------------------------------------------------------------------------------------------- -// cppcheck-suppress unusedFunction -QString VApplication::PostfixOperator(const QString &name) const -{ - return postfixOperators.value(name).translate(); -} - -//--------------------------------------------------------------------------------------------------------------------- -/** - * @brief VApplication::FormulaFromUser replace all known tokens in formula to internal look. Also change decimal - * separator in numbers. - * @param formula expression that need translate - * @return translated expression - */ -QString VApplication::FormulaFromUser(const QString &formula) -{ - if (formula.isEmpty()) - { - return formula; - } - QString newFormula = formula;// Local copy for making changes - - Calculator *cal = new Calculator(formula);// Eval formula - QMap tokens = cal->GetTokens();// Tokens (variables, measurements) - QMap numbers = cal->GetNumbers();// All numbers in expression for changing decimal separator - delete cal; - - QList tKeys = tokens.keys();// Take all tokens positions - QList tValues = tokens.values(); - for (int i = 0; i < tKeys.size(); ++i) - { - int bias = 0; - if (MeasurementsFromUser(newFormula, tKeys.at(i), tValues.at(i), bias)) - { - if (bias != 0) - {// Translated token has different length than original. Position next tokens need to be corrected. - CorrectionsPositions(tKeys.at(i), bias, tokens, numbers); - tKeys = tokens.keys(); - tValues = tokens.values(); - } - continue; - } - - if (VariablesFromUser(newFormula, tKeys.at(i), tValues.at(i), bias)) - { - if (bias != 0) - {// Translated token has different length than original. Position next tokens need to be corrected. - CorrectionsPositions(tKeys.at(i), bias, tokens, numbers); - tKeys = tokens.keys(); - tValues = tokens.values(); - } - continue; - } - - if (PostfixOperatorsFromUser(newFormula, tKeys.at(i), tValues.at(i), bias)) - { - if (bias != 0) - {// Translated token has different length than original. Position next tokens need to be corrected. - CorrectionsPositions(tKeys.at(i), bias, tokens, numbers); - tKeys = tokens.keys(); - tValues = tokens.values(); - } - continue; - } - - if (FunctionsFromUser(newFormula, tKeys.at(i), tValues.at(i), bias)) - { - if (bias != 0) - {// Translated token has different length than original. Position next tokens need to be corrected. - CorrectionsPositions(tKeys.at(i), bias, tokens, numbers); - tKeys = tokens.keys(); - tValues = tokens.values(); - } - continue; - } - } - - QLocale loc = QLocale::system(); // User locale - if (loc != QLocale(QLocale::C) && getSettings()->GetOsSeparator()) - {// User want use Os separator - QList nKeys = numbers.keys();// Positions for all numbers in expression - QList nValues = numbers.values(); - for (int i = 0; i < nKeys.size(); ++i) - { - loc = QLocale::system();// From system locale - bool ok = false; - const qreal d = loc.toDouble(nValues.at(i), &ok); - if (ok == false) - { - qDebug()<<"Can't convert to double token"< tokens; - QMap numbers; - try - { - Calculator *cal = new Calculator(formula, false);// Eval formula - tokens = cal->GetTokens();// Tokens (variables, measurements) - numbers = cal->GetNumbers();// All numbers in expression for changing decimal separator - delete cal; - } - catch (qmu::QmuParserError &e) - { - qDebug() << "\nMath parser error:\n" - << "--------------------------------------\n" - << "Message: " << e.GetMsg() << "\n" - << "Expression: " << e.GetExpr() << "\n" - << "--------------------------------------"; - return newFormula; - } - - QList tKeys = tokens.keys(); - QList tValues = tokens.values(); - for (int i = 0; i < tKeys.size(); ++i) - { - if (measurements.contains(tValues.at(i))) - { - newFormula.replace(tKeys.at(i), tValues.at(i).length(), measurements.value(tValues.at(i)).translate()); - int bias = tValues.at(i).length() - measurements.value(tValues.at(i)).translate().length(); - if (bias != 0) - {// Translated token has different length than original. Position next tokens need to be corrected. - CorrectionsPositions(tKeys.at(i), bias, tokens, numbers); - tKeys = tokens.keys(); - tValues = tokens.values(); - } - continue; - } - - if (functions.contains(tValues.at(i))) - { - newFormula.replace(tKeys.at(i), tValues.at(i).length(), functions.value(tValues.at(i)).translate()); - int bias = tValues.at(i).length() - functions.value(tValues.at(i)).translate().length(); - if (bias != 0) - {// Translated token has different length than original. Position next tokens need to be corrected. - CorrectionsPositions(tKeys.at(i), bias, tokens, numbers); - tKeys = tokens.keys(); - tValues = tokens.values(); - } - continue; - } - - if (postfixOperators.contains(tValues.at(i))) - { - newFormula.replace(tKeys.at(i), tValues.at(i).length(), postfixOperators.value(tValues.at(i)).translate()); - int bias = tValues.at(i).length() - postfixOperators.value(tValues.at(i)).translate().length(); - if (bias != 0) - {// Translated token has different length than original. Position next tokens need to be corrected. - CorrectionsPositions(tKeys.at(i), bias, tokens, numbers); - tKeys = tokens.keys(); - tValues = tokens.values(); - } - continue; - } - - int bias = 0; - if (VariablesToUser(newFormula, tKeys.at(i), tValues.at(i), bias)) - { - if (bias != 0) - {// Translated token has different length than original. Position next tokens need to be corrected. - CorrectionsPositions(tKeys.at(i), bias, tokens, numbers); - tKeys = tokens.keys(); - tValues = tokens.values(); - } - continue; - } - } - - QLocale loc = QLocale::system();// User locale - if (loc != QLocale::C && getSettings()->GetOsSeparator()) - {// User want use Os separator - QList nKeys = numbers.keys();// Positions for all numbers in expression - QList nValues = numbers.values(); - for (int i = 0; i < nKeys.size(); ++i) - { - loc = QLocale(QLocale::C);// From pattern locale - bool ok = false; - const qreal d = loc.toDouble(nValues.at(i), &ok); - if (ok == false) - { - qDebug()<<"Can't convert to double token"< #include "../options.h" #include "../widgets/vmaingraphicsview.h" -#include "../../libs/qmuparser/qmutranslation.h" +#include "../container/vtranslatevars.h" #include "vsettings.h" class VApplication;// used in define @@ -79,14 +79,6 @@ public: QString translationsPath() const; qreal widthMainLine() const; qreal widthHairLine() const; - QString VarToUser(const QString &var) const; - QString VarFromUser(const QString &var) const; - QString GuiText(const QString &measurement) const; - QString Description(const QString &measurement) const; - QString PostfixOperator(const QString &name) const; - - QString FormulaFromUser(const QString &formula); - QString FormulaToUser(const QString &formula); template QString LocaleToString(const T &value) @@ -119,11 +111,13 @@ public: static void restoreOverrideCursor(const QString & pixmapPath); static QStringList LabelLanguages(); - QString STDescription(const QString &id)const; void StartLogging(); QTextStream *LogFile(); + const VTranslateVars *TrVars(); + void InitTrVars(); + #if defined(Q_OS_WIN) && defined(Q_CC_GNU) static void DrMingw(); @@ -141,13 +135,7 @@ private: MeasurementsType _patternType; qreal _widthMainLine; qreal _widthHairLine; - QMap measurements; - QMap guiTexts; - QMap descriptions; - QMap variables; - QMap functions; - QMap postfixOperators; - QMap stDescriptions; + VTranslateVars *trVars; QUndoStack *undoStack; VMainGraphicsView *sceneView; QGraphicsScene *currentScene; @@ -174,22 +162,6 @@ private: QLockFile *logLock; #endif void InitLineWidth(); - void InitMeasurements(); - void InitVariables(); - void InitFunctions(); - void InitPostfixOperators(); - void InitSTDescriptions(); - bool MeasurementsFromUser(QString &newFormula, int position, const QString &token, int &bias) const; - bool VariablesFromUser(QString &newFormula, int position, const QString &token, int &bias) const; - bool PostfixOperatorsFromUser(QString &newFormula, int position, const QString &token, - int &bias) const; - bool FunctionsFromUser(QString &newFormula, int position, const QString &token, int &bias) const; - bool VariablesToUser(QString &newFormula, int position, const QString &token, int &bias) const; - void CorrectionsPositions(int position, int bias, QMap &tokens, - QMap &numbers); - void BiasTokens(int position, int bias, QMap &tokens) const; - void InitMeasurement(const QString &name, const qmu::QmuTranslation &m, const qmu::QmuTranslation &g, - const qmu::QmuTranslation &d); #if defined(Q_OS_WIN) && defined(Q_CC_GNU) static const QString GistFileName; diff --git a/src/app/dialogs/app/dialogincrements.cpp b/src/app/dialogs/app/dialogincrements.cpp index 9be173577..d88e9e1bf 100644 --- a/src/app/dialogs/app/dialogincrements.cpp +++ b/src/app/dialogs/app/dialogincrements.cpp @@ -214,7 +214,7 @@ void DialogIncrements::FillMeasurements() if (qApp->patternType() == MeasurementsType::Standard) { QTableWidgetItem *item = new QTableWidgetItem(qApp->LocaleToString( - data->GetTableValue(qApp->VarFromUser(iMap.key())))); + data->GetTableValue(qApp->TrVars()->VarFromUser(iMap.key())))); item->setTextAlignment(Qt::AlignHCenter); SetItemViewOnly(item); ui->tableWidgetMeasurements->setItem(currentRow, 1, item);// calculated value @@ -915,7 +915,8 @@ void DialogIncrements::MeasurementChanged(qint32 row, qint32 column) const QTableWidgetItem *itemName = ui->tableWidgetMeasurements->item(row, 0);// name column QTableWidgetItem *item = ui->tableWidgetMeasurements->item(row, 2); - QSharedPointer measur = data->GetVariable(qApp->VarFromUser(itemName->text())); + QSharedPointer measur = data->GetVariable( + qApp->TrVars()->VarFromUser(itemName->text())); const QString tag = measur->TagName(); QDomNodeList list = m->elementsByTagName(tag); QDomElement domElement = list.at(0).toElement(); diff --git a/src/app/dialogs/tools/dialogalongline.cpp b/src/app/dialogs/tools/dialogalongline.cpp index d26e3e455..df922edd5 100644 --- a/src/app/dialogs/tools/dialogalongline.cpp +++ b/src/app/dialogs/tools/dialogalongline.cpp @@ -240,7 +240,7 @@ void DialogAlongLine::SetFirstPointId(const quint32 &value) */ void DialogAlongLine::SetFormula(const QString &value) { - formula = qApp->FormulaToUser(value); + formula = qApp->TrVars()->FormulaToUser(value); // increase height if needed. if (formula.length() > 80) { @@ -306,7 +306,7 @@ QString DialogAlongLine::GetTypeLine() const */ QString DialogAlongLine::GetFormula() const { - return qApp->FormulaFromUser(formula); + return qApp->TrVars()->FormulaFromUser(formula); } //--------------------------------------------------------------------------------------------------------------------- diff --git a/src/app/dialogs/tools/dialogarc.cpp b/src/app/dialogs/tools/dialogarc.cpp index 9b88f12fa..7ee1167c2 100644 --- a/src/app/dialogs/tools/dialogarc.cpp +++ b/src/app/dialogs/tools/dialogarc.cpp @@ -134,7 +134,7 @@ void DialogArc::SetCenter(const quint32 &value) */ void DialogArc::SetF2(const QString &value) { - f2 = qApp->FormulaToUser(value); + f2 = qApp->TrVars()->FormulaToUser(value); // increase height if needed. if (f2.length() > 80) { @@ -168,7 +168,7 @@ void DialogArc::SetColor(const QString &value) */ void DialogArc::SetF1(const QString &value) { - f1 = qApp->FormulaToUser(value); + f1 = qApp->TrVars()->FormulaToUser(value); // increase height if needed. if (f1.length() > 80) { @@ -190,7 +190,7 @@ void DialogArc::SetF1(const QString &value) */ void DialogArc::SetRadius(const QString &value) { - radius = qApp->FormulaToUser(value); + radius = qApp->TrVars()->FormulaToUser(value); // increase height if needed. if (radius.length() > 80) { @@ -424,7 +424,7 @@ quint32 DialogArc::GetCenter() const */ QString DialogArc::GetRadius() const { - return qApp->FormulaFromUser(radius); + return qApp->TrVars()->FormulaFromUser(radius); } //--------------------------------------------------------------------------------------------------------------------- @@ -434,7 +434,7 @@ QString DialogArc::GetRadius() const */ QString DialogArc::GetF1() const { - return qApp->FormulaFromUser(f1); + return qApp->TrVars()->FormulaFromUser(f1); } //--------------------------------------------------------------------------------------------------------------------- @@ -444,5 +444,5 @@ QString DialogArc::GetF1() const */ QString DialogArc::GetF2() const { - return qApp->FormulaFromUser(f2); + return qApp->TrVars()->FormulaFromUser(f2); } diff --git a/src/app/dialogs/tools/dialogarcwithlength.cpp b/src/app/dialogs/tools/dialogarcwithlength.cpp index f8d718081..37570b10a 100644 --- a/src/app/dialogs/tools/dialogarcwithlength.cpp +++ b/src/app/dialogs/tools/dialogarcwithlength.cpp @@ -109,13 +109,13 @@ void DialogArcWithLength::SetCenter(const quint32 &value) //--------------------------------------------------------------------------------------------------------------------- QString DialogArcWithLength::GetRadius() const { - return qApp->FormulaFromUser(radius); + return qApp->TrVars()->FormulaFromUser(radius); } //--------------------------------------------------------------------------------------------------------------------- void DialogArcWithLength::SetRadius(const QString &value) { - radius = qApp->FormulaToUser(value); + radius = qApp->TrVars()->FormulaToUser(value); // increase height if needed. if (radius.length() > 80) { @@ -133,12 +133,12 @@ void DialogArcWithLength::SetRadius(const QString &value) //--------------------------------------------------------------------------------------------------------------------- QString DialogArcWithLength::GetF1() const { - return qApp->FormulaFromUser(f1); + return qApp->TrVars()->FormulaFromUser(f1); } void DialogArcWithLength::SetF1(const QString &value) { - f1 = qApp->FormulaToUser(value); + f1 = qApp->TrVars()->FormulaToUser(value); // increase height if needed. if (f1.length() > 80) { @@ -156,13 +156,13 @@ void DialogArcWithLength::SetF1(const QString &value) //--------------------------------------------------------------------------------------------------------------------- QString DialogArcWithLength::GetLength() const { - return qApp->FormulaFromUser(length); + return qApp->TrVars()->FormulaFromUser(length); } //--------------------------------------------------------------------------------------------------------------------- void DialogArcWithLength::SetLength(const QString &value) { - length = qApp->FormulaToUser(value); + length = qApp->TrVars()->FormulaToUser(value); // increase height if needed. if (length.length() > 80) { diff --git a/src/app/dialogs/tools/dialogbisector.cpp b/src/app/dialogs/tools/dialogbisector.cpp index 402da2f1b..858e52274 100644 --- a/src/app/dialogs/tools/dialogbisector.cpp +++ b/src/app/dialogs/tools/dialogbisector.cpp @@ -230,7 +230,7 @@ void DialogBisector::SetTypeLine(const QString &value) */ void DialogBisector::SetFormula(const QString &value) { - formula = qApp->FormulaToUser(value); + formula = qApp->TrVars()->FormulaToUser(value); // increase height if needed. if (formula.length() > 80) { @@ -342,7 +342,7 @@ QString DialogBisector::GetTypeLine() const */ QString DialogBisector::GetFormula() const { - return qApp->FormulaFromUser(formula); + return qApp->TrVars()->FormulaFromUser(formula); } //--------------------------------------------------------------------------------------------------------------------- diff --git a/src/app/dialogs/tools/dialogcurveintersectaxis.cpp b/src/app/dialogs/tools/dialogcurveintersectaxis.cpp index f1febff37..a5134227a 100644 --- a/src/app/dialogs/tools/dialogcurveintersectaxis.cpp +++ b/src/app/dialogs/tools/dialogcurveintersectaxis.cpp @@ -99,13 +99,13 @@ void DialogCurveIntersectAxis::SetTypeLine(const QString &value) //--------------------------------------------------------------------------------------------------------------------- QString DialogCurveIntersectAxis::GetAngle() const { - return qApp->FormulaFromUser(formulaAngle); + return qApp->TrVars()->FormulaFromUser(formulaAngle); } //--------------------------------------------------------------------------------------------------------------------- void DialogCurveIntersectAxis::SetAngle(const QString &value) { - formulaAngle = qApp->FormulaToUser(value); + formulaAngle = qApp->TrVars()->FormulaToUser(value); // increase height if needed. TODO : see if I can get the max number of caracters in one line // of this PlainTextEdit to change 80 to this value if (formulaAngle.length() > 80) diff --git a/src/app/dialogs/tools/dialogcutarc.cpp b/src/app/dialogs/tools/dialogcutarc.cpp index 3a4a8a279..a66ffe870 100644 --- a/src/app/dialogs/tools/dialogcutarc.cpp +++ b/src/app/dialogs/tools/dialogcutarc.cpp @@ -183,7 +183,7 @@ void DialogCutArc::SetColor(const QString &value) */ void DialogCutArc::SetFormula(const QString &value) { - formula = qApp->FormulaToUser(value); + formula = qApp->TrVars()->FormulaToUser(value); // increase height if needed. if (formula.length() > 80) { @@ -216,7 +216,7 @@ void DialogCutArc::SetPointName(const QString &value) */ QString DialogCutArc::GetFormula() const { - return qApp->FormulaFromUser(formula); + return qApp->TrVars()->FormulaFromUser(formula); } //--------------------------------------------------------------------------------------------------------------------- diff --git a/src/app/dialogs/tools/dialogcutspline.cpp b/src/app/dialogs/tools/dialogcutspline.cpp index d2fae9c24..a9ccc1915 100644 --- a/src/app/dialogs/tools/dialogcutspline.cpp +++ b/src/app/dialogs/tools/dialogcutspline.cpp @@ -91,7 +91,7 @@ void DialogCutSpline::SetPointName(const QString &value) */ void DialogCutSpline::SetFormula(const QString &value) { - formula = qApp->FormulaToUser(value); + formula = qApp->TrVars()->FormulaToUser(value); // increase height if needed. TODO : see if I can get the max number of caracters in one line // of this PlainTextEdit to change 80 to this value if (formula.length() > 80) @@ -210,7 +210,7 @@ void DialogCutSpline::ShowVisualization() */ QString DialogCutSpline::GetFormula() const { - return qApp->FormulaFromUser(formula); + return qApp->TrVars()->FormulaFromUser(formula); } //--------------------------------------------------------------------------------------------------------------------- diff --git a/src/app/dialogs/tools/dialogcutsplinepath.cpp b/src/app/dialogs/tools/dialogcutsplinepath.cpp index 993b856c4..714c46962 100644 --- a/src/app/dialogs/tools/dialogcutsplinepath.cpp +++ b/src/app/dialogs/tools/dialogcutsplinepath.cpp @@ -91,7 +91,7 @@ void DialogCutSplinePath::SetPointName(const QString &value) */ void DialogCutSplinePath::SetFormula(const QString &value) { - formula = qApp->FormulaToUser(value); + formula = qApp->TrVars()->FormulaToUser(value); // increase height if needed. TODO : see if I can get the max number of caracters in one line // of this PlainTextEdit to change 80 to this value if (formula.length() > 80) @@ -210,7 +210,7 @@ void DialogCutSplinePath::ShowVisualization() */ QString DialogCutSplinePath::GetFormula() const { - return qApp->FormulaFromUser(formula); + return qApp->TrVars()->FormulaFromUser(formula); } //--------------------------------------------------------------------------------------------------------------------- diff --git a/src/app/dialogs/tools/dialogeditwrongformula.cpp b/src/app/dialogs/tools/dialogeditwrongformula.cpp index 90325da76..61769e145 100644 --- a/src/app/dialogs/tools/dialogeditwrongformula.cpp +++ b/src/app/dialogs/tools/dialogeditwrongformula.cpp @@ -135,7 +135,7 @@ void DialogEditWrongFormula::ValChenged(int row) } if (ui->radioButtonStandardTable->isChecked()) { - const QString name = qApp->VarFromUser(item->text()); + const QString name = qApp->TrVars()->VarFromUser(item->text()); const QSharedPointer stable = data->GetVariable(name); const QString desc = QString("%1(%2) - %3").arg(item->text()).arg(data->GetTableValue(name)) .arg(stable->GetGuiText()); @@ -153,56 +153,56 @@ void DialogEditWrongFormula::ValChenged(int row) if (ui->radioButtonLengthLine->isChecked()) { const QString desc = QString("%1(%2) - %3").arg(item->text()) - .arg(*data->GetVariable(qApp->VarFromUser(item->text()))->GetValue()) - .arg(tr("Line length")); + .arg(*data->GetVariable(qApp->TrVars()->VarFromUser(item->text()))->GetValue()) + .arg(tr("Line length")); ui->labelDescription->setText(desc); return; } if (ui->radioButtonLengthArc->isChecked()) { const QString desc = QString("%1(%2) - %3").arg(item->text()) - .arg(*data->GetVariable(qApp->VarFromUser(item->text()))->GetValue()) - .arg(tr("Arc length")); + .arg(*data->GetVariable(qApp->TrVars()->VarFromUser(item->text()))->GetValue()) + .arg(tr("Arc length")); ui->labelDescription->setText(desc); return; } if (ui->radioButtonLengthSpline->isChecked()) { const QString desc = QString("%1(%2) - %3").arg(item->text()) - .arg(*data->GetVariable(qApp->VarFromUser(item->text()))->GetValue()) - .arg(tr("Curve length")); + .arg(*data->GetVariable(qApp->TrVars()->VarFromUser(item->text()))->GetValue()) + .arg(tr("Curve length")); ui->labelDescription->setText(desc); return; } if (ui->radioButtonAngleLine->isChecked()) { const QString desc = QString("%1(%2) - %3").arg(item->text()) - .arg(*data->GetVariable(qApp->VarFromUser(item->text()))->GetValue()) - .arg(tr("Line Angle")); + .arg(*data->GetVariable(qApp->TrVars()->VarFromUser(item->text()))->GetValue()) + .arg(tr("Line Angle")); ui->labelDescription->setText(desc); return; } if (ui->radioButtonRadiusesArcs->isChecked()) { const QString desc = QString("%1(%2) - %3").arg(item->text()) - .arg(*data->GetVariable(qApp->VarFromUser(item->text()))->GetValue()) - .arg(tr("Arc radius")); + .arg(*data->GetVariable(qApp->TrVars()->VarFromUser(item->text()))->GetValue()) + .arg(tr("Arc radius")); ui->labelDescription->setText(desc); return; } if (ui->radioButtonAnglesArcs->isChecked()) { const QString desc = QString("%1(%2) - %3").arg(item->text()) - .arg(*data->GetVariable(qApp->VarFromUser(item->text()))->GetValue()) - .arg(tr("Arc angle")); + .arg(*data->GetVariable(qApp->TrVars()->VarFromUser(item->text()))->GetValue()) + .arg(tr("Arc angle")); ui->labelDescription->setText(desc); return; } if (ui->radioButtonAnglesCurves->isChecked()) { const QString desc = QString("%1(%2) - %3").arg(item->text()) - .arg(*data->GetVariable(qApp->VarFromUser(item->text()))->GetValue()) - .arg(tr("Curve angle")); + .arg(*data->GetVariable(qApp->TrVars()->VarFromUser(item->text()))->GetValue()) + .arg(tr("Curve angle")); ui->labelDescription->setText(desc); return; } @@ -357,7 +357,7 @@ void DialogEditWrongFormula::closeEvent(QCloseEvent *event) //--------------------------------------------------------------------------------------------------------------------- void DialogEditWrongFormula::SetFormula(const QString &value) { - formula = qApp->FormulaToUser(value); + formula = qApp->TrVars()->FormulaToUser(value); // increase height if needed. TODO : see if I can get the max number of caracters in one line // of this PlainTextEdit to change 80 to this value if (formula.length() > 80) @@ -383,7 +383,7 @@ void DialogEditWrongFormula::setPostfix(const QString &value) //--------------------------------------------------------------------------------------------------------------------- QString DialogEditWrongFormula::GetFormula() const { - return qApp->FormulaFromUser(formula); + return qApp->TrVars()->FormulaFromUser(formula); } //--------------------------------------------------------------------------------------------------------------------- diff --git a/src/app/dialogs/tools/dialogendline.cpp b/src/app/dialogs/tools/dialogendline.cpp index 57160defa..88e362040 100644 --- a/src/app/dialogs/tools/dialogendline.cpp +++ b/src/app/dialogs/tools/dialogendline.cpp @@ -195,7 +195,7 @@ void DialogEndLine::SetTypeLine(const QString &value) */ void DialogEndLine::SetFormula(const QString &value) { - formulaLength = qApp->FormulaToUser(value); + formulaLength = qApp->TrVars()->FormulaToUser(value); // increase height if needed. TODO : see if I can get the max number of caracters in one line // of this PlainTextEdit to change 80 to this value if (formulaLength.length() > 80) @@ -218,7 +218,7 @@ void DialogEndLine::SetFormula(const QString &value) */ void DialogEndLine::SetAngle(const QString &value) { - formulaAngle = qApp->FormulaToUser(value); + formulaAngle = qApp->TrVars()->FormulaToUser(value); // increase height if needed. TODO : see if I can get the max number of caracters in one line // of this PlainTextEdit to change 80 to this value if (formulaAngle.length() > 80) @@ -355,7 +355,7 @@ QString DialogEndLine::GetTypeLine() const */ QString DialogEndLine::GetFormula() const { - return qApp->FormulaFromUser(formulaLength); + return qApp->TrVars()->FormulaFromUser(formulaLength); } //--------------------------------------------------------------------------------------------------------------------- @@ -365,7 +365,7 @@ QString DialogEndLine::GetFormula() const */ QString DialogEndLine::GetAngle() const { - return qApp->FormulaFromUser(formulaAngle); + return qApp->TrVars()->FormulaFromUser(formulaAngle); } //--------------------------------------------------------------------------------------------------------------------- diff --git a/src/app/dialogs/tools/dialoglineintersectaxis.cpp b/src/app/dialogs/tools/dialoglineintersectaxis.cpp index 9143047c1..153028627 100644 --- a/src/app/dialogs/tools/dialoglineintersectaxis.cpp +++ b/src/app/dialogs/tools/dialoglineintersectaxis.cpp @@ -107,13 +107,13 @@ void DialogLineIntersectAxis::SetTypeLine(const QString &value) //--------------------------------------------------------------------------------------------------------------------- QString DialogLineIntersectAxis::GetAngle() const { - return qApp->FormulaFromUser(formulaAngle); + return qApp->TrVars()->FormulaFromUser(formulaAngle); } //--------------------------------------------------------------------------------------------------------------------- void DialogLineIntersectAxis::SetAngle(const QString &value) { - formulaAngle = qApp->FormulaToUser(value); + formulaAngle = qApp->TrVars()->FormulaToUser(value); // increase height if needed. TODO : see if I can get the max number of caracters in one line // of this PlainTextEdit to change 80 to this value if (formulaAngle.length() > 80) diff --git a/src/app/dialogs/tools/dialognormal.cpp b/src/app/dialogs/tools/dialognormal.cpp index edbee2001..8d8b79e40 100644 --- a/src/app/dialogs/tools/dialognormal.cpp +++ b/src/app/dialogs/tools/dialognormal.cpp @@ -261,7 +261,7 @@ void DialogNormal::SetAngle(const qreal &value) */ void DialogNormal::SetFormula(const QString &value) { - formula = qApp->FormulaToUser(value); + formula = qApp->TrVars()->FormulaToUser(value); // increase height if needed. if (formula.length() > 80) { @@ -315,7 +315,7 @@ QString DialogNormal::GetTypeLine() const */ QString DialogNormal::GetFormula() const { - return qApp->FormulaFromUser(formula); + return qApp->TrVars()->FormulaFromUser(formula); } //--------------------------------------------------------------------------------------------------------------------- diff --git a/src/app/dialogs/tools/dialogpointfromcircleandtangent.cpp b/src/app/dialogs/tools/dialogpointfromcircleandtangent.cpp index 40988afd4..03cecf995 100644 --- a/src/app/dialogs/tools/dialogpointfromcircleandtangent.cpp +++ b/src/app/dialogs/tools/dialogpointfromcircleandtangent.cpp @@ -111,13 +111,13 @@ void DialogPointFromCircleAndTangent::SetCircleCenterId(const quint32 &value) //--------------------------------------------------------------------------------------------------------------------- QString DialogPointFromCircleAndTangent::GetCircleRadius() const { - return qApp->FormulaFromUser(ui->plainTextEditRadius->toPlainText()); + return qApp->TrVars()->FormulaFromUser(ui->plainTextEditRadius->toPlainText()); } //--------------------------------------------------------------------------------------------------------------------- void DialogPointFromCircleAndTangent::SetCircleRadius(const QString &value) { - const QString formula = qApp->FormulaToUser(value); + const QString formula = qApp->TrVars()->FormulaToUser(value); // increase height if needed. if (formula.length() > 80) { diff --git a/src/app/dialogs/tools/dialogpointofcontact.cpp b/src/app/dialogs/tools/dialogpointofcontact.cpp index 0dbd1de0d..0e796f900 100644 --- a/src/app/dialogs/tools/dialogpointofcontact.cpp +++ b/src/app/dialogs/tools/dialogpointofcontact.cpp @@ -271,7 +271,7 @@ void DialogPointOfContact::setCenter(const quint32 &value) */ void DialogPointOfContact::setRadius(const QString &value) { - radius = qApp->FormulaToUser(value); + radius = qApp->TrVars()->FormulaToUser(value); // increase height if needed. if (radius.length() > 80) { @@ -304,7 +304,7 @@ void DialogPointOfContact::SetPointName(const QString &value) */ QString DialogPointOfContact::getRadius() const { - return qApp->FormulaFromUser(radius); + return qApp->TrVars()->FormulaFromUser(radius); } //--------------------------------------------------------------------------------------------------------------------- diff --git a/src/app/dialogs/tools/dialogpointofintersectioncircles.cpp b/src/app/dialogs/tools/dialogpointofintersectioncircles.cpp index 770a5dd41..d97546eef 100644 --- a/src/app/dialogs/tools/dialogpointofintersectioncircles.cpp +++ b/src/app/dialogs/tools/dialogpointofintersectioncircles.cpp @@ -143,13 +143,13 @@ void DialogPointOfIntersectionCircles::SetSecondCircleCenterId(const quint32 &va //--------------------------------------------------------------------------------------------------------------------- QString DialogPointOfIntersectionCircles::GetFirstCircleRadius() const { - return qApp->FormulaFromUser(ui->plainTextEditCircle1Radius->toPlainText()); + return qApp->TrVars()->FormulaFromUser(ui->plainTextEditCircle1Radius->toPlainText()); } //--------------------------------------------------------------------------------------------------------------------- void DialogPointOfIntersectionCircles::SetFirstCircleRadius(const QString &value) { - const QString formula = qApp->FormulaToUser(value); + const QString formula = qApp->TrVars()->FormulaToUser(value); // increase height if needed. if (formula.length() > 80) { @@ -167,13 +167,13 @@ void DialogPointOfIntersectionCircles::SetFirstCircleRadius(const QString &value //--------------------------------------------------------------------------------------------------------------------- QString DialogPointOfIntersectionCircles::GetSecondCircleRadius() const { - return qApp->FormulaFromUser(ui->plainTextEditCircle2Radius->toPlainText()); + return qApp->TrVars()->FormulaFromUser(ui->plainTextEditCircle2Radius->toPlainText()); } //--------------------------------------------------------------------------------------------------------------------- void DialogPointOfIntersectionCircles::SetSecondCircleRadius(const QString &value) { - const QString formula = qApp->FormulaToUser(value); + const QString formula = qApp->TrVars()->FormulaToUser(value); // increase height if needed. if (formula.length() > 80) { diff --git a/src/app/dialogs/tools/dialogshoulderpoint.cpp b/src/app/dialogs/tools/dialogshoulderpoint.cpp index 09bae04ab..f1db9e5ad 100644 --- a/src/app/dialogs/tools/dialogshoulderpoint.cpp +++ b/src/app/dialogs/tools/dialogshoulderpoint.cpp @@ -288,7 +288,7 @@ void DialogShoulderPoint::SetP1Line(const quint32 &value) */ void DialogShoulderPoint::SetFormula(const QString &value) { - formula = qApp->FormulaToUser(value); + formula = qApp->TrVars()->FormulaToUser(value); // increase height if needed. if (formula.length() > 80) { @@ -341,7 +341,7 @@ QString DialogShoulderPoint::GetTypeLine() const */ QString DialogShoulderPoint::GetFormula() const { - return qApp->FormulaFromUser(formula); + return qApp->TrVars()->FormulaFromUser(formula); } //--------------------------------------------------------------------------------------------------------------------- diff --git a/src/app/dialogs/tools/dialogtool.cpp b/src/app/dialogs/tools/dialogtool.cpp index cedbfdae4..e8e64a717 100644 --- a/src/app/dialogs/tools/dialogtool.cpp +++ b/src/app/dialogs/tools/dialogtool.cpp @@ -460,7 +460,7 @@ qreal DialogTool::Eval(const QString &text, bool &flag, QLabel *label, const QSt // Replace line return character with spaces for calc if exist QString formula = text; formula.replace("\n", " "); - formula = qApp->FormulaFromUser(formula);// Translate to internal look. + formula = qApp->TrVars()->FormulaFromUser(formula);// Translate to internal look. Calculator *cal = new Calculator(data); result = cal->EvalFormula(formula); delete cal; diff --git a/src/app/main.cpp b/src/app/main.cpp index 0bbb8004a..03f087598 100644 --- a/src/app/main.cpp +++ b/src/app/main.cpp @@ -105,6 +105,8 @@ int main(int argc, char *argv[]) appTranslator.load("valentina_" + checkedLocale, qApp->translationsPath()); app.installTranslator(&appTranslator); + app.InitTrVars();//Very important do it after load QM files. + static const char * GENERIC_ICON_TO_CHECK = "document-open"; if (QIcon::hasThemeIcon(GENERIC_ICON_TO_CHECK) == false) { diff --git a/src/app/tools/drawTools/vtoolalongline.cpp b/src/app/tools/drawTools/vtoolalongline.cpp index 0bc69c320..e2c927473 100644 --- a/src/app/tools/drawTools/vtoolalongline.cpp +++ b/src/app/tools/drawTools/vtoolalongline.cpp @@ -136,7 +136,7 @@ void VToolAlongLine::SetVisualization() SCASSERT(visual != nullptr) visual->setPoint1Id(basePointId); visual->setPoint2Id(secondPointId); - visual->setLength(qApp->FormulaToUser(formulaLength)); + visual->setLength(qApp->TrVars()->FormulaToUser(formulaLength)); visual->setLineStyle(VAbstractTool::LineStyleToPenStyle(typeLine)); visual->RefreshGeometry(); } diff --git a/src/app/tools/drawTools/vtoolarc.cpp b/src/app/tools/drawTools/vtoolarc.cpp index 30776e08f..b80d642e7 100644 --- a/src/app/tools/drawTools/vtoolarc.cpp +++ b/src/app/tools/drawTools/vtoolarc.cpp @@ -345,9 +345,9 @@ void VToolArc::SetVisualization() SCASSERT(visual != nullptr) visual->setPoint1Id(arc->GetCenter().id()); - visual->setRadius(qApp->FormulaToUser(arc->GetFormulaRadius())); - visual->setF1(qApp->FormulaToUser(arc->GetFormulaF1())); - visual->setF2(qApp->FormulaToUser(arc->GetFormulaF2())); + visual->setRadius(qApp->TrVars()->FormulaToUser(arc->GetFormulaRadius())); + visual->setF1(qApp->TrVars()->FormulaToUser(arc->GetFormulaF1())); + visual->setF2(qApp->TrVars()->FormulaToUser(arc->GetFormulaF2())); visual->RefreshGeometry(); } } diff --git a/src/app/tools/drawTools/vtoolarcwithlength.cpp b/src/app/tools/drawTools/vtoolarcwithlength.cpp index 176d6b3a7..8386360ac 100644 --- a/src/app/tools/drawTools/vtoolarcwithlength.cpp +++ b/src/app/tools/drawTools/vtoolarcwithlength.cpp @@ -302,9 +302,9 @@ void VToolArcWithLength::SetVisualization() SCASSERT(visual != nullptr) visual->setPoint1Id(arc->GetCenter().id()); - visual->setRadius(qApp->FormulaToUser(arc->GetFormulaRadius())); - visual->setF1(qApp->FormulaToUser(arc->GetFormulaF1())); - visual->setLength(qApp->FormulaToUser(arc->GetFormulaLength())); + visual->setRadius(qApp->TrVars()->FormulaToUser(arc->GetFormulaRadius())); + visual->setF1(qApp->TrVars()->FormulaToUser(arc->GetFormulaF1())); + visual->setLength(qApp->TrVars()->FormulaToUser(arc->GetFormulaLength())); visual->RefreshGeometry(); } } diff --git a/src/app/tools/drawTools/vtoolbisector.cpp b/src/app/tools/drawTools/vtoolbisector.cpp index 497115c17..c439ed48f 100644 --- a/src/app/tools/drawTools/vtoolbisector.cpp +++ b/src/app/tools/drawTools/vtoolbisector.cpp @@ -296,7 +296,7 @@ void VToolBisector::SetVisualization() visual->setPoint1Id(firstPointId); visual->setPoint2Id(basePointId); visual->setPoint3Id(thirdPointId); - visual->setLength(qApp->FormulaToUser(formulaLength)); + visual->setLength(qApp->TrVars()->FormulaToUser(formulaLength)); visual->setLineStyle(VAbstractTool::LineStyleToPenStyle(typeLine)); visual->RefreshGeometry(); } diff --git a/src/app/tools/drawTools/vtoolcurveintersectaxis.cpp b/src/app/tools/drawTools/vtoolcurveintersectaxis.cpp index 0c45bc0c1..1132a9452 100644 --- a/src/app/tools/drawTools/vtoolcurveintersectaxis.cpp +++ b/src/app/tools/drawTools/vtoolcurveintersectaxis.cpp @@ -269,7 +269,7 @@ void VToolCurveIntersectAxis::SetVisualization() visual->setPoint1Id(curveId); visual->setAxisPointId(basePointId); - visual->SetAngle(qApp->FormulaToUser(formulaAngle)); + visual->SetAngle(qApp->TrVars()->FormulaToUser(formulaAngle)); visual->setLineStyle(VAbstractTool::LineStyleToPenStyle(typeLine)); visual->RefreshGeometry(); } diff --git a/src/app/tools/drawTools/vtoolcutarc.cpp b/src/app/tools/drawTools/vtoolcutarc.cpp index 8f1a35d89..ddd61441d 100644 --- a/src/app/tools/drawTools/vtoolcutarc.cpp +++ b/src/app/tools/drawTools/vtoolcutarc.cpp @@ -269,7 +269,7 @@ void VToolCutArc::SetVisualization() SCASSERT(visual != nullptr); visual->setPoint1Id(curveCutId); - visual->setLength(qApp->FormulaToUser(formula)); + visual->setLength(qApp->TrVars()->FormulaToUser(formula)); visual->RefreshGeometry(); } } diff --git a/src/app/tools/drawTools/vtoolcutspline.cpp b/src/app/tools/drawTools/vtoolcutspline.cpp index baa132c12..5ecdf1772 100644 --- a/src/app/tools/drawTools/vtoolcutspline.cpp +++ b/src/app/tools/drawTools/vtoolcutspline.cpp @@ -279,7 +279,7 @@ void VToolCutSpline::SetVisualization() SCASSERT(visual != nullptr); visual->setPoint1Id(curveCutId); - visual->setLength(qApp->FormulaToUser(formula)); + visual->setLength(qApp->TrVars()->FormulaToUser(formula)); visual->RefreshGeometry(); } } diff --git a/src/app/tools/drawTools/vtoolcutsplinepath.cpp b/src/app/tools/drawTools/vtoolcutsplinepath.cpp index 71bd85353..5ef0291f4 100644 --- a/src/app/tools/drawTools/vtoolcutsplinepath.cpp +++ b/src/app/tools/drawTools/vtoolcutsplinepath.cpp @@ -325,7 +325,7 @@ void VToolCutSplinePath::SetVisualization() SCASSERT(visual != nullptr); visual->setPoint1Id(curveCutId); - visual->setLength(qApp->FormulaToUser(formula)); + visual->setLength(qApp->TrVars()->FormulaToUser(formula)); visual->RefreshGeometry(); } } diff --git a/src/app/tools/drawTools/vtoolendline.cpp b/src/app/tools/drawTools/vtoolendline.cpp index 05296f911..3bb4ab45c 100644 --- a/src/app/tools/drawTools/vtoolendline.cpp +++ b/src/app/tools/drawTools/vtoolendline.cpp @@ -231,8 +231,8 @@ void VToolEndLine::SetVisualization() SCASSERT(visual != nullptr); visual->setPoint1Id(basePointId); - visual->setLength(qApp->FormulaToUser(formulaLength)); - visual->SetAngle(qApp->FormulaToUser(formulaAngle)); + visual->setLength(qApp->TrVars()->FormulaToUser(formulaLength)); + visual->SetAngle(qApp->TrVars()->FormulaToUser(formulaAngle)); visual->setLineStyle(VAbstractTool::LineStyleToPenStyle(typeLine)); visual->RefreshGeometry(); } diff --git a/src/app/tools/drawTools/vtoollineintersectaxis.cpp b/src/app/tools/drawTools/vtoollineintersectaxis.cpp index 492609bf2..be4dc5ab5 100644 --- a/src/app/tools/drawTools/vtoollineintersectaxis.cpp +++ b/src/app/tools/drawTools/vtoollineintersectaxis.cpp @@ -285,7 +285,7 @@ void VToolLineIntersectAxis::SetVisualization() visual->setPoint1Id(firstPointId); visual->setPoint2Id(secondPointId); visual->setAxisPointId(basePointId); - visual->SetAngle(qApp->FormulaToUser(formulaAngle)); + visual->SetAngle(qApp->TrVars()->FormulaToUser(formulaAngle)); visual->setLineStyle(VAbstractTool::LineStyleToPenStyle(typeLine)); visual->RefreshGeometry(); } diff --git a/src/app/tools/drawTools/vtoolnormal.cpp b/src/app/tools/drawTools/vtoolnormal.cpp index ab244d951..598645ba6 100644 --- a/src/app/tools/drawTools/vtoolnormal.cpp +++ b/src/app/tools/drawTools/vtoolnormal.cpp @@ -272,7 +272,7 @@ void VToolNormal::SetVisualization() visual->setPoint1Id(basePointId); visual->setPoint2Id(secondPointId); - visual->setLength(qApp->FormulaToUser(formulaLength)); + visual->setLength(qApp->TrVars()->FormulaToUser(formulaLength)); visual->SetAngle(angle); visual->setLineStyle(VAbstractTool::LineStyleToPenStyle(typeLine)); visual->RefreshGeometry(); diff --git a/src/app/tools/drawTools/vtoolpointofcontact.cpp b/src/app/tools/drawTools/vtoolpointofcontact.cpp index 1db6b2292..043920482 100644 --- a/src/app/tools/drawTools/vtoolpointofcontact.cpp +++ b/src/app/tools/drawTools/vtoolpointofcontact.cpp @@ -313,7 +313,7 @@ void VToolPointOfContact::SetVisualization() visual->setPoint1Id(firstPointId); visual->setLineP2Id(secondPointId); visual->setRadiusId(center); - visual->setRadius(qApp->FormulaToUser(arcRadius)); + visual->setRadius(qApp->TrVars()->FormulaToUser(arcRadius)); visual->RefreshGeometry(); } } diff --git a/src/app/tools/drawTools/vtoolshoulderpoint.cpp b/src/app/tools/drawTools/vtoolshoulderpoint.cpp index 2165bdd40..1af652200 100644 --- a/src/app/tools/drawTools/vtoolshoulderpoint.cpp +++ b/src/app/tools/drawTools/vtoolshoulderpoint.cpp @@ -300,7 +300,7 @@ void VToolShoulderPoint::SetVisualization() visual->setPoint1Id(pShoulder); visual->setLineP1Id(basePointId); visual->setLineP2Id(p2Line); - visual->setLength(qApp->FormulaToUser(formulaLength)); + visual->setLength(qApp->TrVars()->FormulaToUser(formulaLength)); visual->setLineStyle(VAbstractTool::LineStyleToPenStyle(typeLine)); visual->RefreshGeometry(); } diff --git a/src/app/visualization/visualization.cpp b/src/app/visualization/visualization.cpp index f14f3a9c7..fdac90ee9 100644 --- a/src/app/visualization/visualization.cpp +++ b/src/app/visualization/visualization.cpp @@ -145,7 +145,7 @@ qreal Visualization::FindVal(const QString &expression) // Replace line return with spaces for calc if exist QString formula = expression; formula.replace("\n", " "); - formula = qApp->FormulaFromUser(formula); + formula = qApp->TrVars()->FormulaFromUser(formula); Calculator *cal = new Calculator(Visualization::data); val = cal->EvalFormula(formula); delete cal; diff --git a/src/app/xml/vindividualmeasurements.cpp b/src/app/xml/vindividualmeasurements.cpp index 580b57a85..de7ff2ba6 100644 --- a/src/app/xml/vindividualmeasurements.cpp +++ b/src/app/xml/vindividualmeasurements.cpp @@ -70,7 +70,8 @@ void VIndividualMeasurements::ReadMeasurement(const QDomElement &domElement, con { qreal value = GetParametrDouble(domElement, AttrValue, "0.0"); value = UnitConvertor(value, MUnit(), qApp->patternUnit()); - data->AddVariable(tag, new VMeasurement(tag, value, qApp->GuiText(tag), qApp->Description(tag), tag)); + data->AddVariable(tag, new VMeasurement(tag, value, qApp->TrVars()->GuiText(tag), + qApp->TrVars()->Description(tag), tag)); } //--------------------------------------------------------------------------------------------------------------------- diff --git a/src/app/xml/vstandardmeasurements.cpp b/src/app/xml/vstandardmeasurements.cpp index 49424aca2..5cf706ac0 100644 --- a/src/app/xml/vstandardmeasurements.cpp +++ b/src/app/xml/vstandardmeasurements.cpp @@ -64,7 +64,7 @@ QString VStandardMeasurements::OrigDescription () //--------------------------------------------------------------------------------------------------------------------- QString VStandardMeasurements::TrDescription() { - const QString trDesc = qApp->STDescription(Id()); + const QString trDesc = qApp->TrVars()->STDescription(Id()); if (trDesc.isEmpty() == false) { return trDesc; @@ -115,8 +115,8 @@ void VStandardMeasurements::ReadMeasurement(const QDomElement &domElement, const qWarning()<<"Standard table can't use inch unit."; } - data->AddVariable(tag, new VMeasurement(tag, value, size_increase, height_increase, qApp->GuiText(tag), - qApp->Description(tag), tag)); + data->AddVariable(tag, new VMeasurement(tag, value, size_increase, height_increase, qApp->TrVars()->GuiText(tag), + qApp->TrVars()->Description(tag), tag)); }