mirror of
https://github.com/RGBCube/serenity
synced 2025-07-25 13:17:35 +00:00
LibGUI: Fix uniform TabWidget tabs bleeding outside the widget
The last uniform-sized tab button would bleed outside the tab bar area due to us not taking the bar margin into account.
This commit is contained in:
parent
1029069ad6
commit
bcd05e199b
2 changed files with 5 additions and 3 deletions
|
@ -278,8 +278,9 @@ int TabWidget::uniform_tab_width() const
|
||||||
int maximum_tab_width = 160;
|
int maximum_tab_width = 160;
|
||||||
int total_tab_width = m_tabs.size() * maximum_tab_width;
|
int total_tab_width = m_tabs.size() * maximum_tab_width;
|
||||||
int tab_width = maximum_tab_width;
|
int tab_width = maximum_tab_width;
|
||||||
if (total_tab_width > width())
|
int available_width = width() - bar_margin() * 2;
|
||||||
tab_width = width() / m_tabs.size();
|
if (total_tab_width > available_width)
|
||||||
|
tab_width = available_width / m_tabs.size();
|
||||||
return max(tab_width, minimum_tab_width);
|
return max(tab_width, minimum_tab_width);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -293,7 +294,7 @@ void TabWidget::set_bar_visible(bool bar_visible)
|
||||||
|
|
||||||
Gfx::IntRect TabWidget::button_rect(int index) const
|
Gfx::IntRect TabWidget::button_rect(int index) const
|
||||||
{
|
{
|
||||||
int x_offset = 2;
|
int x_offset = bar_margin();
|
||||||
for (int i = 0; i < index; ++i) {
|
for (int i = 0; i < index; ++i) {
|
||||||
auto tab_width = m_uniform_tabs ? uniform_tab_width() : m_tabs[i].width(font());
|
auto tab_width = m_uniform_tabs ? uniform_tab_width() : m_tabs[i].width(font());
|
||||||
x_offset += tab_width;
|
x_offset += tab_width;
|
||||||
|
|
|
@ -108,6 +108,7 @@ private:
|
||||||
Gfx::IntRect container_rect() const;
|
Gfx::IntRect container_rect() const;
|
||||||
void update_bar();
|
void update_bar();
|
||||||
void update_focus_policy();
|
void update_focus_policy();
|
||||||
|
int bar_margin() const { return 2; }
|
||||||
|
|
||||||
RefPtr<Widget> m_active_widget;
|
RefPtr<Widget> m_active_widget;
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue