[System Tray] Introduce "effectiveStatus" property and update visibility only when that changes

Authored by broulik on Feb 7 2017, 10:11 PM.



Instead of calling it in response to any of the properties it depends on.
This also saves some calls to this function on startup (80 instead of 90 for me with 14 tray icons) and keeps plasmoids from shifting around just because their status changed from e.g. Active to AcceptingInput (like touchpad when it asks for whether you really want to disable touchpad with no mouse attached) although the item's effective visibility didn't actually change.

BUG: 375112
CCBUG: 365630
FIXED-IN: 5.10.0

Test Plan
  • Disabling categories still completely hides items
  • Active/passive change still moves items from compact rep to popup and vice-versa
  • when touchpad applet asks for confirmation it no longer shifts around (used to move to the left-most (after notifications) position)

(I noticed that we don't actually support the HiddenStatus for plasmoids anymore which was originally introduced for system tray for applets to completely hide themselves)

Diff Detail

R120 Plasma Workspace
Automatic diff as part of commit; lint not applicable.
Automatic diff as part of commit; unit tests not applicable.
broulik updated this revision to Diff 11035.Feb 7 2017, 10:11 PM
broulik retitled this revision from to [System Tray] Introduce "effectiveStatus" property and update visibility only when that changes.
broulik updated this object.
broulik edited the test plan for this revision. (Show Details)
broulik added a reviewer: Plasma.
broulik set the repository for this revision to R120 Plasma Workspace.
Restricted Application added a project: Plasma. · View Herald TranscriptFeb 7 2017, 10:11 PM
Restricted Application added a subscriber: plasma-devel. · View Herald Transcript
mart accepted this revision.Feb 8 2017, 4:04 PM
mart added a reviewer: mart.
This revision is now accepted and ready to land.Feb 8 2017, 4:04 PM
This revision was automatically updated to reflect the committed changes.