diff --git a/src/Core/RideItem.cpp b/src/Core/RideItem.cpp index d0b8f4a36..4734fc1a8 100644 --- a/src/Core/RideItem.cpp +++ b/src/Core/RideItem.cpp @@ -806,6 +806,24 @@ RideItem::getStdVarianceForSymbol(QString name) return 0.0f; } +// access the metadata +QString +RideItem::getText(QString name, QString fallback) const +{ + // Start Date and Time are special cases, defined as metadata fields but stored in a different way + if (name == "Start Date") return QString::number(QDate(1900,01,01).daysTo(dateTime.date())); + if (name == "Start Time") return QString::number(QTime(0,0,0).secsTo(dateTime.time())); + return metadata_.value(name, fallback); +} + +bool +RideItem::hasText(QString name) const +{ + if (name == "Start Date") return true; + if (name == "Start Time") return true; + return metadata_.contains(name); +} + QString RideItem::getStringForSymbol(QString name, bool useMetricUnits) { diff --git a/src/Core/RideItem.h b/src/Core/RideItem.h index c1b2379e8..c34fab181 100644 --- a/src/Core/RideItem.h +++ b/src/Core/RideItem.h @@ -130,8 +130,8 @@ class RideItem : public QObject QString getStringForSymbol(QString name, bool useMetricUnits=true); // access the metadata - QString getText(QString name, QString fallback) const { return metadata_.value(name, fallback); } - bool hasText(QString name) { return metadata_.contains(name); } + QString getText(QString name, QString fallback) const; + bool hasText(QString name) const; // get at the first class data QString path;