Clean up conversion helpers

- coding style (ugh - I should have fixed that when I first committed them)
- remove redundant variables
- add similar code to the length and temperature helpers

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This commit is contained in:
Dirk Hohndel 2016-02-15 07:48:57 -08:00
parent bbbd479914
commit 75bd37e3e5

View file

@ -794,6 +794,11 @@ int parseLengthToMm(const QString &text)
if (numOnly.isEmpty()) if (numOnly.isEmpty())
return 0; return 0;
double number = numOnly.toDouble(); double number = numOnly.toDouble();
if (text.contains(QObject::tr("m"))) {
mm = number * 1000;
} else if (text.contains(QObject::tr("ft"))) {
mm = feet_to_mm(number);
} else {
switch (prefs.units.length) { switch (prefs.units.length) {
case units::FEET: case units::FEET:
mm = feet_to_mm(number); mm = feet_to_mm(number);
@ -804,6 +809,7 @@ int parseLengthToMm(const QString &text)
default: default:
mm = 0; mm = 0;
} }
}
return mm; return mm;
} }
@ -816,6 +822,11 @@ int parseTemperatureToMkelvin(const QString &text)
if (numOnly.isEmpty()) if (numOnly.isEmpty())
return 0; return 0;
double number = numOnly.toDouble(); double number = numOnly.toDouble();
if (text.contains(QObject::tr("C"))) {
mkelvin = C_to_mkelvin(number);
} else if (text.contains(QObject::tr("F"))) {
mkelvin = F_to_mkelvin(number);
} else {
switch (prefs.units.temperature) { switch (prefs.units.temperature) {
case units::CELSIUS: case units::CELSIUS:
mkelvin = C_to_mkelvin(number); mkelvin = C_to_mkelvin(number);
@ -826,23 +837,23 @@ int parseTemperatureToMkelvin(const QString &text)
default: default:
mkelvin = 0; mkelvin = 0;
} }
}
return mkelvin; return mkelvin;
} }
int parseWeightToGrams(const QString &text) int parseWeightToGrams(const QString &text)
{ {
int grams; int grams;
QString kg_or_lbs = text;
QString numOnly = text; QString numOnly = text;
numOnly.replace(",", ".").remove(QRegExp("[^0-9.]")); numOnly.replace(",", ".").remove(QRegExp("[^0-9.]"));
if (numOnly.isEmpty()) if (numOnly.isEmpty())
return 0; return 0;
double number = numOnly.toDouble(); double number = numOnly.toDouble();
if (kg_or_lbs.contains(QObject::tr("kg"))) if (text.contains(QObject::tr("kg"))) {
grams = rint(number * 1000); grams = rint(number * 1000);
else if (kg_or_lbs.contains(QObject::tr("lbs"))) } else if (text.contains(QObject::tr("lbs"))) {
grams = lbs_to_grams(number); grams = lbs_to_grams(number);
else { } else {
switch (prefs.units.weight) { switch (prefs.units.weight) {
case units::KG: case units::KG:
grams = rint(number * 1000); grams = rint(number * 1000);
@ -860,17 +871,16 @@ int parseWeightToGrams(const QString &text)
int parsePressureToMbar(const QString &text) int parsePressureToMbar(const QString &text)
{ {
int mbar; int mbar;
QString psi_or_bar = text;
QString numOnly = text; QString numOnly = text;
numOnly.replace(",", ".").remove(QRegExp("[^0-9.]")); numOnly.replace(",", ".").remove(QRegExp("[^0-9.]"));
if (numOnly.isEmpty()) if (numOnly.isEmpty())
return 0; return 0;
double number = numOnly.toDouble(); double number = numOnly.toDouble();
if (psi_or_bar.contains(QObject::tr("bar"))) if (text.contains(QObject::tr("bar"))) {
mbar = rint(number * 1000); mbar = rint(number * 1000);
else if (psi_or_bar.contains(QObject::tr("psi"))) } else if (text.contains(QObject::tr("psi"))) {
mbar = psi_to_mbar(number); mbar = psi_to_mbar(number);
else { } else {
switch (prefs.units.pressure) { switch (prefs.units.pressure) {
case units::BAR: case units::BAR:
mbar = rint(number * 1000); mbar = rint(number * 1000);
@ -891,22 +901,18 @@ int parseGasMixO2(const QString &text)
int o2, number; int o2, number;
if (gasString.contains(QObject::tr("AIR"), Qt::CaseInsensitive)) { if (gasString.contains(QObject::tr("AIR"), Qt::CaseInsensitive)) {
o2 = O2_IN_AIR; o2 = O2_IN_AIR;
} } else if (gasString.contains(QObject::tr("EAN"), Qt::CaseInsensitive)) {
else if (gasString.contains(QObject::tr("EAN"), Qt::CaseInsensitive)) {
gasString.remove(QRegExp("[^0-9]")); gasString.remove(QRegExp("[^0-9]"));
number = gasString.toInt(); number = gasString.toInt();
o2 = number * 10; o2 = number * 10;
} } else if (gasString.contains("/")) {
else if (gasString.contains("/")) {
QStringList gasSplit = gasString.split("/"); QStringList gasSplit = gasString.split("/");
number = gasSplit[0].toInt(); number = gasSplit[0].toInt();
o2 = number * 10; o2 = number * 10;
} } else {
else {
number = gasString.toInt(); number = gasString.toInt();
o2 = number * 10; o2 = number * 10;
} }
return o2; return o2;
} }
@ -918,11 +924,9 @@ int parseGasMixHE(const QString &text)
QStringList gasSplit = gasString.split("/"); QStringList gasSplit = gasString.split("/");
number = gasSplit[1].toInt(); number = gasSplit[1].toInt();
he = number * 10; he = number * 10;
} } else {
else {
he = 0; he = 0;
} }
return he; return he;
} }