From fed73fe5ba7212fd886e0c6a06cefc684a3a7b88 Mon Sep 17 00:00:00 2001 From: Christian Mollekopf Date: Fri, 13 Jul 2018 09:56:44 +0200 Subject: Setup a caldav resource as part of the kolabnow plugin --- framework/src/domain/settings/accountsettings.cpp | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) (limited to 'framework/src/domain/settings/accountsettings.cpp') 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) mSmtpUsername = QString(); mCardDavServer = QString(); mCardDavUsername = QString(); + mCalDavServer = QString(); + mCalDavUsername = QString(); mPath = QString(); emit changed(); emit imapResourceChanged(); @@ -253,6 +255,19 @@ void AccountSettings::loadCardDavResource() }).exec().waitForFinished(); } +void AccountSettings::loadCalDavResource() +{ + Store::fetchOne(Query().filter(mAccountIdentifier).filter("sink.carddav")) + .then([this](const SinkResource &resource) { + mCalDavIdentifier = resource.identifier(); + mCalDavServer = resource.getProperty("server").toString(); + mCalDavUsername = resource.getProperty("username").toString(); + emit cardDavResourceChanged(); + }).onError([](const KAsync::Error &error) { + qWarning() << "Failed to load the CalDAV resource: " << error.errorMessage; + }).exec().waitForFinished(); +} + template static QByteArray saveResource(const QByteArray &accountIdentifier, const QByteArray &identifier, const std::map &properties) @@ -299,6 +314,14 @@ void AccountSettings::saveCardDavResource() }); } +void AccountSettings::saveCalDavResource() +{ + mCalDavIdentifier = saveResource(mAccountIdentifier, mCalDavIdentifier, { + {"server", mCalDavServer}, + {"username", mCalDavUsername} + }); +} + void AccountSettings::saveMaildirResource() { mMaildirIdentifier = saveResource(mAccountIdentifier, mMaildirIdentifier, { -- cgit v1.2.3