Shift to ControlzEx HC code (#6880)

* Use high contrast detection from controlzex

* Allow multiple theme changes
This commit is contained in:
Divyansh Srivastava
2020-10-01 16:08:06 -07:00
committed by GitHub
parent fd32a6f7d6
commit 55fd8749c8

View File

@@ -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;
} }
} }