From 02b9461714feb327e7cafa90374bc2c6367cd74c Mon Sep 17 00:00:00 2001 From: FrHun <28605587+frhun@users.noreply.github.com> Date: Wed, 5 Oct 2022 22:26:29 +0200 Subject: [PATCH] LibGUI: Consider spacing for Toolbar overflow calculation --- Userland/Libraries/LibGUI/Toolbar.cpp | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/Userland/Libraries/LibGUI/Toolbar.cpp b/Userland/Libraries/LibGUI/Toolbar.cpp index 3e0801d9c0..62b16ee581 100644 --- a/Userland/Libraries/LibGUI/Toolbar.cpp +++ b/Userland/Libraries/LibGUI/Toolbar.cpp @@ -182,6 +182,7 @@ ErrorOr Toolbar::update_overflow_menu() auto position { 0 }; auto is_horizontal { m_orientation == Gfx::Orientation::Horizontal }; auto margin { is_horizontal ? layout()->margins().horizontal_total() : layout()->margins().vertical_total() }; + auto spacing { layout()->spacing() }; auto toolbar_size { is_horizontal ? width() : height() }; for (size_t i = 0; i < m_items.size() - 1; ++i) { @@ -192,7 +193,7 @@ ErrorOr Toolbar::update_overflow_menu() break; } item.widget->set_visible(true); - position += item_size; + position += item_size + spacing; } if (!marginal_index.has_value()) { @@ -207,10 +208,10 @@ ErrorOr Toolbar::update_overflow_menu() for (size_t i = marginal_index.value() - 1; i > 0; --i) { auto& item = m_items.at(i); auto item_size = is_horizontal ? item.widget->width() : item.widget->height(); - if (position + m_button_size + margin <= toolbar_size) + if (position + m_button_size + spacing + margin <= toolbar_size) break; item.widget->set_visible(false); - position -= item_size; + position -= item_size + spacing; marginal_index = i; } }