Files
ClawdDotNet/src/ClawdDotNet.Desktop/Views/RestoreBackupWindow.axaml.cs
T

43 lines
1.1 KiB
C#

using Avalonia.Controls;
using Avalonia.Interactivity;
using Avalonia.Platform.Storage;
using ClawdDotNet.Desktop.ViewModels;
namespace ClawdDotNet.Desktop.Views;
public partial class RestoreBackupWindow : Window
{
public RestoreBackupWindow()
{
InitializeComponent();
}
protected override void OnDataContextChanged(EventArgs e)
{
base.OnDataContextChanged(e);
if (DataContext is RestoreBackupViewModel vm)
{
vm.CloseRequested += () => Close();
}
}
private async void OnBrowseFolder(object? sender, RoutedEventArgs e)
{
if (DataContext is not RestoreBackupViewModel vm) return;
var storage = StorageProvider;
if (storage is null) return;
var folders = await storage.OpenFolderPickerAsync(new FolderPickerOpenOptions
{
Title = "Zielordner für Wiederherstellung wählen",
AllowMultiple = false
});
if (folders.Count > 0 && folders[0].TryGetLocalPath() is { } path)
{
vm.TargetDirectory = path;
}
}
}