Exemple #1
0
        public void Go(VLCPage desiredPage, object param = null)
        {
            if (!IsFlyout(desiredPage) && desiredPage == CurrentPage)
            {
                return;
            }

            switch (desiredPage)
            {
            case VLCPage.MainPageXBOX:
                setFlyoutContent(desiredPage, typeof(MainPageXBOX), param);
                break;

            case VLCPage.MainPageVideo:
            case VLCPage.MainPageMusic:
            case VLCPage.MainPageFileExplorer:
            case VLCPage.MainPageNetwork:
                if (App.ApplicationFrame.CurrentSourcePageType != typeof(HomePage))
                {
                    App.ApplicationFrame.Navigate(typeof(HomePage));
                }
                HomePageNavigated?.Invoke(null, desiredPage);
                break;

            case VLCPage.AlbumPage:
                setFlyoutContent(desiredPage, typeof(AlbumPageBase), param);
                break;

            case VLCPage.SearchPage:
                setFlyoutContent(desiredPage, typeof(SearchPage), param);
                break;

            case VLCPage.SettingsPage:
            case VLCPage.SettingsPageUI:
            case VLCPage.SettingsPageMusic:
            case VLCPage.SettingsPageVideo:
                setFlyoutContent(desiredPage, typeof(SettingsPage), param);
                break;

            case VLCPage.PlaylistPage:
                setFlyoutContent(desiredPage, typeof(PlaylistPage), param);
                break;

            case VLCPage.CurrentPlaylistPage:
                setFlyoutContent(desiredPage, typeof(MusicPlaylistPage), param);
                break;

            case VLCPage.VideoPlayerPage:
                App.ApplicationFrame.Navigate(typeof(VideoPlayerPage));
                break;

            case VLCPage.MusicPlayerPage:
                App.ApplicationFrame.Navigate(typeof(MusicPlayerPage));
                break;

            case VLCPage.AddAlbumToPlaylistDialog:
                setFlyoutContent(desiredPage, typeof(AddAlbumToPlaylistBase), param);
                break;

            case VLCPage.CreateNewPlaylistDialog:
                setFlyoutContent(desiredPage, typeof(CreateNewPlaylist), param);
                break;

            case VLCPage.MiniPlayerView:
                App.ApplicationFrame.Navigate(typeof(MiniPlayerWindow));
                break;

            case VLCPage.VideoPlayerOptionsPanel:
                setFlyoutContent(desiredPage, typeof(VideoPlayerOptionsPanel), param);
                break;

            case VLCPage.SubtitlesSettings:
                setFlyoutContent(desiredPage, typeof(SubtitlesSettings), param);
                break;

            case VLCPage.AudioTracksSettings:
                setFlyoutContent(desiredPage, typeof(AudioTracksSettings), param);
                break;

            case VLCPage.ChaptersSettings:
                setFlyoutContent(desiredPage, typeof(ChaptersSettings), param);
                break;

            case VLCPage.TrackEditorPage:
                setFlyoutContent(desiredPage, typeof(TrackEditorPage), param);
                break;

            case VLCPage.TvShowView:
                setFlyoutContent(desiredPage, typeof(ShowEpisodesView), param);
                break;

            case VLCPage.AboutAppView:
                setFlyoutContent(desiredPage, typeof(AboutPage), param);
                break;

            case VLCPage.ExternalStorageInclude:
                setFlyoutContent(desiredPage, typeof(ExternalStorageIncludePage), param);
                break;

            default:
                break;
            }

            if (App.SplitShell.IsFlyoutOpen &&
                !IsFlyout(desiredPage))
            {
                GoBack_HideFlyout();
            }
        }
        public void Go(VLCPage desiredPage)
        {
            if (!IsFlyout(desiredPage) && desiredPage == CurrentPage)
            {
                return;
            }

            if (IsFlyout(desiredPage))
            {
                currentFlyout = desiredPage;
            }

            switch (desiredPage)
            {
            case VLCPage.MainPageXBOX:
                App.SplitShell.FlyoutContent = typeof(MainPageXBOX);
                break;

            case VLCPage.MainPageVideo:
            case VLCPage.MainPageMusic:
            case VLCPage.MainPageFileExplorer:
            case VLCPage.MainPageNetwork:
                Locator.MainVM.CurrentPanel = Locator.MainVM.Panels.FirstOrDefault(x => x.Target == desiredPage);

                if (Locator.SettingsVM.MediaCenterMode)
                {
                    if (App.ApplicationFrame.CurrentSourcePageType != VLCPageToPageType(desiredPage))
                    {
                        App.ApplicationFrame.Navigate(VLCPageToPageType(desiredPage));
                    }
                }
                else
                {
                    if (App.ApplicationFrame.CurrentSourcePageType != typeof(HomePage))
                    {
                        App.ApplicationFrame.Navigate(typeof(HomePage));
                    }
                }

                HomePageNavigated?.Invoke(null, desiredPage);
                currentHomePage = desiredPage;
                break;

            case VLCPage.AlbumPage:
                App.SplitShell.FlyoutContent = typeof(AlbumPageBase);
                break;

            case VLCPage.ArtistPage:
                if (CurrentPage != VLCPage.MainPageMusic || Locator.MusicLibraryVM.MusicView != Model.Music.MusicView.Artists ||
                    (CurrentPage == VLCPage.MainPageMusic && Locator.MusicLibraryVM.MusicView == Model.Music.MusicView.Artists && Window.Current.Bounds.Width < 750))
                {
                    App.ApplicationFrame.Navigate(typeof(ArtistPageBase), desiredPage);
                }
                break;

            case VLCPage.SearchPage:
                App.SplitShell.FlyoutContent = typeof(SearchPage);
                break;

            case VLCPage.ArtistInfoView:
                App.ApplicationFrame.Navigate(typeof(ArtistPageBase), desiredPage);
                break;

            case VLCPage.SettingsPage:
            case VLCPage.SettingsPageUI:
            case VLCPage.SettingsPageMusic:
            case VLCPage.SettingsPageVideo:
                App.SplitShell.FlyoutContent = typeof(SettingsPage);
                break;

            case VLCPage.PlaylistPage:
                App.SplitShell.FlyoutContent = typeof(PlaylistPage);
                break;

            case VLCPage.CurrentPlaylistPage:
                App.SplitShell.FlyoutContent = typeof(MusicPlaylistPage);
                break;

            case VLCPage.VideoPlayerPage:
                App.ApplicationFrame.Navigate(typeof(VideoPlayerPage));
                break;

            case VLCPage.MusicPlayerPage:
                App.ApplicationFrame.Navigate(typeof(MusicPlayerPage));
                break;

            case VLCPage.SpecialThanksPage:
                App.SplitShell.FlyoutContent = typeof(SpecialThanks);
                break;

            case VLCPage.ArtistShowsPage:
                App.SplitShell.FlyoutContent = typeof(ArtistShowsPage);
                break;

            case VLCPage.AddAlbumToPlaylistDialog:
                App.SplitShell.FlyoutContent = typeof(AddAlbumToPlaylistBase);
                break;

            case VLCPage.CreateNewPlaylistDialog:
                App.SplitShell.FlyoutContent = typeof(CreateNewPlaylist);
                break;

            case VLCPage.LicensePage:
                App.SplitShell.FlyoutContent = typeof(LicensePage);
                break;

            case VLCPage.MiniPlayerView:
                App.ApplicationFrame.Navigate(typeof(MiniPlayerWindow));
                break;

            case VLCPage.VideoPlayerOptionsPanel:
                App.SplitShell.FlyoutContent = typeof(VideoPlayerOptionsPanel);
                break;

            case VLCPage.TrackEditorPage:
                App.SplitShell.FlyoutContent = typeof(TrackEditorPage);
                break;

            case VLCPage.FeedbackPage:
                App.SplitShell.FlyoutContent = typeof(FeedbackPage);
                break;

            case VLCPage.TvShowView:
                App.SplitShell.FlyoutContent = typeof(ShowEpisodesView);
                break;

            case VLCPage.AboutAppView:
                App.SplitShell.FlyoutContent = typeof(AboutPage);
                break;

            default:
                break;
            }
            if (App.SplitShell.IsFlyoutOpen && !IsFlyout(desiredPage))
            {
                App.SplitShell.HideFlyout();
            }
        }