diff --git a/src/WeeklySummaryWindow.cpp b/src/WeeklySummaryWindow.cpp index f77e96e2d..51c859a27 100644 --- a/src/WeeklySummaryWindow.cpp +++ b/src/WeeklySummaryWindow.cpp @@ -159,6 +159,7 @@ WeeklySummaryWindow::refresh() // weekly values QVector time_in_zone; // max 10 zones supported + QVector time_in_hrzone; // max 10 zones supported double weeklyRides=0; double weeklySeconds=0; @@ -191,6 +192,9 @@ WeeklySummaryWindow::refresh() int num_zones = -1; int zone_range = -1; + int num_hrzones = -1; + int hrzone_range = -1; + for (int i = 0; i < allRides->childCount(); ++i) { QTreeWidgetItem *twi = allRides->child(i); @@ -236,6 +240,7 @@ WeeklySummaryWindow::refresh() weeklyRI = metrics.getForSymbol("skiba_relative_intensity"); // compute time in zones + // Power if (num_zones < item->numZones()) { num_zones = item->numZones(); time_in_zone.resize(num_zones); @@ -245,7 +250,18 @@ WeeklySummaryWindow::refresh() for (int j=0; jnumZones(); j++) { QString symbol = QString("time_in_zone_L%1").arg(j+1); time_in_zone[j] += metrics.getForSymbol(symbol); - } + } + // HR + if (num_hrzones < item->numHrZones()) { + num_hrzones = item->numHrZones(); + time_in_hrzone.resize(num_hrzones); + } + hrzone_range = item->hrZoneRange(); + + for (int j=0; jnumHrZones(); j++) { + QString symbol = QString("time_in_zone_H%1").arg(j+1); + time_in_hrzone[j] += metrics.getForSymbol(symbol); + } } } @@ -301,6 +317,10 @@ WeeklySummaryWindow::refresh() } else { summary += "No zones configured - zone summary not available."; } + if (hrzone_range >= 0) { + summary += tr( "" "

Heart Rate Zones

"); + summary += mainWindow->hrZones()->summarize(hrzone_range, time_in_hrzone); + } } summary += "";