mirror of
https://github.com/GoldenCheetah/GoldenCheetah.git
synced 2026-04-15 05:32:21 +00:00
RideItem::zones is just a pointer
...not a pointer to a pointer.
This commit is contained in:
@@ -62,11 +62,11 @@ class AllPlotBackground: public QwtPlotItem
|
||||
if (! rideItem)
|
||||
return;
|
||||
|
||||
Zones **zones = rideItem->zones;
|
||||
Zones *zones = rideItem->zones;
|
||||
int zone_range = rideItem->zoneRange();
|
||||
|
||||
if (parent->shadeZones() && zones && *zones && (zone_range >= 0)) {
|
||||
QList <int> zone_lows = (*zones)->getZoneLows(zone_range);
|
||||
if (parent->shadeZones() && (zone_range >= 0)) {
|
||||
QList <int> zone_lows = zones->getZoneLows(zone_range);
|
||||
int num_zones = zone_lows.size();
|
||||
if (num_zones > 0) {
|
||||
for (int z = 0; z < num_zones; z ++) {
|
||||
@@ -112,13 +112,13 @@ class AllPlotZoneLabel: public QwtPlotItem
|
||||
return;
|
||||
|
||||
|
||||
Zones **zones = rideItem->zones;
|
||||
Zones *zones = rideItem->zones;
|
||||
int zone_range = rideItem->zoneRange();
|
||||
|
||||
// create new zone labels if we're shading
|
||||
if (parent->shadeZones() && zones && *zones && (zone_range >= 0)) {
|
||||
QList <int> zone_lows = (*zones)->getZoneLows(zone_range);
|
||||
QList <QString> zone_names = (*zones)->getZoneNames(zone_range);
|
||||
if (parent->shadeZones() && (zone_range >= 0)) {
|
||||
QList <int> zone_lows = zones->getZoneLows(zone_range);
|
||||
QList <QString> zone_names = zones->getZoneNames(zone_range);
|
||||
int num_zones = zone_lows.size();
|
||||
assert(zone_names.size() == num_zones);
|
||||
if (zone_number < num_zones) {
|
||||
@@ -254,11 +254,11 @@ void AllPlot::refreshZoneLabels()
|
||||
|
||||
if (rideItem) {
|
||||
int zone_range = rideItem->zoneRange();
|
||||
Zones **zones = rideItem->zones;
|
||||
Zones *zones = rideItem->zones;
|
||||
|
||||
// generate labels for existing zones
|
||||
if (zones && *zones && (zone_range >= 0)) {
|
||||
int num_zones = (*zones)->numZones(zone_range);
|
||||
if (zone_range >= 0) {
|
||||
int num_zones = zones->numZones(zone_range);
|
||||
for (int z = 0; z < num_zones; z ++) {
|
||||
AllPlotZoneLabel *label = new AllPlotZoneLabel(this, z);
|
||||
label->attach(this);
|
||||
|
||||
@@ -485,7 +485,7 @@ CpintPlot::plot_allCurve(CpintPlot *thisPlot,
|
||||
// generate zones from derived CP value
|
||||
if (cp > 0) {
|
||||
QList <int> power_zone;
|
||||
int n_zones = (*zones)->lowsFromCP(&power_zone, (int) int(cp));
|
||||
int n_zones = zones->lowsFromCP(&power_zone, (int) int(cp));
|
||||
int high = n_values - 1;
|
||||
int zone = 0;
|
||||
while (zone < n_zones) {
|
||||
@@ -499,7 +499,7 @@ CpintPlot::plot_allCurve(CpintPlot *thisPlot,
|
||||
}
|
||||
|
||||
QColor color = zoneColor(zone, n_zones);
|
||||
QString name = (*zones)->getDefaultZoneName(zone);
|
||||
QString name = zones->getDefaultZoneName(zone);
|
||||
QwtPlotCurve *curve = new QwtPlotCurve(name);
|
||||
curve->setRenderHint(QwtPlotItem::RenderAntialiased);
|
||||
QPen pen(color);
|
||||
|
||||
@@ -72,7 +72,7 @@ class CpintPlot : public QwtPlot
|
||||
QVector<QDate> bestDates;
|
||||
QDate startDate;
|
||||
QDate endDate;
|
||||
Zones **zones;
|
||||
Zones *zones;
|
||||
// keys are CPI files contributing to bests (at least originally)
|
||||
QHash<QString,bool> cpiDataInBests;
|
||||
bool energyMode_;
|
||||
|
||||
@@ -165,7 +165,7 @@ MainWindow::MainWindow(const QDir &home) :
|
||||
QDateTime dt;
|
||||
if (parseRideFileName(name, ¬esFileName, &dt)) {
|
||||
last = new RideItem(RIDE_TYPE, home.path(),
|
||||
name, dt, &zones, notesFileName);
|
||||
name, dt, zones, notesFileName);
|
||||
allRides->addChild(last);
|
||||
calendar->addRide(reinterpret_cast<RideItem*>(last));
|
||||
}
|
||||
@@ -348,7 +348,7 @@ MainWindow::addRide(QString name, bool bSelect /*=true*/)
|
||||
assert(false);
|
||||
}
|
||||
RideItem *last = new RideItem(RIDE_TYPE, home.path(),
|
||||
name, dt, &zones, notesFileName);
|
||||
name, dt, zones, notesFileName);
|
||||
|
||||
QVariant isAscending = settings->value(GC_ALLRIDES_ASCENDING,Qt::Checked); // default is ascending sort
|
||||
int index = 0;
|
||||
|
||||
@@ -52,15 +52,15 @@ class PfPvPlotZoneLabel: public QwtPlotItem
|
||||
zone_number = _zone_number;
|
||||
|
||||
RideItem *rideItem = parent->rideItem;
|
||||
Zones **zones = rideItem->zones;
|
||||
Zones *zones = rideItem->zones;
|
||||
int zone_range = rideItem->zoneRange();
|
||||
|
||||
setZ(1.0 + zone_number / 100.0);
|
||||
|
||||
// create new zone labels if we're shading
|
||||
if (zones && *zones && (zone_range >= 0)) {
|
||||
QList <int> zone_lows = (*zones)->getZoneLows(zone_range);
|
||||
QList <QString> zone_names = (*zones)->getZoneNames(zone_range);
|
||||
if (zone_range >= 0) {
|
||||
QList <int> zone_lows = zones->getZoneLows(zone_range);
|
||||
QList <QString> zone_names = zones->getZoneNames(zone_range);
|
||||
int num_zones = zone_lows.size();
|
||||
assert(zone_names.size() == num_zones);
|
||||
if (zone_number < num_zones) {
|
||||
@@ -198,15 +198,15 @@ PfPvPlot::refreshZoneItems()
|
||||
if (! rideItem)
|
||||
return;
|
||||
|
||||
Zones **zones = rideItem->zones;
|
||||
Zones *zones = rideItem->zones;
|
||||
int zone_range = rideItem->zoneRange();
|
||||
|
||||
if (zones && *zones && (zone_range >= 0)) {
|
||||
setCP((*zones)->getCP(zone_range));
|
||||
if (zone_range >= 0) {
|
||||
setCP(zones->getCP(zone_range));
|
||||
|
||||
// populate the zone curves
|
||||
QList <int> zone_power = (*zones)->getZoneLows(zone_range);
|
||||
QList <QString> zone_name = (*zones)->getZoneNames(zone_range);
|
||||
QList <int> zone_power = zones->getZoneLows(zone_range);
|
||||
QList <QString> zone_name = zones->getZoneNames(zone_range);
|
||||
int num_zones = zone_power.size();
|
||||
assert(zone_name.size() == num_zones);
|
||||
if (num_zones > 0) {
|
||||
|
||||
@@ -90,11 +90,11 @@ public:
|
||||
if (! rideItem)
|
||||
return;
|
||||
|
||||
Zones **zones = rideItem->zones;
|
||||
Zones *zones = rideItem->zones;
|
||||
int zone_range = rideItem->zoneRange();
|
||||
|
||||
if (parent->shadeZones() && zones && *zones && (zone_range >= 0)) {
|
||||
QList <int> zone_lows = (*zones)->getZoneLows(zone_range);
|
||||
if (parent->shadeZones() && (zone_range >= 0)) {
|
||||
QList <int> zone_lows = zones->getZoneLows(zone_range);
|
||||
int num_zones = zone_lows.size();
|
||||
if (num_zones > 0) {
|
||||
for (int z = 0; z < num_zones; z ++) {
|
||||
@@ -140,15 +140,15 @@ public:
|
||||
if (! rideItem)
|
||||
return;
|
||||
|
||||
Zones **zones = rideItem->zones;
|
||||
Zones *zones = rideItem->zones;
|
||||
int zone_range = rideItem->zoneRange();
|
||||
|
||||
setZ(1.0 + zone_number / 100.0);
|
||||
|
||||
// create new zone labels if we're shading
|
||||
if (parent->shadeZones() && zones && *zones && (zone_range >= 0)) {
|
||||
QList <int> zone_lows = (*zones)->getZoneLows(zone_range);
|
||||
QList <QString> zone_names = (*zones)->getZoneNames(zone_range);
|
||||
if (parent->shadeZones() && (zone_range >= 0)) {
|
||||
QList <int> zone_lows = zones->getZoneLows(zone_range);
|
||||
QList <QString> zone_names = zones->getZoneNames(zone_range);
|
||||
int num_zones = zone_lows.size();
|
||||
assert(zone_names.size() == num_zones);
|
||||
if (zone_number < num_zones) {
|
||||
@@ -283,12 +283,12 @@ PowerHist::refreshZoneLabels()
|
||||
return;
|
||||
|
||||
if ((selected == wattsShaded) || (selected == wattsUnshaded)) {
|
||||
Zones **zones = rideItem->zones;
|
||||
Zones *zones = rideItem->zones;
|
||||
int zone_range = rideItem->zoneRange();
|
||||
|
||||
// generate labels for existing zones
|
||||
if (zones && *zones && (zone_range >= 0)) {
|
||||
int num_zones = (*zones)->numZones(zone_range);
|
||||
if (zone_range >= 0) {
|
||||
int num_zones = zones->numZones(zone_range);
|
||||
for (int z = 0; z < num_zones; z ++) {
|
||||
PowerHistZoneLabel *label = new PowerHistZoneLabel(this, z);
|
||||
label->attach(this);
|
||||
|
||||
@@ -29,7 +29,7 @@
|
||||
|
||||
RideItem::RideItem(int type,
|
||||
QString path, QString fileName, const QDateTime &dateTime,
|
||||
Zones **zones, QString notesFileName) :
|
||||
Zones *zones, QString notesFileName) :
|
||||
QTreeWidgetItem(type), path(path), fileName(fileName),
|
||||
dateTime(dateTime), ride(NULL), zones(zones), notesFileName(notesFileName)
|
||||
{
|
||||
@@ -111,24 +111,13 @@ static void summarize(bool even,
|
||||
|
||||
int RideItem::zoneRange()
|
||||
{
|
||||
return (
|
||||
(zones && *zones) ?
|
||||
(*zones)->whichRange(dateTime.date()) :
|
||||
-1
|
||||
);
|
||||
return zones->whichRange(dateTime.date());
|
||||
}
|
||||
|
||||
int RideItem::numZones()
|
||||
{
|
||||
if (zones && *zones) {
|
||||
int zone_range = zoneRange();
|
||||
return ((zone_range >= 0) ?
|
||||
(*zones)->numZones(zone_range) :
|
||||
0
|
||||
);
|
||||
}
|
||||
else
|
||||
return 0;
|
||||
int zone_range = zoneRange();
|
||||
return (zone_range >= 0) ? zones->numZones(zone_range) : 0;
|
||||
}
|
||||
|
||||
double RideItem::timeInZone(int zone)
|
||||
@@ -193,7 +182,7 @@ RideItem::computeMetrics()
|
||||
{
|
||||
const QDateTime nilTime;
|
||||
if ((computeMetricsTime != nilTime) &&
|
||||
(!zones || !*zones || (computeMetricsTime >= (*zones)->modificationTime))) {
|
||||
(computeMetricsTime >= zones->modificationTime)) {
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -211,7 +200,7 @@ RideItem::computeMetrics()
|
||||
int num_zones = numZones();
|
||||
time_in_zone.clear();
|
||||
if (zone_range >= 0) {
|
||||
num_zones = (*zones)->numZones(zone_range);
|
||||
num_zones = zones->numZones(zone_range);
|
||||
time_in_zone.resize(num_zones);
|
||||
}
|
||||
|
||||
@@ -219,7 +208,7 @@ RideItem::computeMetrics()
|
||||
foreach (const RideFilePoint *point, ride->dataPoints()) {
|
||||
if (point->watts >= 0.0) {
|
||||
if (num_zones > 0) {
|
||||
int zone = (*zones)->whichZone(zone_range, point->watts);
|
||||
int zone = zones->whichZone(zone_range, point->watts);
|
||||
if (zone >= 0)
|
||||
time_in_zone[zone] += secs_delta;
|
||||
}
|
||||
@@ -249,7 +238,7 @@ RideItem::computeMetrics()
|
||||
if (!metrics.contains(deps[j]))
|
||||
goto later;
|
||||
RideMetric *metric = factory.newMetric(name);
|
||||
metric->compute(ride, *zones, zone_range, metrics);
|
||||
metric->compute(ride, zones, zone_range, metrics);
|
||||
metrics.insert(name, metric);
|
||||
i.remove();
|
||||
}
|
||||
@@ -262,7 +251,7 @@ QString
|
||||
RideItem::htmlSummary()
|
||||
{
|
||||
if (summary.isEmpty() ||
|
||||
(zones && *zones && (summaryGenerationTime < (*zones)->modificationTime))) {
|
||||
(summaryGenerationTime < zones->modificationTime)) {
|
||||
|
||||
summaryGenerationTime = QDateTime::currentDateTime();
|
||||
|
||||
@@ -410,7 +399,7 @@ RideItem::htmlSummary()
|
||||
|
||||
if (!time_in_zone.empty()) {
|
||||
summary += "<h2>Power Zones</h2>";
|
||||
summary += (*zones)->summarize(zoneRange(), time_in_zone);
|
||||
summary += zones->summarize(zoneRange(), time_in_zone);
|
||||
}
|
||||
|
||||
// TODO: Ergomo uses non-consecutive interval numbers.
|
||||
|
||||
@@ -39,7 +39,7 @@ class RideItem : public QTreeWidgetItem {
|
||||
QString summary;
|
||||
QDateTime summaryGenerationTime, computeMetricsTime;
|
||||
RideFile *ride;
|
||||
Zones **zones;
|
||||
Zones *zones;
|
||||
QString notesFileName;
|
||||
|
||||
typedef QHash<QString,RideMetric*> MetricMap;
|
||||
@@ -49,7 +49,7 @@ class RideItem : public QTreeWidgetItem {
|
||||
|
||||
RideItem(int type, QString path,
|
||||
QString fileName, const QDateTime &dateTime,
|
||||
Zones **zones, QString notesFileName);
|
||||
Zones *zones, QString notesFileName);
|
||||
|
||||
~RideItem();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user