The previous check for whether a device was non-removable in the
delegate was faulty and was doing too much work, which caused it to miss
non-root internal disks. In fact, we can already get this data straight
from the data engine. This fixes the bug and removes code in net.
BUG: 427176
FIXED-IN: 5.20.1
(cherry picked from commit 677d5dd872)
We were using a > when we should have been using a >=, so there was one
panel thickness that would make icons be too large for their panel and
get squeezed together uncomfortably.
BUG: 427690
FIXED-IN: 5.20.1
(cherry picked from commit afd1b432c2)
7bd9bea072 started using Prison
unconditionally via QML import. So if Prison isn't installed the
clipboard applet stops working, complaining that "org.kde.prison is
not installed".
While it would certainly be possible to add another call to
"find_package(KF5Prison)" with TYPE RUNTIME, the result in
feature_summary would be very confusing, because OPTIONAL has a higher
priority and the runtime hint would vanish if you build with e.g.
-DCMAKE_DISABLE_FIND_PACKAGE_KF5Prison=TRUE.
(cherry picked from commit 63f1b86005)
The previous calculation multiplied the DPR by `units.smallSpacing`, which was not correct; we wanted DPR added to the existing margin, not multiplied by it.
Also using Math.floor is safer since Math.round sometimes rounds up (e.g. in case DPR is 2.501) which can cause undesirable effects.
BUG: 425911
(cherry picked from commit 07992bc4ab)
In case a context menu is opened, we want to check the dialog it came from.
This fixes the case of notifications dancing around when opening a context menu in
System Tray but does not fix the case when opening a context menu in the notification
itself since there it cannot know that the still open System Tray popup is the one
we should evade and not the popup with the menu in it.
CCBUG: 426187
(cherry picked from commit bc12c6ca60)
This commit was preventing gitk from starting with
'unknown color name "BACKGROUND"' errors.
This reverts commit d360e3dcb6.
(cherry picked from commit f0764d87fe)
The current code is broken as the course of events is:
- we delete the containment
- an existing connect to containment deleted goes to
panelContainmentDestroyed
- this updates m_panelViews and calls deleteLater
- this deleteLater isn't run before other exit handlers
(cherry picked from commit d580367692)
DesktopView's constructor calls PlasmaQuick::ContainmentView(corona,
nullptr), to initialise the parent class. nullptr being the parent.
In this case it makes sense as QWindow's overload of setParent must be a
QWindow, but memory management has to happen somewhere.
(cherry picked from commit 9bc1f3bcf6)
The system actions model recently changed behavior to always present all
possible actions, with `AbstractEntry::isValid` driving the model role
`Kicker::DisabledRole` so that views can e.g. grey out unavailable
actions.
This was perceived as a regression by users who are annoyed at e.g.
`Hibernate` being visible when their system setup precludes it more or
less permanently.
This patch reverts this behavior.
Note that the dynamic approach we had permanently wasn't very great
anyway, as the associated favorites models would remove entries when
they became invalid, and they wouldn't come back automatically when the
entry were to become valid again. In effect that means when you added one
of these actions to e.g. the Kicker sidebar and it became unavailable
it would disappear until re-added anyways.
I can imagine use cases where dynamic behavior would be useful to have -
let's say disabling Shutdown/Reboot while a critical system update is
being performed. But in that case we'd need to fix the favorites
behavior and add some way to inform the user why the action is disabled
for a good user experienced anyhow.
BUG:426645
(cherry picked from commit fcdbbda396)
Right now he system tray displays a two row/column view at 50px, which
makes the two rows or columns feel a bit too squeezed.
This MR increases the threshold by adding some spacing, which changes
the cut-off to a 56px panel. As a result, it doesn't look as squeezed.
(cherry picked from commit 26c664506c)
They work, but they weren't marked as such. Now you can drad-and-drop
images of these types onto the desktop to get the correct drop menu.
BUG: 426379
FIXED-IN: 5.20
(cherry picked from commit fed19d4322)
Because the content is manufactured from scratch, we need to set the
height manually, or else everything will get scrunched together.
BUG: 427281
FIXED-IN: 5.20
This button only makes sense to show when using the "Removable devices"
setting in the combobox.
BUG: 427175
FIXED-IN: 5.20
(cherry picked from commit a9cef6070f)
The LauncherTasksModel tried to avoid a model reset by making certain
assumptions to save a few cycles. Ultimately this was misguided, in-
correctly not evicting the internal app data cache as well as causing
a lot more work in the view trying to compute layout deltas and some-
times causing a few frames of ugly animations.
There likely _is_ some optimization potential here, but it needs to
be done smarter later on.
(cherry picked from commit 40d7df210f)
When computing the delta between the visible and the last saved launcher
order state, following the reordering of launchers, the code was incorrectly
comparing resolved and unresolved (i.e., for config storage) launcher URLs.
This lead to an incorrect result and therefore pinned tasks jumping around
in the Task Manager applet.
BUG:426880
(cherry picked from commit fa00ca6a01)
1. Use Kirigami, not PlasmaCore, since this is a config window
2. Remove PlasmaCore import now that it's no longer used
3. Set implicitWidth/height on Kirigami.Icon, not width/height
4. Use SmallMedium icon sizes, which is typical for list items like this
(cherry picked from commit e43c766df5)
The old applet only opened the popup when a new device was attached
after the applet was loaded, not if there was already a device attached
when the applet was loaded. This commit brings back the old behavior by
re-using the approach taken in the old applet.
BUG: 426990
FIXED-IN: 5.20
(cherry picked from commit 7f5339cb77)
Now the grid can have more than 2 rows/columns on really thick panels,
just like in Plasma 5.19 and earlier.
BUG: 427251
FIXED-IN: 5.20
(cherry picked from commit 649b50cdfe)
A popup needs to grab the keyboard and the pointer in order to dismiss
itself when another window is clicked. It works perfectly on X11.
On Wayland though, the compositor is responsible for dismissing popups
if some surface of another application has been clicked. Note that I
said "of another application." If user clicks some surface of the same
application, the compositor won't dismiss the popup.
If the application uses only QtWidgets, then the popup will be closed
as expected in both cases. But if the application uses both Qt Quick and
Qt Widgets, e.g. plasmashell, then the popup won't be dismissed if a
QQuickItem has been clicked.
It is a Qt bug, but for the time being, this change introduces an event
filter that monitors Qt::MouseButtonPress events and when needed closes
the active popup widget. This is a workaround.
CCBUG: 379635
(cherry picked from commit 6689abaffb)
It can apparently happen that virtual desktops is empty at a given point
in time. Potentially due to other bugs on the system.
Calls to desktopIds.at(N) will fail.
BUG: 427106
(cherry picked from commit 2441c82a2a)
This method calls doesn't seem to work anymore having been replaced by
the more intuitve virtual paths on the logind over a year ago.
Arguably that's still a bug upstream that GetSessionByPID no longer
works correctly, but we may as well port to the simpler path that avoids
so many layers of indirection.
Use of "/auto" does not exist on old distros so the legacy path is kept.
The paths used in this class were always wrong, which went unnoticed as
this is the first usage of them.
BUG: 423526
(cherry picked from commit bb7b1226e6)
We release space but never assign new space for the item so we end up thinking
the space that the item ends up occupying is free.
(cherry picked from commit 2b9382f414)
Today on master, the system tray menu *always* shows a back button, regardless of the context.
But when all items are visible, the back button simply acts as a "close" button, since we are
only "one layer" deep and there is nowhere to go back to. This commit fixes that issue by only
displaying the back button hen the hidden items view has any items in it such that you could go
back to it.
(cherry picked from commit eb411f7bf0)
setGlobalShortcut sets the default shortcut and binds the current shortcut
to the action. It will not overwrite the current shortcut if the user configure
a different one.
(cherry picked from commit 78ca6af183)
- Increase the size of next/previous media toolbuttons. I didn't think there was enough padding around the buttons here.
- Set a default width and height of LockScreen.qml. This makes it start with a sane default size when run with qmlscene.
(cherry picked from commit 99475b09a5)