1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-25 20:27:45 +00:00

LibGUI: Reuse common parts in ScrollableContainerWidget

No functional changes.
This commit is contained in:
Karol Kosek 2022-05-07 13:06:20 +02:00 committed by Andreas Kling
parent ea99589d04
commit 3e4f912479

View file

@ -37,25 +37,22 @@ void ScrollableContainerWidget::update_widget_size()
if (!m_widget) if (!m_widget)
return; return;
m_widget->do_layout(); m_widget->do_layout();
auto new_size = Widget::content_size();
if (m_widget->is_shrink_to_fit() && m_widget->layout()) { if (m_widget->is_shrink_to_fit() && m_widget->layout()) {
auto new_size = Widget::content_size();
auto preferred_size = m_widget->layout()->preferred_size(); auto preferred_size = m_widget->layout()->preferred_size();
if (preferred_size.width() != -1) if (preferred_size.width() != -1)
new_size.set_width(preferred_size.width()); new_size.set_width(preferred_size.width());
if (preferred_size.height() != -1) if (preferred_size.height() != -1)
new_size.set_height(preferred_size.height()); new_size.set_height(preferred_size.height());
m_widget->resize(new_size);
set_content_size(new_size);
} else { } else {
auto inner_size = Widget::content_size();
auto min_size = m_widget->min_size(); auto min_size = m_widget->min_size();
auto new_size = Gfx::Size { new_size = Gfx::Size {
max(inner_size.width(), min_size.width()), max(new_size.width(), min_size.width()),
max(inner_size.height(), min_size.height()) max(new_size.height(), min_size.height())
}; };
m_widget->resize(new_size);
set_content_size(new_size);
} }
m_widget->resize(new_size);
set_content_size(new_size);
} }
void ScrollableContainerWidget::resize_event(GUI::ResizeEvent& event) void ScrollableContainerWidget::resize_event(GUI::ResizeEvent& event)