Example #1
0
 internal void OnMenuItemSelected(HohoemaPageType pageType)
 {
     if (pageType != PageManager.CurrentPageType)
     {
         PageManager.OpenPage(pageType);
     }
 }
        public static void Search(this PageManager pageManager, ISearchPagePayloadContent searchPayload, bool forgetLastSearch = false)
        {
            HohoemaPageType resultPageType = HohoemaPageType.Search;

            if (searchPayload is KeywordSearchPagePayloadContent)
            {
                resultPageType = HohoemaPageType.SearchResultKeyword;
            }
            else if (searchPayload is TagSearchPagePayloadContent)
            {
                resultPageType = HohoemaPageType.SearchResultTag;
            }
            else if (searchPayload is MylistSearchPagePayloadContent)
            {
                resultPageType = HohoemaPageType.SearchResultMylist;
            }
            else if (searchPayload is CommunitySearchPagePayloadContent)
            {
                resultPageType = HohoemaPageType.SearchResultCommunity;
            }
            else if (searchPayload is LiveSearchPagePayloadContent)
            {
                resultPageType = HohoemaPageType.SearchResultLive;
            }

            pageManager.OpenPage(resultPageType, searchPayload.ToParameterString(), forgetLastSearch);
        }
Example #3
0
        public MenuItemViewModel(string label, HohoemaPageType pageType, INavigationParameters paramaeter = null)
        {
            Label     = label;
            PageType  = pageType;
            Parameter = paramaeter;

            IsSelected = false;
        }
Example #4
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);
        }
Example #6
0
 internal void OnWatchAfterMenuItemSelected(HohoemaPageType pageType)
 {
     PageManager.OpenPage(HohoemaPageType.Mylist,
                          new MylistPagePayload()
     {
         Id     = HohoemaPlaylist.WatchAfterPlaylistId,
         Origin = PlaylistOrigin.Local
     }.ToParameterString()
                          );
 }
        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);
        }
Example #8
0
        internal async void OnAccountMenuItemSelected(HohoemaPageType pageType)
        {
            await HohoemaApp.CheckSignedInStatus();

            if (pageType != PageManager.CurrentPageType)
            {
                if (ServiceLevel.Value == HohoemaAppServiceLevel.LoggedIn)
                {
                    PageManager.OpenPage(HohoemaPageType.UserInfo, HohoemaApp.LoginUserId.ToString());
                }
                else
                {
                    PageManager.OpenPage(HohoemaPageType.Login);
                }
            }
        }
Example #9
0
        HohoemaPin CreatePin(string label, HohoemaPageType pageType, string parameter)
        {
            var sortIndex = _collection.Max(x => x.SortIndex) ?? 0;

            var pin = new HohoemaPin()
            {
                Label     = label,
                Parameter = parameter,
                PageType  = pageType,
                SortIndex = sortIndex + 1
            };

            CreateItem(pin);

            return(pin);
        }
Example #10
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);
        }
        public static void Search(this PageManager pageManager, SearchTarget target, string keyword, bool forgetLastSearch = false)
        {
            HohoemaPageType resultPageType = HohoemaPageType.Search;

            switch (target)
            {
            case SearchTarget.Keyword:
                resultPageType = HohoemaPageType.SearchResultKeyword;
                break;

            case SearchTarget.Tag:
                resultPageType = HohoemaPageType.SearchResultTag;
                break;

            case SearchTarget.Niconama:
                resultPageType = HohoemaPageType.SearchResultLive;
                break;

            case SearchTarget.Mylist:
                resultPageType = HohoemaPageType.SearchResultMylist;
                break;

            case SearchTarget.Community:
                resultPageType = HohoemaPageType.SearchResultCommunity;
                break;

            default:
                break;
            }

            var p = new NavigationParameters
            {
                { "keyword", System.Net.WebUtility.UrlEncode(keyword) },
                { "target", resultPageType }
            };

            pageManager.OpenPage(resultPageType, p, forgetLastSearch ? NavigationStackBehavior.NotRemember : NavigationStackBehavior.Push);
        }
