diff --git a/src/Gui/DlgUnitsCalculator.ui b/src/Gui/DlgUnitsCalculator.ui index a7197b7afb9b..636eae6be9ce 100644 --- a/src/Gui/DlgUnitsCalculator.ui +++ b/src/Gui/DlgUnitsCalculator.ui @@ -7,14 +7,14 @@ 0 0 425 - 148 + 187 Units calculator - - + + @@ -65,14 +65,52 @@ - + true - + + + + + + Quantity: + + + + + + + + 0 + 0 + + + + + + + + Units: + + + + + + + + 0 + 0 + + + + + + + @@ -118,6 +156,11 @@ QLineEdit
Gui/InputField.h
+ + Gui::QuantitySpinBox + QWidget +
Gui/QuantitySpinBox.h
+
diff --git a/src/Gui/DlgUnitsCalculatorImp.cpp b/src/Gui/DlgUnitsCalculatorImp.cpp index b880d15fbba9..f25e1a23c27f 100644 --- a/src/Gui/DlgUnitsCalculatorImp.cpp +++ b/src/Gui/DlgUnitsCalculatorImp.cpp @@ -64,6 +64,19 @@ DlgUnitsCalculator::DlgUnitsCalculator( QWidget* parent, Qt::WindowFlags fl ) ui->ValueInput->setParamGrpPath(QByteArray("User parameter:BaseApp/History/UnitsCalculator")); actUnit.setInvalid(); + + units << Base::Unit::Length << Base::Unit::Mass << Base::Unit::Angle << Base::Unit::Density + << Base::Unit::Area << Base::Unit::Volume << Base::Unit::TimeSpan << Base::Unit::Velocity + << Base::Unit::Acceleration << Base::Unit::Temperature << Base::Unit::ElectricCurrent + << Base::Unit::AmountOfSubstance << Base::Unit::LuminoseIntensity << Base::Unit::Stress + << Base::Unit::Pressure << Base::Unit::Force << Base::Unit::Work << Base::Unit::Power + << Base::Unit::ThermalConductivity << Base::Unit::ThermalExpansionCoefficient + << Base::Unit::SpecificHeat << Base::Unit::ThermalTransferCoefficient; + for (QList::iterator it = units.begin(); it != units.end(); ++it) { + ui->unitsBox->addItem(it->getTypeString()); + } + + ui->quantitySpinBox->setUnit(units.front()); } /** Destroys the object and frees any allocated resources */ @@ -134,6 +147,9 @@ void DlgUnitsCalculator::returnPressed(void) } } - +void DlgUnitsCalculator::on_unitsBox_activated(int index) +{ + ui->quantitySpinBox->setUnit(units[index]); +} #include "moc_DlgUnitsCalculatorImp.cpp" diff --git a/src/Gui/DlgUnitsCalculatorImp.h b/src/Gui/DlgUnitsCalculatorImp.h index ed0340171b28..9fb697ed7c5c 100644 --- a/src/Gui/DlgUnitsCalculatorImp.h +++ b/src/Gui/DlgUnitsCalculatorImp.h @@ -26,6 +26,7 @@ #include #include +#include namespace Gui { namespace Dialog { @@ -50,6 +51,7 @@ class DlgUnitsCalculator : public QDialog protected Q_SLOTS: void unitValueChanged(const Base::Quantity&); void valueChanged(const Base::Quantity&); + void on_unitsBox_activated(int); void copy(void); void help(void); @@ -61,6 +63,7 @@ protected Q_SLOTS: Base::Quantity actValue; Base::Quantity actUnit; std::auto_ptr ui; + QList units; }; } // namespace Dialog