Skip to content
  • Eike Hein's avatar
    [kicker] Don't add invalid actions to the system action model · fcdbbda3
    Eike Hein authored
    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
    fcdbbda3