[Settings]React on OS theme change fix (#29944)

* [Settings] React on OS theme change fix

* Fix new OobeWindow call after merge
This commit is contained in:
Stefan Markovic
2023-11-23 18:19:57 +01:00
committed by GitHub
parent 5439f9499a
commit faea17b612
6 changed files with 52 additions and 78 deletions

View File

@@ -23,7 +23,7 @@ namespace Microsoft.PowerToys.Settings.UI
/// </summary>
public sealed partial class MainWindow : WindowEx
{
public MainWindow(bool isDark, bool createHidden = false)
public MainWindow(bool createHidden = false)
{
var bootTime = new System.Diagnostics.Stopwatch();
bootTime.Start();
@@ -37,12 +37,6 @@ namespace Microsoft.PowerToys.Settings.UI
AppWindow appWindow = AppWindow.GetFromWindowId(windowId);
appWindow.SetIcon("Assets\\Settings\\icon.ico");
// Passed by parameter, as it needs to be evaluated ASAP, otherwise there is a white flash
if (isDark)
{
ThemeHelpers.SetImmersiveDarkMode(hWnd, isDark);
}
var placement = Utils.DeserializePlacementOrDefault(hWnd);
if (createHidden)
{
@@ -107,7 +101,7 @@ namespace Microsoft.PowerToys.Settings.UI
{
if (App.GetOobeWindow() == null)
{
App.SetOobeWindow(new OobeWindow(Microsoft.PowerToys.Settings.UI.OOBE.Enums.PowerToysModules.Overview, App.IsDarkTheme()));
App.SetOobeWindow(new OobeWindow(Microsoft.PowerToys.Settings.UI.OOBE.Enums.PowerToysModules.Overview));
}
App.GetOobeWindow().Activate();
@@ -118,7 +112,7 @@ namespace Microsoft.PowerToys.Settings.UI
{
if (App.GetOobeWindow() == null)
{
App.SetOobeWindow(new OobeWindow(Microsoft.PowerToys.Settings.UI.OOBE.Enums.PowerToysModules.WhatsNew, App.IsDarkTheme()));
App.SetOobeWindow(new OobeWindow(Microsoft.PowerToys.Settings.UI.OOBE.Enums.PowerToysModules.WhatsNew));
}
else
{
@@ -164,8 +158,6 @@ namespace Microsoft.PowerToys.Settings.UI
this.InitializeComponent();
SetTheme(isDark);
// receive IPC Message
App.IPCMessageReceivedCallback = (string msg) =>
{
@@ -225,10 +217,5 @@ namespace Microsoft.PowerToys.Settings.UI
{
ShellPage.EnsurePageIsSelected();
}
private void SetTheme(bool isDark)
{
shellPage.RequestedTheme = isDark ? ElementTheme.Dark : ElementTheme.Light;
}
}
}