Ladybird+Browser: Update zoom text on menu after clicking zoom button

This commit is contained in:
Karol Kosek 2023-08-04 13:37:52 +02:00 committed by Andreas Kling
parent cc9885c0c6
commit 49df2e1e3a
Notes: sideshowbarker 2024-07-17 23:07:41 +09:00
6 changed files with 19 additions and 4 deletions

View file

@ -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<int>(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<int>(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();
}

View file

@ -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();

View file

@ -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] {

View file

@ -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<int>(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();
}
}

View file

@ -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);

View file

@ -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);