summaryrefslogtreecommitdiffstats
path: root/framework/domain
diff options
context:
space:
mode:
authorChristian Mollekopf <chrigi_1@fastmail.fm>2017-03-14 16:00:38 +0100
committerChristian Mollekopf <chrigi_1@fastmail.fm>2017-03-14 16:00:38 +0100
commit68d3180e565e8d5021dcf86cb1b05d5c0b1126bd (patch)
tree775705341699c7e995e1db229fb1f06ddf909092 /framework/domain
parente52a02bb77c5292a016d2c14e0730d44d25d4000 (diff)
downloadkube-68d3180e565e8d5021dcf86cb1b05d5c0b1126bd.tar.gz
kube-68d3180e565e8d5021dcf86cb1b05d5c0b1126bd.zip
Carddav settings
Diffstat (limited to 'framework/domain')
-rw-r--r--framework/domain/settings/accountsettings.cpp26
-rw-r--r--framework/domain/settings/accountsettings.h8
2 files changed, 34 insertions, 0 deletions
diff --git a/framework/domain/settings/accountsettings.cpp b/framework/domain/settings/accountsettings.cpp
index 16791a7f..d072ea9d 100644
--- a/framework/domain/settings/accountsettings.cpp
+++ b/framework/domain/settings/accountsettings.cpp
@@ -60,9 +60,13 @@ void AccountSettings::setAccountIdentifier(const QByteArray &id)
60 mSmtpServer = QString(); 60 mSmtpServer = QString();
61 mSmtpUsername = QString(); 61 mSmtpUsername = QString();
62 mSmtpPassword = QString(); 62 mSmtpPassword = QString();
63 mCardDavServer = QString();
64 mCardDavUsername = QString();
65 mCardDavPassword = QString();
63 emit changed(); 66 emit changed();
64 emit imapResourceChanged(); 67 emit imapResourceChanged();
65 emit smtpResourceChanged(); 68 emit smtpResourceChanged();
69 emit cardDavResourceChanged();
66 70
67 load(); 71 load();
68 72
@@ -240,6 +244,19 @@ void AccountSettings::loadIdentity()
240 }).exec(); 244 }).exec();
241} 245}
242 246
247void AccountSettings::loadCardDavResource()
248{
249 Store::fetchOne<SinkResource>(Query().filter<SinkResource::Account>(mAccountIdentifier).containsFilter<SinkResource::Capabilities>(ResourceCapabilities::Mail::storage))
250 .then([this](const SinkResource &resource) {
251 mCardDavIdentifier = resource.identifier();
252 mCardDavServer = resource.getProperty("server").toString();
253 mCardDavUsername = resource.getProperty("username").toString();
254 mCardDavPassword = resource.getProperty("password").toString();
255 emit cardDavResourceChanged();
256 }).onError([](const KAsync::Error &error) {
257 qWarning() << "Failed to find the CardDAV resource: " << error.errorMessage;
258 }).exec();
259}
243 260
244 261
245template<typename ResourceType> 262template<typename ResourceType>
@@ -280,6 +297,15 @@ void AccountSettings::saveImapResource()
280 }); 297 });
281} 298}
282 299
300void AccountSettings::saveCardDavResource()
301{
302 mCardDavIdentifier = saveResource<CardDavResource>(mAccountIdentifier, mCardDavIdentifier, {
303 {"server", mCardDavServer},
304 {"username", mCardDavUsername},
305 {"password", mCardDavPassword},
306 });
307}
308
283void AccountSettings::saveMaildirResource() 309void AccountSettings::saveMaildirResource()
284{ 310{
285 mMaildirIdentifier = saveResource<MaildirResource>(mAccountIdentifier, mMaildirIdentifier, { 311 mMaildirIdentifier = saveResource<MaildirResource>(mAccountIdentifier, mMaildirIdentifier, {
diff --git a/framework/domain/settings/accountsettings.h b/framework/domain/settings/accountsettings.h
index f0cecf9b..077b7784 100644
--- a/framework/domain/settings/accountsettings.h
+++ b/framework/domain/settings/accountsettings.h
@@ -71,6 +71,7 @@ signals:
71 void identityChanged(); 71 void identityChanged();
72 void pathChanged(); 72 void pathChanged();
73 void changed(); 73 void changed();
74 void cardDavResourceChanged();
74 75
75protected: 76protected:
76 void saveAccount(); 77 void saveAccount();
@@ -78,12 +79,14 @@ protected:
78 void saveMaildirResource(); 79 void saveMaildirResource();
79 void saveMailtransportResource(); 80 void saveMailtransportResource();
80 void saveIdentity(); 81 void saveIdentity();
82 void saveCardDavResource();
81 83
82 void loadAccount(); 84 void loadAccount();
83 void loadImapResource(); 85 void loadImapResource();
84 void loadMaildirResource(); 86 void loadMaildirResource();
85 void loadMailtransportResource(); 87 void loadMailtransportResource();
86 void loadIdentity(); 88 void loadIdentity();
89 void loadCardDavResource();
87 90
88 void removeAccount(); 91 void removeAccount();
89 void removeResource(const QByteArray &identifier); 92 void removeResource(const QByteArray &identifier);
@@ -111,5 +114,10 @@ protected:
111 QByteArray mIdentityIdentifier; 114 QByteArray mIdentityIdentifier;
112 QString mUsername; 115 QString mUsername;
113 QString mEmailAddress; 116 QString mEmailAddress;
117
118 QByteArray mCardDavIdentifier;
119 QString mCardDavServer;
120 QString mCardDavUsername;
121 QString mCardDavPassword;
114}; 122};
115 123