private async Task LoadFromFolder(CancellationToken token) { using (BusyStack.GetToken()) { var options = new FileSystemFolderBrowserOptions() { IncludeSubFolders = false, CanCancel = true, MultiSelection = false, Title = _translator.Translate(nameof(Resources.SelectFolder)), }; (var Result, var MediaItems) = await _dialogViewModel.ShowMediaItemFolderSelectionDialog(options, token).ConfigureAwait(true); if (Result) { AddRange(MediaItems); } } }
public async Task <(bool Result, ICollection <MediaItem> MediaItems)> ShowMediaItemFolderSelectionDialog(FileSystemFolderBrowserOptions options, CancellationToken token) { var mediaItems = new List <MediaItem>(); (var Result, var Folder) = await ShowFolderBrowserDialog(options, token).ConfigureAwait(true); if (!Result) { return(Result, mediaItems); } // should handle items depending on options foreach (var file in Folder.Children) { // TODO get the files from the folder // TODO parse the files from the folder and generate mediaitems from them } return(Result, mediaItems); }