diff --git a/Filtration/ViewModels/ItemFilterScriptViewModel.cs b/Filtration/ViewModels/ItemFilterScriptViewModel.cs index 154dab6..6cb4de4 100644 --- a/Filtration/ViewModels/ItemFilterScriptViewModel.cs +++ b/Filtration/ViewModels/ItemFilterScriptViewModel.cs @@ -76,6 +76,7 @@ namespace Filtration.ViewModels RelayCommand CollapseAllSectionsCommand { get; } RelayCommand ToggleShowAdvancedCommand { get; } RelayCommand ClearFilterCommand { get; } + RelayCommand ClearStylesCommand { get; } void AddCommentBlock(IItemFilterBlockViewModelBase targetBlockViewModelBase); void AddBlock(IItemFilterBlockViewModelBase targetBlockViewModelBase); @@ -155,6 +156,7 @@ namespace Filtration.ViewModels ToggleShowAdvancedCommand = new RelayCommand(OnToggleShowAdvancedCommand); ClearFilterCommand = new RelayCommand(OnClearFilterCommand, () => BlockFilterPredicate != null); + ClearStylesCommand = new RelayCommand(OnClearStylesCommand, () => SelectedBlockViewModels.OfType().Count() > 0); CloseCommand = new RelayCommand(async () => await OnCloseCommand()); DeleteBlockCommand = new RelayCommand(OnDeleteBlockCommand, () => CanModifySelectedBlocks()); MoveBlockToTopCommand = new RelayCommand(OnMoveBlockToTopCommand, () => SelectedBlockViewModels.Count > 0 && CanModifySelectedBlocks()); @@ -388,6 +390,7 @@ namespace Filtration.ViewModels public RelayCommand ToggleShowAdvancedCommand { get; } public RelayCommand ClearFilterCommand { get; } + public RelayCommand ClearStylesCommand { get; } public RelayCommand CloseCommand { get; } public RelayCommand DeleteBlockCommand { get; } public RelayCommand MoveBlockToTopCommand { get; } @@ -853,6 +856,23 @@ namespace Filtration.ViewModels BlockFilterPredicate = null; } + private void OnClearStylesCommand() + { + ValidateSelectedBlocks(); + foreach (var block in SelectedBlockViewModels.OfType()) + { + var blockItems = block.Block.BlockItems; + for (var i = 0; i < blockItems.Count; i++) + { + if (blockItems[i] is IAudioVisualBlockItem) + { + blockItems.RemoveAt(i--); + } + } + block.RefreshBlockPreview(); + } + } + private void OnCopyBlockCommand() { var blocksToCopy = new List(); diff --git a/Filtration/ViewModels/MainWindowViewModel.cs b/Filtration/ViewModels/MainWindowViewModel.cs index 53b4789..8c0fd30 100644 --- a/Filtration/ViewModels/MainWindowViewModel.cs +++ b/Filtration/ViewModels/MainWindowViewModel.cs @@ -142,6 +142,7 @@ namespace Filtration.ViewModels ToggleShowAdvancedCommand = new RelayCommand(OnToggleShowAdvancedCommand, s => ActiveDocumentIsScript); ClearFiltersCommand = new RelayCommand(OnClearFiltersCommand, () => ActiveDocumentIsScript); + ClearStylesCommand = new RelayCommand(OnClearStylesCommand, () => ActiveDocumentIsScript); if (string.IsNullOrEmpty(_itemFilterScriptRepository.GetItemFilterScriptDirectory())) { @@ -266,6 +267,7 @@ namespace Filtration.ViewModels public RelayCommand ToggleShowAdvancedCommand { get; } public RelayCommand ClearFiltersCommand { get; } + public RelayCommand ClearStylesCommand { get; } public ImageSource Icon { get; private set; } @@ -746,6 +748,11 @@ namespace Filtration.ViewModels _avalonDockWorkspaceViewModel.ActiveScriptViewModel.ClearFilterCommand.Execute(null); } + private void OnClearStylesCommand() + { + _avalonDockWorkspaceViewModel.ActiveScriptViewModel.ClearStylesCommand.Execute(null); + } + private void OnAddTextColorThemeComponentCommand() { _avalonDockWorkspaceViewModel.ActiveThemeViewModel.AddThemeComponentCommand.Execute(ThemeComponentType.TextColor); diff --git a/Filtration/Views/MainWindow.xaml b/Filtration/Views/MainWindow.xaml index 6da3899..2b36d70 100644 --- a/Filtration/Views/MainWindow.xaml +++ b/Filtration/Views/MainWindow.xaml @@ -114,9 +114,10 @@ - + +