diff options
author | Joakim Bygdell <j.bygdell@gmail.com> | 2016-02-13 18:34:30 +0100 |
---|---|---|
committer | Dirk Hohndel <dirk@hohndel.org> | 2016-02-13 10:04:00 -0800 |
commit | 8cc4463a1af4bbce2dd5ea61d6ab8a5b107fb3b7 (patch) | |
tree | 1746890055c52fead5a4d3ab042720dcc773337e /subsurface-core | |
parent | a01bcd82aa1c789ff87f58f5e117f9fadb7f8e32 (diff) | |
download | subsurface-8cc4463a1af4bbce2dd5ea61d6ab8a5b107fb3b7.tar.gz |
Add helper function to parse gasmix strings
Signed-off-by: Joakim Bygdell <j.bygdell@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
Diffstat (limited to 'subsurface-core')
-rw-r--r-- | subsurface-core/helpers.h | 2 | ||||
-rw-r--r-- | subsurface-core/qthelper.cpp | 41 |
2 files changed, 43 insertions, 0 deletions
diff --git a/subsurface-core/helpers.h b/subsurface-core/helpers.h index 7537818f2..44f25f5fa 100644 --- a/subsurface-core/helpers.h +++ b/subsurface-core/helpers.h @@ -36,6 +36,8 @@ int parseLengthToMm(const QString &text); int parseTemperatureToMkelvin(const QString &text); int parseWeightToGrams(const QString &text); int parsePressureToMbar(const QString &text); +int parseGasMixO2(const QString &text); +int parseGasMixHE(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 07ec19486..fa7e894bb 100644 --- a/subsurface-core/qthelper.cpp +++ b/subsurface-core/qthelper.cpp @@ -885,6 +885,47 @@ int parsePressureToMbar(const QString &text) return mbar; } +int parseGasMixO2(const QString &text) +{ + QString gasString = text; + int o2, number; + if (gasString.contains(QObject::tr("AIR"), Qt::CaseInsensitive)) { + o2 = O2_IN_AIR; + } + else if (gasString.contains(QObject::tr("EAN"), Qt::CaseInsensitive)) { + gasString.remove(QRegExp("[^0-9]")); + number = gasString.toInt(); + o2 = number * 10; + } + else if (gasString.contains("/")) { + QStringList gasSplit = gasString.split("/"); + number = gasSplit[0].toInt(); + o2 = number * 10; + } + else { + number = gasString.toInt(); + o2 = number * 10; + } + + return o2; +} + +int parseGasMixHE(const QString &text) +{ + QString gasString = text; + int he, number; + if (gasString.contains("/")) { + QStringList gasSplit = gasString.split("/"); + number = gasSplit[1].toInt(); + he = number * 10; + } + else { + he = 0; + } + + return he; +} + QString get_dive_duration_string(timestamp_t when, QString hourText, QString minutesText) { int hrs, mins; |