From 68d3180e565e8d5021dcf86cb1b05d5c0b1126bd Mon Sep 17 00:00:00 2001 From: Christian Mollekopf Date: Tue, 14 Mar 2017 16:00:38 +0100 Subject: Carddav settings --- framework/domain/settings/accountsettings.cpp | 26 ++++++++++++++++++++++++++ framework/domain/settings/accountsettings.h | 8 ++++++++ 2 files changed, 34 insertions(+) (limited to 'framework/domain') 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) mSmtpServer = QString(); mSmtpUsername = QString(); mSmtpPassword = QString(); + mCardDavServer = QString(); + mCardDavUsername = QString(); + mCardDavPassword = QString(); emit changed(); emit imapResourceChanged(); emit smtpResourceChanged(); + emit cardDavResourceChanged(); load(); @@ -240,6 +244,19 @@ void AccountSettings::loadIdentity() }).exec(); } +void AccountSettings::loadCardDavResource() +{ + Store::fetchOne(Query().filter(mAccountIdentifier).containsFilter(ResourceCapabilities::Mail::storage)) + .then([this](const SinkResource &resource) { + mCardDavIdentifier = resource.identifier(); + mCardDavServer = resource.getProperty("server").toString(); + mCardDavUsername = resource.getProperty("username").toString(); + mCardDavPassword = resource.getProperty("password").toString(); + emit cardDavResourceChanged(); + }).onError([](const KAsync::Error &error) { + qWarning() << "Failed to find the CardDAV resource: " << error.errorMessage; + }).exec(); +} template @@ -280,6 +297,15 @@ void AccountSettings::saveImapResource() }); } +void AccountSettings::saveCardDavResource() +{ + mCardDavIdentifier = saveResource(mAccountIdentifier, mCardDavIdentifier, { + {"server", mCardDavServer}, + {"username", mCardDavUsername}, + {"password", mCardDavPassword}, + }); +} + void AccountSettings::saveMaildirResource() { mMaildirIdentifier = saveResource(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: void identityChanged(); void pathChanged(); void changed(); + void cardDavResourceChanged(); protected: void saveAccount(); @@ -78,12 +79,14 @@ protected: void saveMaildirResource(); void saveMailtransportResource(); void saveIdentity(); + void saveCardDavResource(); void loadAccount(); void loadImapResource(); void loadMaildirResource(); void loadMailtransportResource(); void loadIdentity(); + void loadCardDavResource(); void removeAccount(); void removeResource(const QByteArray &identifier); @@ -111,5 +114,10 @@ protected: QByteArray mIdentityIdentifier; QString mUsername; QString mEmailAddress; + + QByteArray mCardDavIdentifier; + QString mCardDavServer; + QString mCardDavUsername; + QString mCardDavPassword; }; -- cgit v1.2.3