TraktPlugin.GUI.GUIPopularShows.OnShowContextMenu C# (CSharp) Méthode

OnShowContextMenu() protected méthode

protected OnShowContextMenu ( ) : void
Résultat void
        protected override void OnShowContextMenu()
        {
            var selectedItem = this.Facade.SelectedListItem as GUIShowListItem;
            if (selectedItem == null) return;

            var selectedPopularItem = selectedItem.TVTag as TraktShowSummary;
            if (selectedPopularItem == null) return;

            var dlg = (IDialogbox)GUIWindowManager.GetWindow((int)GUIWindow.Window.WINDOW_DIALOG_MENU);
            if (dlg == null) return;

            dlg.Reset();
            dlg.SetHeading(GUIUtils.PluginName());

            GUICommon.CreateShowsContextMenu(ref dlg, selectedPopularItem, false);

            // Show Context Menu
            dlg.DoModal(GUIWindowManager.ActiveWindow);
            if (dlg.SelectedId < 0) return;

            switch (dlg.SelectedId)
            {
                case ((int)MediaContextMenuItem.AddToWatchList):
                    TraktHelper.AddShowToWatchList(selectedPopularItem);
                    OnShowSelected(selectedItem, Facade);
                    (Facade.SelectedListItem as GUIShowListItem).Images.NotifyPropertyChanged("Poster");
                    if (TraktSettings.PopularShowsHideWatchlisted) LoadPopularShows(CurrentPage);
                    break;

                case ((int)MediaContextMenuItem.ShowSeasonInfo):
                    GUIWindowManager.ActivateWindow((int)TraktGUIWindows.ShowSeasons, selectedPopularItem.ToJSON());
                    break;

                case ((int)MediaContextMenuItem.MarkAsWatched):
                    GUICommon.MarkShowAsWatched(selectedPopularItem);
                    if (TraktSettings.PopularShowsHideWatched) LoadPopularShows(CurrentPage);
                    break;

                case ((int)MediaContextMenuItem.AddToLibrary):
                    GUICommon.AddShowToCollection(selectedPopularItem);
                    if (TraktSettings.PopularShowsHideCollected) LoadPopularShows(CurrentPage);
                    break;

                case ((int)MediaContextMenuItem.RemoveFromWatchList):
                    TraktHelper.RemoveShowFromWatchList(selectedPopularItem);
                    OnShowSelected(selectedItem, Facade);
                    (Facade.SelectedListItem as GUIShowListItem).Images.NotifyPropertyChanged("Poster");
                    break;

                case ((int)MediaContextMenuItem.AddToList):
                    TraktHelper.AddRemoveShowInUserList(selectedPopularItem, false);
                    break;

                case ((int)MediaContextMenuItem.Filters):
                    if (ShowTVShowFiltersMenu())
                    {
                        PreviousSelectedIndex = CurrentPage == 1 ? 0 : 1;
                        UpdateButtonState();
                        LoadPopularShows(CurrentPage);
                    }
                    break;

                case ((int)MediaContextMenuItem.Related):
                    TraktHelper.ShowRelatedShows(selectedPopularItem);
                    break;

                case ((int)MediaContextMenuItem.Trailers):
                    GUICommon.ShowTVShowTrailersMenu(selectedPopularItem);
                    break;

                case ((int)MediaContextMenuItem.Shouts):
                    TraktHelper.ShowTVShowShouts(selectedPopularItem);
                    break;

                case ((int)MediaContextMenuItem.Rate):
                    GUICommon.RateShow(selectedPopularItem);
                    OnShowSelected(selectedItem, Facade);
                    (Facade.SelectedListItem as GUIShowListItem).Images.NotifyPropertyChanged("Poster");
                    if (TraktSettings.PopularShowsHideRated) LoadPopularShows(CurrentPage);
                    break;

                case ((int)MediaContextMenuItem.Cast):
                    GUICreditsShow.Show = selectedPopularItem;
                    GUICreditsShow.Type = GUICreditsShow.CreditType.Cast;
                    GUICreditsShow.Fanart = TmdbCache.GetShowBackdropFilename(selectedItem.Images.ShowImages);
                    GUIWindowManager.ActivateWindow((int)TraktGUIWindows.CreditsShow);
                    break;

                case ((int)MediaContextMenuItem.Crew):
                    GUICreditsShow.Show = selectedPopularItem;
                    GUICreditsShow.Type = GUICreditsShow.CreditType.Crew;
                    GUICreditsShow.Fanart = TmdbCache.GetShowBackdropFilename(selectedItem.Images.ShowImages);
                    GUIWindowManager.ActivateWindow((int)TraktGUIWindows.CreditsShow);
                    break;

                case ((int)MediaContextMenuItem.ChangeLayout):
                    CurrentLayout = GUICommon.ShowLayoutMenu(CurrentLayout, PreviousSelectedIndex);
                    break;

                case ((int)MediaContextMenuItem.SearchWithMpNZB):
                    string loadingParam = string.Format("search:{0}", selectedPopularItem.Title);
                    GUIWindowManager.ActivateWindow((int)ExternalPluginWindows.MpNZB, loadingParam);
                    break;

                case ((int)MediaContextMenuItem.SearchTorrent):
                    string loadPar = selectedPopularItem.Title;
                    GUIWindowManager.ActivateWindow((int)ExternalPluginWindows.MyTorrents, loadPar);
                    break;

                default:
                    break;
            }

            base.OnShowContextMenu();
        }