> On Nov. 14, 2016, 7:17 a.m., Marko Käning wrote: > > Why do you migrate away from KService to something Qt'ish? > > Christian David wrote: > 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.
Thanks for clarifying this, Christian! - Marko ----------------------------------------------------------- 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 > >