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::QuantitySpinBox
+ QWidget
+
+
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