diff options
author | Lakshman <acrlakshman@gmail.com> | 2014-03-10 22:49:08 -0500 |
---|---|---|
committer | Dirk Hohndel <dirk@hohndel.org> | 2014-03-10 21:10:27 -0700 |
commit | 6e4466aa0a349df1b377a3755117b1f7da76e68f (patch) | |
tree | 979d2bc107c4faf8643c1797b4c0a93261e397d9 | |
parent | eb47b2a8d8764778697ac2fdb342c976cd487ca3 (diff) | |
download | subsurface-6e4466aa0a349df1b377a3755117b1f7da76e68f.tar.gz |
Show temperature units in the label when editing dive
Currently when user wants to add a new dive information,
the ways to know what unit system is being used are
- Through preferences panel.
- Save the dive information, which displays units in
the text field.
This patch provides an option to the user to show current
unit system by displaying the unit on the side of the label
when the user is editing the fields.
This feature can be enabled or disabled by using the new
checkbox option i.e. `Show units in text labels` included
in `preferences->units` section.
Signed-off-by: Lakshman Anumolu <acrlakshman@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
-rw-r--r-- | pref.h | 1 | ||||
-rw-r--r-- | qt-ui/maintab.cpp | 13 | ||||
-rw-r--r-- | qt-ui/maintab.h | 1 | ||||
-rw-r--r-- | qt-ui/preferences.cpp | 3 | ||||
-rw-r--r-- | qt-ui/preferences.ui | 16 | ||||
-rw-r--r-- | subsurfacestartup.c | 3 |
6 files changed, 35 insertions, 2 deletions
@@ -40,6 +40,7 @@ struct preferences { short show_sac; bool display_unused_tanks; bool zoomed_plot; + bool text_label_with_units; }; enum unit_system_values { METRIC, diff --git a/qt-ui/maintab.cpp b/qt-ui/maintab.cpp index 068d703a3..45483f177 100644 --- a/qt-ui/maintab.cpp +++ b/qt-ui/maintab.cpp @@ -201,6 +201,7 @@ void MainTab::hideMessage() ui.diveEquipmentMessage->animatedHide(); ui.diveInfoMessage->animatedHide(); ui.diveStatisticsMessage->animatedHide(); + updateTextLabels(); } void MainTab::closeMessage() @@ -222,6 +223,18 @@ void MainTab::displayMessage(QString str) ui.diveInfoMessage->animatedShow(); ui.diveStatisticsMessage->setText(str); ui.diveStatisticsMessage->animatedShow(); + updateTextLabels(true); +} + +void MainTab::updateTextLabels(bool showUnits) +{ + if (showUnits && prefs.text_label_with_units) { + ui.airTempLabel->setText(QApplication::translate("MainTab", "Air temp [%1]").arg(get_temp_unit())); + ui.waterTempLabel->setText(QApplication::translate("MainTab", "Water temp [%1]").arg(get_temp_unit())); + } else { + ui.airTempLabel->setText(QApplication::translate("MainTab", "Air temp", 0, QApplication::UnicodeUTF8)); + ui.waterTempLabel->setText(QApplication::translate("MainTab", "Water temp", 0, QApplication::UnicodeUTF8)); + } } void MainTab::enableEdition(EditMode newEditMode) diff --git a/qt-ui/maintab.h b/qt-ui/maintab.h index 946b673b6..9da1e897f 100644 --- a/qt-ui/maintab.h +++ b/qt-ui/maintab.h @@ -94,6 +94,7 @@ slots: void displayMessage(QString str); void enableEdition(EditMode newEditMode = NONE); void toggleTriggeredColumn(); + void updateTextLabels(bool showUnits = false); private: Ui::MainTab ui; diff --git a/qt-ui/preferences.cpp b/qt-ui/preferences.cpp index 2c72cebf2..03123858b 100644 --- a/qt-ui/preferences.cpp +++ b/qt-ui/preferences.cpp @@ -75,6 +75,7 @@ void PreferencesDialog::setUiFromPrefs() ui.cuft->setChecked(prefs.units.volume == units::CUFT); ui.kg->setChecked(prefs.units.weight == units::KG); ui.lbs->setChecked(prefs.units.weight == units::LBS); + ui.text_label_with_units->setChecked(prefs.text_label_with_units); ui.font->setCurrentFont(QString(prefs.divelist_font)); ui.fontsize->setValue(prefs.font_size); @@ -190,6 +191,7 @@ void PreferencesDialog::syncSettings() s.setValue("volume", ui.cuft->isChecked() ? units::CUFT : units::LITER); s.setValue("weight", ui.lbs->isChecked() ? units::LBS : units::KG); s.setValue("vertical_speed_time", ui.vertical_speed_minutes->isChecked() ? units::MINUTES : units::SECONDS); + SB("text_label_with_units", ui.text_label_with_units); s.endGroup(); // Defaults s.beginGroup("GeneralSettings"); @@ -244,6 +246,7 @@ void PreferencesDialog::loadSettings() GET_UNIT("weight", weight, units::LBS, units::KG); } GET_UNIT("vertical_speed_time", vertical_speed_time, units::MINUTES, units::SECONDS); + GET_BOOL("text_label_with_units", text_label_with_units); s.endGroup(); s.beginGroup("TecDetails"); GET_BOOL("po2graph", pp_graphs.po2); diff --git a/qt-ui/preferences.ui b/qt-ui/preferences.ui index 988c5484f..115e93526 100644 --- a/qt-ui/preferences.ui +++ b/qt-ui/preferences.ui @@ -478,7 +478,21 @@ </widget> </item> </layout> - </item> + </item> + <item> + <layout class="QHBoxLayout" name="text_label_with_units_hbox"> + <item> + <widget class="QCheckBox" name="text_label_with_units"> + <property name="enabled"> + <bool>true</bool> + </property> + <property name="text"> + <string>Show units in text labels</string> + </property> + </widget> + </item> + </layout> + </item> <item> <spacer name="verticalSpacer"> <property name="orientation"> diff --git a/subsurfacestartup.c b/subsurfacestartup.c index efdcb9a6c..3f410aff4 100644 --- a/subsurfacestartup.c +++ b/subsurfacestartup.c @@ -29,7 +29,8 @@ struct preferences default_prefs = { .font_size = -1, .display_invalid_dives = false, .show_sac = false, - .display_unused_tanks = false + .display_unused_tanks = false, + .text_label_with_units = false }; struct units *get_units() |