diff --git a/Userland/Libraries/LibGUI/AbstractButton.h b/Userland/Libraries/LibGUI/AbstractButton.h index 72ef9cfeeaa..2151a0b3b8a 100644 --- a/Userland/Libraries/LibGUI/AbstractButton.h +++ b/Userland/Libraries/LibGUI/AbstractButton.h @@ -20,7 +20,7 @@ public: Function on_checked; - void set_text(String); + virtual void set_text(String); String const& text() const { return m_text; } bool is_exclusive() const { return m_exclusive; } diff --git a/Userland/Libraries/LibGUI/Toolbar.cpp b/Userland/Libraries/LibGUI/Toolbar.cpp index 62b16ee5817..81570302cdd 100644 --- a/Userland/Libraries/LibGUI/Toolbar.cpp +++ b/Userland/Libraries/LibGUI/Toolbar.cpp @@ -59,6 +59,17 @@ private: set_text(action.text()); set_button_style(Gfx::ButtonStyle::Coolbar); } + + virtual void set_text(String text) override + { + auto const* action = this->action(); + VERIFY(action); + + set_tooltip(tooltip(*action)); + if (!action->icon()) + Button::set_text(move(text)); + } + String tooltip(Action const& action) const { StringBuilder builder;