Add helper function to parse gasmix strings

Signed-off-by: Joakim Bygdell <j.bygdell@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This commit is contained in:
Joakim Bygdell 2016-02-13 18:34:30 +01:00 committed by Dirk Hohndel
parent a01bcd82aa
commit 8cc4463a1a
2 changed files with 43 additions and 0 deletions

View file

@ -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);

View file

@ -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;