[Refactor] Replace OpenFolderDialog with StorageProvider for folder selection

This commit is contained in:
2025-07-07 23:45:03 +01:00
parent a88c9000ed
commit ad27c2a9ab
2 changed files with 46 additions and 48 deletions

View File

@@ -24,10 +24,12 @@
*******************************************************************************/
using System;
using System.Collections.Generic;
using System.IO;
using System.Reactive;
using System.Threading.Tasks;
using Avalonia.Controls;
using Avalonia.Platform.Storage;
using Avalonia.Threading;
using Microsoft.EntityFrameworkCore;
using MsBox.Avalonia;
@@ -187,30 +189,29 @@ public sealed class SettingsViewModel : ViewModelBase
async Task ExecuteTemporaryCommandAsync()
{
var dlgFolder = new OpenFolderDialog
{
Title = Localization.ChooseTemporaryFolder
};
IReadOnlyList<IStorageFolder> result =
await _view.StorageProvider.OpenFolderPickerAsync(new FolderPickerOpenOptions
{
Title = Localization.ChooseTemporaryFolder
});
string result = await dlgFolder.ShowAsync(_view);
if(result.Count < 1) return;
if(result == null) return;
TemporaryPath = result;
TemporaryPath = result[0].Path.LocalPath;
}
async Task ExecuteRepositoryCommandAsync()
{
var dlgFolder = new OpenFolderDialog
{
Title = Localization.ChooseRepositoryFolder
};
IReadOnlyList<IStorageFolder> result =
await _view.StorageProvider.OpenFolderPickerAsync(new FolderPickerOpenOptions
{
Title = Localization.ChooseRepositoryFolder,
AllowMultiple = false
});
string result = await dlgFolder.ShowAsync(_view);
if(result.Count < 1) return;
if(result == null) return;
RepositoryPath = result;
RepositoryPath = result[0].Path.LocalPath;
}
async Task ExecuteDatabaseCommandAsync()