Browse Source

LibGUI: Add optional autosize padding

Matthew Olsson 3 years ago
parent
commit
2b9ffe2989
2 changed files with 6 additions and 4 deletions
  1. 4 3
      Userland/Libraries/LibGUI/Label.cpp
  2. 2 1
      Userland/Libraries/LibGUI/Label.h

+ 4 - 3
Userland/Libraries/LibGUI/Label.cpp

@@ -34,11 +34,12 @@ Label::Label(String text)
     REGISTER_STRING_PROPERTY("icon", icon, set_icon_from_path);
 }
 
-void Label::set_autosize(bool autosize)
+void Label::set_autosize(bool autosize, size_t padding)
 {
-    if (m_autosize == autosize)
+    if (m_autosize == autosize && m_autosize_padding == padding)
         return;
     m_autosize = autosize;
+    m_autosize_padding = padding;
     if (m_autosize)
         size_to_fit();
 }
@@ -108,7 +109,7 @@ void Label::paint_event(PaintEvent& event)
 
 void Label::size_to_fit()
 {
-    set_fixed_width(font().width(m_text));
+    set_fixed_width(font().width(m_text) + m_autosize_padding * 2);
 }
 
 int Label::preferred_height() const

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

@@ -37,7 +37,7 @@ public:
     void set_should_stretch_icon(bool b) { m_should_stretch_icon = b; }
 
     bool is_autosize() const { return m_autosize; }
-    void set_autosize(bool);
+    void set_autosize(bool, size_t padding = 0);
 
     int preferred_height() const;
 
@@ -58,6 +58,7 @@ private:
     Gfx::TextWrapping m_text_wrapping { Gfx::TextWrapping::Wrap };
     bool m_should_stretch_icon { false };
     bool m_autosize { false };
+    size_t m_autosize_padding { 0 };
 };
 
 }