diff options
-rw-r--r-- | qt-ui/mainwindow.cpp | 16 | ||||
-rw-r--r-- | qt-ui/preferences.cpp | 5 | ||||
-rw-r--r-- | qt-ui/preferences.ui | 39 |
3 files changed, 51 insertions, 9 deletions
diff --git a/qt-ui/mainwindow.cpp b/qt-ui/mainwindow.cpp index d3cd951d8..e04d824fb 100644 --- a/qt-ui/mainwindow.cpp +++ b/qt-ui/mainwindow.cpp @@ -376,11 +376,17 @@ void MainWindow::readSettings() settings.endGroup(); settings.beginGroup("Units"); - GET_UNIT(v, "length", length, units::FEET, units::METERS); - GET_UNIT(v, "pressure", pressure, units::PSI, units::BAR); - GET_UNIT(v, "volume", volume, units::CUFT, units::LITER); - GET_UNIT(v, "temperature", temperature, units::FAHRENHEIT, units::CELSIUS); - GET_UNIT(v, "weight", weight, units::LBS, units::KG); + if (settings.value("unit_system").toString() == "metric") { + prefs.units = SI_units; + } else if (settings.value("unit_system").toString() == "imperial") { + prefs.units = IMPERIAL_units; + } else { + GET_UNIT(v, "length", length, units::FEET, units::METERS); + GET_UNIT(v, "pressure", pressure, units::PSI, units::BAR); + GET_UNIT(v, "volume", volume, units::CUFT, units::LITER); + GET_UNIT(v, "temperature", temperature, units::FAHRENHEIT, units::CELSIUS); + GET_UNIT(v, "weight", weight, units::LBS, units::KG); + } settings.endGroup(); settings.beginGroup("DisplayListColumns"); GET_BOOL(v, "CYLINDER", prefs.visible_cols.cylinder); diff --git a/qt-ui/preferences.cpp b/qt-ui/preferences.cpp index dd484b6e8..551d7965a 100644 --- a/qt-ui/preferences.cpp +++ b/qt-ui/preferences.cpp @@ -1,6 +1,7 @@ #include "preferences.h" #include "ui_preferences.h" #include <QSettings> +#include <QDebug> PreferencesDialog* PreferencesDialog::instance() { @@ -43,6 +44,7 @@ PreferencesDialog::PreferencesDialog(QWidget* parent, Qt::WindowFlags f) : QDial ui->increment_3m->setChecked(B(calcceiling3m, calc_ceiling_3m_incr)); ui->all_tissues->setEnabled(ui->calculated_ceiling->isChecked()); ui->all_tissues->setChecked(B(calcalltissues, calc_all_tissues)); + ui->groupBox->setEnabled(ui->personalize->isChecked()); ui->gflow->setValue((int)(I(gflow, gflow))); ui->gfhigh->setValue((int)(I(gfhigh, gfhigh))); @@ -121,7 +123,8 @@ void PreferencesDialog::syncSettings() // Units s.beginGroup("Units"); - s.setValue("units_metric", ui->metric->isChecked()); + QString unitSystem = ui->metric->isChecked() ? "metric" : (ui->imperial->isChecked() ? "imperial" : "personal"); + s.setValue("unit_system", unitSystem); s.setValue("temperature", ui->fahrenheit->isChecked() ? units::FAHRENHEIT : units::CELSIUS); s.setValue("length", ui->feet->isChecked() ? units::FEET : units::METERS); s.setValue("pressure", ui->psi->isChecked() ? units::PSI : units::BAR); diff --git a/qt-ui/preferences.ui b/qt-ui/preferences.ui index 3cef8785a..07a423834 100644 --- a/qt-ui/preferences.ui +++ b/qt-ui/preferences.ui @@ -116,7 +116,7 @@ </sizepolicy> </property> <property name="currentIndex"> - <number>2</number> + <number>1</number> </property> <widget class="QWidget" name="page_2"> <layout class="QVBoxLayout" name="verticalLayout_3"> @@ -224,6 +224,9 @@ <property name="text"> <string>Metric</string> </property> + <attribute name="buttonGroup"> + <string notr="true">buttonGroup_6</string> + </attribute> </widget> </item> <item> @@ -231,6 +234,19 @@ <property name="text"> <string>Imperial</string> </property> + <attribute name="buttonGroup"> + <string notr="true">buttonGroup_6</string> + </attribute> + </widget> + </item> + <item> + <widget class="QRadioButton" name="personalize"> + <property name="text"> + <string>Personalize</string> + </property> + <attribute name="buttonGroup"> + <string notr="true">buttonGroup_6</string> + </attribute> </widget> </item> </layout> @@ -238,10 +254,10 @@ <item> <widget class="QGroupBox" name="groupBox"> <property name="title"> - <string>Personalize</string> + <string/> </property> <property name="checkable"> - <bool>true</bool> + <bool>false</bool> </property> <property name="checked"> <bool>false</bool> @@ -948,6 +964,22 @@ </hint> </hints> </connection> + <connection> + <sender>personalize</sender> + <signal>toggled(bool)</signal> + <receiver>groupBox</receiver> + <slot>setEnabled(bool)</slot> + <hints> + <hint type="sourcelabel"> + <x>613</x> + <y>41</y> + </hint> + <hint type="destinationlabel"> + <x>634</x> + <y>72</y> + </hint> + </hints> + </connection> </connections> <buttongroups> <buttongroup name="buttonGroup_2"/> @@ -955,5 +987,6 @@ <buttongroup name="buttonGroup_4"/> <buttongroup name="buttonGroup_5"/> <buttongroup name="buttonGroup"/> + <buttongroup name="buttonGroup_6"/> </buttongroups> </ui> |