diff options
author | Grace Karanja <gracie.karanja89@gmail.com> | 2015-07-10 11:31:24 +0300 |
---|---|---|
committer | Dirk Hohndel <dirk@hohndel.org> | 2015-07-10 06:03:56 -0700 |
commit | 866d67c5e7a8194c178b2b7afcdf298371e01516 (patch) | |
tree | ed6a18892c6235c19fd183884ca301b9fb89c184 /qt-mobile/qmlmanager.cpp | |
parent | f01ec470e7b018443fad127a3b3e0f3f862e56e2 (diff) | |
download | subsurface-866d67c5e7a8194c178b2b7afcdf298371e01516.tar.gz |
QML UI: Load dives from cloud
Load dives from the Subsurface cloud service using the user's saved
credentials. This will display the dives in the same way as loading
them from a local file.
Signed-off-by: Grace Karanja <gracie.karanja89@gmail.com>
Diffstat (limited to 'qt-mobile/qmlmanager.cpp')
-rw-r--r-- | qt-mobile/qmlmanager.cpp | 52 |
1 files changed, 24 insertions, 28 deletions
diff --git a/qt-mobile/qmlmanager.cpp b/qt-mobile/qmlmanager.cpp index 543e2a6ec..8bbf09730 100644 --- a/qt-mobile/qmlmanager.cpp +++ b/qt-mobile/qmlmanager.cpp @@ -5,6 +5,7 @@ #include "qt-models/divelistmodel.h" #include "divelist.h" #include "pref.h" +#include "qthelper.h" QMLManager::QMLManager() { @@ -13,22 +14,10 @@ QMLManager::QMLManager() setCloudPassword(prefs.cloud_storage_password); } - QMLManager::~QMLManager() { } -QString QMLManager::filename() -{ - return m_fileName; -} - -void QMLManager::setFilename(const QString &f) -{ - m_fileName = f; - loadFile(); -} - void QMLManager::savePreferences() { QSettings s; @@ -38,6 +27,29 @@ void QMLManager::savePreferences() s.sync(); } + +void QMLManager::loadDives() +{ + QString url; + if (getCloudURL(url)) { + //TODO: Show error in QML + return; + } + + QByteArray fileNamePrt = QFile::encodeName(url); + int error = parse_file(fileNamePrt.data()); + if (!error) { + set_filename(fileNamePrt.data(), true); + } + + process_dives(false, false); + int i; + struct dive *d; + + for_each_dive(i, d) + DiveListModel::instance()->addDive(d); +} + QString QMLManager::cloudPassword() const { return m_cloudPassword; @@ -59,19 +71,3 @@ void QMLManager::setCloudUserName(const QString &cloudUserName) m_cloudUserName = cloudUserName; emit cloudUserNameChanged(); } - - -void QMLManager::loadFile() -{ - QUrl url(m_fileName); - QString strippedFileName = url.toLocalFile(); - - parse_file(strippedFileName.toUtf8().data()); - process_dives(false, false); - int i; - struct dive *d; - - for_each_dive(i, d) { - DiveListModel::instance()->addDive(d); - } -} |