An input type agnostic way to activate systray items was needed. This
signal will be used for keyboard, mouse and touch navigation.
There was an activated() function that just started an animation which
has been renamed to startActivatedAnimation().
PlasmoidPopupsContainer.qml has special code to handle merging headers
from applets if those applets use a PlasmaComponents3.Page instance as
their FullRepresentation. However this breaks for any applets that use
PlasmaExtras.Representation, which is a subclass of it that we have been
porting applets to over time, because it offers more features in a
single location. This caused the detection to break, so such applets
woudl have their headers improperly merged.
Explicitly detecting the use of PlasmaExtras.Representation as well
fixes it.
BUG: 438178
FIXED-IN: 5.24
Normally we don't use Kirigami in applets, so this might on its face
seem odd, but it's there for a reason, so add a comment explaining why.
GIT_SILENT
The system tray doesn't follow the panel opacity (it's always
transparent even when the setting is set to opaque or dynamic
with a maximised window present)
BUG: 439025
FIXED-IN: 5.23.5
We can leverage the `priority` property of QActions, which is Normal (128)
by default, and hide it from systray header if the priority is set to
LowPriority (0).
BUG: 446396
In most cases the port is trivial and can even simplify the code like in
the case of the system tray applet. In the case of notifications applet,
this is causing a bigger refactor and it's now also using a TextArea
that provides the automatic scrolling when selecting behavior.
CCBUG: 437155
This setting is more appropriate when in tablet mode, as it makes the
System Tray icons scale up to fill the panel's height/width. When tablet
mode exits, it returns to the default icon size setting (unless the user
already set to always be in "scale with panel" mode.
CCBUG: 439922
This makes the expander arrow match the scale of all the other icons
when using the "Scale with panel width" setting. Otherwise it looks too
small and is hard to use in tablet mode, if you're using that setting for
increased touch-friendliness.
BUG: 439922
FIXED-IN: 5.23
Plasmashell already handles closing the expanded representation
when the config dialog is openend (or keeping it open if it's
pinned).
Tested with opening system tray and applet configs both when pinned
and when unpinned.
BUG:440263
Fix a visual glitch that caused the icons and highlight of the items in
the HiddenItemsView of the systray to be blurry. This commit fixes this
by preventing the items from being positioned in a non-integer position.
This patch fixes an issue where action remain disabled after changing its
visibility off/on by filtering actions and creating buttons for visible
actions only. It also slightly improves the code.
Some applet config titles contain ampersands for mnemonic purposes. PC3.ToolTip filters them out but QQC2.Tooltip does not, so they are visible in the system tray config window.
BUG: 437605
Sometimes parent component on the applet is not fully updated - for
example effectiveStatus is not yet read from the model. In such case it
will have default value leading to undesired effect.
Call all `updateHighlightedItem` in `Qt.callLater` so that it is called
in next event loop. As a bonus it is called only once, which can improve
performance.
BUG: 437105
FIXED-IN: 5.22.0
This code was trying to filter out the configure action but failing
because it was comparing a QMenuItem to a QAction. We need to compare
the QMenuItem's internal QAction in order for the configure action to
ever match.
Highlight should work correctly if selected applet changes state
and is moved to hidden area and then comes back to visble area.
BUG: 435687
FIXED-IN: 5.22.0
Currently, applet can lose keyboard focus if you click on one of the buttons in its header, after which if you collapse and expand the applet again, the focus will remain on this button. This is extremely inconvenient if you prefer to use the keyboard to work with the applet (for example, with the Clipboard applet). This patch set keyboard focus back to the applet after switching the active applet (as well as after collapsing/expanding it).