From af0511986908a8d7f757c48fbded55d779b8c143 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Henrik=20Rydg=C3=A5rd?= Date: Fri, 14 Feb 2025 15:37:01 -0600 Subject: [PATCH] Themes: Add CollapsibleHeaderStyle --- Common/UI/View.cpp | 2 +- Common/UI/View.h | 1 + UI/Theme.cpp | 5 +++++ assets/themes/1995.ini | 2 ++ assets/themes/defaultthemes.ini | 4 ++++ assets/themes/slateforest.ini | 2 ++ assets/themes/vinewood.ini | 2 ++ 7 files changed, 17 insertions(+), 1 deletion(-) diff --git a/Common/UI/View.cpp b/Common/UI/View.cpp index 6ef3fd458e..cec3e26e84 100644 --- a/Common/UI/View.cpp +++ b/Common/UI/View.cpp @@ -624,7 +624,7 @@ CollapsibleHeader::CollapsibleHeader(bool *toggle, std::string_view text, Layout } void CollapsibleHeader::Draw(UIContext &dc) { - Style style = dc.theme->itemStyle; + Style style = dc.theme->collapsibleHeaderStyle; if (HasFocus()) style = dc.theme->itemFocusedStyle; if (down_) style = dc.theme->itemDownStyle; if (!IsEnabled()) style = dc.theme->itemDisabledStyle; diff --git a/Common/UI/View.h b/Common/UI/View.h index e10ad816c0..4ede036922 100644 --- a/Common/UI/View.h +++ b/Common/UI/View.h @@ -107,6 +107,7 @@ struct Theme { Style headerStyle; Style infoStyle; + Style collapsibleHeaderStyle; Style popupStyle; Style popupHeaderStyle; diff --git a/UI/Theme.cpp b/UI/Theme.cpp index 075fb8d20c..0a93b95378 100644 --- a/UI/Theme.cpp +++ b/UI/Theme.cpp @@ -55,6 +55,8 @@ struct ThemeInfo { uint32_t uPopupHeaderStyleBg = 0x00000000; // default to invisible uint32_t uTooltipStyleFg = 0xFFFFFFFF; uint32_t uTooltipStyleBg = 0xC0303030; + uint32_t uCollapsibleHeaderStyleFg = 0xFFFFFFFF; + uint32_t uCollapsibleHeaderStyleBg = 0x55000000; uint32_t uBackgroundColor = 0xFF754D24; uint32_t uScrollbarColor = 0x80FFFFFF; @@ -148,6 +150,8 @@ static void LoadThemeInfo(const std::vector &directories) { section.Get("TooltipStyleBg", &info.uTooltipStyleBg, info.uTooltipStyleBg); section.Get("PopupHeaderStyleFg", &info.uPopupHeaderStyleFg, info.uItemStyleFg); // Backwards compat section.Get("PopupHeaderStyleBg", &info.uPopupHeaderStyleBg, info.uPopupHeaderStyleBg); + section.Get("CollapsibleHeaderStyleFg", &info.uCollapsibleHeaderStyleFg, info.uItemStyleFg); // Backwards compat + section.Get("CollapsibleHeaderStyleBg", &info.uCollapsibleHeaderStyleBg, info.uItemStyleBg); section.Get("BackgroundColor", &info.uBackgroundColor, info.uBackgroundColor); section.Get("ScrollbarColor", &info.uScrollbarColor, info.uScrollbarColor); @@ -248,6 +252,7 @@ void UpdateTheme(UIContext *ctx) { ui_theme.itemDisabledStyle = MakeStyle(themeInfo.uItemDisabledStyleFg, themeInfo.uItemDisabledStyleBg); ui_theme.headerStyle = MakeStyle(themeInfo.uHeaderStyleFg, themeInfo.uHeaderStyleBg); + ui_theme.collapsibleHeaderStyle = MakeStyle(themeInfo.uCollapsibleHeaderStyleFg, themeInfo.uCollapsibleHeaderStyleBg); ui_theme.infoStyle = MakeStyle(themeInfo.uInfoStyleFg, themeInfo.uInfoStyleBg); ui_theme.popupStyle = MakeStyle(themeInfo.uPopupStyleFg, themeInfo.uPopupStyleBg); diff --git a/assets/themes/1995.ini b/assets/themes/1995.ini index 4a45b16a3c..3c193d8c14 100644 --- a/assets/themes/1995.ini +++ b/assets/themes/1995.ini @@ -28,6 +28,8 @@ PopupStyleFg = "#000000FF" PopupStyleBg = "#FFFFAAFF" PopupHeaderStyleFg = "#FFFFFFFF" PopupHeaderStyleBg = "#000080FF" +CollapsibleHeaderStyleFg = "#000000FF" +CollapsibleHeaderStyleBg = "#C0C0C0FF" TooltipStyleFg = "#FFFFFFFF" TooltipStyleBg = "#000080D0" BackgroundColor = "#008080FF" diff --git a/assets/themes/defaultthemes.ini b/assets/themes/defaultthemes.ini index 5bd26b4882..76c5558f96 100644 --- a/assets/themes/defaultthemes.ini +++ b/assets/themes/defaultthemes.ini @@ -16,6 +16,8 @@ PopupStyleFg = "#FFFFFFFF" PopupStyleBg = "#1f4d5eFF" PopupHeaderStyleFg = "#FFFFFFFF" PopupHeaderStyleBg = "#00000000" +CollapsibleHeaderStyleFg = "#FFFFFFFF" +CollapsibleHeaderStyleBg = "#00000055" TooltipStyleFg = "#FFFFFFFF" TooltipStyleBg = "#303030C0" BackgroundColor = "#244D75FF" @@ -44,6 +46,8 @@ PopupStyleFg = "#FFFFFFFF" PopupStyleBg = "#0c1d24FF" PopupHeaderStyleFg = "#FFFFFFFF" PopupHeaderStyleBg = "#00000000" +CollapsibleHeaderStyleFg = "#FFFFFFFF" +CollapsibleHeaderStyleBg = "#00000055" TooltipStyleFg = "#FFFFFFFF" TooltipStyleBg = "#303030C0" BackgroundColor = "#000000FF" diff --git a/assets/themes/slateforest.ini b/assets/themes/slateforest.ini index 3972d00224..4abf128302 100644 --- a/assets/themes/slateforest.ini +++ b/assets/themes/slateforest.ini @@ -26,6 +26,8 @@ PopupStyleFg = "#FFFFFFFF" PopupStyleBg = "#9498A1FF" PopupHeaderStyleFg = "#FFFFFFFF" PopupHeaderStyleBg = "#00000000" +CollapsibleHeaderStyleFg = "#FFFFFFFF" +CollapsibleHeaderStyleBg = "#2D4459B0" TooltipStyleFg = "#FFFFFFFF" TooltipStyleBg = "#303030C0" BackgroundColor = "#122537FF" diff --git a/assets/themes/vinewood.ini b/assets/themes/vinewood.ini index 8771bca3c4..b1dd3403a8 100644 --- a/assets/themes/vinewood.ini +++ b/assets/themes/vinewood.ini @@ -27,6 +27,8 @@ PopupStyleFg = "#C3D7A4FF" PopupStyleBg = "#94B185FF" PopupHeaderStyleFg = "#FFFFFFFF" PopupHeaderStyleBg = "#00000000" +CollapsibleHeaderStyleFg = "#C3D7A4FF" +CollapsibleHeaderStyleBg = "#000000C0" TooltipStyleFg = "#FFFFFFFF" TooltipStyleBg = "#303030C0" BackgroundColor = "#62865AFF"