kcmodule and kcmoduleproxy

Sebastian Sauer 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 
http://hemswell.lincoln.ac.uk/~padams/index.php?entry=entry081104-205609 - 
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 mailing list