Fix Metric/Imperial - conversion issues

In LTM Plot and on Summary Windows conversion
... data already converted for the curves was converted again
... for "Best" Summary the conversion was missing

Referring to issues #1067 #1071 (see also comments on issue #1069
This commit is contained in:
Joern
2014-11-16 19:20:25 +01:00
parent 334a7bfc40
commit 3fc8bee85f
3 changed files with 8 additions and 9 deletions

View File

@@ -1006,8 +1006,7 @@ LTMPlot::setData(LTMSettings *set)
if (metricDetail.uunits == "km") precision=0;
// we have a metric so lets be precise ...
labelString = QString("%1").arg(value * (context->athlete->useMetricUnits ? 1 : m->conversion())
+ (context->athlete->useMetricUnits ? 0 : m->conversionSum()), 0, 'f', precision);
labelString = QString("%1").arg(value, 0, 'f', precision);
} else {
// no precision
@@ -1857,8 +1856,7 @@ LTMPlot::setCompareData(LTMSettings *set)
if (metricDetail.uunits == "km") precision=0;
// we have a metric so lets be precise ...
labelString = QString("%1").arg(value * (context->athlete->useMetricUnits ? 1 : m->conversion())
+ (context->athlete->useMetricUnits ? 0 : m->conversionSum()), 0, 'f', precision);
labelString = QString("%1").arg(value , 0, 'f', precision);
} else {
// no precision
@@ -2019,8 +2017,7 @@ LTMPlot::setCompareData(LTMSettings *set)
if (metricDetail.uunits == "km") precision=0;
// we have a metric so lets be precise ...
labelString = QString("%1").arg(value * (context->athlete->useMetricUnits ? 1 : m->conversion())
+ (context->athlete->useMetricUnits ? 0 : m->conversionSum()), 0, 'f', precision);
labelString = QString("%1").arg(value, 0, 'f', precision);
} else {
// no precision

View File

@@ -1291,8 +1291,7 @@ LTMWindow::dataTable(bool html)
if (settings.metrics[j].uunits == "seconds" || settings.metrics[j].uunits == tr("seconds")) precision=1;
// we have a metric so lets be precise ...
QString v = QString("%1").arg(aggregates[j].y[i] * (context->athlete->useMetricUnits ? 1 : m->conversion())
+ (context->athlete->useMetricUnits ? 0 : m->conversionSum()), 0, 'f', precision);
QString v = QString("%1").arg(aggregates[j].y[i], 0, 'f', precision);
summary = summary.arg(v);

View File

@@ -211,7 +211,7 @@ QList<SummaryBest>
SummaryMetrics::getBests(Context *context, QString symbol, int n,
const QList<SummaryMetrics> &data,
const QStringList &filters, bool filtered,
bool /* useMetricUnits */)
bool useMetricUnits )
{
QList<SummaryBest> results;
@@ -229,6 +229,9 @@ SummaryMetrics::getBests(Context *context, QString symbol, int n,
// get this value
SummaryBest add;
add.nvalue = rideMetrics.getForSymbol(symbol);
if (useMetricUnits == false) {
add.nvalue *= metric->conversion();
}
add.date = rideMetrics.getRideDate().date();
// XXX this needs improving for all cases ... hack for now