`m_virtualDesktopInfo->currentDesktop()` will be regarded as a static
value in `std::bind`, which prevents the current desktop from being
updated, so use lambda instead.
BUG: 459199
FIXED-IN: 5.26
Code uses m_service unconditionally in many branches, it is exposed as
public API. Given KService is a data class with an isValid method, it's
clearer to ensure that KService::Ptr always returns a valid object which
in turn can then be valid rather than having two paths for the same
goal.
This can be relevant in a situation where an entry using the "preferred"
schema references an entry that doesn't exist.
BUG: 423524
We had disabled hover on the list item, so it would never become
visible. In addition, its visibility condition was wrong as we only want
it to become visible for list items that have elided text.
BUG: 459052
FIXED-IN: 5.26
otherwise we can dbus invoke with the wrong environment. specifically
this happens with the latest qtbase changes that introduced color
picking support on wayland. when we start a qguiapplication with
incomplete environment that dbus invokes the xdg-portal system and that
in turn has an incomplete environment resulting in theming and the likes
not properly applying because the portal doesn't know that it runs
inside a plasma session.
2dc083df00
BUG: 458865
1. `undefined` is an invalid value for `Layout.Preferred[something]`; instead
use -1 which is the correct thing.
2. `Layout.maximumLineCount` doesn't exist; use `Layout.maximumWidth` which was
probably the intention.
The value of previousItemInFocusChain is appletContainer when the applet
is on desktop, but we don't want to establish hidden tab focus relation
between appletContainer and the last battery item, so use `Keys.onTabPressed`
instead.
1. Add arrow key navigation support
2. Imrpove a11y description for battery items, so messages like "Your
battery is unhealthy" can be read by a screen reader.
The virtual keyboard can appear with a touch input, not just when
you're in Touch Mode. However b1888b5e9e
made the button only appear when in Touch Mode, giving the user no
clear way to close the virtual keyboard when it was invoked outside of
Touch Mode.
This commit fixes that by always showing the close button when the
keyboard is visible due to being activated with a touch event outside of
Touch mode. There is no change for the "disable virtual
keyboard" button.
If the task exchanges position with a group parent, the group parent
also needs to be consolidated.
Test:
1. Open many Konsole windows
2. Open Firefox (One window)
3. Now the task order is [Firefox] [Konsole Group Parent]
4. Move Firefox to the right of Konsole group parent.
5. Open group dialog of Konsole group parent
6. Move the first Konsole window down to the second position
7. Before this change, Firefox and Konsole group parent will exchange
positions, which is incorrect. After this change, the Konsole task in
the group dialog can be moved as expected.
The date can be changed using scrolling or the buttons provided. It does not animate the view though. With this MR I have tried to implement this. Though the goal here is not just animating the view. The user can now flick the view as well to change date. There is already https://invent.kde.org/plasma/plasma-workspace/-/merge_requests/1843 this MR that does all of this and more. But there was many controversial changes and the code was a mess. The way animation was being handled could be improved. This is a much more smaller version of that MR. I have tried to make as less changes as possible to the MonthView since it is already very messy. All I have done is creating a new component and wrapped the views in that component. The code changes not as much in the MonthView as it seems in the diff. Here's what I am talking about:

This will feel weird and random to the user, especially if they or one
of their apps deliberately uses that icon and then it unexpectedly isn't
displayed. This check feels too magical and unpredictable; let's remove
it to simplify things.
BUG: 458843
FIXED-IN: 5.26
This adds the ability to open the terminal from the main Plasma Shell
context menu. It was originally written as a Red Hat/Fedora patch
for KDE Workspace 4 to open Konsole from the desktop context menu
when Fedora switched to KDE 4, and ported forward to KDE Plasma 5
when Fedora Linux switched to Plasma 5 in Fedora 22.
It has been maintained as a downstream patch since then.
This version of the patch genericizes the patch by not implying that
Konsole is the user's terminal (it actually opens the user's chosen
terminal anyway), can be restricted via the desktop kiosk mode
settings, and is disabled by default.
The major maintainers of this patch are being honored as co-authors
for this patch. They have all helped keep this functionality working
across two KDE major versions for a decade.
Co-authored-by: Daniel Vrátil <dvratil@redhat.com>
Co-authored-by: Jan Grulich <jgrulich@redhat.com>
Co-authored-by: Marc Deop <marcdeop@fedoraproject.org>
Co-authored-by: Rex Dieter <rdieter@fedoraproject.org>
BUG: 451217
Currently, if you interact with one of the color temperature sliders
by scrolling, the preview message and full-screen color tint are
activated but never deactivated. This is because the deactivation only
happens in an `onPressedChanged` handler, but with a scroll, there is no
change to the `pressed` property's status, so it never fires and hence
the message and overlay never disappear.
This commit fixes that by using a timer to hide them that only triggers
when a slider is manipulated using a scroll.
BUG: 458675
FIXED-IN: 5.26