mirror of
https://github.com/GoldenCheetah/GoldenCheetah.git
synced 2026-02-13 16:18:42 +00:00
use a QVector for time_in_zone
This commit is contained in:
@@ -1071,7 +1071,7 @@ void MainWindow::generateWeeklySummary()
|
||||
}
|
||||
|
||||
int zone_range = -1;
|
||||
double *time_in_zone = NULL;
|
||||
QVector<double> time_in_zone;
|
||||
int num_zones = -1;
|
||||
bool zones_ok = true;
|
||||
|
||||
@@ -1123,9 +1123,8 @@ void MainWindow::generateWeeklySummary()
|
||||
if (zone_range == -1) {
|
||||
zone_range = item->zoneRange();
|
||||
num_zones = item->numZones();
|
||||
time_in_zone = new double[num_zones];
|
||||
for (int j = 0; j < num_zones; ++j)
|
||||
time_in_zone[j] = 0;
|
||||
time_in_zone.clear();
|
||||
time_in_zone.resize(num_zones);
|
||||
}
|
||||
else if (item->zoneRange() != zone_range) {
|
||||
zones_ok = false;
|
||||
@@ -1196,13 +1195,10 @@ void MainWindow::generateWeeklySummary()
|
||||
if (!zones_ok)
|
||||
summary += "Error: Week spans more than one zone range.";
|
||||
else {
|
||||
summary += zones->summarize(zone_range, time_in_zone, num_zones);
|
||||
summary += zones->summarize(zone_range, time_in_zone);
|
||||
}
|
||||
}
|
||||
|
||||
if (time_in_zone)
|
||||
delete [] time_in_zone;
|
||||
|
||||
summary += "</center>";
|
||||
|
||||
delete weeklyDistance;
|
||||
|
||||
@@ -40,8 +40,6 @@ RideItem::RideItem(int type,
|
||||
setText(2, dateTime.toString("h:mm AP"));
|
||||
setTextAlignment(1, Qt::AlignRight);
|
||||
setTextAlignment(2, Qt::AlignRight);
|
||||
|
||||
time_in_zone = NULL;
|
||||
}
|
||||
|
||||
RideItem::~RideItem()
|
||||
@@ -215,9 +213,8 @@ RideItem::htmlSummary()
|
||||
((num_zones = (*zones)->numZones(zone_range)) > 0)
|
||||
)
|
||||
{
|
||||
time_in_zone = new double[num_zones];
|
||||
for (int i = 0; i < num_zones; ++i)
|
||||
time_in_zone[i] = 0.0;
|
||||
time_in_zone.clear();
|
||||
time_in_zone.resize(num_zones);
|
||||
}
|
||||
|
||||
const RideMetricFactory &factory = RideMetricFactory::instance();
|
||||
@@ -393,7 +390,7 @@ RideItem::htmlSummary()
|
||||
|
||||
if (num_zones > 0) {
|
||||
summary += "<h2>Power Zones</h2>";
|
||||
summary += (*zones)->summarize(zone_range, time_in_zone, num_zones);
|
||||
summary += (*zones)->summarize(zone_range, time_in_zone);
|
||||
}
|
||||
|
||||
// TODO: Ergomo uses non-consecutive interval numbers.
|
||||
|
||||
@@ -29,7 +29,7 @@ class RideItem : public QTreeWidgetItem {
|
||||
|
||||
protected:
|
||||
|
||||
double *time_in_zone;
|
||||
QVector<double> time_in_zone;
|
||||
|
||||
public:
|
||||
|
||||
|
||||
@@ -668,11 +668,11 @@ QList <QString> Zones::getZoneNames(int rnum) {
|
||||
return return_values;
|
||||
}
|
||||
|
||||
QString Zones::summarize(int rnum, double *time_in_zone, int num_zones) const
|
||||
QString Zones::summarize(int rnum, QVector<double> &time_in_zone) const
|
||||
{
|
||||
assert(rnum < ranges.size());
|
||||
ZoneRange *range = ranges[rnum];
|
||||
assert(num_zones == range->zones.size());
|
||||
assert(time_in_zone.size() == range->zones.size());
|
||||
QString summary;
|
||||
if(range->cp > 0){
|
||||
summary += "<table align=\"center\" width=\"70%\" border=\"0\">";
|
||||
@@ -689,7 +689,7 @@ QString Zones::summarize(int rnum, double *time_in_zone, int num_zones) const
|
||||
summary += "<td align=\"center\">High</td>";
|
||||
summary += "<td align=\"center\">Time</td>";
|
||||
summary += "</tr>";
|
||||
for (int zone = 0; zone < num_zones; ++zone) {
|
||||
for (int zone = 0; zone < time_in_zone.size(); ++zone) {
|
||||
if (time_in_zone[zone] > 0.0) {
|
||||
QString name, desc;
|
||||
int lo, hi;
|
||||
|
||||
@@ -85,7 +85,7 @@ class Zones : public QObject
|
||||
void zoneInfo(int range, int zone,
|
||||
QString &name, QString &description,
|
||||
int &low, int &high) const;
|
||||
QString summarize(int rnum, double *time_in_zone, int num_zones) const;
|
||||
QString summarize(int rnum, QVector<double> &time_in_zone) const;
|
||||
int getCP(int rnum) const;
|
||||
void setCP(int rnum, int cp);
|
||||
QString getDefaultZoneName(int z);
|
||||
|
||||
Reference in New Issue
Block a user