-
Łukasz Wojniłowicz authored
Current plugins loading system crashes KMyMoney very often after quit and doesn't allow unpluging plugins. This patch aims to improve on those two deficiencies. Changes: 1) use of KPluginLoader instead of QPluginLoader KCM modules of plugins cannot use QPluginLoader, so load all plugins with single type of plugin loader. Loading with QPluginLoader directly causes some strange valgrind errors(invalid read size), which are untrackable. However, it doesn't occur with KPluginLoader. 2) create new KSettingsPlugins page The page has changing Apply button depending on selection. The page allows unloading/loading plugins. The page causes plugin system to update after changes. 3) no method for plugins handling in KMyMoneyApp, because all is encapsulated in pluginloader.h 4) don't store KPluginSelector because it's needed only during configuration 5) use plugin diagnostics in console that looks like "Plugins: xxxplugin (un)loaded" which allows debugging, 6) use kcmshell5 instead of kcmshell4, 7) use of qobject_cast instead of dynamic_cast to test plugin's interfaces, which is faster, 8) remove "kmm_" prefix from KMM plugins as they're private and not public, so no name clash shouldn't occur, 9) rename classes from something like KMMXXXImporterPlugin to something like XXXImporter, which is shorter, 10) allow enabling Weboob and using printcheck plugins, 11) new m_plugins member to store all plugin interfaces. Differential Revision: https://phabricator.kde.org/D9566
21338733