diff --git a/Userland/Libraries/LibGUI/AbstractScrollableWidget.cpp b/Userland/Libraries/LibGUI/AbstractScrollableWidget.cpp index 596884a075..8dc67c0672 100644 --- a/Userland/Libraries/LibGUI/AbstractScrollableWidget.cpp +++ b/Userland/Libraries/LibGUI/AbstractScrollableWidget.cpp @@ -331,4 +331,12 @@ Gfx::IntPoint AbstractScrollableWidget::to_widget_position(Gfx::IntPoint const& widget_position.translate_by(frame_thickness(), frame_thickness()); return widget_position; } + +Optional AbstractScrollableWidget::calculated_min_size() const +{ + auto vertical_scrollbar = m_vertical_scrollbar->effective_min_size().height().as_int(); + auto horizontal_scrollbar = m_horizontal_scrollbar->effective_min_size().width().as_int(); + return { { horizontal_scrollbar + corner_widget().width() + frame_thickness() * 2, vertical_scrollbar + corner_widget().height() + frame_thickness() * 2 } }; +} + } diff --git a/Userland/Libraries/LibGUI/AbstractScrollableWidget.h b/Userland/Libraries/LibGUI/AbstractScrollableWidget.h index 88030ef5f6..4c521ecae2 100644 --- a/Userland/Libraries/LibGUI/AbstractScrollableWidget.h +++ b/Userland/Libraries/LibGUI/AbstractScrollableWidget.h @@ -70,6 +70,8 @@ public: Gfx::IntRect to_content_rect(Gfx::IntRect const& widget_rect) const { return { to_content_position(widget_rect.location()), widget_rect.size() }; } Gfx::IntRect to_widget_rect(Gfx::IntRect const& content_rect) const { return { to_widget_position(content_rect.location()), content_rect.size() }; } + virtual Optional calculated_min_size() const override; + protected: AbstractScrollableWidget(); virtual void custom_layout() override;