Example #12
0
        public static void Search(this PageManager pageManager, ISearchPagePayloadContent searchPayload, bool forgetLastSearch = false)
        {
            HohoemaPageType resultPageType = HohoemaPageType.Search;

            if (searchPayload is KeywordSearchPagePayloadContent)
            {
                resultPageType = HohoemaPageType.SearchResultKeyword;
            }
            else if (searchPayload is TagSearchPagePayloadContent)
            {
                resultPageType = HohoemaPageType.SearchResultTag;
            }
            else if (searchPayload is MylistSearchPagePayloadContent)
            {
                resultPageType = HohoemaPageType.SearchResultMylist;
            }
            else if (searchPayload is CommunitySearchPagePayloadContent)
            {
                resultPageType = HohoemaPageType.SearchResultCommunity;
            }
            else if (searchPayload is LiveSearchPagePayloadContent)
            {
                resultPageType = HohoemaPageType.SearchResultLive;
            }

            bool isRequireForgetLastNavigation = false;

            if (pageManager.CurrentPageType == HohoemaPageType.SearchResultCommunity ||
                pageManager.CurrentPageType == HohoemaPageType.SearchResultKeyword ||
                pageManager.CurrentPageType == HohoemaPageType.SearchResultTag ||
                pageManager.CurrentPageType == HohoemaPageType.SearchResultLive ||
                pageManager.CurrentPageType == HohoemaPageType.SearchResultMylist)
            {
                isRequireForgetLastNavigation = true;
            }

            pageManager.OpenPage(resultPageType, searchPayload.ToParameterString(), isRequireForgetLastNavigation);
        }
Example #13
0
 public bool HasPin(HohoemaPageType pageType, string parameter)
 {
     return(_collection.Exists(x => x.PageType == pageType && x.Parameter == parameter));
 }
Example #14
0
 public static string PageTypeToTitle(HohoemaPageType pageType)
 {
     return(Helpers.CulturelizeHelper.ToCulturelizeString(pageType));
 }
Example #15
0
 public PageInfo(HohoemaPageType pageType, object parameter = null, string pageTitle = null)
 {
     PageType  = pageType;
     Parameter = parameter;
     PageTitle = String.IsNullOrEmpty(pageTitle) ? PageManager.PageTypeToTitle(pageType) : pageTitle;
 }
Example #16
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();
            }
        }
Example #17
0
 public bool IsIgnoreRecordPageType(HohoemaPageType pageType)
 {
     return(IgnoreRecordNavigationStack.Any(x => x == pageType));
 }
Example #18
0
 public static bool IsHiddenMenuPage(HohoemaPageType pageType)
 {
     return(DontNeedMenuPageTypes.Contains(pageType));
 }
Example #19
0
 public void RemovePin(HohoemaPageType pageType, string parameter)
 {
     _collection.Delete(x => x.PageType == pageType && x.Parameter == parameter);
 }
Example #20
0
 public bool IsIgnoreRecordPageType(HohoemaPageType pageType)
 {
     return(IgnoreRecordNavigationStack.Contains(pageType));
 }
 internal void OnWatchAfterMenuItemSelected(HohoemaPageType pageType)
 {
     PageManager.OpenPage(HohoemaPageType.Mylist, $"id={HohoemaPlaylist.WatchAfterPlaylistId}&origin={PlaylistOrigin.Local}");
 }
 internal void OnMenuItemSelected(HohoemaPageType pageType)
 {
     PageManager.OpenPage(pageType);
 }
Example #23
0
 public OpenPageWithIdCommand(HohoemaPageType hohoemaPage, PageManager pageManager)
 {
     _hohoemaPage = hohoemaPage;
     _pageManager = pageManager;
 }