Review Request: Improve Style KCM loading time by delaying the Desktop (Plasma) Themes load

Darío Andrés andresbajotierra at
Sat Mar 20 13:16:12 GMT 2010

This is an automatically generated e-mail. To reply, visit:

Review request for kdelibs and Plasma.


Currently the Style KCM takes a few seconds to be started because it loads (from start, and twice) the Workspace (Plasma Themes)
As I sometimes want to only change the Application Widget Style, this load doesn't seem necessary and it consumes time. (it also causes a delay when loading "Appearance" on SystemSettings)

In order to avoid that I propose to load the desktop themes only after the "Workspace" tab is clicked.

I have tested different approaches to not block the UI, but they don't seem to be nice code.
So, the GUI will be blocked for a while, but as we are using QTimer::singleShot(100, ..., loadDesktopTheme), the GUI will be draw a first time, and then the themes will be loaded.
To improve the situation a bit more, I also set the cursor to "waiting" until the themes are loaded and appear on the list
(I was wondering if we could add a label or something saying "Loading themes" .. or if the whole situation is self-explanatory (busy cursor))

I also removed a call which loaded the themes when ThemeModel was created, because that will cause the themes to be loaded twice (taking 1.5~2x time)

[[In our future plans we wanted to split the Workspace theme to its own KCM, but until we do this (and if we ever do it), this seems like a nice improvement]]


  svn:// 1105269 
  svn:// 1105269 



No regressions so far
The overall KCM startup time decreased a lot
The blocked UI doesn't seem "blocked" as it is properly drawn a first time, and the busy cursor is shown

Was there an alternative to "QTimer::singleShot" just to perform a queued slot call ?



Plasma-devel mailing list
Plasma-devel at

More information about the kde-core-devel mailing list