diff --git a/Userland/Libraries/LibGUI/Button.cpp b/Userland/Libraries/LibGUI/Button.cpp index 94f7db79ae..17b0f07667 100644 --- a/Userland/Libraries/LibGUI/Button.cpp +++ b/Userland/Libraries/LibGUI/Button.cpp @@ -94,8 +94,8 @@ void Button::paint_event(PaintEvent& event) } auto& font = is_checked() ? Gfx::FontDatabase::default_bold_font() : this->font(); if (m_icon && !text().is_empty()) { - content_rect.move_by(m_icon->width() + 4, 0); - content_rect.set_width(content_rect.width() - m_icon->width() - 4); + content_rect.move_by(m_icon->width() + icon_spacing(), 0); + content_rect.set_width(content_rect.width() - m_icon->width() - icon_spacing()); } Gfx::IntRect text_rect { 0, 0, font.width(text()), font.glyph_height() }; diff --git a/Userland/Libraries/LibGUI/Button.h b/Userland/Libraries/LibGUI/Button.h index ae3c416be3..e16c0dad2e 100644 --- a/Userland/Libraries/LibGUI/Button.h +++ b/Userland/Libraries/LibGUI/Button.h @@ -60,6 +60,9 @@ public: virtual bool is_uncheckable() const override; + int icon_spacing() const { return m_icon_spacing; } + void set_icon_spacing(int spacing) { m_icon_spacing = spacing; } + protected: explicit Button(String text = {}); virtual void paint_event(PaintEvent&) override; @@ -69,6 +72,7 @@ private: Gfx::ButtonStyle m_button_style { Gfx::ButtonStyle::Normal }; Gfx::TextAlignment m_text_alignment { Gfx::TextAlignment::Center }; WeakPtr m_action; + int m_icon_spacing { 4 }; }; }