aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGravatar Lubomir I. Ivanov <neolit123@gmail.com>2017-07-25 23:15:28 +0300
committerGravatar Dirk Hohndel <dirk@hohndel.org>2017-07-28 07:31:11 -0700
commitbe0d5133240f6113cced1df43b5a5f58c3eff6ed (patch)
tree99fab047a72ce753761ff2d97afbc7a68378b3ec
parent8c7d1a1163ba22cd1b5e75b723affacc9d0cfd1c (diff)
downloadsubsurface-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.cpp2
-rw-r--r--qt-models/maplocationmodel.cpp8
-rw-r--r--qt-models/maplocationmodel.h8
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