diff --git a/src/libs/vtools/dialogs/tools/dialogseamallowance.cpp b/src/libs/vtools/dialogs/tools/dialogseamallowance.cpp index cba0d462d..79238c680 100644 --- a/src/libs/vtools/dialogs/tools/dialogseamallowance.cpp +++ b/src/libs/vtools/dialogs/tools/dialogseamallowance.cpp @@ -52,6 +52,16 @@ void EnableDefButton(QPushButton *defButton, const QString &formula) defButton->setEnabled(true); } } + +//--------------------------------------------------------------------------------------------------------------------- +QString GetFormulaFromUser(QPlainTextEdit *textEdit) +{ + SCASSERT(textEdit != nullptr) + + QString formula = textEdit->toPlainText(); + formula.replace("\n", " "); + return qApp->TrVars()->TryFormulaFromUser(formula, qApp->Settings()->GetOsSeparator()); +} } //--------------------------------------------------------------------------------------------------------------------- @@ -926,14 +936,13 @@ void DialogSeamAllowance::UpdateValues() plbVal->setToolTip(tr("Value")); QString qsFormula = apleSender[i]->toPlainText().simplified(); - Calculator cal; QString qsVal; try { qsFormula.replace("\n", " "); qsFormula = qApp->TrVars()->FormulaFromUser(qsFormula, qApp->Settings()->GetOsSeparator()); - qreal dVal; - dVal = cal.EvalFormula(data->PlainVariables(), qsFormula); + Calculator cal; + qreal dVal = cal.EvalFormula(data->PlainVariables(), qsFormula); if (qIsInf(dVal) == true || qIsNaN(dVal) == true) { throw qmu::QmuParserError(tr("Infinite/undefined result")); @@ -1127,7 +1136,7 @@ void DialogSeamAllowance::EvalWidthBefore() bool flagFormula = false; // fake flag Eval(formula, flagFormula, ui->labelResultBefore, postfix, false, true); - const QString formulaSABefore = GetFormulaSAWidthBefore(); + const QString formulaSABefore = GetFormulaFromUser(ui->plainTextEditFormulaWidthBefore); UpdateNodeSABefore(formulaSABefore); EnableDefButton(ui->pushButtonDefBefore, formulaSABefore); } @@ -1141,7 +1150,7 @@ void DialogSeamAllowance::EvalWidthAfter() bool flagFormula = false; // fake flag Eval(formula, flagFormula, ui->labelResultAfter, postfix, false, true); - const QString formulaSAAfter = GetFormulaSAWidthAfter(); + const QString formulaSAAfter = GetFormulaFromUser(ui->plainTextEditFormulaWidthAfter); UpdateNodeSAAfter(formulaSAAfter); EnableDefButton(ui->pushButtonDefAfter, formulaSAAfter); } @@ -1166,7 +1175,7 @@ void DialogSeamAllowance::FXWidthBefore() { DialogEditWrongFormula *dialog = new DialogEditWrongFormula(data, toolId, this); dialog->setWindowTitle(tr("Edit seam allowance width before")); - dialog->SetFormula(GetFormulaSAWidthBefore()); + dialog->SetFormula(GetFormulaFromUser(ui->plainTextEditFormulaWidthBefore)); dialog->setCheckLessThanZero(true); dialog->setPostfix(VDomDocument::UnitsToStr(qApp->patternUnit(), true)); if (dialog->exec() == QDialog::Accepted) @@ -1181,7 +1190,7 @@ void DialogSeamAllowance::FXWidthAfter() { DialogEditWrongFormula *dialog = new DialogEditWrongFormula(data, toolId, this); dialog->setWindowTitle(tr("Edit seam allowance width after")); - dialog->SetFormula(GetFormulaSAWidthAfter()); + dialog->SetFormula(GetFormulaFromUser(ui->plainTextEditFormulaWidthAfter)); dialog->setCheckLessThanZero(true); dialog->setPostfix(VDomDocument::UnitsToStr(qApp->patternUnit(), true)); if (dialog->exec() == QDialog::Accepted) @@ -1294,8 +1303,8 @@ VPiece DialogSeamAllowance::CreatePiece() const piece.GetGrainlineGeometry() = m_oldGrainline; piece.GetGrainlineGeometry().SetVisible(ui->checkBoxGrainline->isChecked()); - piece.GetGrainlineGeometry().SetRotation(ui->lineEditRotFormula->toPlainText()); - piece.GetGrainlineGeometry().SetLength(ui->lineEditLenFormula->toPlainText()); + piece.GetGrainlineGeometry().SetRotation(GetFormulaFromUser(ui->lineEditRotFormula)); + piece.GetGrainlineGeometry().SetLength(GetFormulaFromUser(ui->lineEditLenFormula)); piece.GetGrainlineGeometry().SetArrowType(VGrainlineGeometry::ArrowType(ui->comboBoxArrow->currentIndex())); return piece; @@ -1747,22 +1756,6 @@ void DialogSeamAllowance::SetFormulaSAWidth(const QString &formula) MoveCursorToEnd(ui->plainTextEditFormulaWidth); } -//--------------------------------------------------------------------------------------------------------------------- -QString DialogSeamAllowance::GetFormulaSAWidthBefore() const -{ - QString width = ui->plainTextEditFormulaWidthBefore->toPlainText(); - width.replace("\n", " "); - return qApp->TrVars()->TryFormulaFromUser(width, qApp->Settings()->GetOsSeparator()); -} - -//--------------------------------------------------------------------------------------------------------------------- -QString DialogSeamAllowance::GetFormulaSAWidthAfter() const -{ - QString width = ui->plainTextEditFormulaWidthAfter->toPlainText(); - width.replace("\n", " "); - return qApp->TrVars()->TryFormulaFromUser(width, qApp->Settings()->GetOsSeparator()); -} - //--------------------------------------------------------------------------------------------------------------------- void DialogSeamAllowance::UpdateCurrentCustomSARecord() { diff --git a/src/libs/vtools/dialogs/tools/dialogseamallowance.h b/src/libs/vtools/dialogs/tools/dialogseamallowance.h index dc04306fe..94a8b8530 100644 --- a/src/libs/vtools/dialogs/tools/dialogseamallowance.h +++ b/src/libs/vtools/dialogs/tools/dialogseamallowance.h @@ -178,9 +178,6 @@ private: void InitGrainlineTab(); void SetFormulaSAWidth(const QString &formula); - - QString GetFormulaSAWidthBefore() const; - QString GetFormulaSAWidthAfter() const; }; #endif // DIALOGSEAMALLOWANCE_H