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>
This commit is contained in:
Berthold Stoeger 2019-08-31 23:24:21 +02:00 committed by Dirk Hohndel
parent 9322092e41
commit 1d01fff006
3 changed files with 8 additions and 4 deletions

View file

@ -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;
}