maplocation: add helpers for coordinate and uuid

getRole() returns a QVariant and the cast is a small overhead.
Using these helpers will reduce the overhead.

Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com>
This commit is contained in:
Lubomir I. Ivanov 2017-07-27 22:43:10 +03:00 committed by Dirk Hohndel
parent f7095aa89e
commit 2dea6f5146
2 changed files with 24 additions and 2 deletions

View file

@ -12,8 +12,8 @@
class MapLocation : public QObject
{
Q_OBJECT
Q_PROPERTY(quint32 uuid MEMBER m_uuid)
Q_PROPERTY(QGeoCoordinate coordinate MEMBER m_coordinate)
Q_PROPERTY(quint32 uuid READ uuid)
Q_PROPERTY(QGeoCoordinate coordinate READ coordinate WRITE setCoordinate NOTIFY coordinateChanged)
Q_PROPERTY(QString name MEMBER m_name)
public:
@ -25,6 +25,9 @@ public:
explicit MapLocation(quint32 uuid, QGeoCoordinate coord, QString name);
QVariant getRole(int role) const;
QGeoCoordinate coordinate();
void setCoordinate(QGeoCoordinate coord);
quint32 uuid();
enum Roles {
RoleUuid = Qt::UserRole + 1,
@ -36,6 +39,9 @@ private:
quint32 m_uuid;
QGeoCoordinate m_coordinate;
QString m_name;
signals:
void coordinateChanged();
};
class MapLocationModel : public QAbstractListModel