QML UI: add cloud credential fields to the QMLManager class

These fields will be used by the QML Ui to save/retrieve the user's
cloud credentials.

Signed-off-by: Grace Karanja <gracie.karanja89@gmail.com>
This commit is contained in:
Grace Karanja 2015-07-10 10:47:26 +03:00 committed by Dirk Hohndel
parent 27f55cb964
commit 5791f580df
2 changed files with 50 additions and 0 deletions

View file

@ -1,11 +1,16 @@
#include "qmlmanager.h"
#include <QUrl>
#include <QSettings>
#include "qt-models/divelistmodel.h"
#include "divelist.h"
#include "pref.h"
QMLManager::QMLManager()
{
//Initialize cloud credentials.
setCloudUserName(prefs.cloud_storage_email);
setCloudPassword(prefs.cloud_storage_password);
}
@ -24,6 +29,38 @@ void QMLManager::setFilename(const QString &f)
loadFile();
}
void QMLManager::savePreferences()
{
QSettings s;
s.beginGroup("CloudStorage");
s.setValue("email", cloudUserName());
s.setValue("password", cloudPassword());
s.sync();
}
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();
}
void QMLManager::loadFile()
{
QUrl url(m_fileName);

View file

@ -8,6 +8,8 @@ class QMLManager : public QObject
{
Q_OBJECT
Q_PROPERTY(QString filename READ filename WRITE setFilename NOTIFY filenameChanged)
Q_PROPERTY(QString cloudUserName READ cloudUserName WRITE setCloudUserName NOTIFY cloudUserNameChanged)
Q_PROPERTY(QString cloudPassword READ cloudPassword WRITE setCloudPassword NOTIFY cloudPasswordChanged)
public:
QMLManager();
~QMLManager();
@ -17,15 +19,26 @@ public:
void getFile();
QString cloudUserName() const;
void setCloudUserName(const QString &cloudUserName);
QString cloudPassword() const;
void setCloudPassword(const QString &cloudPassword);
public slots:
void setFilename(const QString &f);
void savePreferences();
private:
QString m_fileName;
QString m_cloudUserName;
QString m_cloudPassword;
void loadFile();
signals:
void filenameChanged();
void cloudUserNameChanged();
void cloudPasswordChanged();
};
#endif