diff --git a/src/RideSummaryWindow.cpp b/src/RideSummaryWindow.cpp index 72d7953c7..387c3ef9d 100644 --- a/src/RideSummaryWindow.cpp +++ b/src/RideSummaryWindow.cpp @@ -722,44 +722,52 @@ RideSummaryWindow::htmlSummary() int numzones = 0; int range = -1; - // get zones to use via ride for ridesummary - if (ridesummary && rideItem) { + if (ridesummary && rideItem && rideItem->ride() && rideItem->ride()->isRun()) { - numzones = rideItem->numZones(); - range = rideItem->zoneRange(); + // no power zones on a run, should show pace here ... + // ... when we have pace zones implemented - // or for end of daterange plotted for daterange summary - } else if (context->athlete->zones()) { + } else { - // get from end if period - range = context->athlete->zones()->whichRange(myDateRange.to); - if (range > -1) numzones = context->athlete->zones()->numZones(range); + if (ridesummary && rideItem) { + // get zones to use via ride for ridesummary - } + numzones = rideItem->numZones(); + range = rideItem->zoneRange(); - if (range > -1 && numzones > 0) { - QVector time_in_zone(numzones); - for (int i = 0; i < numzones; ++i) { + // or for end of daterange plotted for daterange summary + } else if (context->athlete->zones()) { + + // get from end if period + range = context->athlete->zones()->whichRange(myDateRange.to); + if (range > -1) numzones = context->athlete->zones()->numZones(range); - // if using metrics or data - if (ridesummary) time_in_zone[i] = metrics.getForSymbol(timeInZones[i]); - else { - QStringList filterList = filters; - if (context->ishomefiltered) { - if (filtered) { - foreach (QString file, filters) { - if (context->homeFilters.contains(file)) - filterList << file; - } - } else { - filterList = context->homeFilters; - } - } - time_in_zone[i] = SummaryMetrics::getAggregated(context, timeInZones[i], data, filterList, context->ishomefiltered || filtered, useMetricUnits, true).toDouble(); - } } - summary += tr("

Power Zones

"); - summary += context->athlete->zones()->summarize(range, time_in_zone, altColor); //aggregating + + if (range > -1 && numzones > 0) { + QVector time_in_zone(numzones); + for (int i = 0; i < numzones; ++i) { + + // if using metrics or data + if (ridesummary) time_in_zone[i] = metrics.getForSymbol(timeInZones[i]); + else { + QStringList filterList = filters; + if (context->ishomefiltered) { + if (filtered) { + foreach (QString file, filters) { + if (context->homeFilters.contains(file)) + filterList << file; + } + } else { + filterList = context->homeFilters; + } + } + time_in_zone[i] = SummaryMetrics::getAggregated(context, timeInZones[i], data, filterList, context->ishomefiltered || filtered, useMetricUnits, true).toDouble(); + } + } + summary += tr("

Power Zones

"); + summary += context->athlete->zones()->summarize(range, time_in_zone, altColor); //aggregating + } } //