From e80b2c7a5194cdaaf0e9eb9f3cb53ed6f6386502 Mon Sep 17 00:00:00 2001 From: Rutherther Date: Fri, 3 Feb 2023 23:05:41 +0100 Subject: [PATCH] feat: add possibility to deactivate a filter --- .../ViewModels/PacketLogFilterViewModel.cs | 5 +++++ src/PacketLogger/ViewModels/PacketLogViewModel.cs | 9 +++++++-- src/PacketLogger/Views/PacketLogFilterView.axaml | 10 +++++++--- 3 files changed, 19 insertions(+), 5 deletions(-) diff --git a/src/PacketLogger/ViewModels/PacketLogFilterViewModel.cs b/src/PacketLogger/ViewModels/PacketLogFilterViewModel.cs index bf27b3f3be27ae8a60ceae94011ade4058954966..80099865ed48e4e49137f2d3aac7a3f968886184 100644 --- a/src/PacketLogger/ViewModels/PacketLogFilterViewModel.cs +++ b/src/PacketLogger/ViewModels/PacketLogFilterViewModel.cs @@ -94,6 +94,11 @@ public class PacketLogFilterViewModel : ViewModelBase, IDisposable /// public ReactiveCommand AddNew { get; } + /// + /// Gets or sets whether the filter is active. + /// + public bool Active { get; set; } = true; + /// public void Dispose() { diff --git a/src/PacketLogger/ViewModels/PacketLogViewModel.cs b/src/PacketLogger/ViewModels/PacketLogViewModel.cs index 6294f9d226d9830d48510e3a7b8c02eb8be59856..45789cce5d7b7b5aa70dd7a01e787fa8c1395da9 100644 --- a/src/PacketLogger/ViewModels/PacketLogViewModel.cs +++ b/src/PacketLogger/ViewModels/PacketLogViewModel.cs @@ -114,14 +114,14 @@ public class PacketLogViewModel : ViewModelBase, IDisposable SendFilter.PropertyChanged += (s, e) => { - if (e.PropertyName == "Whitelist") + if (e.PropertyName is "Whitelist" or "Active") { CreateSendRecv(); } }; RecvFilter.PropertyChanged += (s, e) => { - if (e.PropertyName == "Whitelist") + if (e.PropertyName is "Whitelist" or "Active") { CreateSendRecv(); } @@ -236,6 +236,11 @@ public class PacketLogViewModel : ViewModelBase, IDisposable private IFilter CreateCompound(PacketLogFilterViewModel packetLogFilter) { + if (!packetLogFilter.Active) + { + return new CompoundFilter(true); + } + List filters = new List(); foreach (var filter in packetLogFilter.Filters) diff --git a/src/PacketLogger/Views/PacketLogFilterView.axaml b/src/PacketLogger/Views/PacketLogFilterView.axaml index 5102b5d20ac3f17e24b7419d03fba83429e33138..40f93d9d49d0f6ec6a4e6d973f74e455a181f233 100644 --- a/src/PacketLogger/Views/PacketLogFilterView.axaml +++ b/src/PacketLogger/Views/PacketLogFilterView.axaml @@ -24,9 +24,13 @@ - - - + + + + + + +