From e55e969349a56bb7fcbe0833c93e718641a1ca25 Mon Sep 17 00:00:00 2001 From: Michael Bucari-Tovo Date: Wed, 30 Aug 2023 08:59:20 -0600 Subject: [PATCH] Fix issue with save button being disabled. --- .../Dialogs/LibationFilesDialog.axaml | 2 +- .../Dialogs/LibationFilesDialog.axaml.cs | 22 ++++++++----------- 2 files changed, 10 insertions(+), 14 deletions(-) diff --git a/Source/LibationAvalonia/Dialogs/LibationFilesDialog.axaml b/Source/LibationAvalonia/Dialogs/LibationFilesDialog.axaml index b82b437a..e611e50d 100644 --- a/Source/LibationAvalonia/Dialogs/LibationFilesDialog.axaml +++ b/Source/LibationAvalonia/Dialogs/LibationFilesDialog.axaml @@ -27,6 +27,6 @@ Margin="5" Padding="30,3,30,3" Content="Save" - Command="{Binding SaveButtonAsync}" /> + Click="Save_Click" /> diff --git a/Source/LibationAvalonia/Dialogs/LibationFilesDialog.axaml.cs b/Source/LibationAvalonia/Dialogs/LibationFilesDialog.axaml.cs index 05a4ef01..a20a588a 100644 --- a/Source/LibationAvalonia/Dialogs/LibationFilesDialog.axaml.cs +++ b/Source/LibationAvalonia/Dialogs/LibationFilesDialog.axaml.cs @@ -1,11 +1,9 @@ -using Avalonia.Controls; using LibationFileManager; using System.Collections.Generic; -using System.Threading.Tasks; namespace LibationAvalonia.Dialogs { - public partial class LibationFilesDialog : Window + public partial class LibationFilesDialog : DialogWindow { private class DirSelectOptions { @@ -18,28 +16,26 @@ namespace LibationAvalonia.Dialogs public string Directory { get; set; } = Configuration.GetKnownDirectoryPath(Configuration.KnownDirectories.UserProfile); } - private DirSelectOptions dirSelectOptions; + + private readonly DirSelectOptions dirSelectOptions; public string SelectedDirectory => dirSelectOptions.Directory; - public DialogResult DialogResult { get; private set; } - public LibationFilesDialog() + + public LibationFilesDialog() : base(saveAndRestorePosition: false) { InitializeComponent(); DataContext = dirSelectOptions = new(); } - public async Task SaveButtonAsync() + public async void Save_Click(object sender, Avalonia.Interactivity.RoutedEventArgs e) { - var libationDir = dirSelectOptions.Directory; - - if (!System.IO.Directory.Exists(libationDir)) + if (!System.IO.Directory.Exists(SelectedDirectory)) { - await MessageBox.Show("Not saving change to Libation Files location. This folder does not exist:\r\n" + libationDir, "Folder does not exist", MessageBoxButtons.OK, MessageBoxIcon.Error, saveAndRestorePosition: false); + await MessageBox.Show("Not saving change to Libation Files location. This folder does not exist:\r\n" + SelectedDirectory, "Folder does not exist", MessageBoxButtons.OK, MessageBoxIcon.Error, saveAndRestorePosition: false); return; } - DialogResult = DialogResult.OK; - Close(DialogResult); + await SaveAndCloseAsync(); } } }