mirror of
https://github.com/subsurface/subsurface.git
synced 2025-02-19 22:16:15 +00:00
While parsing weight and pressure we should not change the users settings.
Now it is possible to enter a specific unit that is different from the unit stored in the preferences. If only numbers are inputed the unit will be the same as specified by the users preferences. Signed-off-by: Joakim Bygdell <j.bygdell@gmail.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This commit is contained in:
parent
a91d4164b4
commit
6252d0cd3b
2 changed files with 28 additions and 22 deletions
|
@ -832,20 +832,27 @@ int parseTemperatureToMkelvin(const QString &text)
|
|||
int parseWeightToGrams(const QString &text)
|
||||
{
|
||||
int grams;
|
||||
QString kg_or_lbs = text;
|
||||
QString numOnly = text;
|
||||
numOnly.replace(",", ".").remove(QRegExp("[^0-9.]"));
|
||||
if (numOnly.isEmpty())
|
||||
return 0;
|
||||
double number = numOnly.toDouble();
|
||||
switch (prefs.units.weight) {
|
||||
case units::KG:
|
||||
if (kg_or_lbs.contains(QObject::tr("kg")))
|
||||
grams = rint(number * 1000);
|
||||
break;
|
||||
case units::LBS:
|
||||
else if (kg_or_lbs.contains(QObject::tr("lbs")))
|
||||
grams = lbs_to_grams(number);
|
||||
break;
|
||||
default:
|
||||
grams = 0;
|
||||
else {
|
||||
switch (prefs.units.weight) {
|
||||
case units::KG:
|
||||
grams = rint(number * 1000);
|
||||
break;
|
||||
case units::LBS:
|
||||
grams = lbs_to_grams(number);
|
||||
break;
|
||||
default:
|
||||
grams = 0;
|
||||
}
|
||||
}
|
||||
return grams;
|
||||
}
|
||||
|
@ -853,20 +860,27 @@ int parseWeightToGrams(const QString &text)
|
|||
int parsePressureToMbar(const QString &text)
|
||||
{
|
||||
int mbar;
|
||||
QString psi_or_bar = text;
|
||||
QString numOnly = text;
|
||||
numOnly.replace(",", ".").remove(QRegExp("[^0-9.]"));
|
||||
if (numOnly.isEmpty())
|
||||
return 0;
|
||||
double number = numOnly.toDouble();
|
||||
switch (prefs.units.pressure) {
|
||||
case units::BAR:
|
||||
if (psi_or_bar.contains(QObject::tr("bar")))
|
||||
mbar = rint(number * 1000);
|
||||
break;
|
||||
case units::PSI:
|
||||
else if (psi_or_bar.contains(QObject::tr("psi")))
|
||||
mbar = psi_to_mbar(number);
|
||||
break;
|
||||
default:
|
||||
mbar = 0;
|
||||
else {
|
||||
switch (prefs.units.pressure) {
|
||||
case units::BAR:
|
||||
mbar = rint(number * 1000);
|
||||
break;
|
||||
case units::PSI:
|
||||
mbar = psi_to_mbar(number);
|
||||
break;
|
||||
default:
|
||||
mbar = 0;
|
||||
}
|
||||
}
|
||||
return mbar;
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue