> On Nov. 14, 2016, 7:17 a.m., Marko Käning wrote:
> > Why do you migrate away from KService to something Qt'ish?

Because there is no use of KService for us. Also this is way simpler. The new 
system is recommended by the Frameworks developers (if KService is not needed).

The on demand plugins still use KService to find plugins.

Btw: This patch includes the KF5/Qt5 port of the plugin load system.


- Christian


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/129393/#review100826
-----------------------------------------------------------


On Nov. 13, 2016, 9:50 p.m., Christian David wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://git.reviewboard.kde.org/r/129393/
> -----------------------------------------------------------
> 
> (Updated Nov. 13, 2016, 9:50 p.m.)
> 
> 
> Review request for KMymoney.
> 
> 
> Repository: kmymoney
> 
> 
> Description
> -------
> 
> Hi,
> 
> this is my long overdue change on the plugin system. It actually started in 
> Randa.
> 
> Sorry for such a long review request! I think it is ready for publishing, I 
> made this review request only to give everybody a chance to ask questions :)
> 
> 
> Commit 1
> ========
> 
> This is a major change. Instead of a KPluginFactory based plugin
> loading, Qt's plugin system is used. The docu was adopeted to reflect
> this.
> 
> Commit 2
> ========
> 
> The plugins for onlineTasks are now loaded with QPluginLoader on demand.
> The necessary information is encoded in Qt's json plugin header.
> 
> Commit 3
> ========
> 
> Moved plugin loader out of kmm_plugin and put it into the executable
> 
> The plugin shared library is for plugins now and does not include the
> loading of plugins (which was kind of wired). All loading operations of
> standard plugins is done in KMyMoneyApp now.
> 
> Therefor the interface system for plugins needed do be reworked to
> great degree. Some overly complex operations were replaced by simpler
> ones. All plugins were adopted to that. Also it is more type safe now.
> 
> Now the user configuration which plugins should be loaded or not is
> respected (standard plugins only).
> 
> An old bug was fixed: If the configuration in the plugin settings
> changed the plugins are loaded/unloaded after the user accepts the
> dialog (perviously this was done when the checkbox was clicked).
> 
> Todos
> =====
> 
> The new system is still not finished. However, it is a great step in
> the right direction. An uncomplete list of FIXMEs (or bugs?):
> 
> 1. pluginloader.{h,cpp} are gui only now and should be merged into the
> settings dialog.
> 2. The UI for plugins still has some issues, e.g. the online banking
> plugins which are loaded on demand (and are not deactivatable) have a
> checkbox for loading and unloading which has no function.
> 3. Unloading plugins may not work correctly (I think it never did).
> 4. The payeeIdentifiers are not listet in the plugin settings page.
> 
> 
> Diffs
> -----
> 
>   CMakeLists.txt 09970dd5626e308c443ea20ee20ecf8503b21209 
>   kmymoney/CMakeLists.txt acbe6a3c91a62a15871a0061486a7d0771b3a5e6 
>   kmymoney/dialogs/konlinetransferform.h 
> e4761904d68a92471c0b05cc9e5b2bcd1461511d 
>   kmymoney/dialogs/konlinetransferform.cpp 
> 07e73ab17f93cd8fd804b9d11ede2b049f76eefe 
>   kmymoney/dialogs/settings/ksettingsplugins.cpp 
> 007a59d4be08fe779245dd5d52f664ebfcee447d 
>   kmymoney/kmymoney.h 8d10023b5e35be8f4449973ea16e0ec0cc0acca2 
>   kmymoney/kmymoney.cpp 043342dd87cbc03557c5e2b29eb3b9dfcd1083dd 
>   kmymoney/mymoney/onlinejobadministration.h 
> e72d1a6e46c7c8bcc7cf05193e04bdc8bd9103f5 
>   kmymoney/mymoney/onlinejobadministration.cpp 
> 52658747a44bc5477ccd75a531aef471b4553b19 
>   kmymoney/pluginloader.h PRE-CREATION 
>   kmymoney/pluginloader.cpp PRE-CREATION 
>   kmymoney/plugins/CMakeLists.txt fd7cad75256c0a43d7d1fd3a23b37cef7fab8bf9 
>   kmymoney/plugins/csvexport/CMakeLists.txt 
> 9f2e29fd43e32cd3c6acc7f597c45d522eac4eaf 
>   kmymoney/plugins/csvexport/csvexport.json.in PRE-CREATION 
>   kmymoney/plugins/csvexport/csvexporterplugin.h 
> f163ade2d59ae1b6eb32958a317384e77a658523 
>   kmymoney/plugins/csvexport/csvexporterplugin.cpp 
> 31027c65111edbad8ca78b00f5b7df572056bb37 
>   kmymoney/plugins/csvexport/kmm_csvexport.desktop 
> 957a9edc4101504e0db08378392e29358327b1c6 
>   kmymoney/plugins/csvimport/CMakeLists.txt 
> c3e13285944f3624d69f7cc7cde0d4d9014a2a2c 
>   kmymoney/plugins/csvimport/csvimport.json.in PRE-CREATION 
>   kmymoney/plugins/csvimport/csvimporterplugin.h 
> e66f9cf8e7bfdf9a431d7c57db2e905f5e89ec66 
>   kmymoney/plugins/csvimport/csvimporterplugin.cpp 
> 9a28dca3efd54b82882ef71595439d34b09a5177 
>   kmymoney/plugins/csvimport/kmm_csvimport.desktop 
> 52dfc6ef5a425f70f4caba42e92378665926c774 
>   kmymoney/plugins/icalendarexport/CMakeLists.txt 
> b85f29282114b5c8eb4d680308da59177992a7e6 
>   kmymoney/plugins/icalendarexport/icalendarexport.h 
> ae02cb35041c7bb1423fe2939da1252d1003065a 
>   kmymoney/plugins/icalendarexport/icalendarexport.cpp 
> d1028338c8e3644fc280395c5c853d369f19f4eb 
>   kmymoney/plugins/icalendarexport/kmm_icalendarexport.desktop 
> 4313fdf277f82e6759e48931b3b2aba059b2ece3 
>   kmymoney/plugins/icalendarexport/kmm_icalendarexport.json.in PRE-CREATION 
>   kmymoney/plugins/interfaceloader.h PRE-CREATION 
>   kmymoney/plugins/interfaceloader.cpp PRE-CREATION 
>   kmymoney/plugins/interfaces/kmmviewinterface.h 
> d86e5efafd7ceac57b5a107696ffbc57ef64896b 
>   kmymoney/plugins/kbanking/CMakeLists.txt 
> 7a6b656eaa198b0556dc9329c37d9fe34009ad68 
>   kmymoney/plugins/kbanking/kbanking.json.in PRE-CREATION 
>   kmymoney/plugins/kbanking/kmm_kbanking.desktop 
> 414964f6c9fe3d34f03189783aa915d3ba37ff18 
>   kmymoney/plugins/kbanking/mymoneybanking.h 
> fe0cb5c5feeeac9ffb4657e49da318cc429d2ac4 
>   kmymoney/plugins/kbanking/mymoneybanking.cpp 
> ad53d4ba608e221a920a4899ebbfab7466c0293f 
>   kmymoney/plugins/kmymoney-onlinetaskui.desktop 
> 23cfd182a0e12c0be9a97f0490ceedc3456f1b84 
>   kmymoney/plugins/kmymoney-payeeidentifierdelegate.desktop 
> cc2689f5c1f36ac4d75d1d6bd7ce0c0877b7ca18 
>   kmymoney/plugins/kmymoney-plugin.desktop 
> 28673a8ed8ff8578f046c02b67da4e305f610ecf 
>   kmymoney/plugins/kmymoneyplugin.h 12748dc80cca025212d53db13f0e7ccce71cc465 
>   kmymoney/plugins/kmymoneyplugin.cpp 
> b55b497607089c4cf036696695b79fd341ec9a3a 
>   kmymoney/plugins/ofximport/CMakeLists.txt 
> e97b1e87bf1b2141dca623903480691f1f5d0455 
>   kmymoney/plugins/ofximport/kmm_ofximport.desktop 
> 393a0887abbecbf4efb931b8d0ef1da474572025 
>   kmymoney/plugins/ofximport/ofximport.json.in PRE-CREATION 
>   kmymoney/plugins/ofximport/ofximporterplugin.h 
> 667a0996654911d58a6d183ba2d0b244a9457172 
>   kmymoney/plugins/ofximport/ofximporterplugin.cpp 
> 46842eee0870c8f2c21678dde112f497b7c8e2a0 
>   kmymoney/plugins/onlinejobpluginmockup/CMakeLists.txt 
> 17db89d743b4f5871aa720654f9fb1af0591bde1 
>   kmymoney/plugins/onlinejobpluginmockup/kmm_onlinejobpluginmockup.desktop 
> 2b5d33c495b342b1cade6d4cbd2b62165c18e29d 
>   kmymoney/plugins/onlinejobpluginmockup/kmm_onlinejobpluginmockup.json.in 
> PRE-CREATION 
>   kmymoney/plugins/onlinejobpluginmockup/onlinejobpluginmockup.h 
> f6165d3545d45c1fae6cc72543ffa7750d2a29ee 
>   kmymoney/plugins/onlinejobpluginmockup/onlinejobpluginmockup.cpp 
> 561cf4fa8d925194950e93273810f1d862acf6bf 
>   kmymoney/plugins/onlinepluginextended.h 
> ec84a2c8867cfbcfb1a54a8d81a484a0c036a656 
>   kmymoney/plugins/onlinetasks/sepa/CMakeLists.txt 
> 30f5e14246a3d63a42e63c886822011fb4496256 
>   kmymoney/plugins/onlinetasks/sepa/kmymoney-sepaorders.desktop.in 
> c622722047ce8f789f876d4808abd5ee33200bd3 
>   kmymoney/plugins/onlinetasks/sepa/kmymoney-sepaorders.json.in PRE-CREATION 
>   kmymoney/plugins/onlinetasks/sepa/kmymoney-sepaordersui.desktop.in 
> 966eb5e7c25938dbb2d12c6427a2f67ec643ff35 
>   kmymoney/plugins/onlinetasks/sepa/kmymoney-sepastorageplugin.desktop.in 
> a118770c40bfd2040cc9bfd3f68c1538ec44fb09 
>   kmymoney/plugins/onlinetasks/sepa/sepaonlinetasksloader.h 
> fa6e54f60fffec913bf3f68256aa370b4e5a07b6 
>   kmymoney/plugins/onlinetasks/sepa/sepaonlinetasksloader.cpp 
> 5bf528e9b3cbece1f37af6101f159793bc0c35a6 
>   kmymoney/plugins/pluginloader.h 3f7f2ec42d0ef60a6ad2d83601a7dfdc397f4fd6 
>   kmymoney/plugins/pluginloader.cpp 20c3b1120c380d3ccec91f412673f18906f5b5f0 
>   kmymoney/plugins/printcheck/CMakeLists.txt 
> 1303f29138a4098824bd5d8209d3a4baadee25da 
>   kmymoney/plugins/printcheck/kmm_printcheck.desktop 
> 97bec6edd7af67582340c14355421e0b121de969 
>   kmymoney/plugins/printcheck/kmm_printcheck.json.in PRE-CREATION 
>   kmymoney/plugins/printcheck/printcheck.h 
> 2f16753e35a632593cee5ffb1890b14f6d6a3ff5 
>   kmymoney/plugins/printcheck/printcheck.cpp 
> 8fa469857db50dbb9a3c00f02df38f225ed56017 
>   kmymoney/plugins/reconciliationreport/CMakeLists.txt 
> 19751f5bf13926f60310d1b42be123f5e4ca11ca 
>   kmymoney/plugins/reconciliationreport/kmm_reconciliationreport.desktop 
> ec3019df28a881dbec5cda3dd1a30df4aa3ec175 
>   kmymoney/plugins/reconciliationreport/kmm_reconciliationreport.json.in 
> PRE-CREATION 
>   kmymoney/plugins/reconciliationreport/reconciliationreport.h 
> 4d33aa349431deb5b5eb8526d07bfa18a1d77e6d 
>   kmymoney/plugins/reconciliationreport/reconciliationreport.cpp 
> 304b032d5b5ea60114447fb72ff7ac1f317b9e99 
>   kmymoney/plugins/weboob/CMakeLists.txt 
> b99cc0729847d8217fdec483568b42e6069b9974 
>   kmymoney/plugins/weboob/dialogs/mapaccount.h 
> 041620d2585a5e0e289ba53d89ac7a2ab19768c6 
>   kmymoney/plugins/weboob/dialogs/mapaccount.cpp 
> f5e36e5a515b58d5a53cb51559569d6fba267bdd 
>   kmymoney/plugins/weboob/kmm_weboob.desktop 
> 1b0ab9e22d7bc3397744eae3ed44fbb30943963b 
>   kmymoney/plugins/weboob/kmm_weboob.json.in PRE-CREATION 
>   kmymoney/plugins/weboob/plugin.h c7a8ab13c92988b5ea59e4a06035c399e1e2a76d 
>   kmymoney/plugins/weboob/plugin.cpp 49dee5e1b3c6190f05ec478e2dac8bb9c3dac5ce 
> 
> Diff: https://git.reviewboard.kde.org/r/129393/diff/
> 
> 
> Testing
> -------
> 
> Opened KMyMoney with aqbanking enabled and disabled. Checked if the Aqbanking 
> Settings menu entry exists.
> 
> 
> Thanks,
> 
> Christian David
> 
>

Reply via email to