Skip to content

Commit

Permalink
Update ThemeService.Set.cs #26
Browse files Browse the repository at this point in the history
  • Loading branch information
ghost1372 committed Jan 19, 2025
1 parent c04adbf commit c38cb2c
Showing 1 changed file with 21 additions and 24 deletions.
45 changes: 21 additions & 24 deletions dev/DevWinUI/Services/ThemeService/ThemeService.Set.cs
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@

using Microsoft.UI.Composition.SystemBackdrops;
using Microsoft.UI.Dispatching;
using Microsoft.UI.Xaml.Media;

namespace DevWinUI;
public partial class ThemeService
Expand Down Expand Up @@ -54,51 +55,47 @@ public void SetElementThemeWithoutSave(ElementTheme elementTheme)

public void SetBackdropTintColor(Color color)
{
foreach (var window in WindowHelper.ActiveWindows)
DispatcherQueue.GetForCurrentThread().TryEnqueue(() =>
{
var systemBackdrop = window.SystemBackdrop;
if (systemBackdrop != null)
foreach (var window in WindowHelper.ActiveWindows)
{
if (systemBackdrop is MicaSystemBackdrop mica)
if (window.SystemBackdrop is MicaSystemBackdrop mica)
{
mica.TintColor = color;
}
else if (systemBackdrop is AcrylicSystemBackdrop acrylic)
else if (window.SystemBackdrop is AcrylicSystemBackdrop acrylic)
{
acrylic.TintColor = color;
}

if (useAutoSave && GlobalData.Config != null && GlobalData.Config.BackdropTintColor != color)
{
GlobalData.Config.BackdropTintColor = color;
GlobalData.Save();
}
}
}
if (useAutoSave && GlobalData.Config != null && GlobalData.Config.BackdropTintColor != color)
{
GlobalData.Config.BackdropTintColor = color;
GlobalData.Save();
}
});
}

public void SetBackdropFallbackColor(Color color)
{
foreach (var window in WindowHelper.ActiveWindows)
DispatcherQueue.GetForCurrentThread().TryEnqueue(() =>
{
var systemBackdrop = window.SystemBackdrop;
if (systemBackdrop != null)
foreach (var window in WindowHelper.ActiveWindows)
{
if (systemBackdrop is MicaSystemBackdrop mica)
if (window.SystemBackdrop is MicaSystemBackdrop mica)
{
mica.FallbackColor = color;
}
else if (systemBackdrop is AcrylicSystemBackdrop acrylic)
else if (window.SystemBackdrop is AcrylicSystemBackdrop acrylic)
{
acrylic.FallbackColor = color;
}

if (useAutoSave && GlobalData.Config != null && GlobalData.Config.BackdropFallBackColor != color)
{
GlobalData.Config.BackdropFallBackColor = color;
GlobalData.Save();
}
}
}
if (useAutoSave && GlobalData.Config != null && GlobalData.Config.BackdropFallBackColor != color)
{
GlobalData.Config.BackdropFallBackColor = color;
GlobalData.Save();
}
});
}
}

0 comments on commit c38cb2c

Please sign in to comment.