1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-25 19:07:35 +00:00

LibGUI: Update buttons' text/tooltips in Action::set_text

This allows Actions that change based on some state to update their
associated buttons' text and tooltips to match their new text. The
play/pause button in SoundPlayer (and VideoPlayer if it's merged)
will now change tooltips when the playback changes state, rather than
always displaying "Play (Space)".
This commit is contained in:
Zaggy1024 2022-10-30 04:32:51 -05:00 committed by Andreas Kling
parent 1de1d6423b
commit e20756f9f7
4 changed files with 23 additions and 12 deletions

View file

@ -51,7 +51,6 @@ private:
if (action.group() && action.group()->is_exclusive())
set_exclusive(true);
set_action(action);
set_tooltip(tooltip(action));
set_focus_policy(FocusPolicy::NoFocus);
if (action.icon())
set_icon(action.icon());
@ -59,17 +58,6 @@ private:
set_text(action.text());
set_button_style(Gfx::ButtonStyle::Coolbar);
}
String tooltip(Action const& action) const
{
StringBuilder builder;
builder.append(action.text());
if (action.shortcut().is_valid()) {
builder.append(" ("sv);
builder.append(action.shortcut().to_string());
builder.append(')');
}
return builder.to_string();
}
virtual void enter_event(Core::Event& event) override
{