summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGravatar Anton Lundin <glance@acc.umu.se>2013-10-14 23:48:44 +0200
committerGravatar Dirk Hohndel <dirk@hohndel.org>2013-10-17 14:56:52 -0700
commit579d1cb91503ff3b51e94869a0234eaf2796f435 (patch)
tree53db920564565e79013b62f5b32411db1532bc17
parent437246d3ed280e2275fddc125f2f14005cc11dab (diff)
downloadsubsurface-579d1cb91503ff3b51e94869a0234eaf2796f435.tar.gz
Show SAC in the mouseover.
This is really nice to have when looking at specific parts of a dive. Signed-off-by: Anton Lundin <glance@acc.umu.se> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
-rw-r--r--pref.h1
-rw-r--r--profile.c4
-rw-r--r--qt-ui/mainwindow.cpp1
-rw-r--r--qt-ui/preferences.cpp3
-rw-r--r--qt-ui/preferences.ui11
-rw-r--r--subsurfacestartup.c1
6 files changed, 21 insertions, 0 deletions
diff --git a/pref.h b/pref.h
index 8d181f20a..e59ad1c6a 100644
--- a/pref.h
+++ b/pref.h
@@ -36,6 +36,7 @@ struct preferences {
short unit_system;
struct units units;
short show_time;
+ short show_sac;
};
enum unit_system_values { METRIC, IMPERIAL, PERSONALIZE };
diff --git a/profile.c b/profile.c
index 80b0dbc97..426f97383 100644
--- a/profile.c
+++ b/profile.c
@@ -1250,6 +1250,10 @@ static void plot_string(struct plot_data *entry, char *buf, int bufsize,
else
snprintf(buf, bufsize, translate("gettextFromC","%s\nNDL:%umin"), buf2, DIV_UP(entry->ndl, 60));
}
+ if (entry->sac && prefs.show_sac) {
+ memcpy(buf2, buf, bufsize);
+ snprintf(buf, bufsize, translate("gettextFromC","%s\nSAC:%2.1fl/min"), buf2, entry->sac / 1000.0);
+ }
if (entry->tts) {
memcpy(buf2, buf, bufsize);
snprintf(buf, bufsize, translate("gettextFromC","%s\nTTS:%umin"), buf2, DIV_UP(entry->tts, 60));
diff --git a/qt-ui/mainwindow.cpp b/qt-ui/mainwindow.cpp
index 3b56134c1..d9019fa00 100644
--- a/qt-ui/mainwindow.cpp
+++ b/qt-ui/mainwindow.cpp
@@ -587,6 +587,7 @@ void MainWindow::readSettings()
GET_INT("gfhigh", gfhigh);
set_gf(prefs.gflow, prefs.gfhigh);
GET_BOOL("show_time", show_time);
+ GET_BOOL("show_sac", show_sac);
s.endGroup();
s.beginGroup("Display");
diff --git a/qt-ui/preferences.cpp b/qt-ui/preferences.cpp
index e5ddc558d..4ba8739a3 100644
--- a/qt-ui/preferences.cpp
+++ b/qt-ui/preferences.cpp
@@ -74,6 +74,7 @@ void PreferencesDialog::setUiFromPrefs()
ui.defaultfilename->setText(prefs.default_filename);
ui.displayinvalid->setChecked(prefs.show_invalid);
ui.show_time->setChecked(prefs.show_time);
+ ui.show_sac->setChecked(prefs.show_sac);
ui.vertical_speed_minutes->setChecked(prefs.units.vertical_speed_time == units::MINUTES);
ui.vertical_speed_seconds->setChecked(prefs.units.vertical_speed_time == units::SECONDS);
}
@@ -118,6 +119,7 @@ void PreferencesDialog::setPrefsFromUi()
prefs.default_filename = strdup(ui.defaultfilename->text().toUtf8().data());
prefs.display_invalid_dives = ui.displayinvalid->isChecked();
SP(show_time, ui.show_time);
+ SP(show_sac, ui.show_sac);
}
#define SB(V, B) s.setValue(V, (int)(B->isChecked() ? 1 : 0))
@@ -144,6 +146,7 @@ void PreferencesDialog::syncSettings()
s.setValue("gflow", ui.gflow->value());
s.setValue("gfhigh", ui.gfhigh->value());
SB("show_time", ui.show_time);
+ SB("show_sac", ui.show_sac);
s.endGroup();
// Units
diff --git a/qt-ui/preferences.ui b/qt-ui/preferences.ui
index 18767a790..df7333837 100644
--- a/qt-ui/preferences.ui
+++ b/qt-ui/preferences.ui
@@ -724,6 +724,17 @@
</item>
</layout>
</item>
+ <item>
+ <layout class="QHBoxLayout" name="horizontalLayout_11b">
+ <item>
+ <widget class="QCheckBox" name="show_sac">
+ <property name="text">
+ <string>Show SAC</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
</layout>
</widget>
</item>
diff --git a/subsurfacestartup.c b/subsurfacestartup.c
index ff0e8405b..b22bdd83b 100644
--- a/subsurfacestartup.c
+++ b/subsurfacestartup.c
@@ -27,6 +27,7 @@ struct preferences default_prefs = {
.font_size = 14.0,
.show_invalid = FALSE,
.show_time = FALSE,
+ .show_sac = FALSE,
};
struct units *get_units()