WIP Image imports and file access

This commit is contained in:
TheXamlGuy
2024-06-28 21:03:56 +01:00
parent b5a2bab691
commit f933afc24f
17 changed files with 192 additions and 40 deletions
+32
View File
@@ -0,0 +1,32 @@
using Avalonia.Controls;
using Avalonia.Platform.Storage;
using Toolkit.Foundation;
namespace Toolkit.Avalonia;
public class FileProvider(ITopLevelProvider topLevelProvider) :
IFileProvider
{
public async Task<IReadOnlyCollection<string>> SelectFiles(FileFilter filter)
{
if (topLevelProvider.Get() is TopLevel topLevel)
{
IReadOnlyList<IStorageFile> storageFiles = await topLevel.StorageProvider.OpenFilePickerAsync(new FilePickerOpenOptions()
{
AllowMultiple = filter.AllowMultiple,
FileTypeFilter = new List<FilePickerFileType>
{
new(filter.Name)
{
Patterns = filter.Extensions.Select(x => $"*.{x}").ToList()
}
}
});
return storageFiles.Select(file => file.Path.LocalPath).ToList();
}
return Array.Empty<string>();
}
}