diff --git a/Base/res/themes/Dark.ini b/Base/res/themes/Dark.ini index efe09f223d..2e4224b4d6 100644 --- a/Base/res/themes/Dark.ini +++ b/Base/res/themes/Dark.ini @@ -41,3 +41,4 @@ RulerBorder=#666666 RulerActiveText=white RulerInactiveText=#d5d0c7 TextCursor=#9c9cd5 +FocusOutline=#606060 diff --git a/Base/res/themes/Default.ini b/Base/res/themes/Default.ini index 2114b678fe..48b777f5ce 100644 --- a/Base/res/themes/Default.ini +++ b/Base/res/themes/Default.ini @@ -41,3 +41,4 @@ RulerBorder=#404040 RulerActiveText=#404040 RulerInactiveText=#808080 TextCursor=red +FocusOutline=#909090 diff --git a/Base/res/themes/Hotdog Stand.ini b/Base/res/themes/Hotdog Stand.ini index 7ae9ce82d8..96534338ae 100644 --- a/Base/res/themes/Hotdog Stand.ini +++ b/Base/res/themes/Hotdog Stand.ini @@ -41,3 +41,4 @@ RulerBorder=black RulerActiveText=yellow RulerInactiveText=white TextCursor=black +FocusOutline=#909090 diff --git a/Base/res/themes/Nord.ini b/Base/res/themes/Nord.ini index 103f02b6d2..04a3eaab9e 100644 --- a/Base/res/themes/Nord.ini +++ b/Base/res/themes/Nord.ini @@ -41,3 +41,4 @@ RulerBorder=#3b4252 RulerActiveText=#95adc5 RulerInactiveText=#7e9dbc TextCursor=#7e9dbc +FocusOutline=#7e9dbc diff --git a/Base/res/themes/Xmas.ini b/Base/res/themes/Xmas.ini index 764707623e..195b2c8184 100644 --- a/Base/res/themes/Xmas.ini +++ b/Base/res/themes/Xmas.ini @@ -41,3 +41,4 @@ RulerBorder=#606060 RulerActiveText=#404040 RulerInactiveText=#808080 TextCursor=#ee3532 +FocusOutline=#909090 diff --git a/Libraries/LibGUI/AbstractButton.cpp b/Libraries/LibGUI/AbstractButton.cpp index 2a7d386e9c..acbb1e205a 100644 --- a/Libraries/LibGUI/AbstractButton.cpp +++ b/Libraries/LibGUI/AbstractButton.cpp @@ -186,7 +186,7 @@ void AbstractButton::paint_text(Painter& painter, const Gfx::Rect& rect, const G return; painter.draw_text(clipped_rect, text(), font, text_alignment, palette().button_text(), Gfx::TextElision::Right); if (is_focused()) - painter.draw_rect(clipped_rect.inflated(6, 4), Color(140, 140, 140)); + painter.draw_rect(clipped_rect.inflated(6, 4), palette().focus_outline()); } void AbstractButton::change_event(Event& event) diff --git a/Libraries/LibGfx/Palette.h b/Libraries/LibGfx/Palette.h index eb3dd09dd4..b975f427ae 100644 --- a/Libraries/LibGfx/Palette.h +++ b/Libraries/LibGfx/Palette.h @@ -99,6 +99,7 @@ public: Color ruler_active_text() const { return color(ColorRole::RulerActiveText); } Color ruler_inactive_text() const { return color(ColorRole::RulerInactiveText); } Color text_cursor() const { return color(ColorRole::TextCursor); } + Color focus_outline() const { return color(ColorRole::FocusOutline); } Color link() const { return color(ColorRole::Link); } Color active_link() const { return color(ColorRole::ActiveLink); } diff --git a/Libraries/LibGfx/SystemTheme.cpp b/Libraries/LibGfx/SystemTheme.cpp index 1a20055821..0f608f2777 100644 --- a/Libraries/LibGfx/SystemTheme.cpp +++ b/Libraries/LibGfx/SystemTheme.cpp @@ -113,6 +113,7 @@ RefPtr load_system_theme(const String& path) DO_COLOR(RulerActiveText); DO_COLOR(RulerInactiveText); DO_COLOR(TextCursor); + DO_COLOR(FocusOutline); buffer->seal(); buffer->share_globally(); diff --git a/Libraries/LibGfx/SystemTheme.h b/Libraries/LibGfx/SystemTheme.h index 8939090f65..e4b945728c 100644 --- a/Libraries/LibGfx/SystemTheme.h +++ b/Libraries/LibGfx/SystemTheme.h @@ -76,6 +76,7 @@ enum class ColorRole { RulerActiveText, RulerInactiveText, TextCursor, + FocusOutline, __Count,