diff options
author | Lubomir I. Ivanov <neolit123@gmail.com> | 2017-07-25 23:15:28 +0300 |
---|---|---|
committer | Dirk Hohndel <dirk@hohndel.org> | 2017-07-28 07:31:11 -0700 |
commit | be0d5133240f6113cced1df43b5a5f58c3eff6ed (patch) | |
tree | 99fab047a72ce753761ff2d97afbc7a68378b3ec | |
parent | 8c7d1a1163ba22cd1b5e75b723affacc9d0cfd1c (diff) | |
download | subsurface-be0d5133240f6113cced1df43b5a5f58c3eff6ed.tar.gz |
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 <neolit123@gmail.com>
-rw-r--r-- | mobile-widgets/qmlmapwidgethelper.cpp | 2 | ||||
-rw-r--r-- | qt-models/maplocationmodel.cpp | 8 | ||||
-rw-r--r-- | 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 |