From 62f0e1b00daf47b14b688c702756d82e6b3da009 Mon Sep 17 00:00:00 2001 From: Chernykh Aleksandr Date: Sat, 2 May 2026 06:42:31 +0300 Subject: [PATCH 1/4] commit --- src/KeyKeeper/Views/ErrorDialog.axaml | 79 +++++++++++++++++++-------- 1 file changed, 56 insertions(+), 23 deletions(-) diff --git a/src/KeyKeeper/Views/ErrorDialog.axaml b/src/KeyKeeper/Views/ErrorDialog.axaml index 03246d0..13f41ad 100644 --- a/src/KeyKeeper/Views/ErrorDialog.axaml +++ b/src/KeyKeeper/Views/ErrorDialog.axaml @@ -1,31 +1,64 @@ - + Title="Access Error" + TransparencyLevelHint="AcrylicBlur" + ExtendClientAreaToDecorationsHint="True"> - - + + + + + + + + + + + + + From 0a36ad69c1f86f4eb31649587a66c3f54c552737 Mon Sep 17 00:00:00 2001 From: Chernykh Aleksandr Date: Sat, 2 May 2026 06:42:36 +0300 Subject: [PATCH 2/4] commit --- src/KeyKeeper/Views/ErrorDialog.axaml.cs | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/src/KeyKeeper/Views/ErrorDialog.axaml.cs b/src/KeyKeeper/Views/ErrorDialog.axaml.cs index ef17520..c3c380a 100644 --- a/src/KeyKeeper/Views/ErrorDialog.axaml.cs +++ b/src/KeyKeeper/Views/ErrorDialog.axaml.cs @@ -1,4 +1,4 @@ -using Avalonia.Controls; +using Avalonia.Controls; using Avalonia.Interactivity; namespace KeyKeeper.Views; @@ -8,12 +8,10 @@ public partial class ErrorDialog : Window public ErrorDialog(string message) { InitializeComponent(); - MinWidth = 400; - MinHeight = 200; MessageText.Text = message; } - private void Ok_Click(object sender, RoutedEventArgs e) + private void Ok_Click(object? sender, RoutedEventArgs e) { Close(); } From 5a7dfc7f9add4b67037c417a4e21aea118b45f2e Mon Sep 17 00:00:00 2001 From: Slavasil Date: Sun, 3 May 2026 16:02:20 +0300 Subject: [PATCH 3/4] make error title customizable --- src/KeyKeeper/ViewModels/LockedRepositoryViewModel.cs | 10 +++++----- src/KeyKeeper/ViewModels/RepositoryWindowViewModel.cs | 2 +- src/KeyKeeper/Views/ErrorDialog.axaml | 2 +- src/KeyKeeper/Views/ErrorDialog.axaml.cs | 3 ++- src/KeyKeeper/Views/RepositoryWindow.axaml.cs | 4 ++-- 5 files changed, 11 insertions(+), 10 deletions(-) diff --git a/src/KeyKeeper/ViewModels/LockedRepositoryViewModel.cs b/src/KeyKeeper/ViewModels/LockedRepositoryViewModel.cs index 11745f2..f3367fa 100644 --- a/src/KeyKeeper/ViewModels/LockedRepositoryViewModel.cs +++ b/src/KeyKeeper/ViewModels/LockedRepositoryViewModel.cs @@ -37,24 +37,24 @@ public partial class LockedRepositoryViewModel : ViewModelBase if (e.Message == PassStoreFileException.ContentHMACMismatch.Message || e.Message == PassStoreFileException.InvalidBeginMarker.Message) { - await parent.ShowErrorPopup("Incorrect password or corrupted file"); + await parent.ShowErrorPopup("Incorrect password or corrupted file", "Check password"); } else if (e.Message == PassStoreFileException.UnexpectedEndOfFile.Message || e.Message == PassStoreFileException.IncorrectMagicNumber.Message || e.Message == PassStoreFileException.InvalidCryptoHeader.Message || e.Message == PassStoreFileException.InvalidPassStoreEntry.Message) { - await parent.ShowErrorPopup("Corrupted file"); + await parent.ShowErrorPopup("Corrupted file", "Password store error"); } else if (e.Message == PassStoreFileException.UnsupportedVersion.Message) { - await parent.ShowErrorPopup("Unsupported store file version"); + await parent.ShowErrorPopup("Unsupported store file version", "Password store error"); } else { - await parent.ShowErrorPopup("Unknown password store unlock error"); + await parent.ShowErrorPopup("Unknown unlock error", "Password store error"); } } catch (Exception e) { Console.WriteLine(e); - await parent.ShowErrorPopup("Cannot open the password store file"); + await parent.ShowErrorPopup("Cannot open the password store file", "Password store error"); } } } \ No newline at end of file diff --git a/src/KeyKeeper/ViewModels/RepositoryWindowViewModel.cs b/src/KeyKeeper/ViewModels/RepositoryWindowViewModel.cs index 48fab08..c17d4db 100644 --- a/src/KeyKeeper/ViewModels/RepositoryWindowViewModel.cs +++ b/src/KeyKeeper/ViewModels/RepositoryWindowViewModel.cs @@ -16,7 +16,7 @@ public partial class RepositoryWindowViewModel : ViewModelBase private DateTime _timerStart; private string _lockTimerDisplay = string.Empty; - public Func ShowErrorPopup; + public Func ShowErrorPopup; public object CurrentPage { diff --git a/src/KeyKeeper/Views/ErrorDialog.axaml b/src/KeyKeeper/Views/ErrorDialog.axaml index 13f41ad..f21f499 100644 --- a/src/KeyKeeper/Views/ErrorDialog.axaml +++ b/src/KeyKeeper/Views/ErrorDialog.axaml @@ -19,7 +19,7 @@ Stretch="Uniform" /> - + model.ShowErrorPopup = async (string message, string title) => { - await new ErrorDialog(message).ShowDialog(this); + await new ErrorDialog(message, title).ShowDialog(this); }; } From 72997f832ec1f2255dbb7d389e407ade08853c13 Mon Sep 17 00:00:00 2001 From: Slavasil Date: Sun, 3 May 2026 18:31:07 +0300 Subject: [PATCH 4/4] close the error dialog by pressing Enter/Esc --- src/KeyKeeper/Views/ErrorDialog.axaml | 17 ++++++++++------- src/KeyKeeper/Views/ErrorDialog.axaml.cs | 12 ++++++++++-- 2 files changed, 20 insertions(+), 9 deletions(-) diff --git a/src/KeyKeeper/Views/ErrorDialog.axaml b/src/KeyKeeper/Views/ErrorDialog.axaml index f21f499..89faf82 100644 --- a/src/KeyKeeper/Views/ErrorDialog.axaml +++ b/src/KeyKeeper/Views/ErrorDialog.axaml @@ -32,13 +32,16 @@ - -