diff --git a/src/app/tape/tmainwindow.cpp b/src/app/tape/tmainwindow.cpp index 8e0b376f5..97d5f2f27 100644 --- a/src/app/tape/tmainwindow.cpp +++ b/src/app/tape/tmainwindow.cpp @@ -1224,6 +1224,7 @@ void TMainWindow::Fx() DialogEditWrongFormula *dialog = new DialogEditWrongFormula(meash->GetData(), NULL_ID, this); dialog->setWindowTitle(tr("Edit measurement")); + dialog->SetMeasurementsMode(); dialog->SetFormula(qApp->TrVars()->TryFormulaFromUser(ui->plainTextEditFormula->toPlainText().replace("\n", " "), true)); const QString postfix = UnitsToStr(mUnit, true);//Show unit in dialog lable (cm, mm or inch) diff --git a/src/app/valentina/dialogs/dialogincrements.cpp b/src/app/valentina/dialogs/dialogincrements.cpp index f206e20ec..16dc9ee34 100644 --- a/src/app/valentina/dialogs/dialogincrements.cpp +++ b/src/app/valentina/dialogs/dialogincrements.cpp @@ -1254,13 +1254,16 @@ void DialogIncrements::Fx() QTableWidget *table = nullptr; QPlainTextEdit *plainTextEditFormula = nullptr; + bool incrementMode = true; if (button == ui->toolButtonExpr) { + incrementMode = true; table = ui->tableWidgetIncrement; plainTextEditFormula = ui->plainTextEditFormula; } else if (button == ui->toolButtonExprPC) { + incrementMode = false; table = ui->tableWidgetPC; plainTextEditFormula = ui->plainTextEditFormulaPC; } @@ -1281,6 +1284,8 @@ void DialogIncrements::Fx() QScopedPointer dialog(new DialogEditWrongFormula(incr->GetData(), NULL_ID, this)); dialog->setWindowTitle(tr("Edit increment")); + incrementMode ? dialog->SetIncrementsMode() : dialog->SetPreviewCalculationsMode(); + dialog->SetFormula(qApp->TrVars()->TryFormulaFromUser(plainTextEditFormula->toPlainText().replace("\n", " "), qApp->Settings()->GetOsSeparator())); const QString postfix = UnitsToStr(qApp->patternUnit(), true); diff --git a/src/libs/vtools/dialogs/support/dialogeditwrongformula.cpp b/src/libs/vtools/dialogs/support/dialogeditwrongformula.cpp index 52bc069eb..5e6ab5d88 100644 --- a/src/libs/vtools/dialogs/support/dialogeditwrongformula.cpp +++ b/src/libs/vtools/dialogs/support/dialogeditwrongformula.cpp @@ -422,6 +422,31 @@ void DialogEditWrongFormula::setPostfix(const QString &value) postfix = value; } +//--------------------------------------------------------------------------------------------------------------------- +void DialogEditWrongFormula::SetMeasurementsMode() +{ + ui->radioButtonIncrements->setDisabled(true); + SetIncrementsMode(); +} + +//--------------------------------------------------------------------------------------------------------------------- +void DialogEditWrongFormula::SetIncrementsMode() +{ + ui->radioButtonPC->setDisabled(true); + SetPreviewCalculationsMode(); +} + +//--------------------------------------------------------------------------------------------------------------------- +void DialogEditWrongFormula::SetPreviewCalculationsMode() +{ + ui->radioButtonLengthLine->setDisabled(true); + ui->radioButtonLengthSpline->setDisabled(true); + ui->radioButtonAngleLine->setDisabled(true); + ui->radioButtonRadiusesArcs->setDisabled(true); + ui->radioButtonAnglesCurves->setDisabled(true); + ui->radioButtonCLength->setDisabled(true); +} + //--------------------------------------------------------------------------------------------------------------------- QString DialogEditWrongFormula::GetFormula() const { diff --git a/src/libs/vtools/dialogs/support/dialogeditwrongformula.h b/src/libs/vtools/dialogs/support/dialogeditwrongformula.h index d801717e4..02677c534 100644 --- a/src/libs/vtools/dialogs/support/dialogeditwrongformula.h +++ b/src/libs/vtools/dialogs/support/dialogeditwrongformula.h @@ -67,6 +67,9 @@ public: void setCheckZero(bool value); void setCheckLessThanZero(bool value); void setPostfix(const QString &value); + void SetMeasurementsMode(); + void SetIncrementsMode(); + void SetPreviewCalculationsMode(); public slots: virtual void DialogAccepted() Q_DECL_OVERRIDE; virtual void DialogRejected() Q_DECL_OVERRIDE;