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 b/Source/LibationAvalonia/Views/ProductsDisplay.axaml
index 65fade99..fb5a9939 100644
--- a/Source/LibationAvalonia/Views/ProductsDisplay.axaml
+++ b/Source/LibationAvalonia/Views/ProductsDisplay.axaml
@@ -34,11 +34,9 @@
-
-
-
+
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