-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
http://reviewboard.kde.org/r/3322/
-----------------------------------------------------------

Review request for kdelibs and Plasma.


Summary
-------

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]]


Diffs
-----

  
svn://anonsvn.kde.org/home/kde/trunk/KDE/kdebase/workspace/kcontrol/style/kcmstyle.h
 1105269 
  
svn://anonsvn.kde.org/home/kde/trunk/KDE/kdebase/workspace/kcontrol/style/kcmstyle.cpp
 1105269 

Diff: http://reviewboard.kde.org/r/3322/diff


Testing
-------

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 ?


Thanks,

Darío

_______________________________________________
Plasma-devel mailing list
Plasma-devel@kde.org
https://mail.kde.org/mailman/listinfo/plasma-devel

Reply via email to