[applets/systemtray] Lazy initialize SystemTray model

Summary: SystemTray model was created in the constructor, delay initialization and create it lazily.

The SystemTray::appletAdded signal is connected to both SystemTray's model and Containment. Containment must be connected first, because it sets some properties of newly added applet: visible to false and parent to the root item (container). If Containment is connected second, then newly created applet is added to the model and rendered, but immediately after that Containment changes visibility to false.

BUG: 420993

FIXED-IN: 5.19.0

Test Plan:

  1. Do not play anything (no Medial Player icon at all)
  2. Run Gwenview
  3. Check if Medial Player icon in hidden view is rendered correct.

Before change: Sometimes icon is not rendered, looks like invisible or fully transparent.

After change: Icon rendered correctly.

Edited by Konrad Materka

Merge request reports