QCursor::pos does not work under Wayland. So use active output from KWin to
determine startup screen. This will also honor the 'Active screen follows
mouse' option from Window Behavior (also under X11).
Depends on KWin merge request https://invent.kde.org/plasma/kwin/-/merge_requests/2209
BUG: 427069
FIXED-IN: 5.25
There's no need to reconstruct the entire menu, when it exists already.
Also shows correct behavior on Wayland because the imported menues have
correct parents compared to the new one.
BUG:438467
When the mouse hovers the appmenu item, the text color should be inverted to the background
color. Before this commit, the text was still the same color as the "REST" state, making it
difficult to recognize.
Instead just set the right focus properties so that we are actually
declaring what we want instead of bypassing all the focus mechanisms.
This also uses Plasmoid.expanded to ensure we reevalute the focus
binding when the applet is reshown so it is in a known state.
We use a checkmark icon for the notifications applet since having no
unread notifications is considered a good thing. In this busy modern
world, having no scheduled events on a particular day can be considered
in the same way, so let's use a checkmark icon here too.
Often, it's hard to gague a numeric 'how much is that' from larger
file transfer jobs, e.g. '150 MB of 7 GB' isn't trivial to guess
a rough percent from. Adding an explicit percentage makes these cases
far easier to gague numerically.
Currently, every time adding a new item, `beginInsertRows` and
`endInsertRows` are called, which is not efficient. Use `beginResetModel`
and `endResetModel` before and after loading history items to avoid
frequently emitting inserted signals.
CCBUG: 450989
Now that we depend on a new enough version of PlaceholderMessage, we can
use its explanation: property to display a subtitle, rather than a child
Label item.
The code is borrowed from the wallpaper: use a StackView to handle
multiple Image instances, and cross-fade between them when the
artwork changes.
BUG: 446862
FIXED-IN: 5.25
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.
Power profile labels are gone and replaced with only two descriptive
icons, and now there's only one of label at the top of the slider,
which aligns with what `BrightnessItem`s do.
Padding of the header is handled now entirely within the header itself.
By passing the appropriate mask we get NET::Notification instead of NET::Override as type
This results in notifications being not added to the model, which makes sense given they are not tasks