aboutsummaryrefslogtreecommitdiffstats
path: root/subsurface-core
diff options
context:
space:
mode:
authorGravatar Joakim Bygdell <j.bygdell@gmail.com>2016-02-13 18:34:30 +0100
committerGravatar Dirk Hohndel <dirk@hohndel.org>2016-02-13 10:04:00 -0800
commit8cc4463a1af4bbce2dd5ea61d6ab8a5b107fb3b7 (patch)
tree1746890055c52fead5a4d3ab042720dcc773337e /subsurface-core
parenta01bcd82aa1c789ff87f58f5e117f9fadb7f8e32 (diff)
downloadsubsurface-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.h2
-rw-r--r--subsurface-core/qthelper.cpp41
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;