示例#1
0
        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);
                }
            }
        }
示例#2
0
        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);
        }