subsurface/subsurface-core/subsurface-qt
Linus Torvalds 288aff9dbb Don't use "get_volume_string()" for cylinder size string
We had two totally different usage cases for "get_volume_string()": one
that did the obvious "show this volume as a string", and one that tried
to show a cylinder size.

The function used a magic third argument (the working pressure of the
cylinder) to distinguish between the two cases, but it still got it
wrong.

A metric cylinder doesn't necessarily have a working pressure at all,
and the size is a wet size in liters.  We'd pass in zero as the working
pressure, and if the volume units were set to cubic feet, the logic in
"get_volume_string()" would happily convert the metric wet size into the
wet size in cubic feet.

But that's completely wrong.  An imperial cylinder size simply isn't a
wet size.  If you don't have a working pressure, you cannot convert the
cylinder size to cubic feet.  End of story.

So instead of having "get_volume_string()" have magical behavior
depending on working pressure, and getting it wrong anyway, just make
get_volume_string do a pure volume conversion, and create a whole new
function for showing the size of a cylinder.

Now, if the cylinder doesn't have a working pressure, we just show the
metric size, even if the user had asked for cubic feet.

[Dirk Hohndel: added call to translation functions for the units]

Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-02-25 00:58:09 +01:00
..
DiveObjectHelper.cpp Don't use "get_volume_string()" for cylinder size string 2016-02-25 00:58:09 +01:00
DiveObjectHelper.h Add dive property to easily test if there isn't an actual dive 2016-02-14 16:26:37 -08:00
SettingsObjectWrapper.cpp Fix bug on the visibility of the Ruler Graph 2016-01-25 13:04:39 -08:00
SettingsObjectWrapper.h Changed quite a few shorts to bool on the c++ implementtion 2016-01-25 13:04:16 -08:00