Sophie

Sophie

distrib > Mageia > 5 > i586 > by-pkgid > cf746698214707f972e669b661d0ae59 > files > 71

kdepim4-4.14.10-1.3.mga5.src.rpm

From 2f91dc7120ce4bb0820de51967a1e434970924a2 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Daniel=20Vr=C3=A1til?= <daniel.vratil@kdab.com>
Date: Wed, 7 Dec 2016 16:56:37 +0100
Subject: [PATCH 71/74] Make ACL management work with Akonadi instances

---
 pimcommon/acl/aclmanager.cpp | 6 +++++-
 pimcommon/util/pimutil.cpp   | 8 +++++++-
 2 files changed, 12 insertions(+), 2 deletions(-)

diff --git a/pimcommon/acl/aclmanager.cpp b/pimcommon/acl/aclmanager.cpp
index 2adf6c13a7..52b6c918c8 100644
--- a/pimcommon/acl/aclmanager.cpp
+++ b/pimcommon/acl/aclmanager.cpp
@@ -31,6 +31,7 @@
 #include <Akonadi/CollectionModifyJob>
 #include <Akonadi/Contact/ContactGroupExpandJob>
 #include <Akonadi/Contact/ContactGroupSearchJob>
+#include <Akonadi/ServerManager>
 
 #include <KPIMUtils/Email>
 
@@ -294,7 +295,10 @@ public:
 
         QString resource = collection.resource();
         if (resource.contains(QLatin1String("akonadi_kolabproxy_resource"))) {
-            QDBusInterface interface( QLatin1String("org.freedesktop.Akonadi.Agent.akonadi_kolabproxy_resource"), QLatin1String("/KolabProxy") );
+            const QString instance = Akonadi::ServerManager::hasInstanceIdentifier()
+                        ? QLatin1Char('.') + Akonadi::ServerManager::instanceIdentifier()
+                        : QString();
+            QDBusInterface interface( QLatin1String("org.freedesktop.Akonadi.Agent.akonadi_kolabproxy_resource") + instance, QLatin1String("/KolabProxy") );
             if (interface.isValid()) {
                 QDBusReply<QString> reply = interface.call(QLatin1String("imapResourceForCollection"), collection.remoteId().toLongLong());
                 if (reply.isValid()) {
diff --git a/pimcommon/util/pimutil.cpp b/pimcommon/util/pimutil.cpp
index 38bae168cc..fe9bfe42f6 100644
--- a/pimcommon/util/pimutil.cpp
+++ b/pimcommon/util/pimutil.cpp
@@ -40,6 +40,8 @@
 
 #include "imapresourcesettings.h"
 
+#include <Akonadi/ServerManager>
+
 #include <KFileDialog>
 #include <KMessageBox>
 #include <KLocalizedString>
@@ -52,9 +54,13 @@
 
 OrgKdeAkonadiImapSettingsInterface *PimCommon::Util::createImapSettingsInterface( const QString &ident )
 {
+    const QString instance = Akonadi::ServerManager::hasInstanceIdentifier()
+                    ? QLatin1Char('.') + Akonadi::ServerManager::instanceIdentifier()
+                    : QString();
+
     return
             new OrgKdeAkonadiImapSettingsInterface(
-                QLatin1String("org.freedesktop.Akonadi.Resource.") + ident, QLatin1String("/Settings"), QDBusConnection::sessionBus() );
+                QLatin1String("org.freedesktop.Akonadi.Resource.") + ident + instance, QLatin1String("/Settings"), QDBusConnection::sessionBus() );
 }
 
 void PimCommon::Util::saveTextAs( const QString &text, const QString &filter, QWidget *parent, const KUrl &url, const QString &caption )
-- 
2.14.1