[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