Beispiel #1
0
        public void OpenPage(HohoemaPageType pageType, object parameter = null, bool isForgetNavigation = false)
        {
            HohoemaApp.UIDispatcher.RunAsync(CoreDispatcherPriority.Normal, async() =>
            {
                using (var releaser = await _NavigationLock.LockAsync())
                {
                    // メインウィンドウでウィンドウ全体で再生している場合は
                    // 強制的に小窓モードに切り替えてページを表示する
                    if (HohoemaApp.Playlist.IsDisplayMainViewPlayer && HohoemaApp.Playlist.PlayerDisplayType == PlayerDisplayType.PrimaryView)
                    {
                        HohoemaApp.Playlist.PlayerDisplayType = PlayerDisplayType.PrimaryWithSmall;
                    }

                    PageNavigating = true;

                    try
                    {
                        if (CurrentPageType == pageType && PageNavigationParameter == parameter)
                        {
                            return;
                        }

                        await Task.Delay(30);

                        var oldPageTitle        = PageTitle;
                        PageTitle               = "";
                        var oldPageType         = CurrentPageType;
                        CurrentPageType         = pageType;
                        var oldPageParameter    = PageNavigationParameter;
                        PageNavigationParameter = parameter;

                        await Task.Delay(30);

                        if (!NavigationService.Navigate(pageType.ToString(), parameter))
                        {
                            CurrentPageType         = oldPageType;
                            PageTitle               = oldPageTitle;
                            PageNavigationParameter = oldPageParameter;
                        }
                        else
                        {
                            if (isForgetNavigation || IsIgnoreRecordPageType(oldPageType))
                            {
                                ForgetLastPage();
                            }
                        }
                    }
                    finally
                    {
                        PageNavigating = false;
                    }

                    HohoemaViewManager.ShowMainView();
                }
            })
            .AsTask()
            .ConfigureAwait(false);
        }
        public static ToastArguments MakeOpenPageWithIdToastArguments(HohoemaPageType pageType, string id)
        {
            var args = new ToastArguments();

            args.Add(ToastArgumentKey_Action, ToastArgumentValue_Action_OpenPage);
            args.Add(ToastArgumentKey_PageType, pageType.ToString());
            args.Add(ToastArgumentKey_PageParameters, $"id={id}");
            return(args);
        }
        public static ToastArguments MakeOpenPageToastArguments(HohoemaPageType pageType, string parameters = null)
        {
            var args = new ToastArguments();

            args.Add(ToastArgumentKey_Action, ToastArgumentValue_Action_OpenPage);
            args.Add(ToastArgumentKey_PageType, pageType.ToString());
            if (parameters != null)
            {
                args.Add(ToastArgumentKey_PageParameters, parameters);
            }
            return(args);
        }
Beispiel #4
0
        public void OpenPage(HohoemaPageType pageType, object parameter = null)
        {
            HohoemaApp.UIDispatcher.RunAsync(CoreDispatcherPriority.Normal, async() =>
            {
                PageNavigating = true;

                try
                {
                    await Task.Delay(30);

                    var oldPageTitle = PageTitle;
                    PageTitle        = "";
                    var oldPageType  = CurrentPageType;
                    CurrentPageType  = pageType;

                    await Task.Delay(30);

                    if (!NavigationService.Navigate(pageType.ToString(), parameter))
                    {
                        CurrentPageType = oldPageType;
                        PageTitle       = oldPageTitle;
                    }
                    else
                    {
                        if (IsIgnoreRecordPageType(oldPageType))
                        {
                            ForgetLastPage();
                        }
                    }
                }
                finally
                {
                    PageNavigating = false;
                }
            })
            .AsTask()
            .ConfigureAwait(false);
        }
Beispiel #5
0
        public static string PageTypeToTitle(HohoemaPageType pageType)
        {
            switch (pageType)
            {
            case HohoemaPageType.RankingCategoryList:
                return("ランキングカテゴリ一覧");

            case HohoemaPageType.RankingCategory:
                return("カテゴリランキング");

            case HohoemaPageType.UserMylist:
                return("マイリスト一覧");

            case HohoemaPageType.Mylist:
                return("マイリスト");

            case HohoemaPageType.FollowManage:
                return("フォロー");

            case HohoemaPageType.History:
                return("視聴履歴");

            case HohoemaPageType.Search:
                return("検索");

            case HohoemaPageType.CacheManagement:
                return("キャッシュ管理");

            case HohoemaPageType.Settings:
                return("設定");

            case HohoemaPageType.VideoInfomation:
                return("動画情報");

            case HohoemaPageType.ConfirmWatchHurmfulVideo:
                return("動画視聴の確認");

            case HohoemaPageType.FeedGroupManage:
                return("全てのフィードグループ");

            case HohoemaPageType.FeedGroup:
                return("フィードグループ");

            case HohoemaPageType.FeedVideoList:
                return("フィードの動画一覧");

            case HohoemaPageType.UserInfo:
                return("ユーザー情報");

            case HohoemaPageType.UserVideo:
                return("ユーザー投稿動画一覧");

            case HohoemaPageType.Community:
                return("コミュニティ情報");

            case HohoemaPageType.CommunityVideo:
                return("コミュニティ動画一覧");

            default:
                Debug.WriteLine("not support " + nameof(HohoemaPageType) + "." + pageType.ToString());
                return(pageType.ToString());
//					throw new NotSupportedException();
            }
        }