From aad2824a97cd8b07a40aa17396b729f1cbd0b616 Mon Sep 17 00:00:00 2001 From: Rutherther Date: Fri, 3 Feb 2023 22:55:46 +0100 Subject: [PATCH] feat: select next or previous filter when filter removed --- .../ViewModels/PacketLogFilterViewModel.cs | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/src/PacketLogger/ViewModels/PacketLogFilterViewModel.cs b/src/PacketLogger/ViewModels/PacketLogFilterViewModel.cs index 85147ce..bf27b3f 100644 --- a/src/PacketLogger/ViewModels/PacketLogFilterViewModel.cs +++ b/src/PacketLogger/ViewModels/PacketLogFilterViewModel.cs @@ -32,7 +32,13 @@ public class PacketLogFilterViewModel : ViewModelBase, IDisposable var selected = SelectedFilter; if (selected is not null) { - SelectedFilter = null; + var selectedIndex = Filters.IndexOf(selected); + SelectedFilter = Filters.Count > selectedIndex + 1 ? Filters[selectedIndex + 1] : null; + if (SelectedFilter is null && selectedIndex > 0) + { + SelectedFilter = Filters[selectedIndex - 1]; + } + Filters.Remove(selected); } } @@ -44,8 +50,10 @@ public class PacketLogFilterViewModel : ViewModelBase, IDisposable { if (!string.IsNullOrEmpty(NewFilter)) { - Filters.Add(new FilterCreator.FilterData(NewFilterType, NewFilter)); + var newFilter = new FilterCreator.FilterData(NewFilterType, NewFilter); + Filters.Add(newFilter); NewFilter = string.Empty; + SelectedFilter = newFilter; } } ); -- 2.49.0