Ejemplo n.º 1
0
        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));
        }
Ejemplo n.º 2
0
        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;
                      }
                  } },
Ejemplo n.º 3
0
        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);
        }
Ejemplo n.º 4
0
        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);
        }
Ejemplo n.º 5
0
 private void OpenMusicFlyout(object sender, object e)
 {
     MenuFlyoutHelper.SetMusicMenu(sender, this, null, new MenuFlyoutOption
     {
         MultiSelectOption = new MultiSelectCommandBarOption
         {
             ShowRemove           = false,
             ShowReverseSelection = false
         }
     });
 }
Ejemplo n.º 6
0
 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;
     });
 }
Ejemplo n.º 7
0
        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);
        }
Ejemplo n.º 8
0
 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;
     });
 }
Ejemplo n.º 9
0
 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;
     });
 }
Ejemplo n.º 10
0
 private void ShuffleMenuFlyout_Opening(object sender, object e)
 {
     (sender as MenuFlyout).SetTo(MenuFlyoutHelper.GetShuffleMenu());
 }
Ejemplo n.º 11
0
 private void MenuFlyout_Opening(object sender, object e)
 {
     MenuFlyoutHelper.SetPlaylistMenu(sender);
     MenuFlyoutOpeningAction?.Invoke(sender, e);
 }
Ejemplo n.º 12
0
 private void SortButton_Click(object sender, RoutedEventArgs e)
 {
     MenuFlyoutHelper.SetSortByMenu(sender, SettingsCriterion, Criteria, item => SettingsCriterion = item);
 }
Ejemplo n.º 13
0
 void IMultiSelectListener.AddTo(MultiSelectCommandBar commandBar, MenuFlyoutHelper helper)
 {
     helper.DefaultPlaylistName = Settings.settings.FindNextPlaylistName(CurrentKeyword.Text);
     helper.Data = GetSelectItems();
 }
Ejemplo n.º 14
0
 void IMultiSelectListener.AddTo(MultiSelectCommandBar commandBar, MenuFlyoutHelper helper)
 {
     helper.Data = SelectedSongs;
 }
Ejemplo n.º 15
0
 private void MenuFlyout_Opening(object sender, object e)
 {
     MenuFlyoutHelper.SetPlaylistMenu(sender);
 }