diff --git a/Userland/Libraries/LibGUI/Label.cpp b/Userland/Libraries/LibGUI/Label.cpp index 75f5e3df4ee..8c015683778 100644 --- a/Userland/Libraries/LibGUI/Label.cpp +++ b/Userland/Libraries/LibGUI/Label.cpp @@ -111,7 +111,12 @@ void Label::paint_event(PaintEvent& event) void Label::size_to_fit() { - set_fixed_width(static_cast(ceilf(font().width(m_text))) + m_autosize_padding * 2); + set_fixed_width(text_calculated_preferred_width()); +} + +int Label::text_calculated_preferred_width() const +{ + return static_cast(ceilf(font().width(m_text))) + m_autosize_padding * 2; } int Label::text_calculated_preferred_height() const @@ -121,6 +126,7 @@ int Label::text_calculated_preferred_height() const Optional Label::calculated_preferred_size() const { - return GUI::UISize(SpecialDimension::Grow, text_calculated_preferred_height()); + return GUI::UISize(text_calculated_preferred_width(), text_calculated_preferred_height()); } + } diff --git a/Userland/Libraries/LibGUI/Label.h b/Userland/Libraries/LibGUI/Label.h index a80217ba300..a74c4037b85 100644 --- a/Userland/Libraries/LibGUI/Label.h +++ b/Userland/Libraries/LibGUI/Label.h @@ -40,6 +40,7 @@ public: virtual Optional calculated_preferred_size() const override; int text_calculated_preferred_height() const; + int text_calculated_preferred_width() const; Gfx::IntRect text_rect() const;