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