This is a stripped down version of customizable demo available at my
invent repo[1]. It is optimized for this particular use-case. Animation
honors right-to-left application layout and "instant animation speed"
preference.
[1]: https://invent.kde.org/ratijas/reject-input-animation/
When an applet is about to be deleted, it will save its config
automatically, but in this case the system tray doesn't need to load the
config again.
BUG: 453726
Because why not; and also because it makes for a nice flow when user
does not have a password set: just press Enter (twice, if focused on a
user list).
It was lost during refactoring some time ago, but the intention was
to give focus to the next item in focus chain assuming that's either a
username or a password field.
This patch is a less flexible but also less messy and more direct way to
achieve practically the same thing. Additionally, explicit Tab focus
reason gives a loginButton a nice visual focus which one would expect
to see instead of no visual changes. It was tempting to directly call
startLogin when password is not required, but that would be surprising
when the signal itself is triggered by the Escape key.
CCBUG: 336368
`void *` casts into anything but `QVariant::value()` (most of the time)
does a metatype check which needs to match.
Also, we need to unwrap the `QPointer`.
BUG: 453301
Currently the large spacing setting for the System Tray is different from the large
spacing setting for Task Manager icons. So when both are set to large (e.g. in Tablet
mode) they look out of sync.
Instead of using a ScrollView just for the battery items, convert the
existing ColumnLayout to the header of the ListView. Then everything
works magically :)
Co-Authored-By: Carl Schwan <carl@carlschwan.eu>
When Plasma does not have focus on Wayland, we can't avoid Qt creating a xdg_toplevel.
It will get a decoration by default by KWin. Setting the flag avoids this.
CCBUG:436249
On Wayland if Plasma had no focus when the shortcut was invoked
- the menu window is created as toplevel because it has no parent and
there is no current focusWindow
- the application can't know the currrent cursor position
We use a newly introduced request on plasma_surface to open under the cursor.
As it can only be called before mapping a buffer to a surface, the menu is hidden
before being shown again.
BUG:436249
FIXED-IN:5.25
In case both IconName and IconPixmap are provided, the system tray
applet is going to prefer the pixmap.
That can create a dark icon on dark background bug because plasma can't
recolor pixmaps.
The SNI spec recommends visualizations to prefer icons over pixmaps:
> An icon can either be identified by its Freedesktop-compliant icon
> name, carried by this property of by the icon data itself, carried by
> the property IconPixmap. Visualizations are encouraged to prefer icon
> names over icon pixmaps if both are available (FIXME: still not very
> defined: could e the pixmap used as fallback if an icon name is not found?)
BUG: 418996
This allows 3rd parties to provide additional actions in the context
menu of applications in kicker, kickoff,... by supplying suitable
desktopfiles in GENERIC_DATA_LOCATION/plasma/kickeractions similar
to mechanism used for service menues.
Entries for which the actions are displayed can be controlled by
X-KDE-OnlyForAppIds in the [Desktop Entry], for example
X-KDE-OnlyForAppIds=org.kde.kate,org.kde.dolphin
This was requested as a patch for steam, but we've made a generic
solution so that it can be used by everyone.
28537cf3ff made the color dynamic, but
neglected to respect the Plasma color scheme, if any. This causes
problems with Plasma themes that have their own colors and don't
respect the systemwide color scheme, such as Breeze Twilight.
Fix it by using the appropriate colors from the PlasmaCore color scheme
object, not the systemwide object provided by Qt.
BUG: 453348
FIXED-IN: 5.24.6
With the check box options previously on the "Actions" page, plus the
"Advanced" button (renamed to "Excluded Windows" to better reflect its
function), a shadow of the enable option (as on the system tray
popup menu) and the popup time (originally on the "General" page).
This brings all of the popup menu configuration options together,
and allows more space for the list on the "Actions" page.
Consistent wording referring to the menu throughout.
Add a message to point the user towards the next page for
configuring the actions.
Add some explanation text to the "Exclusions" list dialogue to explain
its function.
Amends c067d4985a.
Having `preferredWidth: 1` set on an only item that also stretches with
fillWidth AND without top-to-bottom sizing (fixed size imposed by
parent component) doesn't really make sense. It naturally increased row
layout's implicitWidth by only 1, and that value were used as an input
to the final width expression (bottom-up sizing).
This patch fixes the sizing model to be strictly implicit bottom-up and
explicit top-down, and so the slider no longer collapses.
BUG: 446185
Using "preferred" layout size as a source of truth is more correct than
choosing between minimum and maximum sizes for that same purpose. This
does not technically fix or impact anything per se; just makes the code
slightly better.
* 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.