From e28abf81198c44a26df33eb34db995e33967bf8e Mon Sep 17 00:00:00 2001 From: leo Date: Tue, 18 Feb 2025 10:04:56 +0800 Subject: [PATCH] enhance: supports remove single histories filter (#987) Signed-off-by: leo --- src/ViewModels/Repository.cs | 9 +++++++++ src/Views/Repository.axaml | 6 +++++- src/Views/Repository.axaml.cs | 8 ++++++++ 3 files changed, 22 insertions(+), 1 deletion(-) diff --git a/src/ViewModels/Repository.cs b/src/ViewModels/Repository.cs index 6b96255f..19e48b13 100644 --- a/src/ViewModels/Repository.cs +++ b/src/ViewModels/Repository.cs @@ -826,6 +826,15 @@ namespace SourceGit.ViewModels Task.Run(RefreshCommits); } + public void RemoveHistoriesFilter(Models.Filter filter) + { + if (_settings.HistoriesFilters.Remove(filter)) + { + HistoriesFilterMode = _settings.HistoriesFilters.Count > 0 ? _settings.HistoriesFilters[0].Mode : Models.FilterMode.None; + RefreshHistoriesFilters(true); + } + } + public void UpdateBranchNodeIsExpanded(BranchTreeNode node) { if (_settings == null || !string.IsNullOrWhiteSpace(_filter)) diff --git a/src/Views/Repository.axaml b/src/Views/Repository.axaml index 4d6bc64a..30180f7d 100644 --- a/src/Views/Repository.axaml +++ b/src/Views/Repository.axaml @@ -685,7 +685,11 @@ - + + + diff --git a/src/Views/Repository.axaml.cs b/src/Views/Repository.axaml.cs index bb359040..53bb2d53 100644 --- a/src/Views/Repository.axaml.cs +++ b/src/Views/Repository.axaml.cs @@ -519,5 +519,13 @@ namespace SourceGit.Views e.Handled = true; } + + private void OnRemoveSelectedHistoriesFilter(object sender, RoutedEventArgs e) + { + if (DataContext is ViewModels.Repository repo && sender is Button { DataContext: Models.Filter filter}) + repo.RemoveHistoriesFilter(filter); + + e.Handled = true; + } } }