예제 #1
0
        private async void AddExcluded()
        {
            var picker = new FolderPicker
            {
                SuggestedStartLocation = PickerLocationId.MusicLibrary,
                ViewMode = PickerViewMode.List
            };

            picker.FileTypeFilter.Add("*");
            var folder = await picker.PickSingleFolderAsync();

            if (folder != null)
            {
                if (!LibraryFolders.Any(f => folder.Path.IsSubPathOf(f.Path)))
                {
                    await new MessageDialog(CommonSharedStrings.SelectionNotInLibraryPrompt).ShowAsync();
                }
                else
                {
                    var folderModel = new FolderModel
                    {
                        Path = folder.Path,
                        Name = folder.Name
                    };
                    PathExclusion.AddExcludedPath(folder.Path);
                    folderModel.RemoveFolderButtonClickedRelayCommand = new RelayCommand <RoutedEventArgs>(e =>
                    {
                        PathExclusion.RemoveExcludedPath(folder.Path);
                        ExcludedFolders.Remove(folderModel);
                    });
                    ExcludedFolders.Add(folderModel);
                }
            }
        }
예제 #2
0
        /// <summary>
        /// Handle adding folders.
        /// </summary>
        private async void AddFolderStub()
        {
            // Select a folder.
            var libraryFolders = await StorageLibrary.GetLibraryAsync(KnownLibraryId.Music);

            var folder = await libraryFolders.RequestAddFolderAsync();

            if (folder == null || LibraryFolders.Any((c) => c.Path == folder.Path))
            {
                return;
            }
            // Add folder to library.
            LibraryFolders.Add(new FolderModel
            {
                Name = folder.Name,
                Path = folder.Path,
                RemoveFolderButtonClickedRelayCommand = _removeFolderButtonClickedRelayCommand
            });
        }
예제 #3
0
        private async void AddAccessFolder()
        {
            var picker = new FolderPicker
            {
                SuggestedStartLocation = PickerLocationId.ComputerFolder,
                ViewMode = PickerViewMode.List
            };

            picker.FileTypeFilter.Add("*");
            var folder = await picker.PickSingleFolderAsync();

            if (folder != null)
            {
                if (AccessFolders.Any(f => folder.Path.IsSubPathOf(f.Path)) ||
                    LibraryFolders.Any(f => folder.Path.IsSubPathOf(f.Path)))
                {
                    await new MessageDialog(CommonSharedStrings.AlreadyHaveAccessPrompt).ShowAsync();
                }
                else
                {
                    var folderModel = new FolderModel
                    {
                        Path = folder.Path,
                        Name = folder.Name
                    };
                    var token = await FutureAccessListHelper.Instance.AuthorizeStorageItem(folder);

                    folderModel.RemoveFolderButtonClickedRelayCommand = new RelayCommand <RoutedEventArgs>(
                        async(e) =>
                    {
                        await FutureAccessListHelper.Instance.RemoveAuthorizedItemAsync(token);
                        AccessFolders.Remove(folderModel);
                    });
                    AccessFolders.Add(folderModel);
                }
            }
        }