From ffad14a7ff67ce358affca39bccde251a37af5f9 Mon Sep 17 00:00:00 2001 From: wandererfan Date: Sat, 2 Sep 2023 14:10:43 -0400 Subject: [PATCH] [TD]fix Tolerance format issue in dialog --- src/Mod/TechDraw/Gui/TaskDimension.cpp | 21 +++++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) diff --git a/src/Mod/TechDraw/Gui/TaskDimension.cpp b/src/Mod/TechDraw/Gui/TaskDimension.cpp index d65cf24b0a..7dcde0f5fd 100644 --- a/src/Mod/TechDraw/Gui/TaskDimension.cpp +++ b/src/Mod/TechDraw/Gui/TaskDimension.cpp @@ -254,8 +254,17 @@ void TaskDimension::onArbitraryChanged() void TaskDimension::onFormatSpecifierOverToleranceChanged() { +// Base::Console().Message("TD::onFormatSpecifierOverToleranceChanged()\n"); + // if (m_blockToleranceLoop) { return; } m_parent->getDimFeat()->FormatSpecOverTolerance.setValue(ui->leFormatSpecifierOverTolerance->text().toUtf8().constData()); - if (!ui->cbArbitraryTolerances->isChecked()) { + if (ui->cbArbitraryTolerances->isChecked() ) { + // Don't do anything else if tolerance is Arbitrary + recomputeFeature(); + return; + } + + if (ui->cbEqualTolerance->isChecked()) { + // the under tolerance has to match this one ui->leFormatSpecifierUnderTolerance->setText(ui->leFormatSpecifierOverTolerance->text()); m_parent->getDimFeat()->FormatSpecUnderTolerance.setValue(ui->leFormatSpecifierUnderTolerance->text().toUtf8().constData()); } @@ -264,8 +273,16 @@ void TaskDimension::onFormatSpecifierOverToleranceChanged() void TaskDimension::onFormatSpecifierUnderToleranceChanged() { +// Base::Console().Message("TD::onFormatSpecifierUnderToleranceChanged()\n"); m_parent->getDimFeat()->FormatSpecUnderTolerance.setValue(ui->leFormatSpecifierUnderTolerance->text().toUtf8().constData()); - if (!ui->cbArbitraryTolerances->isChecked()) { + if (ui->cbArbitraryTolerances->isChecked() ) { + // Don't do anything else if tolerance is Arbitrary + recomputeFeature(); + return; + } + if (ui->cbEqualTolerance->isChecked()) { + // if EqualTolerance is checked, then underTolerance is disabled, so this shouldn't happen! + // the over tolerance has to match this one ui->leFormatSpecifierOverTolerance->setText(ui->leFormatSpecifierUnderTolerance->text()); m_parent->getDimFeat()->FormatSpecOverTolerance.setValue(ui->leFormatSpecifierOverTolerance->text().toUtf8().constData()); }