diff --git a/Progrart/Controls/FileItem.axaml b/Progrart/Controls/FileItem.axaml index 0fd7264..2fd42f1 100644 --- a/Progrart/Controls/FileItem.axaml +++ b/Progrart/Controls/FileItem.axaml @@ -34,7 +34,7 @@ - + diff --git a/Progrart/Controls/FileItem.axaml.cs b/Progrart/Controls/FileItem.axaml.cs index 8b66d11..6535e61 100644 --- a/Progrart/Controls/FileItem.axaml.cs +++ b/Progrart/Controls/FileItem.axaml.cs @@ -282,4 +282,20 @@ public partial class FileItem : UserControl } } } + + private async void DeleteMenuItem_Click(object? sender, Avalonia.Interactivity.RoutedEventArgs e) + { + var content = new ConfirmationDialog("Are you sure?", "This operation cannot be undone."); + content.onOK = async () => + { + if (currentItem is not null) + await currentItem.DeleteAsync(); + if (this.Parent is StackPanel panel) + { + panel.Children.Remove(this); + } + return false; + }; + await DialogHost.Show(content); + } } \ No newline at end of file diff --git a/Progrart/Dialogs/CloseConfirmationDialog.axaml b/Progrart/Dialogs/CloseConfirmationDialog.axaml index 520824e..389feaa 100644 --- a/Progrart/Dialogs/CloseConfirmationDialog.axaml +++ b/Progrart/Dialogs/CloseConfirmationDialog.axaml @@ -8,7 +8,7 @@ Unsaved Changes - + Save all files or discard changes? diff --git a/Progrart/Dialogs/ConfirmationDialog.axaml b/Progrart/Dialogs/ConfirmationDialog.axaml new file mode 100644 index 0000000..e234ded --- /dev/null +++ b/Progrart/Dialogs/ConfirmationDialog.axaml @@ -0,0 +1,23 @@ + + + + Title + + + Content + + + + + + +