Improve TrashBinDialog functionality

- Use the main display grid control to display deleted books
- Added search functionality for deleted books. This required creating a temporary search index in the `InProgress` folder. The products grid control now uses an instance of `ISearchEngine` to filter its grid entries.  The main grid uses a singleton instance of `MainSearchEngine`, which merely wraps `SearchEngineCommands.Search()`.  The TrashBinDialogs use `TempSearchEngine`.
- Users can now batch select `Everyting` as well as `Audible Plus Books`

Avalonia:
  - Refactor main grid context menus to no longer require reflection
This commit is contained in:
Michael Bucari-Tovo committed 2026-01-09 16:47:37 -07:00
1 parent 6f7cd4d5b5
commit 659f793eb8
23 files changed
+795 -413

No files matched your search

+1 -1
View File
@@ -13,7 +13,7 @@ namespace LibationAvalonia.ViewModels
{
public Task? BindToGridTask { get; set; }
public ProcessQueueViewModel ProcessQueue { get; } = new ProcessQueueViewModel();
public ProductsDisplayViewModel ProductsDisplay { get; } = new ProductsDisplayViewModel();
public ProductsDisplayViewModel ProductsDisplay { get; } = new() { SearchEngine = MainSearchEngine.Instance };
public double? DownloadProgress { get => field; set => this.RaiseAndSetIfChanged(ref field, value); }