This patch makes PersonPluginManager available to third-party applications, allowing them to use KPeople in a stand-alone way, without interacting with system-wide plugins.
It is part of T9595: [KAddressbook] Use KPeople model for contact list. Currently we only want to use only Akonadi plugin (to be developed), and then possibly add support for other (i.e. KTelepathy) plugins.
For Akonadi plugin, we want to pass an EntityTreeModel to use it as data source, which would be impossible if we use system-wide plugin system.
I've also noted several issues not directly related to this patch, but it would be nice to fix those anyways.
- There some ancient compatibility code inside PersonPluginManagerPrivate::loadDataSourcePlugins(), which was added 3 years ago. Apparently, it's not needed anymore.
- Inside widgets/CMakeLists.txt, its headers are installed with PREFIX KPeople instead of KPeople/Widgets. Because of that #include <KPeople/Widgets/PersonDetailsView> does not work, because it refers to non-existent header kpeople/persondetailsview.h.
- In the same file, there is redundant install(FILES [...]), which does not install any file (line 46)
If it's OK, I can add those changes without posting a differential revision (since they're trivial).