Skip to content

[kicker] Don't add invalid actions to the system action model

The system actions model recently changed behavior to always present all possible actions, with AbstractEntry::isValid driving the model role Kicker::DisabledRole so that views can e.g. grey out unavailable actions.

This was perceived as a regression by users who are annoyed at e.g. Hibernate being visible when their system setup precludes it more or less permanently.

This patch reverts this behavior.

Note that the dynamic approach we had permanently wasn't very great anyway, as the associated favorites models would remove entries when they became invalid, and they wouldn't come back automatically when the entry were to become valid again. In effect that means when you added one of these actions to e.g. the Kicker sidebar and it became unavailable it would disappear until re-added anyways.

I can imagine use cases where dynamic behavior would be useful to have - let's say disabling Shutdown/Reboot while a critical system update is being performed. But in that case we'd need to fix the favorites behavior and add some way to inform the user why the action is disabled for a good user experienced anyhow.

BUG:426645

Merge request reports