diff --git a/Userland/Applications/FileManager/main.cpp b/Userland/Applications/FileManager/main.cpp index cd2bdc6d68..3ed43c1e2e 100644 --- a/Userland/Applications/FileManager/main.cpp +++ b/Userland/Applications/FileManager/main.cpp @@ -649,10 +649,7 @@ ErrorOr run_in_windowed_mode(DeprecatedString const& initial_location, Depr auto& statusbar = *widget->find_descendant_of_type_named("statusbar"); GUI::Application::the()->on_action_enter = [&statusbar](GUI::Action& action) { - auto text = action.status_tip(); - if (text.is_empty()) - text = Gfx::parse_ampersand_string(action.text()); - statusbar.set_override_text(move(text)); + statusbar.set_override_text(action.status_tip()); }; GUI::Application::the()->on_action_leave = [&statusbar](GUI::Action&) { diff --git a/Userland/Applications/FontEditor/MainWidget.cpp b/Userland/Applications/FontEditor/MainWidget.cpp index c950d33747..50fe8c648e 100644 --- a/Userland/Applications/FontEditor/MainWidget.cpp +++ b/Userland/Applications/FontEditor/MainWidget.cpp @@ -647,10 +647,7 @@ ErrorOr MainWidget::create_widgets() }; GUI::Application::the()->on_action_enter = [this](GUI::Action& action) { - auto text = action.status_tip(); - if (text.is_empty()) - text = Gfx::parse_ampersand_string(action.text()); - m_statusbar->set_override_text(move(text)); + m_statusbar->set_override_text(action.status_tip()); }; GUI::Application::the()->on_action_leave = [this](GUI::Action&) { diff --git a/Userland/Applications/PixelPaint/main.cpp b/Userland/Applications/PixelPaint/main.cpp index 5761937e1f..e00be5e1d4 100644 --- a/Userland/Applications/PixelPaint/main.cpp +++ b/Userland/Applications/PixelPaint/main.cpp @@ -16,7 +16,6 @@ #include #include #include -#include #include ErrorOr serenity_main(Main::Arguments arguments) @@ -61,10 +60,7 @@ ErrorOr serenity_main(Main::Arguments arguments) auto& statusbar = *main_widget->find_descendant_of_type_named("statusbar"); app->on_action_enter = [&statusbar](GUI::Action& action) { - auto text = action.status_tip(); - if (text.is_empty()) - text = Gfx::parse_ampersand_string(action.text()); - statusbar.set_override_text(move(text)); + statusbar.set_override_text(action.status_tip()); }; app->on_action_leave = [&statusbar](GUI::Action&) { diff --git a/Userland/Applications/TextEditor/MainWidget.cpp b/Userland/Applications/TextEditor/MainWidget.cpp index 5c397d4e54..7e767fce48 100644 --- a/Userland/Applications/TextEditor/MainWidget.cpp +++ b/Userland/Applications/TextEditor/MainWidget.cpp @@ -37,7 +37,6 @@ #include #include #include -#include #include #include #include @@ -236,10 +235,7 @@ MainWidget::MainWidget() m_statusbar->segment(2).set_menu(m_line_column_statusbar_menu); GUI::Application::the()->on_action_enter = [this](GUI::Action& action) { - auto text = action.status_tip(); - if (text.is_empty()) - text = Gfx::parse_ampersand_string(action.text()); - m_statusbar->set_override_text(move(text)); + m_statusbar->set_override_text(action.status_tip()); }; GUI::Application::the()->on_action_leave = [this](GUI::Action&) { diff --git a/Userland/DevTools/HackStudio/HackStudioWidget.cpp b/Userland/DevTools/HackStudio/HackStudioWidget.cpp index def652a418..b86a778b60 100644 --- a/Userland/DevTools/HackStudio/HackStudioWidget.cpp +++ b/Userland/DevTools/HackStudio/HackStudioWidget.cpp @@ -156,10 +156,7 @@ ErrorOr> HackStudioWidget::create(DeprecatedStri widget->update_statusbar(); GUI::Application::the()->on_action_enter = [widget](GUI::Action& action) { - auto text = action.status_tip(); - if (text.is_empty()) - text = Gfx::parse_ampersand_string(action.text()); - widget->m_statusbar->set_override_text(move(text)); + widget->m_statusbar->set_override_text(action.status_tip()); }; GUI::Application::the()->on_action_leave = [widget](GUI::Action&) { diff --git a/Userland/DevTools/SQLStudio/MainWidget.cpp b/Userland/DevTools/SQLStudio/MainWidget.cpp index 78ae9d9a68..27dca8fc98 100644 --- a/Userland/DevTools/SQLStudio/MainWidget.cpp +++ b/Userland/DevTools/SQLStudio/MainWidget.cpp @@ -250,10 +250,7 @@ ErrorOr MainWidget::setup() m_statusbar->segment(2).set_fixed_width(font().width("Ln 0,000 Col 000"sv) + font().max_glyph_width()); GUI::Application::the()->on_action_enter = [this](GUI::Action& action) { - auto text = action.status_tip(); - if (text.is_empty()) - text = Gfx::parse_ampersand_string(action.text()); - m_statusbar->set_override_text(move(text)); + m_statusbar->set_override_text(action.status_tip()); }; GUI::Application::the()->on_action_leave = [this](GUI::Action&) { diff --git a/Userland/Games/2048/main.cpp b/Userland/Games/2048/main.cpp index 60c4049b71..2c678091f0 100644 --- a/Userland/Games/2048/main.cpp +++ b/Userland/Games/2048/main.cpp @@ -22,7 +22,6 @@ #include #include #include -#include #include #include #include @@ -76,10 +75,7 @@ ErrorOr serenity_main(Main::Arguments arguments) auto statusbar = main_widget->find_descendant_of_type_named("statusbar"); app->on_action_enter = [&](GUI::Action& action) { - auto text = action.status_tip(); - if (text.is_empty()) - text = Gfx::parse_ampersand_string(action.text()); - statusbar->set_override_text(move(text)); + statusbar->set_override_text(action.status_tip()); }; app->on_action_leave = [&](GUI::Action&) { diff --git a/Userland/Games/Flood/main.cpp b/Userland/Games/Flood/main.cpp index 0c338919a7..554d4004f9 100644 --- a/Userland/Games/Flood/main.cpp +++ b/Userland/Games/Flood/main.cpp @@ -93,10 +93,7 @@ ErrorOr serenity_main(Main::Arguments arguments) auto statusbar = main_widget->find_descendant_of_type_named("statusbar"); app->on_action_enter = [&](GUI::Action& action) { - auto text = action.status_tip(); - if (text.is_empty()) - text = Gfx::parse_ampersand_string(action.text()); - statusbar->set_override_text(move(text)); + statusbar->set_override_text(action.status_tip()); }; app->on_action_leave = [&](GUI::Action&) { diff --git a/Userland/Games/Hearts/main.cpp b/Userland/Games/Hearts/main.cpp index ace11f8a79..468f976ee9 100644 --- a/Userland/Games/Hearts/main.cpp +++ b/Userland/Games/Hearts/main.cpp @@ -66,10 +66,7 @@ ErrorOr serenity_main(Main::Arguments arguments) }; app->on_action_enter = [&](GUI::Action& action) { - auto text = action.status_tip(); - if (text.is_empty()) - text = Gfx::parse_ampersand_string(action.text()); - statusbar.set_override_text(move(text)); + statusbar.set_override_text(action.status_tip()); }; app->on_action_leave = [&](GUI::Action&) { diff --git a/Userland/Games/Solitaire/main.cpp b/Userland/Games/Solitaire/main.cpp index 89784d591d..9f6fbfa8f7 100644 --- a/Userland/Games/Solitaire/main.cpp +++ b/Userland/Games/Solitaire/main.cpp @@ -95,10 +95,7 @@ ErrorOr serenity_main(Main::Arguments arguments) statusbar.set_text(2, TRY("Time: 00:00:00"_string)); app->on_action_enter = [&](GUI::Action& action) { - auto text = action.status_tip(); - if (text.is_empty()) - text = Gfx::parse_ampersand_string(action.text()); - statusbar.set_override_text(move(text)); + statusbar.set_override_text(action.status_tip()); }; app->on_action_leave = [&](GUI::Action&) { diff --git a/Userland/Games/Spider/main.cpp b/Userland/Games/Spider/main.cpp index 24800a10a5..7b1d7ca7b7 100644 --- a/Userland/Games/Spider/main.cpp +++ b/Userland/Games/Spider/main.cpp @@ -142,10 +142,7 @@ ErrorOr serenity_main(Main::Arguments arguments) statusbar.set_text(2, TRY("Time: 00:00:00"_string)); app->on_action_enter = [&](GUI::Action& action) { - auto text = action.status_tip(); - if (text.is_empty()) - text = Gfx::parse_ampersand_string(action.text()); - statusbar.set_override_text(move(text)); + statusbar.set_override_text(action.status_tip()); }; app->on_action_leave = [&](GUI::Action&) { diff --git a/Userland/Libraries/LibGUI/Action.cpp b/Userland/Libraries/LibGUI/Action.cpp index 07de87bccb..34dfafc2e4 100644 --- a/Userland/Libraries/LibGUI/Action.cpp +++ b/Userland/Libraries/LibGUI/Action.cpp @@ -11,6 +11,7 @@ #include #include #include +#include namespace GUI { @@ -314,4 +315,12 @@ void Action::set_tooltip(DeprecatedString tooltip) }); } +DeprecatedString Action::status_tip() const +{ + if (!m_status_tip.is_empty()) + return m_status_tip; + + return Gfx::parse_ampersand_string(m_text); +} + } diff --git a/Userland/Libraries/LibGUI/Action.h b/Userland/Libraries/LibGUI/Action.h index 4b699a25ab..c5c389912b 100644 --- a/Userland/Libraries/LibGUI/Action.h +++ b/Userland/Libraries/LibGUI/Action.h @@ -88,7 +88,7 @@ public: DeprecatedString tooltip() const { return m_tooltip.value_or(m_text); } void set_tooltip(DeprecatedString); - DeprecatedString const& status_tip() const { return m_status_tip; } + DeprecatedString status_tip() const; void set_status_tip(DeprecatedString status_tip) { m_status_tip = move(status_tip); } Shortcut const& shortcut() const { return m_shortcut; }