diff options
author | 2015-07-17 11:57:21 -0700 | |
---|---|---|
committer | 2015-07-17 12:00:38 -0700 | |
commit | d595f5c167c7283dc22f902ed0b18a7d6da2221e (patch) | |
tree | 10efaa6874740510a90fb9144facd7abe86ab577 /qt-mobile/qmlmanager.cpp | |
parent | 76e61bd8d9baea008628bf5b176cf8f0b664e78f (diff) | |
parent | 0c9756c5d786158f25aaf1ad2d9c316be9e2b9e5 (diff) | |
download | subsurface-d595f5c167c7283dc22f902ed0b18a7d6da2221e.tar.gz |
Merge branch 'devel' of https://github.com/gracie89/subsurface
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
Diffstat (limited to 'qt-mobile/qmlmanager.cpp')
-rw-r--r-- | qt-mobile/qmlmanager.cpp | 48 |
1 files changed, 47 insertions, 1 deletions
diff --git a/qt-mobile/qmlmanager.cpp b/qt-mobile/qmlmanager.cpp index 118465a2d..a1c64191b 100644 --- a/qt-mobile/qmlmanager.cpp +++ b/qt-mobile/qmlmanager.cpp @@ -66,7 +66,53 @@ void QMLManager::loadDives() struct dive *d; for_each_dive(i, d) - DiveListModel::instance()->addDive(d); + DiveListModel::instance()->addDive(d); +} + +void QMLManager::commitChanges(QString diveId, QString suit, QString buddy, QString diveMaster, QString notes) +{ + struct dive *d = get_dive_by_uniq_id(diveId.toInt()); + bool diveChanged = false; + + if (d->suit != suit.toUtf8().data()) { + diveChanged = true; + free(d->suit); + d->suit = strdup(suit.toUtf8().data()); + } + if (d->buddy != buddy.toUtf8().data()) { + diveChanged = true; + free(d->buddy); + d->buddy = strdup(buddy.toUtf8().data()); + } + if (d->divemaster != diveMaster.toUtf8().data()) { + diveChanged = true; + free(d->divemaster); + d->divemaster = strdup(diveMaster.toUtf8().data()); + } + if (d->notes != notes.toUtf8().data()) { + diveChanged = true; + free(d->notes); + d->notes = strdup(notes.toUtf8().data()); + } +} + +void QMLManager::saveChanges() +{ + showMessage("Saving dives."); + QString fileName; + if (getCloudURL(fileName)) { + showMessage(get_error_string()); + return; + } + + if (save_dives(fileName.toUtf8().data())) { + showMessage(get_error_string()); + return; + } + + showMessage("Dives saved."); + set_filename(fileName.toUtf8().data(), true); + mark_divelist_changed(false); } QString QMLManager::cloudPassword() const |