From ec38e8ca1d2f78f59da4e9052a8c021896163fff Mon Sep 17 00:00:00 2001 From: "Sean C. Rhea" Date: Tue, 27 May 2008 03:53:22 +0000 Subject: [PATCH] add device types --- src/RawRideFile.cpp | 1 + src/RideFile.cpp | 3 +++ src/RideFile.h | 9 +++++++-- src/RideItem.cpp | 2 +- src/SrmRideFile.cpp | 1 + 5 files changed, 13 insertions(+), 3 deletions(-) diff --git a/src/RawRideFile.cpp b/src/RawRideFile.cpp index 66daa3db1..8dab1e5ff 100644 --- a/src/RawRideFile.cpp +++ b/src/RawRideFile.cpp @@ -188,6 +188,7 @@ pt_read_raw(FILE *in, int compat, void *context, RideFile *RawFileReader::openRideFile(QFile &file, QStringList &errors) const { RideFile *rideFile = new RideFile; + rideFile->setDeviceType("PowerTap"); if (!file.open(QIODevice::ReadOnly)) { delete rideFile; return NULL; diff --git a/src/RideFile.cpp b/src/RideFile.cpp index 810634855..c6ad20c89 100644 --- a/src/RideFile.cpp +++ b/src/RideFile.cpp @@ -50,6 +50,9 @@ RideFile::writeAsXml(QFile &file, QString &err) QDomElement xstart = xroot.createElement("start").toElement(); xride.appendChild(xstart); xstart.setAttribute("date", startTime_.toString("yyyy/MM/dd hh:mm:ss")); + QDomElement xdevtype = xroot.createElement("device_type").toElement(); + xride.appendChild(xdevtype); + xdevtype.setAttribute("name", deviceType_); QDomElement xrecint = xroot.createElement("sampling_period").toElement(); xride.appendChild(xrecint); xrecint.setAttribute("secs", QString("%1").arg(recIntSecs_, 0, 'f', 3)); diff --git a/src/RideFile.h b/src/RideFile.h index 21505d0f1..78b4b89f2 100644 --- a/src/RideFile.h +++ b/src/RideFile.h @@ -59,12 +59,14 @@ class RideFile QDateTime startTime_; // time of day that the ride started double recIntSecs_; // recording interval in seconds QList dataPoints_; + QString deviceType_; public: - RideFile() : recIntSecs_(0.0) {} + RideFile() : recIntSecs_(0.0), deviceType_("unknown") {} RideFile(const QDateTime &startTime, double recIntSecs) : - startTime_(startTime), recIntSecs_(recIntSecs) {} + startTime_(startTime), recIntSecs_(recIntSecs), + deviceType_("unknown") {} virtual ~RideFile() { QListIterator i(dataPoints_); @@ -75,9 +77,12 @@ class RideFile const QDateTime &startTime() const { return startTime_; } double recIntSecs() const { return recIntSecs_; } const QList dataPoints() const { return dataPoints_; } + const QString &deviceType() const { return deviceType_; } void setStartTime(const QDateTime &value) { startTime_ = value; } void setRecIntSecs(double value) { recIntSecs_ = value; } + void setDeviceType(const QString &value) { deviceType_ = value; } + void appendPoint(double secs, double cad, double hr, double km, double kph, double nm, double watts, int interval) { dataPoints_.append(new RideFilePoint(secs, cad, hr, km, kph, diff --git a/src/RideItem.cpp b/src/RideItem.cpp index c377dfcee..afefb148a 100644 --- a/src/RideItem.cpp +++ b/src/RideItem.cpp @@ -182,7 +182,7 @@ RideItem::htmlSummary() } summary = ("

" + dateTime.toString("dddd MMMM d, yyyy, h:mm AP") - + "

Summary

"); + + "

Device Type: " + ride->deviceType() + "

"); if (zones) { zone_range = zones->whichRange(dateTime.date()); diff --git a/src/SrmRideFile.cpp b/src/SrmRideFile.cpp index 75e403072..3034acf44 100644 --- a/src/SrmRideFile.cpp +++ b/src/SrmRideFile.cpp @@ -30,6 +30,7 @@ RideFile *SrmFileReader::openRideFile(QFile &file, QStringList &errors) const if (!readSrmFile(file, srmData, errors)) return NULL; RideFile *rideFile = new RideFile(srmData.startTime, srmData.recint); + rideFile->setDeviceType("SRM"); QListIterator i(srmData.dataPoints); while (i.hasNext()) { SrmDataPoint *p = i.next();