From 772ed3a7b7c41bc8c04feb6e6ae1638343dcbf15 Mon Sep 17 00:00:00 2001 From: Mike Griese Date: Fri, 16 Dec 2022 09:36:08 -0800 Subject: [PATCH] Use mica in the SUI if mica is enabled in the theme (#14567) Does what it says on the tin! --- .../TerminalSettingsEditor/MainPage.cpp | 21 ++++++++++++++++++- .../TerminalSettingsEditor/MainPage.h | 2 ++ .../TerminalSettingsEditor/MainPage.xaml | 4 ++++ 3 files changed, 26 insertions(+), 1 deletion(-) diff --git a/src/cascadia/TerminalSettingsEditor/MainPage.cpp b/src/cascadia/TerminalSettingsEditor/MainPage.cpp index 6f7256597f..6a074b858f 100644 --- a/src/cascadia/TerminalSettingsEditor/MainPage.cpp +++ b/src/cascadia/TerminalSettingsEditor/MainPage.cpp @@ -55,7 +55,7 @@ namespace winrt::Microsoft::Terminal::Settings::Editor::implementation _settingsClone{ settings.Copy() } { InitializeComponent(); - + _UpdateBackgroundForMica(); _InitializeProfilesList(); _colorSchemesPageVM = winrt::make(_settingsClone); @@ -102,6 +102,8 @@ namespace winrt::Microsoft::Terminal::Settings::Editor::implementation _settingsSource = settings; _settingsClone = settings.Copy(); + _UpdateBackgroundForMica(); + // Deduce information about the currently selected item IInspectable lastBreadcrumb; const auto size = _breadcrumbs.Size(); @@ -640,4 +642,21 @@ namespace winrt::Microsoft::Terminal::Settings::Editor::implementation return SettingsNav().Background(); } + // If the theme asks for Mica, then drop out our background, so that we + // can have mica too. + void MainPage::_UpdateBackgroundForMica() + + { + const auto& theme = _settingsSource.GlobalSettings().CurrentTheme(); + + const auto bgKey = (theme.Window() != nullptr && theme.Window().UseMica()) ? + L"SettingsPageMicaBackground" : + L"SettingsPageBackground"; + + if (const auto bgColor = Resources().TryLookup(winrt::box_value(bgKey))) + { + SettingsNav().Background(winrt::WUX::Media::SolidColorBrush(winrt::unbox_value(bgColor))); + } + } + } diff --git a/src/cascadia/TerminalSettingsEditor/MainPage.h b/src/cascadia/TerminalSettingsEditor/MainPage.h index ba86c6d50f..e414e9f5f8 100644 --- a/src/cascadia/TerminalSettingsEditor/MainPage.h +++ b/src/cascadia/TerminalSettingsEditor/MainPage.h @@ -67,6 +67,8 @@ namespace winrt::Microsoft::Terminal::Settings::Editor::implementation void _Navigate(hstring clickedItemTag, BreadcrumbSubPage subPage); void _Navigate(const Editor::ProfileViewModel& profile, BreadcrumbSubPage subPage, const bool focusDeleteButton = false); + void _UpdateBackgroundForMica(); + winrt::Microsoft::Terminal::Settings::Editor::ColorSchemesPageViewModel _colorSchemesPageVM{ nullptr }; Windows::UI::Xaml::Data::INotifyPropertyChanged::PropertyChanged_revoker _profileViewModelChangedRevoker; diff --git a/src/cascadia/TerminalSettingsEditor/MainPage.xaml b/src/cascadia/TerminalSettingsEditor/MainPage.xaml index 719d1a6d57..739a961f5b 100644 --- a/src/cascadia/TerminalSettingsEditor/MainPage.xaml +++ b/src/cascadia/TerminalSettingsEditor/MainPage.xaml @@ -31,16 +31,20 @@ #282828 + #00000000 #F9F9F9 + #00000000 +