Generalize Power Zones for any sport

All sports defined as values for Sport metadata field can have
specifics Power Zones and default to Bike zones otherwise.
Similar to current power zones for Run.
Part 3 of #3280
This commit is contained in:
Alejandro Martinez
2021-05-26 12:42:17 -03:00
parent 380dc47ac7
commit 3a07cc52d7
36 changed files with 298 additions and 300 deletions

View File

@@ -450,12 +450,12 @@ SolveCPDialog::solveClicked()
if (static_cast<QCheckBox*>(dataTable->itemWidget(it, 0))->isChecked())
item = static_cast<RideItem*>(it->data(0, Qt::UserRole).value<void *>());
if (item && item->context->athlete->zones(item->isRun)) {
if (item && item->context->athlete->zones(item->sport)) {
// get CP etc
int zoneRange = item->context->athlete->zones(item->isRun)->whichRange(item->dateTime.date());
int CP = zoneRange >= 0 ? item->context->athlete->zones(item->isRun)->getCP(zoneRange) : 0;
int WPRIME = zoneRange >= 0 ? item->context->athlete->zones(item->isRun)->getWprime(zoneRange) : 0;
int zoneRange = item->context->athlete->zones(item->sport)->whichRange(item->dateTime.date());
int CP = zoneRange >= 0 ? item->context->athlete->zones(item->sport)->getCP(zoneRange) : 0;
int WPRIME = zoneRange >= 0 ? item->context->athlete->zones(item->sport)->getWprime(zoneRange) : 0;
if (!mincp || CP < mincp) mincp = CP;
if (!maxcp || CP > maxcp) maxcp = CP;