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 _______________________________________________ calligra-devel mailing list calligra-devel@kde.org https://mail.kde.org/mailman/listinfo/calligra-devel