TraktPlugin.GUI.GUIListItems.OnClicked C# (CSharp) Méthode

OnClicked() protected méthode

protected OnClicked ( int controlId, GUIControl control, MediaPortal.GUI.Library.Action actionType ) : void
controlId int
control MediaPortal.GUI.Library.GUIControl
actionType MediaPortal.GUI.Library.Action
Résultat void
        protected override void OnClicked(int controlId, GUIControl control, Action.ActionType actionType)
        {
            // wait for any background action to finish
            if (GUIBackgroundTask.Instance.IsBusy) return;

            switch (controlId)
            {
                // Facade
                case (50):
                    if (actionType == Action.ActionType.ACTION_SELECT_ITEM)
                    {
                        if (SelectedType == TraktItemType.movie)
                        {
                            CheckAndPlayMovie(true);
                        }
                        else if (TraktSettings.EnableJumpToForTVShows || SelectedType == TraktItemType.episode)
                        {
                            CheckAndPlayEpisode(true);
                        }
                        else if (SelectedType == TraktItemType.show)
                        {
                            var selectedItem = this.Facade.SelectedListItem;
                            if (selectedItem == null) return;

                            var listItem = selectedItem.TVTag as TraktListItem;
                            if (listItem == null) return;

                            GUIWindowManager.ActivateWindow((int)TraktGUIWindows.ShowSeasons, listItem.Show.ToJSON());
                        }
                        else if (SelectedType == TraktItemType.season)
                        {
                            var selectedItem = this.Facade.SelectedListItem;
                            if (selectedItem == null) return;

                            var listItem = selectedItem.TVTag as TraktListItem;
                            if (listItem == null) return;

                            // create loading parameter for episode listing
                            var loadingParam = new SeasonLoadingParameter
                            {
                                Season = listItem.Season,
                                Show = listItem.Show
                            };
                            GUIWindowManager.ActivateWindow((int)TraktGUIWindows.SeasonEpisodes, loadingParam.ToJSON());
                        }
                        else if (SelectedType == TraktItemType.person)
                        {
                            var selectedItem = Facade.SelectedListItem;
                            if (selectedItem == null) return;

                            var listItem = selectedItem.TVTag as TraktListItem;
                            if (listItem == null) return;

                            // if we already have the person summary, parse it along to the window
                            GUIPersonSummary.CurrentPerson = listItem.Person;
                            GUIWindowManager.ActivateWindow((int)TraktGUIWindows.PersonSummary);
                        }
                    }
                    break;

                // Layout Button
                case (2):
                    CurrentLayout = GUICommon.ShowLayoutMenu(CurrentLayout, PreviousSelectedIndex);
                    break;

                default:
                    break;
            }
            base.OnClicked(controlId, control, actionType);
        }