Просмотр исходного кода

LibGUI: Resize Label on font changes

And set fixed preferred heights when autosizing.
thankyouverycool 2 лет назад
Родитель
Сommit
cfac3be0b3
2 измененных файлов с 8 добавлено и 0 удалено
  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()
 {
     set_fixed_width(text_calculated_preferred_width());
+    set_fixed_height(text_calculated_preferred_height());
 }
 
 int Label::text_calculated_preferred_width() const

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

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