Example #1
0
        public void SetPage(FolderTree tree, bool setHeader = true)
        {
            if (History.Count > 0 && History.Peek() == tree)
            {
                return;
            }
            History.Push(tree);
            SetBackButtonVisibility();
            TreeInfo info = tree.Info;

            SetText(info, setHeader);
            if (IsBackToMusicPage(info))
            {
                LocalNavigationView.SelectedItem = LocalSongsItem;
                LocalFrame.Navigate(typeof(LocalMusicPage), tree);
                SetLocalGridView(Settings.settings.LocalMusicGridView);
            }
            else if (info.Folders > 0)
            {
                LocalNavigationView.SelectedItem = LocalFoldersItem;
                LocalFrame.Navigate(typeof(LocalFoldersPage), tree);
                SetLocalGridView(Settings.settings.LocalFolderGridView);
            }
            else
            {
                LocalNavigationView.SelectedItem = null;
            }
        }
        /// <summary>
        /// Invoked when this page is about to be displayed in a Frame.
        /// </summary>
        /// <param name="navigationEvent">Event data that describes how this page was reached.  The Parameter
        /// property is typically used to configure the page.</param>
        ///

        protected override void OnNavigatedTo(NavigationEventArgs navigationEvent)
        {
            if (navigationEvent == null)
            {
                throw new ArgumentNullException("navigationEvent", "+ cannot be null");
            }


            if (navigationEvent.Parameter.ToString().Split(":".ToCharArray()).Length > 1)
            {
                LocalFrame.Navigate(typeof(GroupedItemsPage), "AllGroups"); //To have the correct Back-stack
                LocalFrame.Navigate(typeof(GroupDetailPage), navigationEvent.Parameter.ToString().Split(":".ToCharArray())[1]);
            }
            else
            {
                LocalFrame.Navigate(typeof(GroupedItemsPage), navigationEvent.Parameter);
                HideAppBars();
            }
        }
Example #3
0
        private void LocalNavigationView_ItemInvoked(NavigationView sender, NavigationViewItemInvokedEventArgs args)
        {
            bool isFolders = LocalFoldersItem.IsSelected;
            Type page      = isFolders ? typeof(LocalFoldersPage) : typeof(LocalMusicPage);

            if (LocalFrame.CurrentSourcePageType == page)
            {
                return;
            }
            PageStackEntry lastPage = LocalFrame.BackStackDepth == 0 ? null : LocalFrame.BackStack.Last();

            if (LocalFrame.CanGoBack && lastPage.SourcePageType == page && lastPage.Parameter == History.Peek())
            {
                LocalFrame.GoBack();
            }
            else
            {
                LocalFrame.Navigate(page, History.Peek());
            }
            SetLocalGridView(isFolders ? Settings.settings.LocalFolderGridView : Settings.settings.LocalMusicGridView);
        }
Example #4
0
        private void LocalNavigationView_BackRequested(NavigationView sender, NavigationViewBackRequestedEventArgs args)
        {
            if (History.Count == 1)
            {
                return;
            }
            var            tree = History.Pop();
            int            last;
            PageStackEntry page;

            do
            {
                page = LocalFrame.BackStack[last = LocalFrame.BackStack.Count - 1];
                if (page.Parameter == tree)
                {
                    LocalFrame.BackStack.RemoveAt(last);
                }
                else
                {
                    break;
                }
            } while (true);
            LocalFrame.GoBack();
            var info = History.Peek().Info;

            SetText(info);
            switch (page.SourcePageType.Name)
            {
            case "LocalFoldersPage":
                LocalFoldersItem.IsSelected = true;
                SetLocalGridView(Settings.settings.LocalFolderGridView);
                break;

            case "LocalMusicPage":
                LocalSongsItem.IsSelected = true;
                SetLocalGridView(Settings.settings.LocalMusicGridView);
                break;
            }
            SetBackButtonVisibility();
        }
 private void MoviesButton_Click(object sender, RoutedEventArgs e)
 {
     LocalFrame.Navigate(typeof(GroupedItemsPage), "AllGroups");
     HideAppBars();
 }
 private void AddButton_Click(object sender, RoutedEventArgs e)
 {
     LocalFrame.Navigate(typeof(AddActor), "AllGroups");
     HideAppBars();
 }
 private void HelpButton_Click(object sender, RoutedEventArgs e)
 {
     LocalFrame.Navigate(typeof(HelpPage), "AllGroups");
     HideAppBars();
 }