Gui: [skip ci] reduce confusion m vs. mm in units calculator

This commit is contained in:
wmayer
2019-12-20 16:54:56 +01:00
parent 43e5933e3d
commit 702ae025c7

View File

@@ -187,8 +187,15 @@ void DlgUnitsCalculator::returnPressed(void)
void DlgUnitsCalculator::on_unitsBox_activated(int index)
{
ui->quantitySpinBox->setValue(1.0);
ui->quantitySpinBox->setUnit(units[index]);
// SI units use [m], not [mm] for lengths
//
Base::Quantity q = ui->quantitySpinBox->value();
int32_t old = q.getUnit().getSignature().Length;
double value = q.getValue();
Base::Unit unit = units[index];
int32_t len = unit.getSignature().Length;
ui->quantitySpinBox->setValue(Base::Quantity(value * std::pow(10.0, 3*(len-old)), unit));
}
void DlgUnitsCalculator::on_comboBoxScheme_activated(int index)