Change character for liter in SAC values as well

And fix the bug that in the info overlay SAC was always given in metric
values. And try to reduce the number of places in which we calculate the
unit conversions...

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This commit is contained in:
Dirk Hohndel 2014-06-08 20:51:13 -07:00
parent 11380a5deb
commit bbe62f756a
3 changed files with 12 additions and 12 deletions

View file

@ -1230,7 +1230,9 @@ static void plot_string(struct plot_info *pi, struct plot_data *entry, struct me
{
int pressurevalue, mod, ead, end, eadd;
const char *depth_unit, *pressure_unit, *temp_unit, *vertical_speed_unit;
double depthvalue, tempvalue, speedvalue;
double depthvalue, tempvalue, speedvalue, sacvalue;
int decimals;
const char *unit;
depthvalue = get_depth_units(entry->depth, NULL, &depth_unit);
put_format(b, translate("gettextFromC", "@: %d:%02d\nD: %.1f%s\n"), FRACTION(entry->sec, 60), depthvalue, depth_unit);
@ -1247,9 +1249,9 @@ static void plot_string(struct plot_info *pi, struct plot_data *entry, struct me
if (entry->speed > 0)
speedvalue *= -1;
put_format(b, translate("gettextFromC", "V: %.1f%s\n"), speedvalue, vertical_speed_unit);
sacvalue = get_volume_units(entry->sac, &decimals, &unit);
if (entry->sac && prefs.show_sac)
put_format(b, translate("gettextFromC", "SAC: %2.1fl/min\n"), entry->sac / 1000.0);
put_format(b, translate("gettextFromC", "SAC: %.*f%s/min\n"), sacvalue, decimals, unit);
if (entry->cns)
put_format(b, translate("gettextFromC", "CNS: %u%%\n"), entry->cns);
if (prefs.pp_graphs.po2)

View file

@ -307,10 +307,9 @@ QString get_volume_string(volume_t volume, bool showunit, int mbar)
QString get_volume_unit()
{
if (prefs.units.volume == units::LITER)
return "l";
else
return "cuft";
const char *unit;
(void) get_volume_units(0, NULL, &unit);
return QString(unit);
}
QString get_pressure_string(pressure_t pressure, bool showunit)

View file

@ -1258,11 +1258,10 @@ QString DiveItem::displaySac() const
{
QString str;
struct dive *dive = get_dive_by_uniq_id(diveId);
if (get_units()->volume == units::LITER)
str = QString::number(dive->sac / 1000.0, 'f', 1).append(tr(" l/min"));
else
str = QString::number(ml_to_cuft(dive->sac), 'f', 2).append(tr(" cuft/min"));
return str;
const char *unit;
int decimal;
double value = get_volume_units(dive->sac, &decimal, &unit);
return QString::number(value, 'f', decimal).append(unit).append(tr("/min"));
}
QString DiveItem::displayWeight() const