Skip to content

applets/systemtray: Fix shortcut activation for hidden applets

Marco Martin requested to merge work/mart/preloadAppletsForShortcuts into master

The systray applet was opened by a connection to activated in the PlasmoidItem container element. This element is a delegate, of a Repeater for active applets, and for the internal GridView in the popup for the passive applets.

Being a Delegate we can't be guaranteed it will be instantiated at startup, in particular it won't be unless the first time the gridview is visible, so the connections to the activated signal won't work until the first time the applet is open. Also, if there would ever be enough icons in the popup to cause a scrollbar, it will destroy the PopupItems out of view.

Move the connection to the activate signal that will cause the popup to open inside an Instantiator in the main qml file: with an Instantiator we will always be guaranteed every delegate (which is just a Connections) will always be instantiated all the time

Depends on libplasma!1145 (merged)

BUG: 480173 FIXED-IN: 6.2 BUG: 488619

Edited by Marco Martin

Merge request reports