diff options
author | Berthold Stoeger <bstoeger@mail.tuwien.ac.at> | 2019-08-31 23:24:21 +0200 |
---|---|---|
committer | Dirk Hohndel <dirk@hohndel.org> | 2019-09-06 11:48:47 -0700 |
commit | 1d01fff0061bde6260259a9a2b46f80a31ad1218 (patch) | |
tree | 0bf79ebf5e2beaa5b0fa7b5b8c07d3ae9a7a02a8 /qt-models | |
parent | 9322092e415946e212f94b3e0a4e330f4b7c07d6 (diff) | |
download | subsurface-1d01fff0061bde6260259a9a2b46f80a31ad1218.tar.gz |
Map: export isSelected as attribute from MapLocationModel
Recently we changed the MapLocationModel-items to store whether
they are selected. Thus, we can directly export an isSelected
flag instead of calling a function taking a dive-site argument.
1) This makes the QML easier to read.
2) This avoids passing pointers through QML which has caused
us lots of pain.
Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
Diffstat (limited to 'qt-models')
-rw-r--r-- | qt-models/maplocationmodel.cpp | 3 | ||||
-rw-r--r-- | qt-models/maplocationmodel.h | 3 |
2 files changed, 5 insertions, 1 deletions
diff --git a/qt-models/maplocationmodel.cpp b/qt-models/maplocationmodel.cpp index 57fc76179..3aad02980 100644 --- a/qt-models/maplocationmodel.cpp +++ b/qt-models/maplocationmodel.cpp @@ -48,6 +48,8 @@ QVariant MapLocation::getRole(int role) const QString("qrc:///dive-location-marker-icon"); case Roles::RoleZ: return m_selected ? 1 : 0; + case Roles::RoleIsSelected: + return QVariant::fromValue(m_selected); default: return QVariant(); } @@ -105,6 +107,7 @@ QHash<int, QByteArray> MapLocationModel::roleNames() const roles[MapLocation::Roles::RoleName] = "name"; roles[MapLocation::Roles::RolePixmap] = "pixmap"; roles[MapLocation::Roles::RoleZ] = "z"; + roles[MapLocation::Roles::RoleIsSelected] = "isSelected"; return roles; } diff --git a/qt-models/maplocationmodel.h b/qt-models/maplocationmodel.h index ce1f999fb..05a772bcf 100644 --- a/qt-models/maplocationmodel.h +++ b/qt-models/maplocationmodel.h @@ -33,7 +33,8 @@ public: RoleCoordinate, RoleName, RolePixmap, - RoleZ + RoleZ, + RoleIsSelected }; private: |