A single Plasma theme will be represented by one ThemePrivate object,
which is exported in multiple Theme objects.
We want to save the cache when that theme stops being used, not each
time an item stops using the theme.
saveSvgElementsCache calls sync() which involves a lot of parsing and
IO. This makes everything a lot faster at no cost.
Change-Id: Ica6ba0273bc99fb8ad8733a1c90db8f1e87c49ea
KConfig->reparseConfiguration is expensive. It throws away our cached
values.
The Units constructor was calling this every single time. Units is
created a _lot_; once per applet and once per FrameSVGItem.
This meant we were reloading the same config ~100 times on startup for
no reason.
Perf showed this as being ~5% of the total startup time.
- 7.47% 0.00% plasmashell libKF5ConfigCore.so.5.5.0
[.] KConfig::reparseConfiguration()
- KConfig::reparseConfiguration()
+ 66.51% Units::settingsFileChanged(QString const&)
+ 25.95% KConfig::KConfig(QString const&,
QFlags<KConfig::OpenFlag>, QStandardPaths::StandardLocation)
+ 3.93% KDesktopFile::KDesktopFile(QString const&)
+ 3.61% Units::settingsFileChanged(QString const&)
Change-Id: Ia70b7001ba473c8063e6c999b8e4233ea5b206f5
If an invalid icon size is passed to roundToIconSize we should return an
invalid icon size.
This can cause IconItem to load a small pixmap which will never be
shown.
Change-Id: Ia678f2e879b83317e2971069acf8f00d9ce2e052
The module .desktop file has a typo in the X-KDE-DBus-ModuleName which
results in the KCM not being able to see the status of the module.
Plus it renames the .desktop file to not contain the kded_ prefix, now
it matches every other kded .desktop file we ship (and also matches the
library and dbus module names).
Change-Id: I5006672ca041d9820b4388ba4e99b7899f36be18
updateMinimumWidth and updateMaximumWidth wrongly set the updated
value to height instead of width.
Change-Id: Ie24ef194d9bf02e53b92aa6802b0fbded68b896d
some of the behavior of the theme has changed.
this makes some of the old themes to not work correctly
(like black text on black)
read a version number of the "plasma version this theme has been intended for"
and use it to change the behavior for retrocompatibility
(all themes that don't export this are assumed to be from KDE4)
Change-Id: I4bc20a0c10de9f9a6c3facd63b6c5b6da210039a
in order to minimize resizes, redraws and eventual reloading of images,
try to initialize the wallpaper with the correct size already.
reviewed by: Kai Uwe Broulik <kde@privat.broulik.de>
Change-Id: I8489744cb845213195f1916bfb9328c53ec0798d
DialogStatus, as in other Dialog variants, can only be accessed through
the PlasmaComponents namespace.
Fixes 3 ReferenceErrors in SelectionDialog and makes it actually work.
It is possible to put a PlasmaCore.ColorScope element, to automatically
change the colors:
if for instance the complementary scope will be set, all labels
descendent of such element would flip their color
Change-Id: I2214aca522eb094cf067d8726c5bf2a7ecbf36b3
It's no longer necessary to add extra margin at the outside edge
with the panel theming fix.
Also clean up element positions to make the file easier to work
with.
Test is enhanced to also cover vertical bars. The ProgressBar does not yet use
the vertical assets since Qt just conveniently rotates the bar for us and
apparently just overriding the entire "panel" component is evil
REVIEW: 121085
this makes sure if there is an item with focus in the applet,
it and all its parent are removed the focus when the applet is deleted.
otherwise when there is an item with focus that loses its qquickwindow,
it will never be able to gain it again
it's a workaround but i'm not sure how should be fixed in qquickitem,
or if is even appropriate
Change-Id: I72c8f01d4557003604c4261ca5a9ab49dd136b02