diff --git a/RevitLookup.UI/Resources/Theme/HC1.xaml b/RevitLookup.UI/Resources/Theme/HC1.xaml index 32244999b..dd46c9827 100644 --- a/RevitLookup.UI/Resources/Theme/HC1.xaml +++ b/RevitLookup.UI/Resources/Theme/HC1.xaml @@ -133,18 +133,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/RevitLookup.UI/Resources/Theme/HC2.xaml b/RevitLookup.UI/Resources/Theme/HC2.xaml index 18ebade4b..af59975b6 100644 --- a/RevitLookup.UI/Resources/Theme/HC2.xaml +++ b/RevitLookup.UI/Resources/Theme/HC2.xaml @@ -132,18 +132,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/RevitLookup.UI/Resources/Theme/HCBlack.xaml b/RevitLookup.UI/Resources/Theme/HCBlack.xaml index 8cd3859ba..6b0570440 100644 --- a/RevitLookup.UI/Resources/Theme/HCBlack.xaml +++ b/RevitLookup.UI/Resources/Theme/HCBlack.xaml @@ -132,18 +132,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/RevitLookup.UI/Resources/Theme/HCWhite.xaml b/RevitLookup.UI/Resources/Theme/HCWhite.xaml index 70e3ac852..a8a98dd04 100644 --- a/RevitLookup.UI/Resources/Theme/HCWhite.xaml +++ b/RevitLookup.UI/Resources/Theme/HCWhite.xaml @@ -132,18 +132,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/RevitLookup/ViewModels/Converters/ThemeConverters.cs b/RevitLookup/ViewModels/Converters/ThemeConverters.cs new file mode 100644 index 000000000..161465ee4 --- /dev/null +++ b/RevitLookup/ViewModels/Converters/ThemeConverters.cs @@ -0,0 +1,82 @@ +// Copyright 2003-2023 by Autodesk, Inc. +// +// Permission to use, copy, modify, and distribute this software in +// object code form for any purpose and without fee is hereby granted, +// provided that the above copyright notice appears in all copies and +// that both that copyright notice and the limited warranty and +// restricted rights notice below appear in all supporting +// documentation. +// +// AUTODESK PROVIDES THIS PROGRAM "AS IS" AND WITH ALL FAULTS. +// AUTODESK SPECIFICALLY DISCLAIMS ANY IMPLIED WARRANTY OF +// MERCHANTABILITY OR FITNESS FOR A PARTICULAR USE. AUTODESK, INC. +// DOES NOT WARRANT THAT THE OPERATION OF THE PROGRAM WILL BE +// UNINTERRUPTED OR ERROR FREE. +// +// Use, duplication, or disclosure by the U.S. Government is subject to +// restrictions set forth in FAR 52.227-19 (Commercial Computer +// Software - Restricted Rights) and DFAR 252.227-7013(c)(1)(ii) +// (Rights in Technical Data and Computer Software), as applicable. + +using System.Globalization; +using System.Windows.Data; +using System.Windows.Markup; +using Wpf.Ui.Appearance; +using Wpf.Ui.Controls; + +namespace RevitLookup.ViewModels.Converters; + +[ValueConversion(typeof(WindowBackdropType), typeof(string))] +public sealed class BackgroundTypeConverter : MarkupExtension, IValueConverter +{ + public object Convert(object value, Type targetType, object parameter, CultureInfo culture) + { + var backgroundType = (WindowBackdropType) value!; + return backgroundType switch + { + WindowBackdropType.None => "Disabled", + WindowBackdropType.Acrylic => "Acrylic", + WindowBackdropType.Tabbed => "Blur", + WindowBackdropType.Mica => "Mica", + WindowBackdropType.Auto => "Windows default", + _ => throw new ArgumentOutOfRangeException() + }; + } + + public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture) + { + throw new NotSupportedException(); + } + + public override object ProvideValue(IServiceProvider serviceProvider) + { + return this; + } +} + +[ValueConversion(typeof(ApplicationTheme), typeof(string))] +public sealed class ApplicationThemeConverter : MarkupExtension, IValueConverter +{ + public object Convert(object value, Type targetType, object parameter, CultureInfo culture) + { + var applicationTheme = (ApplicationTheme) value!; + return applicationTheme switch + { + ApplicationTheme.Light => "Light", + ApplicationTheme.Dark => "Dark", + ApplicationTheme.HighContrast => "High contrast", + ApplicationTheme.Unknown => throw new NotSupportedException(), + _ => throw new ArgumentOutOfRangeException() + }; + } + + public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture) + { + throw new NotSupportedException(); + } + + public override object ProvideValue(IServiceProvider serviceProvider) + { + return this; + } +} \ No newline at end of file diff --git a/RevitLookup/ViewModels/Converters/ValueConterters.cs b/RevitLookup/ViewModels/Converters/ValueConterters.cs index 856c8b5f8..8c81f19ee 100644 --- a/RevitLookup/ViewModels/Converters/ValueConterters.cs +++ b/RevitLookup/ViewModels/Converters/ValueConterters.cs @@ -22,66 +22,9 @@ using System.Windows; using System.Windows.Data; using System.Windows.Markup; -using Wpf.Ui.Appearance; -using Wpf.Ui.Controls; namespace RevitLookup.ViewModels.Converters; -[ValueConversion(typeof(WindowBackdropType), typeof(string))] -public sealed class BackgroundTypeConverter : MarkupExtension, IValueConverter -{ - public object Convert(object value, Type targetType, object parameter, CultureInfo culture) - { - var backgroundType = (WindowBackdropType) value!; - return backgroundType switch - { - WindowBackdropType.None => "Disabled", - WindowBackdropType.Auto => "Windows default", - WindowBackdropType.Mica => "Mica", - WindowBackdropType.Acrylic => "Acrylic", - WindowBackdropType.Tabbed => "Tabbed", - _ => throw new ArgumentOutOfRangeException() - }; - } - - public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture) - { - throw new NotSupportedException(); - } - - public override object ProvideValue(IServiceProvider serviceProvider) - { - return this; - } -} - -[ValueConversion(typeof(ApplicationTheme), typeof(string))] -public sealed class ApplicationThemeConverter : MarkupExtension, IValueConverter -{ - public object Convert(object value, Type targetType, object parameter, CultureInfo culture) - { - var applicationTheme = (ApplicationTheme) value!; - return applicationTheme switch - { - ApplicationTheme.Dark => "Dark", - ApplicationTheme.Light => "Light", - ApplicationTheme.Unknown => "Invalid", - ApplicationTheme.HighContrast => "High contrast", - _ => throw new ArgumentOutOfRangeException() - }; - } - - public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture) - { - throw new NotSupportedException(); - } - - public override object ProvideValue(IServiceProvider serviceProvider) - { - return this; - } -} - [ValueConversion(typeof(bool), typeof(bool))] public sealed class InverseBooleanConverter : MarkupExtension, IValueConverter { diff --git a/RevitLookup/ViewModels/Pages/SettingsViewModel.cs b/RevitLookup/ViewModels/Pages/SettingsViewModel.cs index 1e77cab52..ca24518e3 100644 --- a/RevitLookup/ViewModels/Pages/SettingsViewModel.cs +++ b/RevitLookup/ViewModels/Pages/SettingsViewModel.cs @@ -40,11 +40,14 @@ public sealed partial class SettingsViewModel(ISettingsService settingsService, [ ApplicationTheme.Light, ApplicationTheme.Dark + // ApplicationTheme.HighContrast ]; public List BackgroundEffects { get; } = [ WindowBackdropType.None, + WindowBackdropType.Acrylic, + WindowBackdropType.Tabbed, WindowBackdropType.Mica ];