#include "qmlmanager.h" #include #include #include #include "qt-models/divelistmodel.h" #include "divelist.h" #include "pref.h" #include "qthelper.h" #include "qt-gui.h" static void showMessage(const char *errorString) { if (!qqWindowObject->setProperty("messageText", QVariant(errorString))) qDebug() << "couldn't set property messageText to" << errorString; } QMLManager::QMLManager() { //Initialize cloud credentials. setCloudUserName(prefs.cloud_storage_email); setCloudPassword(prefs.cloud_storage_password); } QMLManager::~QMLManager() { } void QMLManager::savePreferences() { QSettings s; s.beginGroup("CloudStorage"); s.setValue("email", cloudUserName()); s.setValue("password", cloudPassword()); s.sync(); if (!same_string(prefs.cloud_storage_email, qPrintable(cloudUserName()))) { free(prefs.cloud_storage_email); prefs.cloud_storage_email = strdup(qPrintable(cloudUserName())); } if (!same_string(prefs.cloud_storage_password, qPrintable(cloudPassword()))) { free(prefs.cloud_storage_password); prefs.cloud_storage_password = strdup(qPrintable(cloudPassword())); } } void QMLManager::loadDives() { QString url; if (getCloudURL(url)) { showMessage(get_error_string()); return; } showMessage("got email / password"); QByteArray fileNamePrt = QFile::encodeName(url); int error = parse_file(fileNamePrt.data()); if (!error) { report_error("filename is now %s", fileNamePrt.data()); showMessage(get_error_string()); set_filename(fileNamePrt.data(), true); } else { showMessage(get_error_string()); } 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; } void QMLManager::setCloudPassword(const QString &cloudPassword) { m_cloudPassword = cloudPassword; emit cloudPasswordChanged(); } QString QMLManager::cloudUserName() const { return m_cloudUserName; } void QMLManager::setCloudUserName(const QString &cloudUserName) { m_cloudUserName = cloudUserName; emit cloudUserNameChanged(); }