diff --git a/Ladybird/BrowserWindow.cpp b/Ladybird/BrowserWindow.cpp index 24727f4ed9e..8ec06405a57 100644 --- a/Ladybird/BrowserWindow.cpp +++ b/Ladybird/BrowserWindow.cpp @@ -614,6 +614,13 @@ void BrowserWindow::reset_zoom() update_displayed_zoom_level(); } +void BrowserWindow::update_zoom_menu() +{ + VERIFY(m_zoom_menu); + auto zoom_level_text = MUST(String::formatted("&Zoom ({}%)", round_to(m_current_tab->view().zoom_level() * 100))); + m_zoom_menu->setTitle(qstring_from_ak_string(zoom_level_text)); +} + void BrowserWindow::select_all() { if (!m_current_tab) @@ -627,9 +634,8 @@ void BrowserWindow::select_all() void BrowserWindow::update_displayed_zoom_level() { - VERIFY(m_zoom_menu && m_current_tab); - auto zoom_level_text = MUST(String::formatted("&Zoom ({}%)", round_to(m_current_tab->view().zoom_level() * 100))); - m_zoom_menu->setTitle(qstring_from_ak_string(zoom_level_text)); + VERIFY(m_current_tab); + update_zoom_menu(); m_current_tab->update_reset_zoom_button(); } diff --git a/Ladybird/BrowserWindow.h b/Ladybird/BrowserWindow.h index cd33b8a42a2..a58d8656d5b 100644 --- a/Ladybird/BrowserWindow.h +++ b/Ladybird/BrowserWindow.h @@ -85,6 +85,7 @@ public slots: void zoom_in(); void zoom_out(); void reset_zoom(); + void update_zoom_menu(); void select_all(); void copy_selected_text(); diff --git a/Ladybird/Tab.cpp b/Ladybird/Tab.cpp index 81efe692683..d5dcf77500e 100644 --- a/Ladybird/Tab.cpp +++ b/Ladybird/Tab.cpp @@ -94,6 +94,7 @@ Tab::Tab(BrowserWindow* window, StringView webdriver_content_ipc_path, WebView:: QObject::connect(m_reset_zoom_button, &QAbstractButton::clicked, [this] { view().reset_zoom(); update_reset_zoom_button(); + m_window->update_zoom_menu(); }); view().on_activate_tab = [this] { diff --git a/Userland/Applications/Browser/BrowserWindow.cpp b/Userland/Applications/Browser/BrowserWindow.cpp index 5f6a1f328f6..aee603ec2dd 100644 --- a/Userland/Applications/Browser/BrowserWindow.cpp +++ b/Userland/Applications/Browser/BrowserWindow.cpp @@ -760,12 +760,17 @@ void BrowserWindow::event(Core::Event& event) Window::event(event); } -void BrowserWindow::update_displayed_zoom_level() +void BrowserWindow::update_zoom_menu() { VERIFY(m_zoom_menu); auto zoom_level_text = String::formatted("&Zoom ({}%)", round_to(active_tab().view().zoom_level() * 100)).release_value_but_fixme_should_propagate_errors(); m_zoom_menu->set_name(zoom_level_text); +} + +void BrowserWindow::update_displayed_zoom_level() +{ active_tab().update_reset_zoom_button(); + update_zoom_menu(); } } diff --git a/Userland/Applications/Browser/BrowserWindow.h b/Userland/Applications/Browser/BrowserWindow.h index 5841ae1c106..ca39c976ae9 100644 --- a/Userland/Applications/Browser/BrowserWindow.h +++ b/Userland/Applications/Browser/BrowserWindow.h @@ -45,6 +45,7 @@ public: void content_filters_changed(); void autoplay_allowlist_changed(); void proxy_mappings_changed(); + void update_zoom_menu(); void broadcast_window_position(Gfx::IntPoint); void broadcast_window_size(Gfx::IntSize); diff --git a/Userland/Applications/Browser/Tab.cpp b/Userland/Applications/Browser/Tab.cpp index a00659fb961..9598ca969c5 100644 --- a/Userland/Applications/Browser/Tab.cpp +++ b/Userland/Applications/Browser/Tab.cpp @@ -207,6 +207,7 @@ Tab::Tab(BrowserWindow& window, WebView::UseJavaScriptBytecode use_javascript_by m_reset_zoom_button->on_click = [&](auto) { view().reset_zoom(); update_reset_zoom_button(); + window.update_zoom_menu(); }; m_reset_zoom_button->set_button_style(Gfx::ButtonStyle::Coolbar); m_reset_zoom_button->set_visible(false);