diff --git a/src/RideSummaryWindow.cpp b/src/RideSummaryWindow.cpp index c92578887..abdc01c80 100644 --- a/src/RideSummaryWindow.cpp +++ b/src/RideSummaryWindow.cpp @@ -279,6 +279,72 @@ RideSummaryWindow::htmlSummary() const summary += mainWindow->zones()->summarize(rideItem->zoneRange(), time_in_zone); } + if (ride->intervals().size() > 0) { + bool firstRow = true; + QStringList intervalMetrics; + intervalMetrics << "workout_time"; + intervalMetrics << "total_distance"; + intervalMetrics << "total_work"; + intervalMetrics << "average_power"; + intervalMetrics << "skiba_xpower"; + intervalMetrics << "max_power"; + intervalMetrics << "average_hr"; + intervalMetrics << "ninety_five_percent_hr"; + intervalMetrics << "average_cad"; + intervalMetrics << "average_speed"; + summary += "
\n"; + summary += "
| Interval Name | "; + foreach (QString symbol, intervalMetrics) { + RideMetricPtr m = metrics.value(symbol); + summary += "" + m->name(); + if (m->units(metricUnits) == "seconds") + ; // don't do anything + else if (m->units(metricUnits).size() > 0) + summary += " (" + m->units(metricUnits) + ")"; + summary += " | "; + } + summary += "
| " + interval.name + " | "; + foreach (QString symbol, intervalMetrics) { + RideMetricPtr m = metrics.value(symbol); + QString s("%1 | "); + if (m->units(metricUnits) == "seconds") + summary += s.arg(time_to_string(m->value(metricUnits))); + else + summary += s.arg(m->value(metricUnits), 0, 'f', m->precision()); + } + summary += "