From 326d42763f0d9f8be93af97b05b3e4cd9901fdf6 Mon Sep 17 00:00:00 2001 From: jriegel Date: Sun, 10 Nov 2013 14:02:34 +0100 Subject: [PATCH] Detect unit missmatch in UnitsCalculator --- src/Gui/DlgUnitsCalculatorImp.cpp | 23 ++++++++++++++++------- 1 file changed, 16 insertions(+), 7 deletions(-) diff --git a/src/Gui/DlgUnitsCalculatorImp.cpp b/src/Gui/DlgUnitsCalculatorImp.cpp index 73c03798f..c4b033dce 100644 --- a/src/Gui/DlgUnitsCalculatorImp.cpp +++ b/src/Gui/DlgUnitsCalculatorImp.cpp @@ -84,13 +84,22 @@ void DlgUnitsCalculator::unitValueChanged(const Base::Quantity& unit) void DlgUnitsCalculator::valueChanged(const Base::Quantity& quant) { if(actUnit.isValid()){ - double value = quant.getValue()/actUnit.getValue(); - QString out(QString::fromAscii("%1 %2")); - out = out.arg(value).arg(this->UnitInput->text()); - this->ValueOutput->setText(out); - QPalette palette; - palette.setColor(QPalette::Base,QColor(200,255,200)); - this->ValueOutput->setPalette(palette); + if(actUnit.getUnit() != quant.getUnit()){ + QPalette palette; + palette.setColor(QPalette::Base,QColor(255,200,200)); + this->ValueOutput->setPalette(palette); + this->ValueOutput->setText(QString()); + this->ValueOutput->setToolTip(QString::fromAscii("Unit missmatch")); + + }else{ + double value = quant.getValue()/actUnit.getValue(); + QString out(QString::fromAscii("%1 %2")); + out = out.arg(value).arg(this->UnitInput->text()); + this->ValueOutput->setText(out); + QPalette palette; + palette.setColor(QPalette::Base,QColor(200,255,200)); + this->ValueOutput->setPalette(palette); + } }else{ //this->ValueOutput->setValue(quant); this->ValueOutput->setText(QString::fromAscii(quant.getUserString().c_str()));