From be0d5133240f6113cced1df43b5a5f58c3eff6ed Mon Sep 17 00:00:00 2001 From: "Lubomir I. Ivanov" Date: Tue, 25 Jul 2017 23:15:28 +0300 Subject: [PATCH] maplocationmodel: add the "namer" property The MapLocation QObject now has a QString property "name", which is translating the dive_site->name member. Signed-off-by: Lubomir I. Ivanov --- mobile-widgets/qmlmapwidgethelper.cpp | 2 +- qt-models/maplocationmodel.cpp | 8 ++++++-- qt-models/maplocationmodel.h | 8 ++++++-- 3 files changed, 13 insertions(+), 5 deletions(-) diff --git a/mobile-widgets/qmlmapwidgethelper.cpp b/mobile-widgets/qmlmapwidgethelper.cpp index be3ede0bc..f0855e52d 100644 --- a/mobile-widgets/qmlmapwidgethelper.cpp +++ b/mobile-widgets/qmlmapwidgethelper.cpp @@ -52,7 +52,7 @@ void MapWidgetHelper::reloadMapLocations() } } if (!diveSiteTooClose) - locationList.append(new MapLocation(ds->uuid, QGeoCoordinate(latitude, longitude))); + locationList.append(new MapLocation(ds->uuid, QGeoCoordinate(latitude, longitude), QString(ds->name))); } m_mapLocationModel->addList(locationList); } diff --git a/qt-models/maplocationmodel.cpp b/qt-models/maplocationmodel.cpp index 52841400d..8ce5e3020 100644 --- a/qt-models/maplocationmodel.cpp +++ b/qt-models/maplocationmodel.cpp @@ -3,13 +3,14 @@ const char *MapLocation::PROPERTY_NAME_COORDINATE = "coordinate"; const char *MapLocation::PROPERTY_NAME_UUID = "uuid"; +const char *MapLocation::PROPERTY_NAME_NAME = "name"; MapLocation::MapLocation() { } -MapLocation::MapLocation(quint32 uuid, QGeoCoordinate coord) : - m_uuid(uuid), m_coordinate(coord) +MapLocation::MapLocation(quint32 uuid, QGeoCoordinate coord, QString name) : + m_uuid(uuid), m_coordinate(coord), m_name(name) { } @@ -20,6 +21,8 @@ QVariant MapLocation::getRole(int role) const return QVariant::fromValue(m_uuid); case Roles::RoleCoordinate: return QVariant::fromValue(m_coordinate); + case Roles::RoleName: + return QVariant::fromValue(m_name); default: return QVariant(); } @@ -29,6 +32,7 @@ MapLocationModel::MapLocationModel(QObject *parent) : QAbstractListModel(parent) { m_roles[MapLocation::Roles::RoleUuid] = MapLocation::PROPERTY_NAME_UUID; m_roles[MapLocation::Roles::RoleCoordinate] = MapLocation::PROPERTY_NAME_COORDINATE; + m_roles[MapLocation::Roles::RoleName] = MapLocation::PROPERTY_NAME_NAME; } MapLocationModel::~MapLocationModel() diff --git a/qt-models/maplocationmodel.h b/qt-models/maplocationmodel.h index ba93da8f9..9076de21d 100644 --- a/qt-models/maplocationmodel.h +++ b/qt-models/maplocationmodel.h @@ -14,24 +14,28 @@ class MapLocation : public QObject Q_OBJECT Q_PROPERTY(quint32 uuid MEMBER m_uuid) Q_PROPERTY(QGeoCoordinate coordinate MEMBER m_coordinate) + Q_PROPERTY(QString name MEMBER m_name) public: static const char *PROPERTY_NAME_COORDINATE; static const char *PROPERTY_NAME_UUID; + static const char *PROPERTY_NAME_NAME; explicit MapLocation(); - explicit MapLocation(quint32 uuid, QGeoCoordinate coord); + explicit MapLocation(quint32 uuid, QGeoCoordinate coord, QString name); QVariant getRole(int role) const; enum Roles { RoleUuid = Qt::UserRole + 1, - RoleCoordinate + RoleCoordinate, + RoleName }; private: quint32 m_uuid; QGeoCoordinate m_coordinate; + QString m_name; }; class MapLocationModel : public QAbstractListModel