poboiko created this revision. poboiko added reviewers: KDE PIM, dvratil, apol. poboiko added a project: KDE PIM. Herald added a project: Frameworks. Herald added a subscriber: kde-frameworks-devel. poboiko requested review of this revision.
REVISION SUMMARY 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 <https://phabricator.kde.org/T9595>. 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). TEST PLAN It compiles, it works. REPOSITORY R307 KPeople REVISION DETAIL https://phabricator.kde.org/D15431 AFFECTED FILES autotests/persondatatests.cpp autotests/personsmodeltest.cpp autotests/personsproxymodeltest.cpp src/CMakeLists.txt src/global.cpp src/persondata.cpp src/personpluginmanager.cpp src/personpluginmanager.h src/personpluginmanager_p.h src/personsmodel.cpp To: poboiko, #kde_pim, dvratil, apol Cc: kde-frameworks-devel, michaelh, ngraham, bruns, dvasin, rodsevich, winterz, vkrause, mlaurent, knauss, dvratil