From 717a94879c7b3fde28553a5e65675355c04904ef Mon Sep 17 00:00:00 2001 From: dismine Date: Mon, 21 Jul 2014 12:05:59 +0300 Subject: [PATCH] If formula equal zero it is also error. --HG-- branch : develop --- src/app/dialogs/tools/dialogtool.cpp | 25 +++++++++++++++++-------- 1 file changed, 17 insertions(+), 8 deletions(-) diff --git a/src/app/dialogs/tools/dialogtool.cpp b/src/app/dialogs/tools/dialogtool.cpp index a8065e5e2..7dcb8ca03 100644 --- a/src/app/dialogs/tools/dialogtool.cpp +++ b/src/app/dialogs/tools/dialogtool.cpp @@ -454,19 +454,28 @@ void DialogTool::Eval(const QString &text, bool &flag, QTimer *timer, QLabel *la const qreal result = cal->EvalFormula(formula); delete cal; - if (qApp->getSettings()->value("configuration/osSeparator", 1).toBool()) + //if result equal 0 + if (qFuzzyCompare(1 + result, 1 + 0)) { - QLocale loc = QLocale::system(); - label->setText(loc.toString(result) + VDomDocument::UnitsToStr(qApp->patternUnit(), true)); + flag = false; + ChangeColor(labelEditFormula, Qt::red); } else { - QLocale loc = QLocale(QLocale::C); - label->setText(loc.toString(result) + VDomDocument::UnitsToStr(qApp->patternUnit(), true)); + if (qApp->getSettings()->value("configuration/osSeparator", 1).toBool()) + { + QLocale loc = QLocale::system(); + label->setText(loc.toString(result) + VDomDocument::UnitsToStr(qApp->patternUnit(), true)); + } + else + { + QLocale loc = QLocale(QLocale::C); + label->setText(loc.toString(result) + VDomDocument::UnitsToStr(qApp->patternUnit(), true)); + } + flag = true; + ChangeColor(labelEditFormula, okColor); + emit ToolTip(""); } - flag = true; - ChangeColor(labelEditFormula, okColor); - emit ToolTip(""); } catch (qmu::QmuParserError &e) {