mirror of
https://github.com/subsurface/subsurface.git
synced 2025-02-19 22:16:15 +00:00
QML UI: Implement saving of cloud password
If the user ticks the 'Save Password' box, then we save the password for future use. Signed-off-by: Grace Karanja <gracie.karanja89@gmail.com>
This commit is contained in:
parent
b28517b9b0
commit
ea11eff279
3 changed files with 30 additions and 4 deletions
|
@ -50,6 +50,7 @@ Item {
|
||||||
}
|
}
|
||||||
|
|
||||||
CheckBox {
|
CheckBox {
|
||||||
|
checked: manager.saveCloudPassword
|
||||||
id: savePassword
|
id: savePassword
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -63,6 +64,7 @@ Item {
|
||||||
onClicked: {
|
onClicked: {
|
||||||
manager.cloudUserName = login.text
|
manager.cloudUserName = login.text
|
||||||
manager.cloudPassword = password.text
|
manager.cloudPassword = password.text
|
||||||
|
manager.saveCloudPassword = savePassword.checked
|
||||||
manager.savePreferences()
|
manager.savePreferences()
|
||||||
stackView.pop()
|
stackView.pop()
|
||||||
}
|
}
|
||||||
|
|
|
@ -20,6 +20,7 @@ QMLManager::QMLManager()
|
||||||
//Initialize cloud credentials.
|
//Initialize cloud credentials.
|
||||||
setCloudUserName(prefs.cloud_storage_email);
|
setCloudUserName(prefs.cloud_storage_email);
|
||||||
setCloudPassword(prefs.cloud_storage_password);
|
setCloudPassword(prefs.cloud_storage_password);
|
||||||
|
setSaveCloudPassword(prefs.save_password_local);
|
||||||
}
|
}
|
||||||
|
|
||||||
QMLManager::~QMLManager()
|
QMLManager::~QMLManager()
|
||||||
|
@ -31,16 +32,23 @@ void QMLManager::savePreferences()
|
||||||
QSettings s;
|
QSettings s;
|
||||||
s.beginGroup("CloudStorage");
|
s.beginGroup("CloudStorage");
|
||||||
s.setValue("email", cloudUserName());
|
s.setValue("email", cloudUserName());
|
||||||
|
s.setValue("save_password_local", saveCloudPassword());
|
||||||
|
if (saveCloudPassword())
|
||||||
s.setValue("password", cloudPassword());
|
s.setValue("password", cloudPassword());
|
||||||
s.sync();
|
s.sync();
|
||||||
if (!same_string(prefs.cloud_storage_email, qPrintable(cloudUserName()))) {
|
if (!same_string(prefs.cloud_storage_email, qPrintable(cloudUserName()))) {
|
||||||
free(prefs.cloud_storage_email);
|
free(prefs.cloud_storage_email);
|
||||||
prefs.cloud_storage_email = strdup(qPrintable(cloudUserName()));
|
prefs.cloud_storage_email = strdup(qPrintable(cloudUserName()));
|
||||||
}
|
}
|
||||||
|
if (saveCloudPassword() != prefs.save_password_local) {
|
||||||
|
prefs.save_password_local = saveCloudPassword();
|
||||||
|
}
|
||||||
|
if (saveCloudPassword()) {
|
||||||
if (!same_string(prefs.cloud_storage_password, qPrintable(cloudPassword()))) {
|
if (!same_string(prefs.cloud_storage_password, qPrintable(cloudPassword()))) {
|
||||||
free(prefs.cloud_storage_password);
|
free(prefs.cloud_storage_password);
|
||||||
prefs.cloud_storage_password = strdup(qPrintable(cloudPassword()));
|
prefs.cloud_storage_password = strdup(qPrintable(cloudPassword()));
|
||||||
}
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void QMLManager::loadDives()
|
void QMLManager::loadDives()
|
||||||
|
@ -114,6 +122,16 @@ void QMLManager::saveChanges()
|
||||||
set_filename(fileName.toUtf8().data(), true);
|
set_filename(fileName.toUtf8().data(), true);
|
||||||
mark_divelist_changed(false);
|
mark_divelist_changed(false);
|
||||||
}
|
}
|
||||||
|
bool QMLManager::saveCloudPassword() const
|
||||||
|
{
|
||||||
|
return m_saveCloudPassword;
|
||||||
|
}
|
||||||
|
|
||||||
|
void QMLManager::setSaveCloudPassword(bool saveCloudPassword)
|
||||||
|
{
|
||||||
|
m_saveCloudPassword = saveCloudPassword;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
QString QMLManager::cloudPassword() const
|
QString QMLManager::cloudPassword() const
|
||||||
{
|
{
|
||||||
|
|
|
@ -9,6 +9,7 @@ class QMLManager : public QObject
|
||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
Q_PROPERTY(QString cloudUserName READ cloudUserName WRITE setCloudUserName NOTIFY cloudUserNameChanged)
|
Q_PROPERTY(QString cloudUserName READ cloudUserName WRITE setCloudUserName NOTIFY cloudUserNameChanged)
|
||||||
Q_PROPERTY(QString cloudPassword READ cloudPassword WRITE setCloudPassword NOTIFY cloudPasswordChanged)
|
Q_PROPERTY(QString cloudPassword READ cloudPassword WRITE setCloudPassword NOTIFY cloudPasswordChanged)
|
||||||
|
Q_PROPERTY(bool saveCloudPassword READ saveCloudPassword WRITE setSaveCloudPassword NOTIFY saveCloudPasswordChanged)
|
||||||
public:
|
public:
|
||||||
QMLManager();
|
QMLManager();
|
||||||
~QMLManager();
|
~QMLManager();
|
||||||
|
@ -19,6 +20,9 @@ public:
|
||||||
QString cloudPassword() const;
|
QString cloudPassword() const;
|
||||||
void setCloudPassword(const QString &cloudPassword);
|
void setCloudPassword(const QString &cloudPassword);
|
||||||
|
|
||||||
|
bool saveCloudPassword() const;
|
||||||
|
void setSaveCloudPassword(bool saveCloudPassword);
|
||||||
|
|
||||||
public slots:
|
public slots:
|
||||||
void savePreferences();
|
void savePreferences();
|
||||||
void loadDives();
|
void loadDives();
|
||||||
|
@ -27,10 +31,12 @@ public slots:
|
||||||
private:
|
private:
|
||||||
QString m_cloudUserName;
|
QString m_cloudUserName;
|
||||||
QString m_cloudPassword;
|
QString m_cloudPassword;
|
||||||
|
bool m_saveCloudPassword;
|
||||||
|
|
||||||
signals:
|
signals:
|
||||||
void cloudUserNameChanged();
|
void cloudUserNameChanged();
|
||||||
void cloudPasswordChanged();
|
void cloudPasswordChanged();
|
||||||
|
void saveCloudPasswordChanged();
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue