Browse Source

LibGUI: Set initial AbstractButton background/foreground color roles

Widgets should respect the background/foreground roles in a way that
makes sense for the widget.
Andreas Kling 4 năm trước cách đây
mục cha
commit
18b6c47178
1 tập tin đã thay đổi với 4 bổ sung1 xóa
  1. 4 1
      Libraries/LibGUI/AbstractButton.cpp

+ 4 - 1
Libraries/LibGUI/AbstractButton.cpp

@@ -35,6 +35,9 @@ namespace GUI {
 AbstractButton::AbstractButton(const StringView& text)
     : m_text(text)
 {
+    set_background_role(Gfx::ColorRole::Button);
+    set_foreground_role(Gfx::ColorRole::ButtonText);
+
     m_auto_repeat_timer = add<Core::Timer>();
     m_auto_repeat_timer->on_timeout = [this] {
         click();
@@ -172,7 +175,7 @@ void AbstractButton::paint_text(Painter& painter, const Gfx::IntRect& rect, cons
 
     if (text().is_empty())
         return;
-    painter.draw_text(clipped_rect, text(), font, text_alignment, palette().button_text(), Gfx::TextElision::Right);
+    painter.draw_text(clipped_rect, text(), font, text_alignment, palette().color(foreground_role()), Gfx::TextElision::Right);
     if (is_focused())
         painter.draw_rect(clipped_rect.inflated(6, 4), palette().focus_outline());
 }