From 2dea6f514696ea8e740c9028b7426f958bfb2c96 Mon Sep 17 00:00:00 2001 From: "Lubomir I. Ivanov" Date: Thu, 27 Jul 2017 22:43:10 +0300 Subject: 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 --- qt-models/maplocationmodel.cpp | 16 ++++++++++++++++ qt-models/maplocationmodel.h | 10 ++++++++-- 2 files changed, 24 insertions(+), 2 deletions(-) (limited to 'qt-models') diff --git a/qt-models/maplocationmodel.cpp b/qt-models/maplocationmodel.cpp index 8ce5e3020..152688367 100644 --- a/qt-models/maplocationmodel.cpp +++ b/qt-models/maplocationmodel.cpp @@ -28,6 +28,22 @@ QVariant MapLocation::getRole(int role) const } } +QGeoCoordinate MapLocation::coordinate() +{ + return m_coordinate; +} + +void MapLocation::setCoordinate(QGeoCoordinate coord) +{ + m_coordinate = coord; + emit coordinateChanged(); +} + +quint32 MapLocation::uuid() +{ + return m_uuid; +} + MapLocationModel::MapLocationModel(QObject *parent) : QAbstractListModel(parent) { m_roles[MapLocation::Roles::RoleUuid] = MapLocation::PROPERTY_NAME_UUID; diff --git a/qt-models/maplocationmodel.h b/qt-models/maplocationmodel.h index 9076de21d..3da554a09 100644 --- a/qt-models/maplocationmodel.h +++ b/qt-models/maplocationmodel.h @@ -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 -- cgit v1.2.3-70-g09d2