diff --git a/Source/LibationAvalonia/App.axaml b/Source/LibationAvalonia/App.axaml index cbfd5ab2..9e8d399d 100644 --- a/Source/LibationAvalonia/App.axaml +++ b/Source/LibationAvalonia/App.axaml @@ -8,9 +8,9 @@ - - - + + + diff --git a/Source/LibationAvalonia/Controls/LinkLabel.axaml.cs b/Source/LibationAvalonia/Controls/LinkLabel.axaml.cs index 0d75021e..30b0d74a 100644 --- a/Source/LibationAvalonia/Controls/LinkLabel.axaml.cs +++ b/Source/LibationAvalonia/Controls/LinkLabel.axaml.cs @@ -15,15 +15,15 @@ namespace LibationAvalonia.Controls { InitializeComponent(); } - protected override void OnPointerEnter(PointerEventArgs e) + protected override void OnPointerEntered(PointerEventArgs e) { this.Cursor = HandCursor; - base.OnPointerEnter(e); + base.OnPointerEntered(e); } - protected override void OnPointerLeave(PointerEventArgs e) + protected override void OnPointerExited(PointerEventArgs e) { this.Cursor = Cursor.Default; - base.OnPointerLeave(e); + base.OnPointerExited(e); } private void InitializeComponent() diff --git a/Source/LibationAvalonia/Dialogs/BookDetailsDialog.axaml.cs b/Source/LibationAvalonia/Dialogs/BookDetailsDialog.axaml.cs index 180c736a..a48d2075 100644 --- a/Source/LibationAvalonia/Dialogs/BookDetailsDialog.axaml.cs +++ b/Source/LibationAvalonia/Dialogs/BookDetailsDialog.axaml.cs @@ -10,6 +10,7 @@ using LibationAvalonia.ViewModels; using System.Collections.Generic; using System.Collections.ObjectModel; using System.Linq; +using System; namespace LibationAvalonia.Dialogs { @@ -54,7 +55,7 @@ namespace LibationAvalonia.Dialogs base.SaveAndClose(); } - public void GoToAudible_Tapped(object sender, Avalonia.Interactivity.RoutedEventArgs e) + public void GoToAudible_Tapped(object sender, Avalonia.Input.TappedEventArgs e) { var locale = AudibleApi.Localization.Get(_libraryBook.Book.Locale); var link = $"https://www.audible.{locale.TopDomain}/pd/{_libraryBook.Book.AudibleProductId}"; diff --git a/Source/LibationAvalonia/Dialogs/Login/LoginChoiceEagerDialog.axaml.cs b/Source/LibationAvalonia/Dialogs/Login/LoginChoiceEagerDialog.axaml.cs index 4871ab16..bbc873d9 100644 --- a/Source/LibationAvalonia/Dialogs/Login/LoginChoiceEagerDialog.axaml.cs +++ b/Source/LibationAvalonia/Dialogs/Login/LoginChoiceEagerDialog.axaml.cs @@ -31,7 +31,7 @@ namespace LibationAvalonia.Dialogs.Login DataContext = this; } - public async void ExternalLoginLink_Tapped(object sender, Avalonia.Interactivity.RoutedEventArgs e) + public async void ExternalLoginLink_Tapped(object sender, Avalonia.Input.TappedEventArgs e) { LoginMethod = LoginMethod.External; await SaveAndCloseAsync(); diff --git a/Source/LibationAvalonia/Dialogs/MessageBoxAlertAdminDialog.axaml.cs b/Source/LibationAvalonia/Dialogs/MessageBoxAlertAdminDialog.axaml.cs index e139605b..df263867 100644 --- a/Source/LibationAvalonia/Dialogs/MessageBoxAlertAdminDialog.axaml.cs +++ b/Source/LibationAvalonia/Dialogs/MessageBoxAlertAdminDialog.axaml.cs @@ -28,7 +28,7 @@ namespace LibationAvalonia.Dialogs DataContext = this; } - private async void GoToGithub_Tapped(object sender, Avalonia.Interactivity.RoutedEventArgs e) + private async void GoToGithub_Tapped(object sender, Avalonia.Input.TappedEventArgs e) { var url = "https://github.com/rmcrackan/Libation/issues"; try @@ -41,7 +41,7 @@ namespace LibationAvalonia.Dialogs } } - private async void GoToLogs_Tapped(object sender, Avalonia.Interactivity.RoutedEventArgs e) + private async void GoToLogs_Tapped(object sender, Avalonia.Input.TappedEventArgs e) { LongPath dir = ""; try diff --git a/Source/LibationAvalonia/Dialogs/MessageBoxWindow.axaml b/Source/LibationAvalonia/Dialogs/MessageBoxWindow.axaml index 416eebb8..293a6218 100644 --- a/Source/LibationAvalonia/Dialogs/MessageBoxWindow.axaml +++ b/Source/LibationAvalonia/Dialogs/MessageBoxWindow.axaml @@ -6,7 +6,7 @@ mc:Ignorable="d" d:DesignWidth="265" d:DesignHeight="110" MinWidth="265" MinHeight="110" x:Class="LibationAvalonia.Dialogs.MessageBoxWindow" - Title="{Binding Caption}" HasSystemDecorations="True" ShowInTaskbar="True" + Title="{Binding Caption}" IsExtendedIntoWindowDecorations="True" ShowInTaskbar="True" Icon="/Assets/1x1.png"> diff --git a/Source/LibationAvalonia/LibationAvalonia.csproj b/Source/LibationAvalonia/LibationAvalonia.csproj index 41b319df..9e38445c 100644 --- a/Source/LibationAvalonia/LibationAvalonia.csproj +++ b/Source/LibationAvalonia/LibationAvalonia.csproj @@ -128,17 +128,19 @@ + + + + + + + + + + - - - - - - - - - + Always diff --git a/Source/LibationAvalonia/ViewModels/ProductsDisplayViewModel.cs b/Source/LibationAvalonia/ViewModels/ProductsDisplayViewModel.cs index 8468ba55..af318103 100644 --- a/Source/LibationAvalonia/ViewModels/ProductsDisplayViewModel.cs +++ b/Source/LibationAvalonia/ViewModels/ProductsDisplayViewModel.cs @@ -13,6 +13,7 @@ using ApplicationServices; using AudibleUtilities; using LibationAvalonia.Views; using LibationAvalonia.Dialogs.Login; +using Avalonia.Collections; namespace LibationAvalonia.ViewModels { diff --git a/Source/LibationAvalonia/Views/MainWindow/MainWindow.axaml b/Source/LibationAvalonia/Views/MainWindow/MainWindow.axaml index 37a28f7b..d0b9a900 100644 --- a/Source/LibationAvalonia/Views/MainWindow/MainWindow.axaml +++ b/Source/LibationAvalonia/Views/MainWindow/MainWindow.axaml @@ -12,7 +12,7 @@ Name="Form1" Icon="/Assets/libation.ico"> - + @@ -143,23 +143,30 @@ + - - + diff --git a/Source/LibationAvalonia/Views/ProductsDisplay.axaml.cs b/Source/LibationAvalonia/Views/ProductsDisplay.axaml.cs index b5a7c532..6f015b8c 100644 --- a/Source/LibationAvalonia/Views/ProductsDisplay.axaml.cs +++ b/Source/LibationAvalonia/Views/ProductsDisplay.axaml.cs @@ -29,6 +29,7 @@ namespace LibationAvalonia.Views using var context = DbContexts.GetContext(); List sampleEntries = new() { + new LibraryBookEntry(context.GetLibraryBook_Flat_NoTracking("B00DCD0OXU")), new LibraryBookEntry(context.GetLibraryBook_Flat_NoTracking("B017V4IM1G")), new LibraryBookEntry(context.GetLibraryBook_Flat_NoTracking("B017V4IWVG")), new LibraryBookEntry(context.GetLibraryBook_Flat_NoTracking("B017V4JA2Q")), @@ -40,8 +41,8 @@ namespace LibationAvalonia.Views DataContext = new ProductsDisplayViewModel(sampleEntries); return; } - Configure_ColumnCustomization(); + foreach (var column in productsGrid.Columns) { column.CustomSortComparer = new RowComparer(column); @@ -198,7 +199,7 @@ namespace LibationAvalonia.Views //Expanding and collapsing reset the list, which will cause focus to shift //to the topright cell. Reset focus onto the clicked button's cell. - ((sender as Control).Parent.Parent as DataGridCell)?.Focus(); + (sender as Button).Parent?.Focus(); } else if (button.DataContext is LibraryBookEntry lbEntry) { @@ -212,7 +213,7 @@ namespace LibationAvalonia.Views imageDisplayDialog.Close(); } - public void Cover_Click(object sender, Avalonia.Interactivity.RoutedEventArgs args) + public void Cover_Click(object sender, Avalonia.Input.TappedEventArgs args) { if (sender is not Image tblock || tblock.DataContext is not GridEntry gEntry) return; @@ -252,7 +253,7 @@ namespace LibationAvalonia.Views imageDisplayDialog.Show(); } - public void Description_Click(object sender, Avalonia.Interactivity.RoutedEventArgs args) + public void Description_Click(object sender, Avalonia.Input.TappedEventArgs args) { if (sender is TextBlock tblock && tblock.DataContext is GridEntry gEntry) { diff --git a/Source/Visual Studio 2022/Visualizers/attribcache140.bin b/Source/Visual Studio 2022/Visualizers/attribcache140.bin new file mode 100644 index 00000000..06f7ff3f Binary files /dev/null and b/Source/Visual Studio 2022/Visualizers/attribcache140.bin differ