diff options
author | Dirk Hohndel <dirk@hohndel.org> | 2016-01-10 19:34:21 -0800 |
---|---|---|
committer | Dirk Hohndel <dirk@hohndel.org> | 2016-01-10 20:44:22 -0800 |
commit | 4f10f7f7ae9b791f08cf97ec64f9a8a0468145c2 (patch) | |
tree | 9ec134327d12b9e223dcd519ac1361433d0ad139 /qt-mobile | |
parent | 956b8643194137ade01aac095857066db30b7f73 (diff) | |
download | subsurface-4f10f7f7ae9b791f08cf97ec64f9a8a0468145c2.tar.gz |
QML UI: refresh divelist after GPS data was successfully applied
And create a helper to do so to make the code simpler.
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
Diffstat (limited to 'qt-mobile')
-rw-r--r-- | qt-mobile/qmlmanager.cpp | 20 | ||||
-rw-r--r-- | qt-mobile/qmlmanager.h | 1 |
2 files changed, 15 insertions, 6 deletions
diff --git a/qt-mobile/qmlmanager.cpp b/qt-mobile/qmlmanager.cpp index df20de11d..7d50884ab 100644 --- a/qt-mobile/qmlmanager.cpp +++ b/qt-mobile/qmlmanager.cpp @@ -312,6 +312,17 @@ void QMLManager::loadDivesWithValidCredentials() setLoadFromCloud(true); } +void QMLManager::refreshDiveList() +{ + int i; + struct dive *d; + DiveListModel::instance()->clear(); + for_each_dive(i, d) { + DiveListModel::instance()->addDive(d); + } + +} + // update the dive and return the notes field, stripped of the HTML junk QString QMLManager::commitChanges(QString diveId, QString date, QString location, QString gps, QString duration, QString depth, QString airtemp, QString watertemp, QString suit, QString buddy, QString diveMaster, QString notes) @@ -455,11 +466,7 @@ QString QMLManager::commitChanges(QString diveId, QString date, QString location if (needResort) sort_table(&dive_table); if (diveChanged || needResort) { - int i; - DiveListModel::instance()->clear(); - for_each_dive(i, d) { - DiveListModel::instance()->addDive(d); - } + refreshDiveList(); mark_divelist_changed(true); } return notes; @@ -501,7 +508,8 @@ QString QMLManager::getCurrentPosition() void QMLManager::applyGpsData() { - locationProvider->applyLocations(); + if (locationProvider->applyLocations()) + refreshDiveList(); } void QMLManager::sendGpsData() diff --git a/qt-mobile/qmlmanager.h b/qt-mobile/qmlmanager.h index 05dae9925..e346e02f3 100644 --- a/qt-mobile/qmlmanager.h +++ b/qt-mobile/qmlmanager.h @@ -86,6 +86,7 @@ public slots: QString getDate(QString diveId); QString getCurrentPosition(); void deleteGpsFix(quint64 when); + void refreshDiveList(); private: QString m_cloudUserName; |