Review Request 108823: Use X-KDE-PluginInfo-Name to identify plugins, not the lib/module name

Boudewijn Rempt boud at valdyas.org
Fri Feb 8 21:10:28 GMT 2013


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
http://git.reviewboard.kde.org/r/108823/#review27003
-----------------------------------------------------------

Ship it!


Good stuff!

- Boudewijn Rempt


On Feb. 7, 2013, 12:05 a.m., Friedrich W. H. Kossebau wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> http://git.reviewboard.kde.org/r/108823/
> -----------------------------------------------------------
> 
> (Updated Feb. 7, 2013, 12:05 a.m.)
> 
> 
> Review request for Calligra and Boudewijn Rempt.
> 
> 
> Description
> -------
> 
> 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.
> 
> 
> Diffs
> -----
> 
>   karbon/plugins/dockers/karbondockersplugin.desktop 1bc41b7 
>   flow/plugins/dockers/flowdockersplugin.desktop 351de6f 
>   braindump/plugins/stateshape/stateshape.desktop 1d9bae4 
>   braindump/plugins/webshape/webshape.desktop 8b58530 
>   karbon/plugins/filtereffects/karbonfiltereffects.desktop d728024 
>   karbon/plugins/tools/karbontools.desktop 48736f6 
>   kexi/plugins/shapes/relationdesign/kexirelationdesignshape.desktop 0d4bb8a 
>   krita/plugins/colorspaces/extensions/krita_colorspaces_extensions_plugin.desktop 0148eb2 
>   libs/basicflakes/plugin/basicflakesplugin.desktop a9332ae 
>   libs/flake/Mainpage.dox 5aaa20c 
>   libs/flake/filtereffect.desktop 7531416 
>   libs/flake/flake.desktop f5c7edd 
>   libs/flake/flakeborder.desktop a0b2eb6 
>   libs/flake/flakedevice.desktop c3eb4c2 
>   libs/flake/flakeshape.desktop bc761e7 
>   libs/flake/flaketool.desktop dcafd6a 
>   libs/kopageapp/tools/backgroundTool/kopabackgroundtool.desktop 877c190 
>   libs/koplugin/KoPluginLoader.cpp 7596c08 
>   libs/main/calligradocker.desktop 36bbc72 
>   plugins/artistictextshape/artistictextshape.desktop b723610 
>   plugins/chartshape/chartshape.desktop 8b1baa5 
>   plugins/colorengines/lcms2/colorspaces/gray_u8/calligragrayaplugin.desktop 93fe4a0 
>   plugins/colorengines/lcms2/kolcmsengine.desktop 1b68a82 
>   plugins/commentshape/commentshape.desktop afb12fc 
>   plugins/defaultTools/defaulttools.desktop 520bd42 
>   plugins/dockers/calligradockers.desktop 4ac59bc 
>   plugins/formulashape/formulashape.desktop 67fc72f 
>   plugins/musicshape/musicshape.desktop 8d5cd44 
>   plugins/pathshapes/pathshapes.desktop 856dbf6 
>   plugins/pictureshape/pictureshape.desktop 9084508 
>   plugins/pluginshape/pluginshape.desktop 97edbde 
>   plugins/spacenavigator/spacenavigator.desktop 3c6a217 
>   plugins/staging/templateshape/templateshape.desktop 2d9a145 
>   plugins/staging/threedshape/threedshape.desktop cf45269 
>   plugins/textediting/autocorrection/autocorrect.desktop 3203075 
>   plugins/textediting/changecase/changecase.desktop c20362f 
>   plugins/textediting/spellcheck/spellcheck.desktop 90517d1 
>   plugins/textediting/thesaurus/thesaurustool.desktop 3e37568 
>   plugins/textshape/textshape.desktop 89a585c 
>   plugins/variables/textvariables.desktop 6b7daa1 
>   plugins/vectorshape/vectorshape.desktop c10b7c3 
>   plugins/videoshape/videoshape.desktop 6cfe0b5 
>   sheets/shape/spreadsheetshape.desktop 4e2ebe7 
>   stage/part/tools/animationtool/calligrastagetoolanimation.desktop d0fcee0 
>   stage/plugins/eventactions/calligrastageeventactions.desktop daa58d6 
>   stage/plugins/variable/kprvariables.desktop 7203635 
> 
> Diff: http://git.reviewboard.kde.org/r/108823/diff/
> 
> 
> Testing
> -------
> 
> 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.
> 
> 
> Thanks,
> 
> Friedrich W. H. Kossebau
> 
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/calligra-devel/attachments/20130208/2a39854f/attachment.htm>


More information about the calligra-devel mailing list