private void OpenPlaylistFlyout(object sender, object e) { var flyout = sender as MenuFlyout; MenuFlyoutHelper.SetPlaylistMenu(sender, this, null, new MenuFlyoutOption { MultiSelectOption = new MultiSelectCommandBarOption { ShowRemove = false, ShowReverseSelection = false } }); FolderTree tree = null; if (flyout.Target.DataContext is GridFolderView gridFolderView) { tree = gridFolderView.Tree; } else if (flyout.Target.DataContext is TreeViewNode node) { tree = node.Content as FolderTree; } flyout.Items.Add(MenuFlyoutHelper.GetShowInExplorerItem(tree.Path, Windows.Storage.StorageItemTypes.Folder)); flyout.Items.Add(MenuFlyoutHelper.GetRefreshDirectoryItem(tree, AfterTreeUpdated)); flyout.Items.Add(MenuFlyoutHelper.GetSearchDirectoryItem(tree)); }
private void OpenLocalMusicFlyout(object sender, object e) { if (History.Count == 0) { return; } var tree = History.Peek(); var flyout = sender as MenuFlyout; flyout.Items.Clear(); var helper = new MenuFlyoutHelper() { Data = tree.Files, DefaultPlaylistName = tree.Directory }; flyout.Items.Add(helper.GetAddToMenuFlyoutSubItem()); flyout.Items.Add(MenuFlyoutHelper.GetShowInExplorerItem(tree.Path, StorageItemTypes.Folder)); flyout.Items.Add(MenuFlyoutHelper.GetSortByMenuSubItem(new Dictionary <SortBy, Action> { { SortBy.Title, () => { if (LocalFrame.Content is LocalMusicPage page) { page.SortByTitle(); } else { LocalMusicPage.SortByTitleRequested = !LocalMusicPage.SortByTitleRequested; } } },
private static MenuFlyout SetMenu(Func <MenuFlyoutHelper, MenuFlyout> GetMenu, object sender, IMenuFlyoutHelperBuildListener buildListener = null) { MenuFlyout flyout; MenuFlyoutHelper helper; object data; if (sender is MenuFlyout) { flyout = sender as MenuFlyout; data = flyout.Target.DataContext; flyout.Items.Clear(); } else { flyout = new MenuFlyout(); data = (sender as FrameworkElement).DataContext; } helper = new MenuFlyoutHelper() { Data = FindMusic(data), DefaultPlaylistName = Settings.settings.FindNextPlaylistName(FindPlaylistName(data)) }; buildListener?.OnBuild(helper); var items = GetMenu(helper).Items; flyout.Items.Clear(); foreach (var item in items) { flyout.Items.Add(item); } return(flyout); }
private void AddToButton_Click(object sender, RoutedEventArgs e) { var data = (sender as Button).DataContext as AlbumView; var helper = new MenuFlyoutHelper() { Data = data.Songs, DefaultPlaylistName = data.Name }; helper.GetAddToPlaylistsMenuFlyout().ShowAt(sender as FrameworkElement); }
private void OpenMusicFlyout(object sender, object e) { MenuFlyoutHelper.SetMusicMenu(sender, this, null, new MenuFlyoutOption { MultiSelectOption = new MultiSelectCommandBarOption { ShowRemove = false, ShowReverseSelection = false } }); }
private void SortAlbumsButton_Click(object sender, RoutedEventArgs e) { MenuFlyoutHelper.SetSortByMenu(sender, Settings.settings.SearchAlbumsCriterion, AlbumsCriteria, async item => { Settings.settings.SearchAlbumsCriterion = item; LoadingProgress.Visibility = Visibility.Visible; AllAlbums.SetTo(await Task.Run(() => SearchHelper.SortAlbums(AllAlbums, CurrentKeyword.Text, item).ToList())); Albums.SetTo(AllAlbums.Take(Albums.Count)); LoadingProgress.Visibility = Visibility.Collapsed; }); }
private void SaveToButton_Click(object sender, RoutedEventArgs e) { var name = Helper.Localize("Now Playing") + " - " + DateTime.Now.ToString("yy/MM/dd"); int index = Settings.settings.FindNextPlaylistNameIndex(name); var defaultName = index == 0 ? name : Helper.GetPlaylistName(name, index); var helper = new MenuFlyoutHelper { Data = MediaHelper.CurrentPlaylist, DefaultPlaylistName = defaultName, CurrentPlaylistName = MenuFlyoutHelper.NowPlaying }; helper.GetAddToMenuFlyout().ShowAt(sender as FrameworkElement); }
private void SortButton_Click(object sender, RoutedEventArgs e) { MenuFlyoutHelper.SetSortByMenu(sender, Settings.settings.AlbumsCriterion, SortByCriteria, async criterion => { AlbumPageProgressRing.Visibility = Visibility.Visible; Albums.SetTo(await Task.Run(() => Sort(criterion, Albums))); AlbumPageProgressRing.Visibility = Visibility.Collapsed; }, async() => { AlbumPageProgressRing.Visibility = Visibility.Visible; Albums.CopyAndSetTo(await Task.Run(() => { var albums = Albums.Reverse(); BuildAlbumInfoList(albums); return(albums); })); AlbumPageProgressRing.Visibility = Visibility.Collapsed; }); }
private void SortPlaylistsButton_Click(object sender, RoutedEventArgs e) { MenuFlyoutHelper.SetSortByMenu(sender, Settings.settings.SearchPlaylistsCriterion, PlaylistsCriteria, async item => { Settings.settings.SearchPlaylistsCriterion = item; LoadingProgress.Visibility = Visibility.Visible; int nowPlayingIndex = AllPlaylists.FindIndex(i => i.Name == MenuFlyoutHelper.NowPlaying); if (nowPlayingIndex >= 0) { AllPlaylists.RemoveAt(nowPlayingIndex); } int myFavoritesIndex = AllPlaylists.FindIndex(i => i.Name == MenuFlyoutHelper.MyFavorites); if (myFavoritesIndex >= 0) { AllPlaylists.RemoveAt(myFavoritesIndex); } AllPlaylists.SetTo(await Task.Run(() => SearchHelper.SortPlaylists(AllPlaylists, CurrentKeyword.Text, item).ToList())); Playlists.SetTo(AllPlaylists.Take(Playlists.Count)); LoadingProgress.Visibility = Visibility.Collapsed; }); }
private void ShuffleMenuFlyout_Opening(object sender, object e) { (sender as MenuFlyout).SetTo(MenuFlyoutHelper.GetShuffleMenu()); }
private void MenuFlyout_Opening(object sender, object e) { MenuFlyoutHelper.SetPlaylistMenu(sender); MenuFlyoutOpeningAction?.Invoke(sender, e); }
private void SortButton_Click(object sender, RoutedEventArgs e) { MenuFlyoutHelper.SetSortByMenu(sender, SettingsCriterion, Criteria, item => SettingsCriterion = item); }
void IMultiSelectListener.AddTo(MultiSelectCommandBar commandBar, MenuFlyoutHelper helper) { helper.DefaultPlaylistName = Settings.settings.FindNextPlaylistName(CurrentKeyword.Text); helper.Data = GetSelectItems(); }
void IMultiSelectListener.AddTo(MultiSelectCommandBar commandBar, MenuFlyoutHelper helper) { helper.Data = SelectedSongs; }
private void MenuFlyout_Opening(object sender, object e) { MenuFlyoutHelper.SetPlaylistMenu(sender); }