diff options
author | Berthold Stoeger <bstoeger@mail.tuwien.ac.at> | 2019-12-06 14:14:00 +0100 |
---|---|---|
committer | Dirk Hohndel <dirk@hohndel.org> | 2020-03-10 09:25:57 -0700 |
commit | 1f669f9714ec87657eb276dc538822d8abbe77a5 (patch) | |
tree | 64502e1420d1f405c2ec40ae3cbb81fafe350088 /mobile-widgets/qmlmanager.cpp | |
parent | 0fc82e33987ec982d6a49440dcc28e17782d6ed7 (diff) | |
download | subsurface-1f669f9714ec87657eb276dc538822d8abbe77a5.tar.gz |
mobile/divelist: when clicking on a row, use select_single_dive()
This is a small step in unifying mobile and desktop.
I'm unsure whether it is correct to play this via the QMLManager or whether we
should call form QML directly into the model?
Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
Diffstat (limited to 'mobile-widgets/qmlmanager.cpp')
-rw-r--r-- | mobile-widgets/qmlmanager.cpp | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/mobile-widgets/qmlmanager.cpp b/mobile-widgets/qmlmanager.cpp index 3cc8ed0c5..06267d590 100644 --- a/mobile-widgets/qmlmanager.cpp +++ b/mobile-widgets/qmlmanager.cpp @@ -365,6 +365,19 @@ void QMLManager::openLocalThenRemote(QString url) updateAllGlobalLists(); } +// Convenience function to accesss dive directly via its row. +static struct dive *diveInRow(const QAbstractItemModel *model, int row) +{ + QModelIndex index = model->index(row, 0, QModelIndex()); + return index.isValid() ? model->data(index, DiveTripModelBase::DIVE_ROLE).value<struct dive *>() : nullptr; +} + +void QMLManager::selectRow(int row) +{ + dive *d = diveInRow(MobileListModel::instance(), row); + select_single_dive(d); +} + void QMLManager::updateSiteList() { LocationInformationModel::instance()->update(); |