qtui: Rework the attention state behavior of the tray icon
Move the attention behavior handling into the SystemTray base class,
which now determines the correct icon names to display based on
the tray state and notification settings. Systray implementations
now just react on signals from the base class to update their
icons accordingly.
Extend the systray notification settings to allow for a more fine-
grained configuration. Users can now choose if the tray should be
alerted at all, and if so, if the tray icon should change color or
even blink instead of relying on the visualizer's default.
This now works with both StatusNotifierItem and the legacy tray.
qtui: Fix duplication of tray icon with StatusNotifier
Don't register a custom D-Bus service for the StatusNotifierItem.
Instead, just use the base service that is already registered.
Fixes the duplication of the tray icon that sporadically happened
with Plasma's SNI visualization, which sometimes forgot to properly
track the custom service name.
qtui: Don't show config for DockManager if not available
Instead of just disabling the checkbox for DockManager notifications,
hide the config widget if the D-Bus service is not available.
Otherwise it's really confusing to see a disabled option for a
notification backend that was basically retired 6 years ago.
qtui: Show core connection dialog only after initialization
Showing a blocking dialog in init() is a bad idea, because then
initialization doesn't actually finish until the dialog is closed.
For example, this delays the setup of the tray icon.
Instead, go through the event loop before showing the initial
connection dialog.