deferred plugin loading

Boudewijn Rempt boud at valdyas.org
Fri Apr 8 14:28:06 BST 2011


Deferred loading of shape plugins now basically just works. There's one tricky bit: the tool factory should only be added when the shape first gets created. I've converted the spreadsheetshape to be deferred already. This code doesn't work for plugins that have a tool in the toolbox that is used to create shapes, only for shapes in the docker with tools that can be dynamically added.

For who wants to check the code: it's in the flake-deferred_plugins-rempt branch.

We have quite a number of shape plugins that are candidates for splitting up. Here's a list:

karbon/plugins/tools: 

A big plugin that contains all of karbon's plugin functionality. This one is tricky to defer because it contains so much stuff, all linked to karbon, which on the face of it makes it a good candidate for deferral.

kexi/shapes/relationdesign:

Pretty easy to split, I think.

kformula/flake

Easy to split as well, but I'm not sure how much will be gained by it.

kpresenter/part/

The animation tool -- not a shape, and I think it can be safely blocked by all other application using the .desktop-based whitelist/blacklist method Cyrille proposed.

plugins/

pathshapes
artistictextshape
divineProportion
pluginshape
chartshapecommentshape
textshape
vectorshape
musicshape
pictureshape
treeshape
videoshape

All these are easily made deferrable. In the case of bigger shapes, like textshape, musicshape or vectorhsape, this might be interesting. I'm not so sure about the rest.

-- 
Boudewijn Rempt | http://www.valdyas.org, http://www.krita.org



More information about the calligra-devel mailing list