<html>
 <body>
  <div style="font-family: Verdana, Arial, Helvetica, Sans-Serif;">
   <table bgcolor="#f9f3c9" width="100%" cellpadding="12" style="border: 1px #c9c399 solid; border-radius: 6px; -moz-border-radius: 6px; -webkit-border-radius: 6px;">
    <tr>
     <td>
      This is an automatically generated e-mail. To reply, visit:
      <a href="https://git.reviewboard.kde.org/r/129393/">https://git.reviewboard.kde.org/r/129393/</a>
     </td>
    </tr>
   </table>
   <br />





<blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
 <p style="margin-top: 0;">On November 14th, 2016, 7:17 a.m. CET, <b>Marko Käning</b> wrote:</p>
 <blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
  <pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;"><p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">Why do you migrate away from KService to something Qt'ish?</p></pre>
 </blockquote>







</blockquote>

<pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">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.</pre>
<br />










<p>- Christian</p>


<br />
<p>On November 13th, 2016, 9:50 p.m. CET, Christian David wrote:</p>








<table bgcolor="#fefadf" width="100%" cellspacing="0" cellpadding="12" style="border: 1px #888a85 solid; border-radius: 6px; -moz-border-radius: 6px; -webkit-border-radius: 6px;">
 <tr>
  <td>

<div>Review request for KMymoney.</div>
<div>By Christian David.</div>


<p style="color: grey;"><i>Updated Nov. 13, 2016, 9:50 p.m.</i></p>









<div style="margin-top: 1.5em;">
 <b style="color: #575012; font-size: 10pt;">Repository: </b>
kmymoney
</div>


<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Description </h1>
 <table width="100%" bgcolor="#ffffff" cellspacing="0" cellpadding="10" style="border: 1px solid #b8b5a0">
 <tr>
  <td>
   <pre style="margin: 0; padding: 0; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;"><p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">Hi,</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">this is my long overdue change on the plugin system. It actually started in Randa.</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">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 :)</p>
<h1 style="font-size: 100%;text-rendering: inherit;padding: 0;white-space: normal;margin: 0;line-height: inherit;">Commit 1</h1>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">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.</p>
<h1 style="font-size: 100%;text-rendering: inherit;padding: 0;white-space: normal;margin: 0;line-height: inherit;">Commit 2</h1>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">The plugins for onlineTasks are now loaded with QPluginLoader on demand.
The necessary information is encoded in Qt's json plugin header.</p>
<h1 style="font-size: 100%;text-rendering: inherit;padding: 0;white-space: normal;margin: 0;line-height: inherit;">Commit 3</h1>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">Moved plugin loader out of kmm_plugin and put it into the executable</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">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.</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">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.</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">Now the user configuration which plugins should be loaded or not is
respected (standard plugins only).</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">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).</p>
<h1 style="font-size: 100%;text-rendering: inherit;padding: 0;white-space: normal;margin: 0;line-height: inherit;">Todos</h1>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">The new system is still not finished. However, it is a great step in
the right direction. An uncomplete list of FIXMEs (or bugs?):</p>
<ol style="padding: 0;text-rendering: inherit;margin: 0 0 0 2em;line-height: inherit;white-space: normal;">
<li style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: normal;">pluginloader.{h,cpp} are gui only now and should be merged into the
settings dialog.</li>
<li style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: normal;">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.</li>
<li style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: normal;">Unloading plugins may not work correctly (I think it never did).</li>
<li style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: normal;">The payeeIdentifiers are not listet in the plugin settings page.</li>
</ol></pre>
  </td>
 </tr>
</table>


<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Testing </h1>
<table width="100%" bgcolor="#ffffff" cellspacing="0" cellpadding="10" style="border: 1px solid #b8b5a0">
 <tr>
  <td>
   <pre style="margin: 0; padding: 0; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;"><p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">Opened KMyMoney with aqbanking enabled and disabled. Checked if the Aqbanking Settings menu entry exists.</p></pre>
  </td>
 </tr>
</table>


