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

LibGUI: Use full text width for Label's preferred width

A label would prefer to be exactly as wide as its contained text
requires. This makes min_width: "fit" work better.
This commit is contained in:
kleines Filmröllchen 2023-02-09 15:21:15 +01:00 committed by Andrew Kaster
parent 9f5f6b3868
commit 376e7243a9
2 changed files with 9 additions and 2 deletions

View file

@ -111,7 +111,12 @@ void Label::paint_event(PaintEvent& event)
void Label::size_to_fit() void Label::size_to_fit()
{ {
set_fixed_width(static_cast<int>(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<int>(ceilf(font().width(m_text))) + m_autosize_padding * 2;
} }
int Label::text_calculated_preferred_height() const int Label::text_calculated_preferred_height() const
@ -121,6 +126,7 @@ int Label::text_calculated_preferred_height() const
Optional<UISize> Label::calculated_preferred_size() const Optional<UISize> 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());
} }
} }

View file

@ -40,6 +40,7 @@ public:
virtual Optional<UISize> calculated_preferred_size() const override; virtual Optional<UISize> calculated_preferred_size() const override;
int text_calculated_preferred_height() const; int text_calculated_preferred_height() const;
int text_calculated_preferred_width() const;
Gfx::IntRect text_rect() const; Gfx::IntRect text_rect() const;