summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--qt-ui/mainwindow.cpp16
-rw-r--r--qt-ui/preferences.cpp5
-rw-r--r--qt-ui/preferences.ui39
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>