diff options
author | Christian Mollekopf <chrigi_1@fastmail.fm> | 2018-07-13 09:56:44 +0200 |
---|---|---|
committer | Christian Mollekopf <chrigi_1@fastmail.fm> | 2018-07-13 10:00:31 +0200 |
commit | fed73fe5ba7212fd886e0c6a06cefc684a3a7b88 (patch) | |
tree | f938341c3de478c70d0181d64daa930261a72cbc | |
parent | aaae241a40ae438937df4f46b81ee65917e7213f (diff) | |
download | kube-fed73fe5ba7212fd886e0c6a06cefc684a3a7b88.tar.gz kube-fed73fe5ba7212fd886e0c6a06cefc684a3a7b88.zip |
Setup a caldav resource as part of the kolabnow plugin
-rw-r--r-- | accounts/kolabnow/kolabnowsettings.cpp | 7 | ||||
-rw-r--r-- | framework/src/domain/settings/accountsettings.cpp | 23 | ||||
-rw-r--r-- | framework/src/domain/settings/accountsettings.h | 10 |
3 files changed, 39 insertions, 1 deletions
diff --git a/accounts/kolabnow/kolabnowsettings.cpp b/accounts/kolabnow/kolabnowsettings.cpp index 8832621e..6f1f6502 100644 --- a/accounts/kolabnow/kolabnowsettings.cpp +++ b/accounts/kolabnow/kolabnowsettings.cpp | |||
@@ -40,13 +40,17 @@ void KolabnowSettings::save() | |||
40 | mSmtpServer = "smtps://smtp.kolabnow.com:587"; | 40 | mSmtpServer = "smtps://smtp.kolabnow.com:587"; |
41 | mSmtpUsername = mEmailAddress; | 41 | mSmtpUsername = mEmailAddress; |
42 | 42 | ||
43 | mCardDavServer = "https://apps.kolabnow.com; | 43 | mCardDavServer = "https://apps.kolabnow.com"; |
44 | mCardDavUsername = mEmailAddress; | 44 | mCardDavUsername = mEmailAddress; |
45 | 45 | ||
46 | mCalDavServer = "https://apps.kolabnow.com"; | ||
47 | mCalDavUsername = mEmailAddress; | ||
48 | |||
46 | saveAccount(); | 49 | saveAccount(); |
47 | saveImapResource(); | 50 | saveImapResource(); |
48 | saveMailtransportResource(); | 51 | saveMailtransportResource(); |
49 | saveCardDavResource(); | 52 | saveCardDavResource(); |
53 | saveCalDavResource(); | ||
50 | saveIdentity(); | 54 | saveIdentity(); |
51 | } | 55 | } |
52 | 56 | ||
@@ -55,6 +59,7 @@ void KolabnowSettings::remove() | |||
55 | removeResource(mMailtransportIdentifier); | 59 | removeResource(mMailtransportIdentifier); |
56 | removeResource(mImapIdentifier); | 60 | removeResource(mImapIdentifier); |
57 | removeResource(mCardDavIdentifier); | 61 | removeResource(mCardDavIdentifier); |
62 | removeResource(mCalDavIdentifier); | ||
58 | removeIdentity(); | 63 | removeIdentity(); |
59 | removeAccount(); | 64 | removeAccount(); |
60 | } | 65 | } |
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 | ||
258 | void 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 | ||
257 | template<typename ResourceType> | 272 | template<typename ResourceType> |
258 | static QByteArray saveResource(const QByteArray &accountIdentifier, const QByteArray &identifier, const std::map<QByteArray, QVariant> &properties) | 273 | static 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 | ||
317 | void AccountSettings::saveCalDavResource() | ||
318 | { | ||
319 | mCalDavIdentifier = saveResource<CalDavResource>(mAccountIdentifier, mCalDavIdentifier, { | ||
320 | {"server", mCalDavServer}, | ||
321 | {"username", mCalDavUsername} | ||
322 | }); | ||
323 | } | ||
324 | |||
302 | void AccountSettings::saveMaildirResource() | 325 | void AccountSettings::saveMaildirResource() |
303 | { | 326 | { |
304 | mMaildirIdentifier = saveResource<MaildirResource>(mAccountIdentifier, mMaildirIdentifier, { | 327 | mMaildirIdentifier = saveResource<MaildirResource>(mAccountIdentifier, mMaildirIdentifier, { |
diff --git a/framework/src/domain/settings/accountsettings.h b/framework/src/domain/settings/accountsettings.h index 88a85b62..ac670a61 100644 --- a/framework/src/domain/settings/accountsettings.h +++ b/framework/src/domain/settings/accountsettings.h | |||
@@ -44,6 +44,9 @@ class KUBE_EXPORT AccountSettings : public QObject | |||
44 | Q_PROPERTY(QString carddavServer MEMBER mCardDavServer NOTIFY cardDavResourceChanged) | 44 | Q_PROPERTY(QString carddavServer MEMBER mCardDavServer NOTIFY cardDavResourceChanged) |
45 | Q_PROPERTY(QString carddavUsername MEMBER mCardDavUsername NOTIFY cardDavResourceChanged) | 45 | Q_PROPERTY(QString carddavUsername MEMBER mCardDavUsername NOTIFY cardDavResourceChanged) |
46 | 46 | ||
47 | Q_PROPERTY(QString caldavServer MEMBER mCalDavServer NOTIFY calDavResourceChanged) | ||
48 | Q_PROPERTY(QString caldavUsername MEMBER mCalDavUsername NOTIFY calDavResourceChanged) | ||
49 | |||
47 | Q_PROPERTY(QUrl path READ path WRITE setPath NOTIFY pathChanged) | 50 | Q_PROPERTY(QUrl path READ path WRITE setPath NOTIFY pathChanged) |
48 | Q_PROPERTY(QValidator* pathValidator READ pathValidator CONSTANT) | 51 | Q_PROPERTY(QValidator* pathValidator READ pathValidator CONSTANT) |
49 | 52 | ||
@@ -75,6 +78,7 @@ signals: | |||
75 | void pathChanged(); | 78 | void pathChanged(); |
76 | void changed(); | 79 | void changed(); |
77 | void cardDavResourceChanged(); | 80 | void cardDavResourceChanged(); |
81 | void calDavResourceChanged(); | ||
78 | 82 | ||
79 | protected: | 83 | protected: |
80 | void saveAccount(); | 84 | void saveAccount(); |
@@ -83,6 +87,7 @@ protected: | |||
83 | void saveMailtransportResource(); | 87 | void saveMailtransportResource(); |
84 | void saveIdentity(); | 88 | void saveIdentity(); |
85 | void saveCardDavResource(); | 89 | void saveCardDavResource(); |
90 | void saveCalDavResource(); | ||
86 | 91 | ||
87 | void loadAccount(); | 92 | void loadAccount(); |
88 | void loadImapResource(); | 93 | void loadImapResource(); |
@@ -90,6 +95,7 @@ protected: | |||
90 | void loadMailtransportResource(); | 95 | void loadMailtransportResource(); |
91 | void loadIdentity(); | 96 | void loadIdentity(); |
92 | void loadCardDavResource(); | 97 | void loadCardDavResource(); |
98 | void loadCalDavResource(); | ||
93 | 99 | ||
94 | void removeAccount(); | 100 | void removeAccount(); |
95 | void removeResource(const QByteArray &identifier); | 101 | void removeResource(const QByteArray &identifier); |
@@ -119,5 +125,9 @@ protected: | |||
119 | QByteArray mCardDavIdentifier; | 125 | QByteArray mCardDavIdentifier; |
120 | QString mCardDavServer; | 126 | QString mCardDavServer; |
121 | QString mCardDavUsername; | 127 | QString mCardDavUsername; |
128 | |||
129 | QByteArray mCalDavIdentifier; | ||
130 | QString mCalDavServer; | ||
131 | QString mCalDavUsername; | ||
122 | }; | 132 | }; |
123 | 133 | ||