43 lines
1.1 KiB
C#
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;
|
|
}
|
|
}
|
|
}
|