2015-06-04 10:29:50 +00:00
|
|
|
#include "qmlmanager.h"
|
2015-06-04 10:36:36 +00:00
|
|
|
#include <QUrl>
|
2015-07-10 07:47:26 +00:00
|
|
|
#include <QSettings>
|
2015-07-13 00:39:13 +00:00
|
|
|
#include <QDebug>
|
2015-06-04 10:29:50 +00:00
|
|
|
|
2015-06-11 06:56:18 +00:00
|
|
|
#include "qt-models/divelistmodel.h"
|
|
|
|
#include "divelist.h"
|
2015-07-10 07:47:26 +00:00
|
|
|
#include "pref.h"
|
2015-07-10 08:31:24 +00:00
|
|
|
#include "qthelper.h"
|
2015-07-13 00:39:13 +00:00
|
|
|
#include "qt-gui.h"
|
|
|
|
|
|
|
|
static void showMessage(const char *errorString)
|
|
|
|
{
|
|
|
|
if (!qqWindowObject->setProperty("messageText", QVariant(errorString)))
|
|
|
|
qDebug() << "couldn't set property messageText to" << errorString;
|
|
|
|
}
|
2015-06-09 19:20:44 +00:00
|
|
|
|
2015-06-04 10:29:50 +00:00
|
|
|
QMLManager::QMLManager()
|
|
|
|
{
|
2015-07-10 07:47:26 +00:00
|
|
|
//Initialize cloud credentials.
|
|
|
|
setCloudUserName(prefs.cloud_storage_email);
|
|
|
|
setCloudPassword(prefs.cloud_storage_password);
|
2015-06-04 10:29:50 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
QMLManager::~QMLManager()
|
|
|
|
{
|
|
|
|
}
|
|
|
|
|
2015-07-10 07:47:26 +00:00
|
|
|
void QMLManager::savePreferences()
|
|
|
|
{
|
|
|
|
QSettings s;
|
|
|
|
s.beginGroup("CloudStorage");
|
|
|
|
s.setValue("email", cloudUserName());
|
|
|
|
s.setValue("password", cloudPassword());
|
|
|
|
s.sync();
|
2015-07-13 00:39:13 +00:00
|
|
|
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()));
|
|
|
|
}
|
2015-07-10 07:47:26 +00:00
|
|
|
}
|
2015-07-10 08:31:24 +00:00
|
|
|
|
|
|
|
void QMLManager::loadDives()
|
|
|
|
{
|
|
|
|
QString url;
|
|
|
|
if (getCloudURL(url)) {
|
2015-07-13 00:39:13 +00:00
|
|
|
showMessage(get_error_string());
|
2015-07-10 08:31:24 +00:00
|
|
|
return;
|
|
|
|
}
|
2015-07-13 00:39:13 +00:00
|
|
|
showMessage("got email / password");
|
2015-07-10 08:31:24 +00:00
|
|
|
|
|
|
|
QByteArray fileNamePrt = QFile::encodeName(url);
|
|
|
|
int error = parse_file(fileNamePrt.data());
|
|
|
|
if (!error) {
|
2015-07-13 00:39:13 +00:00
|
|
|
report_error("filename is now %s", fileNamePrt.data());
|
|
|
|
showMessage(get_error_string());
|
2015-07-10 08:31:24 +00:00
|
|
|
set_filename(fileNamePrt.data(), true);
|
2015-07-13 00:39:13 +00:00
|
|
|
} else {
|
|
|
|
showMessage(get_error_string());
|
2015-07-10 08:31:24 +00:00
|
|
|
}
|
|
|
|
process_dives(false, false);
|
|
|
|
int i;
|
|
|
|
struct dive *d;
|
|
|
|
|
|
|
|
for_each_dive(i, d)
|
2015-07-13 00:34:52 +00:00
|
|
|
DiveListModel::instance()->addDive(d);
|
2015-07-10 08:31:24 +00:00
|
|
|
}
|
|
|
|
|
2015-07-10 07:47:26 +00:00
|
|
|
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();
|
|
|
|
}
|