[PATCH 1/3] Add helper to parse pressure strings.
Dirk Hohndel
dirk at hohndel.org
Tue Feb 9 10:21:43 PST 2016
On Tue, Feb 09, 2016 at 06:03:23PM +0100, Joakim Bygdell wrote:
> Signed-off-by: Joakim Bygdell <j.bygdell at gmail.com>
> ---
> subsurface-core/helpers.h | 1 +
> subsurface-core/qthelper.cpp | 21 +++++++++++++++++++++
> 2 files changed, 22 insertions(+)
>
> diff --git a/subsurface-core/helpers.h b/subsurface-core/helpers.h
> index b88230c..7537818 100644
> --- a/subsurface-core/helpers.h
> +++ b/subsurface-core/helpers.h
> @@ -35,6 +35,7 @@ int gettimezoneoffset(timestamp_t when = 0);
> int parseLengthToMm(const QString &text);
> int parseTemperatureToMkelvin(const QString &text);
> int parseWeightToGrams(const QString &text);
> +int parsePressureToMbar(const QString &text);
> QString get_dive_duration_string(timestamp_t when, QString hourText, QString minutesText);
> QString get_dive_date_string(timestamp_t when);
> QString get_short_dive_date_string(timestamp_t when);
> diff --git a/subsurface-core/qthelper.cpp b/subsurface-core/qthelper.cpp
> index 6adb06b..b091109 100644
> --- a/subsurface-core/qthelper.cpp
> +++ b/subsurface-core/qthelper.cpp
> @@ -850,6 +850,27 @@ int parseWeightToGrams(const QString &text)
> return grams;
> }
>
> +int parsePressureToMbar(const QString &text)
> +{
> + int mbar;
> + QString numOnly = text;
> + numOnly.replace(",", ".").remove(QRegExp("[^0-9.]"));
> + if (numOnly.isEmpty())
> + return 0;
> + double number = numOnly.toDouble();
> + switch (prefs.units.pressure) {
> + case units::KG:
> + mbar = rint(number * 1000);
> + break;
> + case units::LBS:
> + mbar = psi_to_mbar(number);
> + break;
Hmm - that seems wrong. Shouldn't you switch on the pressure units instead
of on the weight units???
/D
More information about the subsurface
mailing list