diff --git a/Source/LibationAvalonia/Dialogs/EditQuickFilters.axaml b/Source/LibationAvalonia/Dialogs/EditQuickFilters.axaml
index 82ae89cc..68f41b76 100644
--- a/Source/LibationAvalonia/Dialogs/EditQuickFilters.axaml
+++ b/Source/LibationAvalonia/Dialogs/EditQuickFilters.axaml
@@ -24,9 +24,8 @@
CanUserSortColumns="False"
AutoGenerateColumns="False"
IsReadOnly="False"
- ItemsSource="{Binding Filters}"
+ ItemsSource="{CompiledBinding Filters}"
GridLinesVisibility="All">
-
@@ -38,7 +37,7 @@
VerticalAlignment="Stretch"
HorizontalAlignment="Stretch"
HorizontalContentAlignment="Center"
- IsEnabled="{Binding !IsDefault}"
+ IsEnabled="{CompiledBinding !IsDefault}"
Click="DeleteButton_Clicked" />
@@ -48,14 +47,13 @@
-
@@ -67,16 +65,19 @@
VerticalAlignment="Stretch"
HorizontalAlignment="Stretch"
HorizontalContentAlignment="Center"
- IsEnabled="{Binding !IsDefault}"
- ToolTip.Tip="Export account authorization to audible-cli"
- Click="MoveUpButton_Clicked" />
+ Click="MoveUpButton_Clicked">
+
+
+
+
+
+
+
-
-
-
+
@@ -86,15 +87,18 @@
VerticalAlignment="Stretch"
HorizontalAlignment="Stretch"
HorizontalContentAlignment="Center"
- IsEnabled="{Binding !IsDefault}"
- ToolTip.Tip="Export account authorization to audible-cli"
- Click="MoveDownButton_Clicked" />
+ Click="MoveDownButton_Clicked">
+
+
+
+
+
+
+
-
-
Filters { get; } = new();
+ public AvaloniaList Filters { get; } = new();
public class Filter : ViewModels.ViewModelBase
{
@@ -17,11 +17,8 @@ namespace LibationAvalonia.Dialogs
public string Name
{
get => _name;
- set
- {
- this.RaiseAndSetIfChanged(ref _name, value);
- }
- }
+ set => this.RaiseAndSetIfChanged(ref _name, value);
+ }
private string _filterString;
public string FilterString
@@ -35,6 +32,10 @@ namespace LibationAvalonia.Dialogs
}
}
public bool IsDefault { get; private set; } = true;
+ private bool _isTop;
+ private bool _isBottom;
+ public bool IsTop { get => _isTop; set => this.RaiseAndSetIfChanged(ref _isTop, value); }
+ public bool IsBottom { get => _isBottom; set => this.RaiseAndSetIfChanged(ref _isBottom, value); }
public QuickFilters.NamedFilter AsNamedFilter() => new(FilterString, Name);
@@ -44,12 +45,12 @@ namespace LibationAvalonia.Dialogs
InitializeComponent();
if (Design.IsDesignMode)
{
- Filters = new ObservableCollection([
- new Filter { Name = "Filter 1", FilterString = "[filter1 string]" },
+ Filters = [
+ new Filter { Name = "Filter 1", FilterString = "[filter1 string]", IsTop = true },
new Filter { Name = "Filter 2", FilterString = "[filter2 string]" },
new Filter { Name = "Filter 3", FilterString = "[filter3 string]" },
- new Filter { Name = "Filter 4", FilterString = "[filter4 string]" }
- ]);
+ new Filter { Name = "Filter 4", FilterString = "[filter4 string]", IsBottom = true },
+ new Filter()];
DataContext = this;
return;
}
@@ -65,6 +66,8 @@ namespace LibationAvalonia.Dialogs
ControlToFocusOnShow = this.FindControl