Branch 'kolab/integration/4.13.0' - resources/kolab
Christian Mollekopf
mollekopf at kolabsys.com
Tue Dec 9 16:12:10 CET 2014
resources/kolab/CMakeLists.txt | 2 ++
resources/kolab/kolabresource.cpp | 2 ++
resources/kolab/kolabretrievecollectionstask.cpp | 7 +++++++
3 files changed, 11 insertions(+)
New commits:
commit c2e9605d302a376edc0e7d9cee49df7bb5362e61
Author: Sandro Knauà <mail at sandroknauss.de>
Date: Wed Dec 3 19:27:09 2014 +0100
Disable Alarms for Other Users calendars.
Unfortunatelly till now it does not check if the Attribute is known -
this would help, if the users wants alarms for a spesific calendar of an
other person.
KOLAB: #3731
diff --git a/resources/kolab/CMakeLists.txt b/resources/kolab/CMakeLists.txt
index 2a31647..2f1f316 100644
--- a/resources/kolab/CMakeLists.txt
+++ b/resources/kolab/CMakeLists.txt
@@ -44,6 +44,7 @@ target_link_libraries(kolabresource
${KDE4_KIO_LIBS}
${KDEPIMLIBS_KMIME_LIBS}
${KDEPIMLIBS_AKONADI_KMIME_LIBS}
+ ${KDEPIMLIBS_AKONADI_CALENDAR_LIBS}
${KDEPIMLIBS_KPIMIDENTITIES_LIBS}
${Libkolab_LIBRARIES}
${Libkolabxml_LIBRARIES}
@@ -81,6 +82,7 @@ target_link_libraries(akonadi_kolab_resource
${KDE4_KIO_LIBS}
${KDEPIMLIBS_KMIME_LIBS}
${KDEPIMLIBS_AKONADI_KMIME_LIBS}
+ ${KDEPIMLIBS_AKONADI_CALENDAR_LIBS}
${KDEPIMLIBS_KPIMIDENTITIES_LIBS}
imapresource
kolabresource
diff --git a/resources/kolab/kolabresource.cpp b/resources/kolab/kolabresource.cpp
index a5056dd..2066aab 100644
--- a/resources/kolab/kolabresource.cpp
+++ b/resources/kolab/kolabresource.cpp
@@ -25,6 +25,7 @@
#include <retrieveitemstask.h>
#include <collectionannotationsattribute.h>
#include <changecollectiontask.h>
+#include <akonadi/calendar/blockalarmsattribute.h>
#include <KWindowSystem>
#include <KLocalizedString>
@@ -49,6 +50,7 @@ KolabResource::KolabResource(const QString& id)
KGlobal::locale()->insertCatalog(QLatin1String("akonadi_imap_resource"));
//Ensure we have up-to date metadata before attempting to sync folder
setScheduleAttributeSyncBeforeItemSync(true);
+ setKeepLocalCollectionChanges(QSet<QByteArray>() << "ENTITYDISPLAY" << Akonadi::BlockAlarmsAttribute().type());
}
KolabResource::~KolabResource()
diff --git a/resources/kolab/kolabretrievecollectionstask.cpp b/resources/kolab/kolabretrievecollectionstask.cpp
index 5038c60..87956bc 100644
--- a/resources/kolab/kolabretrievecollectionstask.cpp
+++ b/resources/kolab/kolabretrievecollectionstask.cpp
@@ -35,6 +35,7 @@
#include <akonadi/entitydisplayattribute.h>
#include <akonadi/kmime/messageparts.h>
#include <akonadi/collectionidentificationattribute.h>
+#include <akonadi/calendar/blockalarmsattribute.h>
#include <kmime/kmime_message.h>
@@ -297,6 +298,12 @@ void KolabRetrieveCollectionsTask::setAttributes(Akonadi::Collection &c, const Q
CollectionIdentificationAttribute *attr = c.attribute<CollectionIdentificationAttribute>(Akonadi::Collection::AddIfMissing);
attr->setIdentifier(path.toLatin1());
+ // If the folder is a other users folder block all alarms from default
+ if (isNamespaceFolder(path, resourceState()->userNamespaces())) {
+ Akonadi::BlockAlarmsAttribute *attr = c.attribute<Akonadi::BlockAlarmsAttribute>(Akonadi::Collection::AddIfMissing);
+ attr->blockEverything(true);
+ }
+
// If the folder is a other users top-level folder mark it accordingly
if (pathParts.size() == 1 && isNamespaceFolder(path, resourceState()->userNamespaces())) {
Akonadi::EntityDisplayAttribute *attr = c.attribute<Akonadi::EntityDisplayAttribute>(Akonadi::Collection::AddIfMissing);
More information about the commits
mailing list