mirror of
https://github.com/tumic0/GPXSee.git
synced 2025-06-27 03:29:16 +02:00
Extended links support + popup fixes
This commit is contained in:
@ -162,7 +162,7 @@ void GPXParser::waypointData(Waypoint &waypoint, SegmentData *autoRoute)
|
||||
else if (_reader.name() == QLatin1String("time"))
|
||||
waypoint.setTimestamp(time());
|
||||
else if (_reader.name() == QLatin1String("link"))
|
||||
waypoint.setLink(link());
|
||||
waypoint.addLink(link());
|
||||
else if (autoRoute && _reader.name() == QLatin1String("extensions"))
|
||||
rteptExtensions(autoRoute);
|
||||
else
|
||||
@ -198,6 +198,8 @@ void GPXParser::routepoints(RouteData &route, QList<TrackData> &tracks)
|
||||
route.setName(_reader.readElementText());
|
||||
else if (_reader.name() == QLatin1String("desc"))
|
||||
route.setDescription(_reader.readElementText());
|
||||
else if (_reader.name() == QLatin1String("link"))
|
||||
route.addLink(link());
|
||||
else
|
||||
_reader.skipCurrentElement();
|
||||
}
|
||||
@ -219,6 +221,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("link"))
|
||||
track.addLink(link());
|
||||
else
|
||||
_reader.skipCurrentElement();
|
||||
}
|
||||
|
@ -40,7 +40,7 @@ void LOCParser::waypoint(Waypoint &waypoint)
|
||||
_reader.skipCurrentElement();
|
||||
} else if (_reader.name() == QLatin1String("link")) {
|
||||
const QXmlStreamAttributes &attr = _reader.attributes();
|
||||
waypoint.setLink(Link(_reader.readElementText(),
|
||||
waypoint.addLink(Link(_reader.readElementText(),
|
||||
attr.value("text").toString()));
|
||||
} else
|
||||
_reader.skipCurrentElement();
|
||||
|
@ -21,6 +21,7 @@ public:
|
||||
|
||||
const QString &name() const {return _data.name();}
|
||||
const QString &description() const {return _data.description();}
|
||||
const QVector<Link> &links() const {return _data.links();}
|
||||
|
||||
bool isValid() const {return _data.size() >= 2;}
|
||||
|
||||
|
@ -4,18 +4,23 @@
|
||||
#include <QVector>
|
||||
#include <QString>
|
||||
#include "waypoint.h"
|
||||
#include "link.h"
|
||||
|
||||
class RouteData : public QVector<Waypoint>
|
||||
{
|
||||
public:
|
||||
const QString& name() const {return _name;}
|
||||
const QString& description() const {return _desc;}
|
||||
const QString &name() const {return _name;}
|
||||
const QString &description() const {return _desc;}
|
||||
const QVector<Link> &links() const {return _links;}
|
||||
|
||||
void setName(const QString &name) {_name = name;}
|
||||
void setDescription(const QString &desc) {_desc = desc;}
|
||||
void addLink(const Link &link) {_links.append(link);}
|
||||
|
||||
private:
|
||||
QString _name;
|
||||
QString _desc;
|
||||
QVector<Link> _links;
|
||||
};
|
||||
|
||||
#endif // ROUTEDATA_H
|
||||
|
@ -32,6 +32,7 @@ public:
|
||||
|
||||
const QString &name() const {return _data.name();}
|
||||
const QString &description() const {return _data.description();}
|
||||
const QVector<Link> &links() const {return _data.links();}
|
||||
|
||||
bool isValid() const;
|
||||
|
||||
|
@ -5,20 +5,25 @@
|
||||
#include <QVector>
|
||||
#include <QString>
|
||||
#include "trackpoint.h"
|
||||
#include "link.h"
|
||||
|
||||
typedef QVector<Trackpoint> SegmentData;
|
||||
|
||||
class TrackData : public QList<SegmentData>
|
||||
{
|
||||
public:
|
||||
const QString& name() const {return _name;}
|
||||
const QString& description() const {return _desc;}
|
||||
const QString &name() const {return _name;}
|
||||
const QString &description() const {return _desc;}
|
||||
const QVector<Link> &links() const {return _links;}
|
||||
|
||||
void setName(const QString &name) {_name = name;}
|
||||
void setDescription(const QString &desc) {_desc = desc;}
|
||||
void addLink(const Link &link) {_links.append(link);}
|
||||
|
||||
private:
|
||||
QString _name;
|
||||
QString _desc;
|
||||
QVector<Link> _links;
|
||||
};
|
||||
|
||||
#endif // TRACKDATA_H
|
||||
|
@ -20,7 +20,7 @@ public:
|
||||
const QString &name() const {return _name;}
|
||||
const QString &description() const {return _description;}
|
||||
const ImageInfo &image() const {return _image;}
|
||||
const Link &link() const {return _link;}
|
||||
const QVector<Link> &links() const {return _links;}
|
||||
const QDateTime ×tamp() const {return _timestamp;}
|
||||
qreal elevation() const {return _elevation;}
|
||||
|
||||
@ -32,7 +32,7 @@ public:
|
||||
void setTimestamp(const QDateTime ×tamp) {_timestamp = timestamp;}
|
||||
void setElevation(qreal elevation) {_elevation = elevation;}
|
||||
void setImage(const ImageInfo &image) {_image = image;}
|
||||
void setLink(const Link &link) {_link = link;}
|
||||
void addLink(const Link &link) {_links.append(link);}
|
||||
|
||||
bool hasElevation() const {return !std::isnan(_elevation);}
|
||||
|
||||
@ -45,7 +45,7 @@ private:
|
||||
QString _name;
|
||||
QString _description;
|
||||
ImageInfo _image;
|
||||
Link _link;
|
||||
QVector<Link> _links;
|
||||
QDateTime _timestamp;
|
||||
qreal _elevation;
|
||||
};
|
||||
|
Reference in New Issue
Block a user