diff --git a/Filtration/Converters/DisabledDefaultSoundConverter.cs b/Filtration/Converters/DisabledDefaultSoundConverter.cs new file mode 100644 index 0000000..e530c86 --- /dev/null +++ b/Filtration/Converters/DisabledDefaultSoundConverter.cs @@ -0,0 +1,31 @@ +using System; +using System.Globalization; +using System.Windows.Data; +using System.Windows.Media.Imaging; + +namespace Filtration.Converters +{ + public class DisabledDefaultSoundConverter : IValueConverter + { + private static readonly BitmapImage _soundIcon; + private static readonly BitmapImage _soundDDSIcon; + + static DisabledDefaultSoundConverter() + { + var soundUri = new Uri("pack://application:,,,/Filtration;component/Resources/Icons/sound.png", UriKind.Absolute); + var soundDDSUri = new Uri("pack://application:,,,/Filtration;component/Resources/Icons/sound_dds.png", UriKind.Absolute); + _soundIcon = new BitmapImage(soundUri); + _soundDDSIcon = new BitmapImage(soundDDSUri); + } + + public object Convert(object value, Type targetType, object parameter, CultureInfo culture) + { + return (bool)value ? _soundDDSIcon : _soundIcon; + } + + public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture) + { + return ReferenceEquals(value, _soundDDSIcon); + } + } +} diff --git a/Filtration/Filtration.csproj b/Filtration/Filtration.csproj index 0a74b8a..8b329f4 100644 --- a/Filtration/Filtration.csproj +++ b/Filtration/Filtration.csproj @@ -210,6 +210,7 @@ + @@ -460,6 +461,7 @@ Settings.settings True + @@ -504,7 +506,7 @@ - + diff --git a/Filtration/Resources/Icons/sound.png b/Filtration/Resources/Icons/sound.png new file mode 100644 index 0000000..53959cb Binary files /dev/null and b/Filtration/Resources/Icons/sound.png differ diff --git a/Filtration/Resources/Icons/sound_dds.png b/Filtration/Resources/Icons/sound_dds.png new file mode 100644 index 0000000..fd5ab7e Binary files /dev/null and b/Filtration/Resources/Icons/sound_dds.png differ diff --git a/Filtration/ViewModels/DesignTime/DesignTimeItemFilterBlockViewModel.cs b/Filtration/ViewModels/DesignTime/DesignTimeItemFilterBlockViewModel.cs index 5b6ff39..817a01d 100644 --- a/Filtration/ViewModels/DesignTime/DesignTimeItemFilterBlockViewModel.cs +++ b/Filtration/ViewModels/DesignTime/DesignTimeItemFilterBlockViewModel.cs @@ -150,6 +150,7 @@ namespace Filtration.ViewModels.DesignTime public bool HasSound { get; } public bool HasPositionalSound { get; } public bool HasCustomSound { get; } + public bool HasDisabledDefaultSound { get; } public bool HasAudioVisualBlockItems { get; } public void RefreshBlockPreview() { diff --git a/Filtration/ViewModels/ItemFilterBlockViewModel.cs b/Filtration/ViewModels/ItemFilterBlockViewModel.cs index 5403e5f..7fb9983 100644 --- a/Filtration/ViewModels/ItemFilterBlockViewModel.cs +++ b/Filtration/ViewModels/ItemFilterBlockViewModel.cs @@ -65,6 +65,7 @@ namespace Filtration.ViewModels bool HasSound { get; } bool HasPositionalSound { get; } bool HasCustomSound { get; } + bool HasDisabledDefaultSound { get; } bool HasAudioVisualBlockItems { get; } void RefreshBlockPreview(); } @@ -287,6 +288,7 @@ namespace Filtration.ViewModels public bool HasSound => Block.HasBlockItemOfType(); public bool HasPositionalSound => Block.HasBlockItemOfType(); public bool HasCustomSound => Block.HasBlockItemOfType(); + public bool HasDisabledDefaultSound => Block.HasBlockItemOfType(); public bool HasAudioVisualBlockItems => AudioVisualBlockItems.Any(); @@ -526,6 +528,7 @@ namespace Filtration.ViewModels RaisePropertyChanged(nameof(HasSound)); RaisePropertyChanged(nameof(HasPositionalSound)); RaisePropertyChanged(nameof(HasCustomSound)); + RaisePropertyChanged(nameof(HasDisabledDefaultSound)); } private void OnBlockItemsCollectionChanged(object sender, NotifyCollectionChangedEventArgs e) diff --git a/Filtration/Views/IconsDictionary.xaml b/Filtration/Views/IconsDictionary.xaml index 99b4398..1f678e0 100644 --- a/Filtration/Views/IconsDictionary.xaml +++ b/Filtration/Views/IconsDictionary.xaml @@ -11,7 +11,6 @@ - @@ -37,4 +36,4 @@ - \ No newline at end of file + diff --git a/Filtration/Views/ItemFilterBlockView.xaml b/Filtration/Views/ItemFilterBlockView.xaml index 5b84db6..6646e99 100644 --- a/Filtration/Views/ItemFilterBlockView.xaml +++ b/Filtration/Views/ItemFilterBlockView.xaml @@ -1,7 +1,7 @@  @@ -18,6 +18,7 @@ +