diff options
author | Dirk Hohndel <dirk@hohndel.org> | 2016-02-23 13:39:40 +0100 |
---|---|---|
committer | Dirk Hohndel <dirk@hohndel.org> | 2016-02-23 14:07:49 +0100 |
commit | 2772ab8764ff1bab1baf77f13ebb0845db21a7d4 (patch) | |
tree | ce52117eb02f21493312bfaceab3a71e6ff72f0f | |
parent | ae22b7cae00bc3f55e3144a0122eb3279332ad41 (diff) | |
download | subsurface-2772ab8764ff1bab1baf77f13ebb0845db21a7d4.tar.gz |
Add helper to delete dive from QML
Once again we make this save the changes to the local cache without being
prompted.
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
-rw-r--r-- | qt-mobile/qmlmanager.cpp | 18 | ||||
-rw-r--r-- | qt-mobile/qmlmanager.h | 1 |
2 files changed, 18 insertions, 1 deletions
diff --git a/qt-mobile/qmlmanager.cpp b/qt-mobile/qmlmanager.cpp index aa804d51a..663463b80 100644 --- a/qt-mobile/qmlmanager.cpp +++ b/qt-mobile/qmlmanager.cpp @@ -606,11 +606,27 @@ void QMLManager::saveChanges() return; } - appendTextToLog("Dive saved."); + appendTextToLog("Updated dive list saved."); set_filename(fileName.toUtf8().data(), true); mark_divelist_changed(false); } +void QMLManager::deleteDive(int id) +{ + struct dive *d = get_dive_by_uniq_id(id); + if (!d) { + qDebug() << "oops, trying to delete non-existing dive"; + return; + } + DiveListModel::instance()->removeDiveById(id); + delete_single_dive(get_idx_by_uniq_id(id)); + prefs.cloud_background_sync = false; + prefs.git_local_only = true; + saveChanges(); + prefs.cloud_background_sync = true; + prefs.git_local_only = false; +} + QString QMLManager::addDive() { appendTextToLog("Adding new dive."); diff --git a/qt-mobile/qmlmanager.h b/qt-mobile/qmlmanager.h index 433001a5a..fec29c13c 100644 --- a/qt-mobile/qmlmanager.h +++ b/qt-mobile/qmlmanager.h @@ -91,6 +91,7 @@ public slots: QString startpressure, QString endpressure, QString gasmix); void saveChanges(); + void deleteDive(int id); QString addDive(); void addDiveAborted(int id); void applyGpsData(); |