Browse Source

LibGUI: Resize Label on font changes

And set fixed preferred heights when autosizing.
thankyouverycool 2 years ago
parent
commit
cfac3be0b3
2 changed files with 8 additions and 0 deletions
  1. 7 0
      Userland/Libraries/LibGUI/Label.cpp
  2. 1 0
      Userland/Libraries/LibGUI/Label.h

+ 7 - 0
Userland/Libraries/LibGUI/Label.cpp

@@ -109,9 +109,16 @@ void Label::paint_event(PaintEvent& event)
     }
     }
 }
 }
 
 
+void Label::did_change_font()
+{
+    if (m_autosize)
+        size_to_fit();
+}
+
 void Label::size_to_fit()
 void Label::size_to_fit()
 {
 {
     set_fixed_width(text_calculated_preferred_width());
     set_fixed_width(text_calculated_preferred_width());
+    set_fixed_height(text_calculated_preferred_height());
 }
 }
 
 
 int Label::text_calculated_preferred_width() const
 int Label::text_calculated_preferred_width() const

+ 1 - 0
Userland/Libraries/LibGUI/Label.h

@@ -49,6 +49,7 @@ protected:
     explicit Label(DeprecatedString text = {});
     explicit Label(DeprecatedString text = {});
 
 
     virtual void paint_event(PaintEvent&) override;
     virtual void paint_event(PaintEvent&) override;
+    virtual void did_change_font() override;
     virtual void did_change_text() { }
     virtual void did_change_text() { }
 
 
 private:
 private: