diff --git a/Toolkit.Avalonia/FileSelector.cs b/Toolkit.Avalonia/FileSelector.cs new file mode 100644 index 0000000..682d849 --- /dev/null +++ b/Toolkit.Avalonia/FileSelector.cs @@ -0,0 +1,30 @@ +using Avalonia.Controls; +using Toolkit.Foundation; + +namespace Toolkit.Avalonia; + +public class FileSelector : + IFileSelector +{ + public async Task> SelectFiles(FileFilter filter) + { + //TopLevel topLevel = TopLevel.GetTopLevel(control); + + //var openFileDialog = new OpenFileDialog(); + //openFileDialog.Filters.Add(new FileDialogFilter + //{ + // Name = filter.Name, + // Extensions = filter.Extensions + //}); + + //openFileDialog.AllowMultiple = filter.AllowMultiple; + + //var results = await openFileDialog.ShowAsync(window as Window); + + //if (results != null && results.Length > 0) + //{ + // return results.Select(result => result); + //} + return Enumerable.Empty(); + } +} diff --git a/Toolkit.Foundation/FileFilter.cs b/Toolkit.Foundation/FileFilter.cs new file mode 100644 index 0000000..e37c437 --- /dev/null +++ b/Toolkit.Foundation/FileFilter.cs @@ -0,0 +1,3 @@ +namespace Toolkit.Foundation; + +public record FileFilter(string Name, List Extensions, bool AllowMultiple = false); diff --git a/Toolkit.Foundation/IFileSelector.cs b/Toolkit.Foundation/IFileSelector.cs new file mode 100644 index 0000000..5eb8bb8 --- /dev/null +++ b/Toolkit.Foundation/IFileSelector.cs @@ -0,0 +1,6 @@ +namespace Toolkit.Foundation; + +public interface IFileSelector +{ + Task> SelectFiles(FileFilter filter); +}