summaryrefslogtreecommitdiffstats
path: root/framework
diff options
context:
space:
mode:
Diffstat (limited to 'framework')
-rw-r--r--framework/src/domain/settings/accountsettings.cpp25
-rw-r--r--framework/src/domain/settings/accountsettings.h7
2 files changed, 14 insertions, 18 deletions
diff --git a/framework/src/domain/settings/accountsettings.cpp b/framework/src/domain/settings/accountsettings.cpp
index acf85522..a75d5e07 100644
--- a/framework/src/domain/settings/accountsettings.cpp
+++ b/framework/src/domain/settings/accountsettings.cpp
@@ -56,13 +56,10 @@ void AccountSettings::setAccountIdentifier(const QByteArray &id)
56 mName = QString(); 56 mName = QString();
57 mImapServer = QString(); 57 mImapServer = QString();
58 mImapUsername = QString(); 58 mImapUsername = QString();
59 mImapPassword = QString();
60 mSmtpServer = QString(); 59 mSmtpServer = QString();
61 mSmtpUsername = QString(); 60 mSmtpUsername = QString();
62 mSmtpPassword = QString();
63 mCardDavServer = QString(); 61 mCardDavServer = QString();
64 mCardDavUsername = QString(); 62 mCardDavUsername = QString();
65 mCardDavPassword = QString();
66 mPath = QString(); 63 mPath = QString();
67 emit changed(); 64 emit changed();
68 emit imapResourceChanged(); 65 emit imapResourceChanged();
@@ -292,9 +289,6 @@ void AccountSettings::saveImapResource()
292 {"server", mImapServer}, 289 {"server", mImapServer},
293 {"username", mImapUsername} 290 {"username", mImapUsername}
294 }); 291 });
295 if (!mImapPassword.isEmpty()) {
296 Kube::AccountKeyring{mAccountIdentifier}.storePassword(mImapIdentifier, mImapPassword);
297 }
298} 292}
299 293
300void AccountSettings::saveCardDavResource() 294void AccountSettings::saveCardDavResource()
@@ -303,9 +297,6 @@ void AccountSettings::saveCardDavResource()
303 {"server", mCardDavServer}, 297 {"server", mCardDavServer},
304 {"username", mCardDavUsername} 298 {"username", mCardDavUsername}
305 }); 299 });
306 if (!mCardDavPassword.isEmpty()) {
307 Kube::AccountKeyring{mAccountIdentifier}.storePassword(mCardDavIdentifier, mCardDavPassword);
308 }
309} 300}
310 301
311void AccountSettings::saveMaildirResource() 302void AccountSettings::saveMaildirResource()
@@ -321,9 +312,19 @@ void AccountSettings::saveMailtransportResource()
321 {"server", mSmtpServer}, 312 {"server", mSmtpServer},
322 {"username", mSmtpUsername} 313 {"username", mSmtpUsername}
323 }); 314 });
324 if (!mSmtpPassword.isEmpty()) { 315}
325 Kube::AccountKeyring{mAccountIdentifier}.storePassword(mMailtransportIdentifier, mSmtpPassword); 316
326 } 317void AccountSettings::login(const QVariantMap &secrets)
318{
319 auto accountSecret = secrets.value("accountSecret").toString();
320 Store::fetchAll<SinkResource>(Query().filter<SinkResource::Account>(mAccountIdentifier))
321 .then([=](const QList<SinkResource::Ptr> &resources) {
322 for (const auto &resource : resources) {
323 Kube::AccountKeyring{mAccountIdentifier}.storePassword(resource->identifier(), accountSecret);
324 }
325 }).onError([](const KAsync::Error &error) {
326 qWarning() << "Failed to load any account resources resource: " << error;
327 }).exec();
327} 328}
328 329
329void AccountSettings::saveIdentity() 330void AccountSettings::saveIdentity()
diff --git a/framework/src/domain/settings/accountsettings.h b/framework/src/domain/settings/accountsettings.h
index 79fc5f72..7134539a 100644
--- a/framework/src/domain/settings/accountsettings.h
+++ b/framework/src/domain/settings/accountsettings.h
@@ -35,16 +35,13 @@ class AccountSettings : public QObject
35 Q_PROPERTY(QString imapServer MEMBER mImapServer NOTIFY imapResourceChanged) 35 Q_PROPERTY(QString imapServer MEMBER mImapServer NOTIFY imapResourceChanged)
36 Q_PROPERTY(QValidator* imapServerValidator READ imapServerValidator CONSTANT) 36 Q_PROPERTY(QValidator* imapServerValidator READ imapServerValidator CONSTANT)
37 Q_PROPERTY(QString imapUsername MEMBER mImapUsername NOTIFY imapResourceChanged) 37 Q_PROPERTY(QString imapUsername MEMBER mImapUsername NOTIFY imapResourceChanged)
38 Q_PROPERTY(QString imapPassword MEMBER mImapPassword NOTIFY imapResourceChanged)
39 38
40 Q_PROPERTY(QString smtpServer MEMBER mSmtpServer NOTIFY smtpResourceChanged) 39 Q_PROPERTY(QString smtpServer MEMBER mSmtpServer NOTIFY smtpResourceChanged)
41 Q_PROPERTY(QValidator* smtpServerValidator READ smtpServerValidator CONSTANT) 40 Q_PROPERTY(QValidator* smtpServerValidator READ smtpServerValidator CONSTANT)
42 Q_PROPERTY(QString smtpUsername MEMBER mSmtpUsername NOTIFY smtpResourceChanged) 41 Q_PROPERTY(QString smtpUsername MEMBER mSmtpUsername NOTIFY smtpResourceChanged)
43 Q_PROPERTY(QString smtpPassword MEMBER mSmtpPassword NOTIFY smtpResourceChanged)
44 42
45 Q_PROPERTY(QString carddavServer MEMBER mCardDavServer NOTIFY cardDavResourceChanged) 43 Q_PROPERTY(QString carddavServer MEMBER mCardDavServer NOTIFY cardDavResourceChanged)
46 Q_PROPERTY(QString carddavUsername MEMBER mCardDavUsername NOTIFY cardDavResourceChanged) 44 Q_PROPERTY(QString carddavUsername MEMBER mCardDavUsername NOTIFY cardDavResourceChanged)
47 Q_PROPERTY(QString carddavPassword MEMBER mCardDavPassword NOTIFY cardDavResourceChanged)
48 45
49 Q_PROPERTY(QUrl path READ path WRITE setPath NOTIFY pathChanged) 46 Q_PROPERTY(QUrl path READ path WRITE setPath NOTIFY pathChanged)
50 Q_PROPERTY(QValidator* pathValidator READ pathValidator CONSTANT) 47 Q_PROPERTY(QValidator* pathValidator READ pathValidator CONSTANT)
@@ -68,6 +65,7 @@ public:
68 Q_INVOKABLE virtual void load() = 0; 65 Q_INVOKABLE virtual void load() = 0;
69 Q_INVOKABLE virtual void save() = 0; 66 Q_INVOKABLE virtual void save() = 0;
70 Q_INVOKABLE virtual void remove() = 0; 67 Q_INVOKABLE virtual void remove() = 0;
68 Q_INVOKABLE void login(const QVariantMap &secrets);
71 69
72signals: 70signals:
73 void imapResourceChanged(); 71 void imapResourceChanged();
@@ -105,7 +103,6 @@ protected:
105 QByteArray mImapIdentifier; 103 QByteArray mImapIdentifier;
106 QString mImapServer; 104 QString mImapServer;
107 QString mImapUsername; 105 QString mImapUsername;
108 QString mImapPassword;
109 106
110 QByteArray mMaildirIdentifier; 107 QByteArray mMaildirIdentifier;
111 QString mPath; 108 QString mPath;
@@ -113,7 +110,6 @@ protected:
113 QByteArray mMailtransportIdentifier; 110 QByteArray mMailtransportIdentifier;
114 QString mSmtpServer; 111 QString mSmtpServer;
115 QString mSmtpUsername; 112 QString mSmtpUsername;
116 QString mSmtpPassword;
117 113
118 QByteArray mIdentityIdentifier; 114 QByteArray mIdentityIdentifier;
119 QString mUsername; 115 QString mUsername;
@@ -122,6 +118,5 @@ protected:
122 QByteArray mCardDavIdentifier; 118 QByteArray mCardDavIdentifier;
123 QString mCardDavServer; 119 QString mCardDavServer;
124 QString mCardDavUsername; 120 QString mCardDavUsername;
125 QString mCardDavPassword;
126}; 121};
127 122