aboutsummaryrefslogtreecommitdiffstats
path: root/qt-mobile/qmlmanager.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'qt-mobile/qmlmanager.cpp')
-rw-r--r--qt-mobile/qmlmanager.cpp52
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);
- }
-}