<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Diffs</b> </h1>
<ul style="margin-left: 3em; padding-left: 0;">

 <li>CMakeLists.txt <span style="color: grey">(09970dd5626e308c443ea20ee20ecf8503b21209)</span></li>

 <li>kmymoney/CMakeLists.txt <span style="color: grey">(acbe6a3c91a62a15871a0061486a7d0771b3a5e6)</span></li>

 <li>kmymoney/dialogs/konlinetransferform.h <span style="color: grey">(e4761904d68a92471c0b05cc9e5b2bcd1461511d)</span></li>

 <li>kmymoney/dialogs/konlinetransferform.cpp <span style="color: grey">(07e73ab17f93cd8fd804b9d11ede2b049f76eefe)</span></li>

 <li>kmymoney/dialogs/settings/ksettingsplugins.cpp <span style="color: grey">(007a59d4be08fe779245dd5d52f664ebfcee447d)</span></li>

 <li>kmymoney/kmymoney.h <span style="color: grey">(8d10023b5e35be8f4449973ea16e0ec0cc0acca2)</span></li>

 <li>kmymoney/kmymoney.cpp <span style="color: grey">(043342dd87cbc03557c5e2b29eb3b9dfcd1083dd)</span></li>

 <li>kmymoney/mymoney/onlinejobadministration.h <span style="color: grey">(e72d1a6e46c7c8bcc7cf05193e04bdc8bd9103f5)</span></li>

 <li>kmymoney/mymoney/onlinejobadministration.cpp <span style="color: grey">(52658747a44bc5477ccd75a531aef471b4553b19)</span></li>

 <li>kmymoney/pluginloader.h <span style="color: grey">(PRE-CREATION)</span></li>

 <li>kmymoney/pluginloader.cpp <span style="color: grey">(PRE-CREATION)</span></li>

 <li>kmymoney/plugins/CMakeLists.txt <span style="color: grey">(fd7cad75256c0a43d7d1fd3a23b37cef7fab8bf9)</span></li>

 <li>kmymoney/plugins/csvexport/CMakeLists.txt <span style="color: grey">(9f2e29fd43e32cd3c6acc7f597c45d522eac4eaf)</span></li>

 <li>kmymoney/plugins/csvexport/csvexport.json.in <span style="color: grey">(PRE-CREATION)</span></li>

 <li>kmymoney/plugins/csvexport/csvexporterplugin.h <span style="color: grey">(f163ade2d59ae1b6eb32958a317384e77a658523)</span></li>

 <li>kmymoney/plugins/csvexport/csvexporterplugin.cpp <span style="color: grey">(31027c65111edbad8ca78b00f5b7df572056bb37)</span></li>

 <li>kmymoney/plugins/csvexport/kmm_csvexport.desktop <span style="color: grey">(957a9edc4101504e0db08378392e29358327b1c6)</span></li>

 <li>kmymoney/plugins/csvimport/CMakeLists.txt <span style="color: grey">(c3e13285944f3624d69f7cc7cde0d4d9014a2a2c)</span></li>

 <li>kmymoney/plugins/csvimport/csvimport.json.in <span style="color: grey">(PRE-CREATION)</span></li>

 <li>kmymoney/plugins/csvimport/csvimporterplugin.h <span style="color: grey">(e66f9cf8e7bfdf9a431d7c57db2e905f5e89ec66)</span></li>

 <li>kmymoney/plugins/csvimport/csvimporterplugin.cpp <span style="color: grey">(9a28dca3efd54b82882ef71595439d34b09a5177)</span></li>

 <li>kmymoney/plugins/csvimport/kmm_csvimport.desktop <span style="color: grey">(52dfc6ef5a425f70f4caba42e92378665926c774)</span></li>

 <li>kmymoney/plugins/icalendarexport/CMakeLists.txt <span style="color: grey">(b85f29282114b5c8eb4d680308da59177992a7e6)</span></li>

 <li>kmymoney/plugins/icalendarexport/icalendarexport.h <span style="color: grey">(ae02cb35041c7bb1423fe2939da1252d1003065a)</span></li>

 <li>kmymoney/plugins/icalendarexport/icalendarexport.cpp <span style="color: grey">(d1028338c8e3644fc280395c5c853d369f19f4eb)</span></li>

 <li>kmymoney/plugins/icalendarexport/kmm_icalendarexport.desktop <span style="color: grey">(4313fdf277f82e6759e48931b3b2aba059b2ece3)</span></li>

 <li>kmymoney/plugins/icalendarexport/kmm_icalendarexport.json.in <span style="color: grey">(PRE-CREATION)</span></li>

 <li>kmymoney/plugins/interfaceloader.h <span style="color: grey">(PRE-CREATION)</span></li>

 <li>kmymoney/plugins/interfaceloader.cpp <span style="color: grey">(PRE-CREATION)</span></li>

 <li>kmymoney/plugins/interfaces/kmmviewinterface.h <span style="color: grey">(d86e5efafd7ceac57b5a107696ffbc57ef64896b)</span></li>

 <li>kmymoney/plugins/kbanking/CMakeLists.txt <span style="color: grey">(7a6b656eaa198b0556dc9329c37d9fe34009ad68)</span></li>

 <li>kmymoney/plugins/kbanking/kbanking.json.in <span style="color: grey">(PRE-CREATION)</span></li>

 <li>kmymoney/plugins/kbanking/kmm_kbanking.desktop <span style="color: grey">(414964f6c9fe3d34f03189783aa915d3ba37ff18)</span></li>

 <li>kmymoney/plugins/kbanking/mymoneybanking.h <span style="color: grey">(fe0cb5c5feeeac9ffb4657e49da318cc429d2ac4)</span></li>

 <li>kmymoney/plugins/kbanking/mymoneybanking.cpp <span style="color: grey">(ad53d4ba608e221a920a4899ebbfab7466c0293f)</span></li>

 <li>kmymoney/plugins/kmymoney-onlinetaskui.desktop <span style="color: grey">(23cfd182a0e12c0be9a97f0490ceedc3456f1b84)</span></li>

 <li>kmymoney/plugins/kmymoney-payeeidentifierdelegate.desktop <span style="color: grey">(cc2689f5c1f36ac4d75d1d6bd7ce0c0877b7ca18)</span></li>

 <li>kmymoney/plugins/kmymoney-plugin.desktop <span style="color: grey">(28673a8ed8ff8578f046c02b67da4e305f610ecf)</span></li>

 <li>kmymoney/plugins/kmymoneyplugin.h <span style="color: grey">(12748dc80cca025212d53db13f0e7ccce71cc465)</span></li>

 <li>kmymoney/plugins/kmymoneyplugin.cpp <span style="color: grey">(b55b497607089c4cf036696695b79fd341ec9a3a)</span></li>

 <li>kmymoney/plugins/ofximport/CMakeLists.txt <span style="color: grey">(e97b1e87bf1b2141dca623903480691f1f5d0455)</span></li>

 <li>kmymoney/plugins/ofximport/kmm_ofximport.desktop <span style="color: grey">(393a0887abbecbf4efb931b8d0ef1da474572025)</span></li>

 <li>kmymoney/plugins/ofximport/ofximport.json.in <span style="color: grey">(PRE-CREATION)</span></li>

 <li>kmymoney/plugins/ofximport/ofximporterplugin.h <span style="color: grey">(667a0996654911d58a6d183ba2d0b244a9457172)</span></li>

 <li>kmymoney/plugins/ofximport/ofximporterplugin.cpp <span style="color: grey">(46842eee0870c8f2c21678dde112f497b7c8e2a0)</span></li>

 <li>kmymoney/plugins/onlinejobpluginmockup/CMakeLists.txt <span style="color: grey">(17db89d743b4f5871aa720654f9fb1af0591bde1)</span></li>

 <li>kmymoney/plugins/onlinejobpluginmockup/kmm_onlinejobpluginmockup.desktop <span style="color: grey">(2b5d33c495b342b1cade6d4cbd2b62165c18e29d)</span></li>

 <li>kmymoney/plugins/onlinejobpluginmockup/kmm_onlinejobpluginmockup.json.in <span style="color: grey">(PRE-CREATION)</span></li>

 <li>kmymoney/plugins/onlinejobpluginmockup/onlinejobpluginmockup.h <span style="color: grey">(f6165d3545d45c1fae6cc72543ffa7750d2a29ee)</span></li>

 <li>kmymoney/plugins/onlinejobpluginmockup/onlinejobpluginmockup.cpp <span style="color: grey">(561cf4fa8d925194950e93273810f1d862acf6bf)</span></li>

 <li>kmymoney/plugins/onlinepluginextended.h <span style="color: grey">(ec84a2c8867cfbcfb1a54a8d81a484a0c036a656)</span></li>

 <li>kmymoney/plugins/onlinetasks/sepa/CMakeLists.txt <span style="color: grey">(30f5e14246a3d63a42e63c886822011fb4496256)</span></li>

 <li>kmymoney/plugins/onlinetasks/sepa/kmymoney-sepaorders.desktop.in <span style="color: grey">(c622722047ce8f789f876d4808abd5ee33200bd3)</span></li>

 <li>kmymoney/plugins/onlinetasks/sepa/kmymoney-sepaorders.json.in <span style="color: grey">(PRE-CREATION)</span></li>

 <li>kmymoney/plugins/onlinetasks/sepa/kmymoney-sepaordersui.desktop.in <span style="color: grey">(966eb5e7c25938dbb2d12c6427a2f67ec643ff35)</span></li>

 <li>kmymoney/plugins/onlinetasks/sepa/kmymoney-sepastorageplugin.desktop.in <span style="color: grey">(a118770c40bfd2040cc9bfd3f68c1538ec44fb09)</span></li>

 <li>kmymoney/plugins/onlinetasks/sepa/sepaonlinetasksloader.h <span style="color: grey">(fa6e54f60fffec913bf3f68256aa370b4e5a07b6)</span></li>

 <li>kmymoney/plugins/onlinetasks/sepa/sepaonlinetasksloader.cpp <span style="color: grey">(5bf528e9b3cbece1f37af6101f159793bc0c35a6)</span></li>

 <li>kmymoney/plugins/pluginloader.h <span style="color: grey">(3f7f2ec42d0ef60a6ad2d83601a7dfdc397f4fd6)</span></li>

 <li>kmymoney/plugins/pluginloader.cpp <span style="color: grey">(20c3b1120c380d3ccec91f412673f18906f5b5f0)</span></li>

 <li>kmymoney/plugins/printcheck/CMakeLists.txt <span style="color: grey">(1303f29138a4098824bd5d8209d3a4baadee25da)</span></li>

 <li>kmymoney/plugins/printcheck/kmm_printcheck.desktop <span style="color: grey">(97bec6edd7af67582340c14355421e0b121de969)</span></li>

 <li>kmymoney/plugins/printcheck/kmm_printcheck.json.in <span style="color: grey">(PRE-CREATION)</span></li>

 <li>kmymoney/plugins/printcheck/printcheck.h <span style="color: grey">(2f16753e35a632593cee5ffb1890b14f6d6a3ff5)</span></li>

 <li>kmymoney/plugins/printcheck/printcheck.cpp <span style="color: grey">(8fa469857db50dbb9a3c00f02df38f225ed56017)</span></li>

 <li>kmymoney/plugins/reconciliationreport/CMakeLists.txt <span style="color: grey">(19751f5bf13926f60310d1b42be123f5e4ca11ca)</span></li>

 <li>kmymoney/plugins/reconciliationreport/kmm_reconciliationreport.desktop <span style="color: grey">(ec3019df28a881dbec5cda3dd1a30df4aa3ec175)</span></li>

 <li>kmymoney/plugins/reconciliationreport/kmm_reconciliationreport.json.in <span style="color: grey">(PRE-CREATION)</span></li>

 <li>kmymoney/plugins/reconciliationreport/reconciliationreport.h <span style="color: grey">(4d33aa349431deb5b5eb8526d07bfa18a1d77e6d)</span></li>

 <li>kmymoney/plugins/reconciliationreport/reconciliationreport.cpp <span style="color: grey">(304b032d5b5ea60114447fb72ff7ac1f317b9e99)</span></li>

 <li>kmymoney/plugins/weboob/CMakeLists.txt <span style="color: grey">(b99cc0729847d8217fdec483568b42e6069b9974)</span></li>

 <li>kmymoney/plugins/weboob/dialogs/mapaccount.h <span style="color: grey">(041620d2585a5e0e289ba53d89ac7a2ab19768c6)</span></li>

 <li>kmymoney/plugins/weboob/dialogs/mapaccount.cpp <span style="color: grey">(f5e36e5a515b58d5a53cb51559569d6fba267bdd)</span></li>

 <li>kmymoney/plugins/weboob/kmm_weboob.desktop <span style="color: grey">(1b0ab9e22d7bc3397744eae3ed44fbb30943963b)</span></li>

 <li>kmymoney/plugins/weboob/kmm_weboob.json.in <span style="color: grey">(PRE-CREATION)</span></li>

 <li>kmymoney/plugins/weboob/plugin.h <span style="color: grey">(c7a8ab13c92988b5ea59e4a06035c399e1e2a76d)</span></li>

 <li>kmymoney/plugins/weboob/plugin.cpp <span style="color: grey">(49dee5e1b3c6190f05ec478e2dac8bb9c3dac5ce)</span></li>

</ul>

<p><a href="https://git.reviewboard.kde.org/r/129393/diff/" style="margin-left: 3em;">View Diff</a></p>






  </td>
 </tr>
</table>







  </div>
 </body>
</html>