* Renames m_themesList to m_themes, because it's a tree-based QMap, so
it won't confuse developers.
* ItemModel::data() method:
- uses simpler and sound checkIndex();
- refactors from expensive QMap::{keys,values} (which construct a QList
each time they called) to stl-style key/value iterator;
* Other accesses to themes now use const iterators too.
This adds an option to set the accent color from the current wallpaper.
The way it works is that it exposes some DBus calls; if a wallpaper plugin
supports wallpaper accent colors then it should say so by this DBus call
when starting up and also should say which wallpaper is being currently
used (for the purpose of extracting an accent color from it) or set an
accent color itself. After that it should keep declaring the wallpaper or
set accent color whenever wallpaper changes or whenever the plugin author
thinks it is appropriate to say so.
There is already an implementation of the color extracting algorithm which
the plugin can either use, or else set whatever accent color it wants. The
necessary DBus calls for the official image and wallpaper plugin are
implemented, so they should work out of the box.
BUG: 444676
FIXED-IN: 5.25
Seems to be in vogue now, and got feature requests for this.
This uses the OKLAB colour space to tint colour schemes with
the accent colour (if it has one), for a more harmonious look.
Now when you click on a Global Theme, it will display a Kirigami sheet for
choosing what is applied. The user can choose individual appearance elements,
and apply the theme's desktop layout, or not.
BUG: 409015
BUG: 437037
FIXED-IN: 5.25
I removed that feature when killing the X specific code just using
the pixmap setter in 9f4ad82c5b5c47f6e3a3ed78ce559de4db361c78 (plasma-desktop).
To make it work we can drive the animation ourselves.
We don't have placeholders in any other field in this KCM.
Showing a placeholder is good to show a default value, but showing an
example of what an email address is with an incorrect value doesn't add
anything.
Allow experimenting with cursor sizes, too. The size can only be
changed with a change-of-theme, because the tool already blocks
setting-the-same-theme-again.
- List the cursor-theme identifiers in []
- Display the "this is the current theme" outside of the [] so
it is visually distinct from the identifiers
- Apply i18n() to "this is the current theme" because it was an
untranslated string before.
The QStringView::to<Number>() methods in Qt5 cause one extra allocation
compared to the QStringRef counter-part. As long as we aren't on a hot
path this is probably not worth the extra #ifdef though.