mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2024-12-12 09:20:36 +00:00
LibGUI: Parse ampersand string for tooltips only in GUI::Action
It seems unnecessary to pass every tooltip string through Gfx::parse_ampersand_string() when only Action tooltips need to parse a title.
This commit is contained in:
parent
aea244efe1
commit
16defb4806
Notes:
sideshowbarker
2024-07-17 03:16:02 +09:00
Author: https://github.com/krkk Commit: https://github.com/SerenityOS/serenity/commit/16defb4806 Pull-request: https://github.com/SerenityOS/serenity/pull/21020 Reviewed-by: https://github.com/AtkinsSJ
4 changed files with 8 additions and 3 deletions
|
@ -297,6 +297,11 @@ void Action::set_text(DeprecatedString text)
|
|||
});
|
||||
}
|
||||
|
||||
DeprecatedString Action::tooltip() const
|
||||
{
|
||||
return m_tooltip.value_or_lazy_evaluated([this] { return Gfx::parse_ampersand_string(m_text); });
|
||||
}
|
||||
|
||||
void Action::set_tooltip(DeprecatedString tooltip)
|
||||
{
|
||||
if (m_tooltip == tooltip)
|
||||
|
|
|
@ -84,7 +84,7 @@ public:
|
|||
DeprecatedString text() const { return m_text; }
|
||||
void set_text(DeprecatedString);
|
||||
|
||||
DeprecatedString tooltip() const { return m_tooltip.value_or(m_text); }
|
||||
DeprecatedString tooltip() const;
|
||||
void set_tooltip(DeprecatedString);
|
||||
|
||||
Optional<String> status_tip() const;
|
||||
|
|
|
@ -27,7 +27,7 @@ class Application::TooltipWindow final : public Window {
|
|||
public:
|
||||
void set_tooltip(DeprecatedString const& tooltip)
|
||||
{
|
||||
m_label->set_text(String::from_deprecated_string(Gfx::parse_ampersand_string(tooltip)).release_value_but_fixme_should_propagate_errors());
|
||||
m_label->set_text(String::from_deprecated_string(tooltip).release_value_but_fixme_should_propagate_errors());
|
||||
int tooltip_width = m_label->effective_min_size().width().as_int() + 10;
|
||||
int line_count = m_label->text().count("\n"sv);
|
||||
int font_size = m_label->font().pixel_size_rounded_up();
|
||||
|
|
|
@ -67,7 +67,7 @@ EmojiInputDialog::EmojiInputDialog(Window* parent_window)
|
|||
|
||||
for (auto const& category : s_emoji_groups) {
|
||||
auto name = Unicode::emoji_group_to_string(category.group);
|
||||
auto tooltip = name.replace("&"sv, "&&"sv, ReplaceMode::FirstOnly);
|
||||
DeprecatedString tooltip = name;
|
||||
|
||||
auto set_filter_action = Action::create_checkable(
|
||||
category.representative_emoji,
|
||||
|
|
Loading…
Reference in a new issue