kcmodule and kcmoduleproxy
mail at dipe.org
Thu Dec 4 02:46:10 GMT 2008
On Thursday 04 December 2008, Sebastian Sauer wrote:
> Hi *
> The KCMultiDialog class used for e.g. "Configure Konqueror" uses kcmodule
> for its configurable items and kcmoduleproxy which allows to delay loading
> the kcmodule plugins till they are requested.
> Current situation is, that the kcmodule's are just always loaded and not
> only if they are needed/displayed. That results here in a delay of around
> 10 seconds if I call "Configure Konqueror" till the dialog is displayed and
> does render the kcmoduleproxy's unneeded. The reason for that is, that on
> addPage() also KCModuleProxy::minimumSizeHint() got called and there the
> kcmodule is loaded.
Guess some more details can't harm :)
I suppose the reason why loading the modules such early was, to prevent
dialogs that change there minsize by just clicking on another config-item.
But that does, beside the performance-prob, provide imho much bigger problems
cause child-widgets should not be able to set the minsize of the dialog they
are in else the dialog may go to large on smaller devices and the ok+cancel
buttons are not accessible any longer (except somebody knows about
ALT+leftmouse trick to move the window).
Also that doesn't work well for smaller devices like the nokia device some of
us got or netbooks (e.g. Konqi's configuration is not usuable at my 800x600
device - see here also
thanks Paul :-)
Rather then this "force minsize" we should go a similar way like at
systemsettings. At the worst case just put the kcm-widget into a qscrollview
or even better, group things better to work also with smaller resolutions but
don't force something that can't be guaranteed to work well.
More information about the kde-core-devel