D23856: Introduce (optional) KAccounts integration into akonadi_control
Daniel Vrátil
noreply at phabricator.kde.org
Tue Sep 10 21:43:00 BST 2019
dvratil created this revision.
Herald added a project: KDE PIM.
Herald added a subscriber: kde-pim.
dvratil requested review of this revision.
REVISION SUMMARY
The akonadi_control process now reacts to a new KAccounts account being
added, removeda or modified.
When a new KAccounts account is added it looks for the KAccounts services
provided by the account (e.g. contacts, calendars, ...) and it checks the
service details for which agent type can handle this service (e.g. the
google-calendar service can be handled by the akonadi_googlecalendar_resource)
and then it creates a new instance of the resource and calls its new
org.kde.Akonadi.Accounts DBus interface to set the KAccounts account ID,
so the resource can configure itself.
When a KAccounts account is removed, it scans all current resources if
they implement the org.kde.Akonadi.Accounts interface and if they are
configured for the removed account - and if so, it removes them.
When a particular service is enabled or disabled its treated as if it
were added or removed, so the respective resource is added or removed.
TEST PLAN
Implemented the org.kde.Akonadi.Accounts service in the Google resources
and tested that creating a new account in the Online Accounts KCM causes
the Akonadi Google resources to be created and configured for the given
account. Removing the account from Online Accounts KCM removes the agents.
Video of the proof of concept: https://youtu.be/7plCbvfQlA8
REPOSITORY
R165 Akonadi
BRANCH
dev/online-accounts
REVISION DETAIL
https://phabricator.kde.org/D23856
AFFECTED FILES
CMakeLists.txt
config-akonadi.h.cmake
src/akonadicontrol/CMakeLists.txt
src/akonadicontrol/accountsintegration.cpp
src/akonadicontrol/accountsintegration.h
src/akonadicontrol/main.cpp
src/interfaces/org.kde.Akonadi.Accounts.xml
To: dvratil
Cc: kde-pim, fbampaloukas, dvasin, rodsevich, winterz, vkrause, mlaurent, knauss, dvratil
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/kde-pim/attachments/20190910/a3b3d9dd/attachment.html>
More information about the kde-pim
mailing list