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




<table bgcolor="#fefadf" width="100%" cellspacing="0" cellpadding="8" style="background-image: url('http://git.reviewboard.kde.org/static/rb/images/review_request_box_top_bg.ab6f3b1072c9.png'); background-position: left top; background-repeat: repeat-x; border: 1px black solid;">
 <tr>
  <td>

<div>Review request for Calligra and Boudewijn Rempt.</div>
<div>By Friedrich W. H. Kossebau.</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;">Currently there can be only one plugin per lib/module, because plugins are identified by the name of their lib/module. So plugins which are interacting, like special tools on special shapes, are limited to the published API.

It would more convenient to be able to have multiple plugins in the same lib/module, so they can interact directly without the need to publish their special API. E.g. the TextDocument Inspector uses unpublished API of the text shape. And there is the wish to separate it out to another plugin, to be able to blacklist it for e.g. Krita. Just, that is not possible yet.

As was discussed yesterday it might be also nice to be able to allow the user to configure herself/himself what plugins should be enabled in an app, perhaps even per session (like it can be done in KDevelop).

Attached patch adds a property X-KDE-PluginInfo-Name to all the current Calligra plugin types (except for Calligra/Deferred) and changes KoPluginLoader to use that property to identify the plugins. All plugins' desktop files are accordingly changed, for now by simply setting the X-KDE-PluginInfo-Name value to the name of the library, so no whitelist/blacklist needs to be changed.

X-KDE-PluginInfo-Name was chosen as name of that property, because it is also the property name used with KPluginInfo and thus already wide-spread in use. KPluginInfo also might be used when implementing support for letting the user configure the used plugins.</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;">Once the sycoca cache is refreshed :) Words and Krita started and loaded all plugins fine. Also blacklisting in Krita the TextDocument inspector (splitting out that into another plugin is not part of this patch, only locally done) worked fine.</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>karbon/plugins/dockers/karbondockersplugin.desktop <span style="color: grey">(1bc41b7)</span></li>

 <li>flow/plugins/dockers/flowdockersplugin.desktop <span style="color: grey">(351de6f)</span></li>

 <li>braindump/plugins/stateshape/stateshape.desktop <span style="color: grey">(1d9bae4)</span></li>

 <li>braindump/plugins/webshape/webshape.desktop <span style="color: grey">(8b58530)</span></li>

 <li>karbon/plugins/filtereffects/karbonfiltereffects.desktop <span style="color: grey">(d728024)</span></li>

 <li>karbon/plugins/tools/karbontools.desktop <span style="color: grey">(48736f6)</span></li>

 <li>kexi/plugins/shapes/relationdesign/kexirelationdesignshape.desktop <span style="color: grey">(0d4bb8a)</span></li>

 <li>krita/plugins/colorspaces/extensions/krita_colorspaces_extensions_plugin.desktop <span style="color: grey">(0148eb2)</span></li>

 <li>libs/basicflakes/plugin/basicflakesplugin.desktop <span style="color: grey">(a9332ae)</span></li>

 <li>libs/flake/Mainpage.dox <span style="color: grey">(5aaa20c)</span></li>

 <li>libs/flake/filtereffect.desktop <span style="color: grey">(7531416)</span></li>

 <li>libs/flake/flake.desktop <span style="color: grey">(f5c7edd)</span></li>

 <li>libs/flake/flakeborder.desktop <span style="color: grey">(a0b2eb6)</span></li>

 <li>libs/flake/flakedevice.desktop <span style="color: grey">(c3eb4c2)</span></li>

 <li>libs/flake/flakeshape.desktop <span style="color: grey">(bc761e7)</span></li>

 <li>libs/flake/flaketool.desktop <span style="color: grey">(dcafd6a)</span></li>

 <li>libs/kopageapp/tools/backgroundTool/kopabackgroundtool.desktop <span style="color: grey">(877c190)</span></li>

 <li>libs/koplugin/KoPluginLoader.cpp <span style="color: grey">(7596c08)</span></li>

 <li>libs/main/calligradocker.desktop <span style="color: grey">(36bbc72)</span></li>

 <li>plugins/artistictextshape/artistictextshape.desktop <span style="color: grey">(b723610)</span></li>

 <li>plugins/chartshape/chartshape.desktop <span style="color: grey">(8b1baa5)</span></li>

 <li>plugins/colorengines/lcms2/colorspaces/gray_u8/calligragrayaplugin.desktop <span style="color: grey">(93fe4a0)</span></li>

 <li>plugins/colorengines/lcms2/kolcmsengine.desktop <span style="color: grey">(1b68a82)</span></li>

 <li>plugins/commentshape/commentshape.desktop <span style="color: grey">(afb12fc)</span></li>

 <li>plugins/defaultTools/defaulttools.desktop <span style="color: grey">(520bd42)</span></li>

 <li>plugins/dockers/calligradockers.desktop <span style="color: grey">(4ac59bc)</span></li>

 <li>plugins/formulashape/formulashape.desktop <span style="color: grey">(67fc72f)</span></li>

 <li>plugins/musicshape/musicshape.desktop <span style="color: grey">(8d5cd44)</span></li>

 <li>plugins/pathshapes/pathshapes.desktop <span style="color: grey">(856dbf6)</span></li>

 <li>plugins/pictureshape/pictureshape.desktop <span style="color: grey">(9084508)</span></li>

 <li>plugins/pluginshape/pluginshape.desktop <span style="color: grey">(97edbde)</span></li>

 <li>plugins/spacenavigator/spacenavigator.desktop <span style="color: grey">(3c6a217)</span></li>

 <li>plugins/staging/templateshape/templateshape.desktop <span style="color: grey">(2d9a145)</span></li>

 <li>plugins/staging/threedshape/threedshape.desktop <span style="color: grey">(cf45269)</span></li>

 <li>plugins/textediting/autocorrection/autocorrect.desktop <span style="color: grey">(3203075)</span></li>

 <li>plugins/textediting/changecase/changecase.desktop <span style="color: grey">(c20362f)</span></li>

 <li>plugins/textediting/spellcheck/spellcheck.desktop <span style="color: grey">(90517d1)</span></li>

 <li>plugins/textediting/thesaurus/thesaurustool.desktop <span style="color: grey">(3e37568)</span></li>

 <li>plugins/textshape/textshape.desktop <span style="color: grey">(89a585c)</span></li>

 <li>plugins/variables/textvariables.desktop <span style="color: grey">(6b7daa1)</span></li>

 <li>plugins/vectorshape/vectorshape.desktop <span style="color: grey">(c10b7c3)</span></li>

 <li>plugins/videoshape/videoshape.desktop <span style="color: grey">(6cfe0b5)</span></li>

 <li>sheets/shape/spreadsheetshape.desktop <span style="color: grey">(4e2ebe7)</span></li>

 <li>stage/part/tools/animationtool/calligrastagetoolanimation.desktop <span style="color: grey">(d0fcee0)</span></li>

 <li>stage/plugins/eventactions/calligrastageeventactions.desktop <span style="color: grey">(daa58d6)</span></li>

 <li>stage/plugins/variable/kprvariables.desktop <span style="color: grey">(7203635)</span></li>

</ul>

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







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




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