summaryrefslogtreecommitdiffstats
path: root/framework/src/domain/settings/accountsettings.cpp
diff options
context:
space:
mode:
authorChristian Mollekopf <chrigi_1@fastmail.fm>2018-07-13 09:56:44 +0200
committerChristian Mollekopf <chrigi_1@fastmail.fm>2018-07-13 10:00:31 +0200
commitfed73fe5ba7212fd886e0c6a06cefc684a3a7b88 (patch)
treef938341c3de478c70d0181d64daa930261a72cbc /framework/src/domain/settings/accountsettings.cpp
parentaaae241a40ae438937df4f46b81ee65917e7213f (diff)
downloadkube-fed73fe5ba7212fd886e0c6a06cefc684a3a7b88.tar.gz
kube-fed73fe5ba7212fd886e0c6a06cefc684a3a7b88.zip
Setup a caldav resource as part of the kolabnow plugin
Diffstat (limited to 'framework/src/domain/settings/accountsettings.cpp')
-rw-r--r--framework/src/domain/settings/accountsettings.cpp23
1 files changed, 23 insertions, 0 deletions
diff --git a/framework/src/domain/settings/accountsettings.cpp b/framework/src/domain/settings/accountsettings.cpp
index 9cd41518..00e633fd 100644
--- a/framework/src/domain/settings/accountsettings.cpp
+++ b/framework/src/domain/settings/accountsettings.cpp
@@ -60,6 +60,8 @@ void AccountSettings::setAccountIdentifier(const QByteArray &id)
60 mSmtpUsername = QString(); 60 mSmtpUsername = QString();
61 mCardDavServer = QString(); 61 mCardDavServer = QString();
62 mCardDavUsername = QString(); 62 mCardDavUsername = QString();
63 mCalDavServer = QString();
64 mCalDavUsername = QString();
63 mPath = QString(); 65 mPath = QString();
64 emit changed(); 66 emit changed();
65 emit imapResourceChanged(); 67 emit imapResourceChanged();
@@ -253,6 +255,19 @@ void AccountSettings::loadCardDavResource()
253 }).exec().waitForFinished(); 255 }).exec().waitForFinished();
254} 256}
255 257
258void AccountSettings::loadCalDavResource()
259{
260 Store::fetchOne<SinkResource>(Query().filter<SinkResource::Account>(mAccountIdentifier).filter<SinkResource::ResourceType>("sink.carddav"))
261 .then([this](const SinkResource &resource) {
262 mCalDavIdentifier = resource.identifier();
263 mCalDavServer = resource.getProperty("server").toString();
264 mCalDavUsername = resource.getProperty("username").toString();
265 emit cardDavResourceChanged();
266 }).onError([](const KAsync::Error &error) {
267 qWarning() << "Failed to load the CalDAV resource: " << error.errorMessage;
268 }).exec().waitForFinished();
269}
270
256 271
257template<typename ResourceType> 272template<typename ResourceType>
258static QByteArray saveResource(const QByteArray &accountIdentifier, const QByteArray &identifier, const std::map<QByteArray, QVariant> &properties) 273static QByteArray saveResource(const QByteArray &accountIdentifier, const QByteArray &identifier, const std::map<QByteArray, QVariant> &properties)
@@ -299,6 +314,14 @@ void AccountSettings::saveCardDavResource()
299 }); 314 });
300} 315}
301 316
317void AccountSettings::saveCalDavResource()
318{
319 mCalDavIdentifier = saveResource<CalDavResource>(mAccountIdentifier, mCalDavIdentifier, {
320 {"server", mCalDavServer},
321 {"username", mCalDavUsername}
322 });
323}
324
302void AccountSettings::saveMaildirResource() 325void AccountSettings::saveMaildirResource()
303{ 326{
304 mMaildirIdentifier = saveResource<MaildirResource>(mAccountIdentifier, mMaildirIdentifier, { 327 mMaildirIdentifier = saveResource<MaildirResource>(mAccountIdentifier, mMaildirIdentifier, {