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); }
public MenuItemViewModel(string label, HohoemaPageType pageType, INavigationParameters paramaeter = null) { Label = label; PageType = pageType; Parameter = paramaeter; IsSelected = false; }
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); }
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); }
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); } } }
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); }
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); }
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); }
public bool HasPin(HohoemaPageType pageType, string parameter) { return(_collection.Exists(x => x.PageType == pageType && x.Parameter == parameter)); }
public static string PageTypeToTitle(HohoemaPageType pageType) { return(Helpers.CulturelizeHelper.ToCulturelizeString(pageType)); }
public PageInfo(HohoemaPageType pageType, object parameter = null, string pageTitle = null) { PageType = pageType; Parameter = parameter; PageTitle = String.IsNullOrEmpty(pageTitle) ? PageManager.PageTypeToTitle(pageType) : pageTitle; }
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(); } }
public bool IsIgnoreRecordPageType(HohoemaPageType pageType) { return(IgnoreRecordNavigationStack.Any(x => x == pageType)); }
public static bool IsHiddenMenuPage(HohoemaPageType pageType) { return(DontNeedMenuPageTypes.Contains(pageType)); }
public void RemovePin(HohoemaPageType pageType, string parameter) { _collection.Delete(x => x.PageType == pageType && x.Parameter == parameter); }
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); }
public OpenPageWithIdCommand(HohoemaPageType hohoemaPage, PageManager pageManager) { _hohoemaPage = hohoemaPage; _pageManager = pageManager; }