diff --git a/src/GUI/routeitem.cpp b/src/GUI/routeitem.cpp index 0ae7c43f..0f83b3ab 100644 --- a/src/GUI/routeitem.cpp +++ b/src/GUI/routeitem.cpp @@ -15,6 +15,8 @@ QString RouteItem::info() const tt.insert(tr("Name"), _name); if (!_desc.isEmpty()) tt.insert(tr("Description"), _desc); + if (!_comment.isEmpty() && _comment != _desc) + tt.insert(tr("Comment"), _comment); tt.insert(tr("Distance"), Format::distance(path().last().last().distance(), _units)); if (!_links.isEmpty()) { @@ -43,6 +45,7 @@ RouteItem::RouteItem(const Route &route, Map *map, QGraphicsItem *parent) _name = route.name(); _desc = route.description(); + _comment = route.comment(); _links = route.links(); _coordinatesFormat = DecimalDegrees; } diff --git a/src/GUI/routeitem.h b/src/GUI/routeitem.h index 9811e342..8295201f 100644 --- a/src/GUI/routeitem.h +++ b/src/GUI/routeitem.h @@ -29,6 +29,7 @@ public: private: QString _name; QString _desc; + QString _comment; QVector _links; CoordinatesFormat _coordinatesFormat; diff --git a/src/GUI/trackitem.cpp b/src/GUI/trackitem.cpp index d5b83705..b4629fd9 100644 --- a/src/GUI/trackitem.cpp +++ b/src/GUI/trackitem.cpp @@ -13,6 +13,8 @@ QString TrackItem::info() const tt.insert(tr("Name"), _name); if (!_desc.isEmpty()) tt.insert(tr("Description"), _desc); + if (!_comment.isEmpty() && _comment != _desc) + tt.insert(tr("Comment"), _comment); tt.insert(tr("Distance"), Format::distance(path().last().last().distance(), _units)); if (_time > 0) @@ -41,6 +43,7 @@ TrackItem::TrackItem(const Track &track, Map *map, QGraphicsItem *parent) { _name = track.name(); _desc = track.description(); + _comment = track.comment(); _links = track.links(); _date = track.date(); _time = track.time(); diff --git a/src/GUI/trackitem.h b/src/GUI/trackitem.h index 41f01863..0edd1049 100644 --- a/src/GUI/trackitem.h +++ b/src/GUI/trackitem.h @@ -22,6 +22,7 @@ public: private: QString _name; QString _desc; + QString _comment; QVector _links; QDateTime _date; qreal _time; diff --git a/src/GUI/waypointitem.cpp b/src/GUI/waypointitem.cpp index f32c6366..cc05bb83 100644 --- a/src/GUI/waypointitem.cpp +++ b/src/GUI/waypointitem.cpp @@ -30,6 +30,10 @@ QString WaypointItem::info() const if (!_waypoint.description().isEmpty()) tt.insert(qApp->translate("WaypointItem", "Description"), _waypoint.description()); + if (!_waypoint.comment().isEmpty() + && _waypoint.comment() != _waypoint.description()) + tt.insert(qApp->translate("WaypointItem", "Comment"), + _waypoint.comment()); if (_waypoint.address().isValid()) { QString addr("
"); addr += _waypoint.address().street(); diff --git a/src/data/gpiparser.cpp b/src/data/gpiparser.cpp index 2a9ab74e..676b25f1 100644 --- a/src/data/gpiparser.cpp +++ b/src/data/gpiparser.cpp @@ -282,14 +282,14 @@ static quint32 readNotes(QDataStream &stream, QTextCodec *codec, if (s1 & 0x1) { QList obj; ds += readTranslatedObjects(stream, codec, obj); - if (!obj.isEmpty() && waypoint.description().isNull()) - waypoint.setDescription(obj.first().str()); + if (!obj.isEmpty()) + waypoint.setComment(obj.first().str()); } if (s1 & 0x2) { QString str; ds += readString(stream, codec, str); - if (!str.isEmpty() && waypoint.description().isNull()) - waypoint.setDescription(str); + if (!str.isEmpty()) + waypoint.setComment(str); } if (ds != rh.size) diff --git a/src/data/gpxparser.cpp b/src/data/gpxparser.cpp index a5d67eaf..debb0e19 100644 --- a/src/data/gpxparser.cpp +++ b/src/data/gpxparser.cpp @@ -192,6 +192,8 @@ void GPXParser::waypointData(Waypoint &waypoint, SegmentData *autoRoute) waypoint.setName(_reader.readElementText()); else if (_reader.name() == QLatin1String("desc")) waypoint.setDescription(_reader.readElementText()); + else if (_reader.name() == QLatin1String("cmt")) + waypoint.setComment(_reader.readElementText()); else if (_reader.name() == QLatin1String("ele")) waypoint.setElevation(number()); else if (_reader.name() == QLatin1String("geoidheight")) @@ -244,6 +246,8 @@ void GPXParser::routepoints(RouteData &route, QList &tracks) route.setName(_reader.readElementText()); else if (_reader.name() == QLatin1String("desc")) route.setDescription(_reader.readElementText()); + else if (_reader.name() == QLatin1String("cmt")) + route.setComment(_reader.readElementText()); else if (_reader.name() == QLatin1String("link")) { Link l(link()); if (!l.URL().isEmpty()) @@ -278,6 +282,8 @@ void GPXParser::track(TrackData &track) track.setName(_reader.readElementText()); else if (_reader.name() == QLatin1String("desc")) track.setDescription(_reader.readElementText()); + else if (_reader.name() == QLatin1String("cmt")) + track.setComment(_reader.readElementText()); else if (_reader.name() == QLatin1String("link")) { Link l(link()); if (!l.URL().isEmpty()) diff --git a/src/data/route.h b/src/data/route.h index 414a984f..e3eda33a 100644 --- a/src/data/route.h +++ b/src/data/route.h @@ -21,6 +21,7 @@ public: const QString &name() const {return _data.name();} const QString &description() const {return _data.description();} + const QString &comment() const {return _data.comment();} const QVector &links() const {return _data.links();} bool isValid() const {return _data.size() >= 2;} diff --git a/src/data/routedata.h b/src/data/routedata.h index 0c614dfd..2c1e6ade 100644 --- a/src/data/routedata.h +++ b/src/data/routedata.h @@ -11,15 +11,18 @@ class RouteData : public QVector public: const QString &name() const {return _name;} const QString &description() const {return _desc;} + const QString &comment() const {return _comment;} const QVector &links() const {return _links;} void setName(const QString &name) {_name = name;} void setDescription(const QString &desc) {_desc = desc;} + void setComment(const QString &comment) {_comment = comment;} void addLink(const Link &link) {_links.append(link);} private: QString _name; QString _desc; + QString _comment; QVector _links; }; diff --git a/src/data/track.h b/src/data/track.h index 00c4394b..09a294b0 100644 --- a/src/data/track.h +++ b/src/data/track.h @@ -32,6 +32,7 @@ public: const QString &name() const {return _data.name();} const QString &description() const {return _data.description();} + const QString &comment() const {return _data.comment();} const QVector &links() const {return _data.links();} bool isValid() const; diff --git a/src/data/trackdata.h b/src/data/trackdata.h index 18c872a7..c1ff1b2c 100644 --- a/src/data/trackdata.h +++ b/src/data/trackdata.h @@ -14,15 +14,18 @@ class TrackData : public QList public: const QString &name() const {return _name;} const QString &description() const {return _desc;} + const QString &comment() const {return _comment;} const QVector &links() const {return _links;} void setName(const QString &name) {_name = name;} void setDescription(const QString &desc) {_desc = desc;} + void setComment(const QString &comment) {_comment = comment;} void addLink(const Link &link) {_links.append(link);} private: QString _name; QString _desc; + QString _comment; QVector _links; }; diff --git a/src/data/waypoint.h b/src/data/waypoint.h index c7d9d706..03e23f19 100644 --- a/src/data/waypoint.h +++ b/src/data/waypoint.h @@ -21,6 +21,7 @@ public: const Coordinates &coordinates() const {return _coordinates;} const QString &name() const {return _name;} const QString &description() const {return _description;} + const QString &comment() const {return _comment;} const Address &address() const {return _address;} const QVector &images() const {return _images;} const QVector &links() const {return _links;} @@ -32,6 +33,7 @@ public: void setName(const QString &name) {_name = name;} void setDescription(const QString &description) {_description = description;} + void setComment(const QString &comment) {_comment = comment;} void setAddress(const Address &address) {_address = address;} void setTimestamp(const QDateTime ×tamp) {_timestamp = timestamp;} void setElevation(qreal elevation) {_elevation = elevation;} @@ -48,6 +50,7 @@ private: Coordinates _coordinates; QString _name; QString _description; + QString _comment; Address _address; QVector _images; QVector _links;