mirror of
https://github.com/microsoft/PowerToys.git
synced 2025-12-15 11:17:53 +01:00
Shift to ControlzEx HC code (#6880)
* Use high contrast detection from controlzex * Allow multiple theme changes
This commit is contained in:
committed by
GitHub
parent
fd32a6f7d6
commit
55fd8749c8
@@ -3,6 +3,7 @@
|
|||||||
// See the LICENSE file in the project root for more information.
|
// See the LICENSE file in the project root for more information.
|
||||||
|
|
||||||
using System;
|
using System;
|
||||||
|
using System.Diagnostics;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
using System.Windows;
|
using System.Windows;
|
||||||
using ControlzEx.Theming;
|
using ControlzEx.Theming;
|
||||||
@@ -63,17 +64,8 @@ namespace Wox.Plugin
|
|||||||
MahAppsLibraryThemeProvider.DefaultInstance));
|
MahAppsLibraryThemeProvider.DefaultInstance));
|
||||||
|
|
||||||
ResetTheme();
|
ResetTheme();
|
||||||
ControlzEx.Theming.ThemeManager.Current.ThemeSyncMode = ThemeSyncMode.SyncWithAppMode;
|
ControlzEx.Theming.ThemeManager.Current.ThemeSyncMode = ThemeSyncMode.SyncAll;
|
||||||
ControlzEx.Theming.ThemeManager.Current.ThemeChanged += Current_ThemeChanged;
|
ControlzEx.Theming.ThemeManager.Current.ThemeChanged += Current_ThemeChanged;
|
||||||
SystemParameters.StaticPropertyChanged += SystemParameters_StaticPropertyChanged;
|
|
||||||
}
|
|
||||||
|
|
||||||
private void SystemParameters_StaticPropertyChanged(object sender, System.ComponentModel.PropertyChangedEventArgs e)
|
|
||||||
{
|
|
||||||
if (e.PropertyName == nameof(SystemParameters.HighContrast))
|
|
||||||
{
|
|
||||||
ResetTheme();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public Theme GetCurrentTheme()
|
public Theme GetCurrentTheme()
|
||||||
@@ -104,7 +96,7 @@ namespace Wox.Plugin
|
|||||||
|
|
||||||
private void ResetTheme()
|
private void ResetTheme()
|
||||||
{
|
{
|
||||||
if (SystemParameters.HighContrast)
|
if (WindowsThemeHelper.IsHighContrastEnabled())
|
||||||
{
|
{
|
||||||
Theme highContrastBaseType = GetHighContrastBaseType();
|
Theme highContrastBaseType = GetHighContrastBaseType();
|
||||||
ChangeTheme(highContrastBaseType);
|
ChangeTheme(highContrastBaseType);
|
||||||
@@ -119,10 +111,6 @@ namespace Wox.Plugin
|
|||||||
private void ChangeTheme(Theme theme)
|
private void ChangeTheme(Theme theme)
|
||||||
{
|
{
|
||||||
Theme oldTheme = currentTheme;
|
Theme oldTheme = currentTheme;
|
||||||
if (theme == currentTheme)
|
|
||||||
{
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (theme == Theme.HighContrastOne)
|
if (theme == Theme.HighContrastOne)
|
||||||
{
|
{
|
||||||
@@ -174,7 +162,6 @@ namespace Wox.Plugin
|
|||||||
if (disposing)
|
if (disposing)
|
||||||
{
|
{
|
||||||
ControlzEx.Theming.ThemeManager.Current.ThemeChanged -= Current_ThemeChanged;
|
ControlzEx.Theming.ThemeManager.Current.ThemeChanged -= Current_ThemeChanged;
|
||||||
SystemParameters.StaticPropertyChanged -= SystemParameters_StaticPropertyChanged;
|
|
||||||
_disposed = true;
|
_disposed = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user