private void SendSearchResultsToFacade(IEnumerable <TraktPersonSummary> people) { // clear facade GUIControl.ClearControl(GetID, Facade.GetID); if (people == null || people.Count() == 0) { GUIUtils.ShowNotifyDialog(GUIUtils.PluginName(), Translation.NoSearchResultsFound); GUIWindowManager.ShowPreviousWindow(); People = null; return; } int itemId = 0; var personImages = new List <TraktImage>(); // Add each movie foreach (var person in people) { // add image for download var images = new TraktImage { PoepleImages = person.Images }; personImages.Add(images); var item = new GUIPersonListItem(person.Name.Trim(), (int)TraktGUIWindows.SearchPeople); item.TVTag = person; item.Images = images; item.ItemId = Int32.MaxValue - itemId; item.IconImage = GUIImageHandler.GetDefaultPoster(false); item.IconImageBig = GUIImageHandler.GetDefaultPoster(); item.ThumbnailImage = GUIImageHandler.GetDefaultPoster(); item.OnItemSelected += OnPersonSelected; Utils.SetDefaultIcons(item); Facade.Add(item); itemId++; } // Set Facade Layout Facade.SetCurrentLayout(Enum.GetName(typeof(Layout), CurrentLayout)); GUIControl.FocusControl(GetID, Facade.GetID); if (SearchTermChanged) { PreviousSelectedIndex = 0; } Facade.SelectIndex(PreviousSelectedIndex); // set facade properties GUIUtils.SetProperty("#itemcount", people.Count().ToString()); GUIUtils.SetProperty("#Trakt.Items", string.Format("{0} {1}", people.Count().ToString(), people.Count() > 1 ? Translation.People : Translation.Person)); // Download images Async and set to facade GUIPersonListItem.GetImages(personImages); }
private void SendCreditResultsToFacade(TraktCredits credits) { // clear facade GUIControl.ClearControl(GetID, Facade.GetID); if (credits == null) { GUIUtils.ShowNotifyDialog(Translation.Error, Translation.ErrorGeneral); GUIWindowManager.ShowPreviousWindow(); Show = null; return; } int itemId = 0; var personImages = new List <GUITmdbImage>(); // Add each character if (Type == CreditType.Cast && credits.Cast != null) { foreach (var person in credits.Cast) { // add image for download var images = new GUITmdbImage { PeopleImages = new TmdbPeopleImages { Id = person.Person.Ids.TmdbId } }; personImages.Add(images); var item = new GUIPersonListItem(string.IsNullOrEmpty(person.Character) ? person.Person.Name : string.Format(Translation.ActorAndRole, person.Person.Name, person.Character), (int)TraktGUIWindows.CreditsShow); item.Person = person.Person; item.CreditType = Credit.Cast; item.Character = person; item.Images = images; item.ItemId = Int32.MaxValue - itemId; item.IconImage = GUIImageHandler.GetDefaultPoster(false); item.IconImageBig = GUIImageHandler.GetDefaultPoster(); item.ThumbnailImage = GUIImageHandler.GetDefaultPoster(); item.OnItemSelected += OnCastSelected; Utils.SetDefaultIcons(item); Facade.Add(item); itemId++; } } // add each crew member if (Type == CreditType.Crew && credits.Crew != null) { if (credits.Crew.Directing != null) { foreach (var person in credits.Crew.Directing) { // add image for download var images = new GUITmdbImage { PeopleImages = new TmdbPeopleImages { Id = person.Person.Ids.TmdbId } }; personImages.Add(images); var item = new GUIPersonListItem(person.Person.Name, (int)TraktGUIWindows.CreditsShow); item.Label2 = GUICommon.GetTranslatedCreditJob(person.Job); item.Person = person.Person; item.CreditType = Credit.Directing; item.Job = person; item.Images = images; item.ItemId = Int32.MaxValue - itemId; item.IconImage = GUIImageHandler.GetDefaultPoster(false); item.IconImageBig = GUIImageHandler.GetDefaultPoster(); item.ThumbnailImage = GUIImageHandler.GetDefaultPoster(); item.OnItemSelected += OnCrewSelected; Utils.SetDefaultIcons(item); Facade.Add(item); itemId++; } } if (credits.Crew.Writing != null) { foreach (var person in credits.Crew.Writing) { // add image for download var images = new GUITmdbImage { PeopleImages = new TmdbPeopleImages { Id = person.Person.Ids.TmdbId } }; personImages.Add(images); var item = new GUIPersonListItem(person.Person.Name, (int)TraktGUIWindows.CreditsShow); item.Label2 = GUICommon.GetTranslatedCreditJob(person.Job); item.Person = person.Person; item.CreditType = Credit.Writing; item.Job = person; item.Images = images; item.ItemId = Int32.MaxValue - itemId; item.IconImage = GUIImageHandler.GetDefaultPoster(false); item.IconImageBig = GUIImageHandler.GetDefaultPoster(); item.ThumbnailImage = GUIImageHandler.GetDefaultPoster(); item.OnItemSelected += OnCrewSelected; Utils.SetDefaultIcons(item); Facade.Add(item); itemId++; } } if (credits.Crew.Production != null) { foreach (var person in credits.Crew.Production) { // add image for download var images = new GUITmdbImage { PeopleImages = new TmdbPeopleImages { Id = person.Person.Ids.TmdbId } }; personImages.Add(images); var item = new GUIPersonListItem(person.Person.Name, (int)TraktGUIWindows.CreditsShow); item.Label2 = GUICommon.GetTranslatedCreditJob(person.Job); item.Person = person.Person; item.CreditType = Credit.Production; item.Job = person; item.Images = images; item.ItemId = Int32.MaxValue - itemId; item.IconImage = GUIImageHandler.GetDefaultPoster(false); item.IconImageBig = GUIImageHandler.GetDefaultPoster(); item.ThumbnailImage = GUIImageHandler.GetDefaultPoster(); item.OnItemSelected += OnCrewSelected; Utils.SetDefaultIcons(item); Facade.Add(item); itemId++; } } if (credits.Crew.Art != null) { foreach (var person in credits.Crew.Art) { // add image for download var images = new GUITmdbImage { PeopleImages = new TmdbPeopleImages { Id = person.Person.Ids.TmdbId } }; personImages.Add(images); var item = new GUIPersonListItem(person.Person.Name, (int)TraktGUIWindows.CreditsShow); item.Label2 = GUICommon.GetTranslatedCreditJob(person.Job); item.Person = person.Person; item.CreditType = Credit.Art; item.Job = person; item.Images = images; item.ItemId = Int32.MaxValue - itemId; item.IconImage = GUIImageHandler.GetDefaultPoster(false); item.IconImageBig = GUIImageHandler.GetDefaultPoster(); item.ThumbnailImage = GUIImageHandler.GetDefaultPoster(); item.OnItemSelected += OnCrewSelected; Utils.SetDefaultIcons(item); Facade.Add(item); itemId++; } } if (credits.Crew.Camera != null) { foreach (var person in credits.Crew.Camera) { // add image for download var images = new GUITmdbImage { PeopleImages = new TmdbPeopleImages { Id = person.Person.Ids.TmdbId } }; personImages.Add(images); var item = new GUIPersonListItem(person.Person.Name, (int)TraktGUIWindows.CreditsShow); item.Label2 = GUICommon.GetTranslatedCreditJob(person.Job); item.Person = person.Person; item.CreditType = Credit.Camera; item.Job = person; item.Images = images; item.ItemId = Int32.MaxValue - itemId; item.IconImage = GUIImageHandler.GetDefaultPoster(false); item.IconImageBig = GUIImageHandler.GetDefaultPoster(); item.ThumbnailImage = GUIImageHandler.GetDefaultPoster(); item.OnItemSelected += OnCrewSelected; Utils.SetDefaultIcons(item); Facade.Add(item); itemId++; } } if (credits.Crew.CostumeAndMakeUp != null) { foreach (var person in credits.Crew.CostumeAndMakeUp) { // add image for download var images = new GUITmdbImage { PeopleImages = new TmdbPeopleImages { Id = person.Person.Ids.TmdbId } }; personImages.Add(images); var item = new GUIPersonListItem(person.Person.Name, (int)TraktGUIWindows.CreditsShow); item.Label2 = GUICommon.GetTranslatedCreditJob(person.Job); item.Person = person.Person; item.CreditType = Credit.CostumeAndMakeUp; item.Job = person; item.Images = images; item.ItemId = Int32.MaxValue - itemId; item.IconImage = GUIImageHandler.GetDefaultPoster(false); item.IconImageBig = GUIImageHandler.GetDefaultPoster(); item.ThumbnailImage = GUIImageHandler.GetDefaultPoster(); item.OnItemSelected += OnCrewSelected; Utils.SetDefaultIcons(item); Facade.Add(item); itemId++; } } if (credits.Crew.Sound != null) { foreach (var person in credits.Crew.Sound) { // add image for download var images = new GUITmdbImage { PeopleImages = new TmdbPeopleImages { Id = person.Person.Ids.TmdbId } }; personImages.Add(images); var item = new GUIPersonListItem(person.Person.Name, (int)TraktGUIWindows.CreditsShow); item.Label2 = GUICommon.GetTranslatedCreditJob(person.Job); item.Person = person.Person; item.CreditType = Credit.Sound; item.Job = person; item.Images = images; item.ItemId = Int32.MaxValue - itemId; item.IconImage = GUIImageHandler.GetDefaultPoster(false); item.IconImageBig = GUIImageHandler.GetDefaultPoster(); item.ThumbnailImage = GUIImageHandler.GetDefaultPoster(); item.OnItemSelected += OnCrewSelected; Utils.SetDefaultIcons(item); Facade.Add(item); itemId++; } } } // if nothing to display exit if (Facade.Count == 0) { GUIUtils.ShowNotifyDialog(Type == CreditType.Crew ? Translation.Crew : Translation.Cast, Translation.NoCreditsFound); GUIWindowManager.ShowPreviousWindow(); Show = null; return; } // Set Facade Layout Facade.SetCurrentLayout(Enum.GetName(typeof(Layout), CurrentLayout)); GUIControl.FocusControl(GetID, Facade.GetID); Facade.SelectIndex(PreviousSelectedIndex); // set facade properties GUIUtils.SetProperty("#itemcount", Facade.Count.ToString()); GUIUtils.SetProperty("#Trakt.Items", string.Format("{0} {1}", Facade.Count.ToString(), Facade.Count > 1 ? Translation.People : Translation.Person)); // Download images Async and set to facade GUIPersonListItem.GetImages(personImages, false); }
private void SendSearchResultsToFacade(IEnumerable<TraktPersonSummary> people) { // clear facade GUIControl.ClearControl(GetID, Facade.GetID); if (people == null) { GUIUtils.ShowNotifyDialog(Translation.Error, Translation.ErrorGeneral); GUIWindowManager.ShowPreviousWindow(); People = null; return; } if (people.Count() == 0) { GUIUtils.ShowNotifyDialog(GUIUtils.PluginName(), Translation.NoSearchResultsFound); GUIWindowManager.ShowPreviousWindow(); People = null; return; } int itemId = 0; var personImages = new List<GUITmdbImage>(); // Add each movie foreach (var person in people) { // add image for download var images = new GUITmdbImage { PeopleImages = new TmdbPeopleImages { Id = person.Ids.TmdbId } }; personImages.Add(images); var item = new GUIPersonListItem(person.Name.Trim(), (int)TraktGUIWindows.SearchPeople); item.TVTag = person; item.Images = images; item.ItemId = Int32.MaxValue - itemId; item.IconImage = GUIImageHandler.GetDefaultPoster(false); item.IconImageBig = GUIImageHandler.GetDefaultPoster(); item.ThumbnailImage = GUIImageHandler.GetDefaultPoster(); item.OnItemSelected += OnPersonSelected; Utils.SetDefaultIcons(item); Facade.Add(item); itemId++; } // Set Facade Layout Facade.SetCurrentLayout(Enum.GetName(typeof(Layout), CurrentLayout)); GUIControl.FocusControl(GetID, Facade.GetID); if (SearchTermChanged) PreviousSelectedIndex = 0; Facade.SelectIndex(PreviousSelectedIndex); // set facade properties GUIUtils.SetProperty("#itemcount", people.Count().ToString()); GUIUtils.SetProperty("#Trakt.Items", string.Format("{0} {1}", people.Count().ToString(), people.Count() > 1 ? Translation.People : Translation.Person)); // Download images Async and set to facade GUIPersonListItem.GetImages(personImages); }
private void SendShowCreditsToFacade(TraktPersonShowCredits credits) { if (credits == null) { GUIUtils.ShowNotifyDialog(Translation.Error, Translation.ErrorGeneral); CurrentView = View.Summary; LoadPersonSummary(); return; } // clear facade GUIControl.ClearControl(GetID, Facade.GetID); // set the current view CurrentView = View.ShowCredits; var personImages = new List<GUITmdbImage>(); int itemId = 0; GUIPersonListItem item = null; #region Cast // Add all the Cast and Crew items if (credits.Cast != null && credits.Cast.Count > 0) { // add image for download var images = new GUITmdbImage { PeopleImages = new TmdbPeopleImages { Id = CurrentPerson.Ids.TmdbId } }; personImages.Add(images); item = new GUIPersonListItem(Translation.Actor, (int)TraktGUIWindows.PersonSummary); item.Label2 = string.Format(Translation.ShowCount, credits.Cast.Count); item.TVTag = Credit.Cast; item.Images = images; item.MusicTag = credits; item.ItemId = Int32.MaxValue - itemId; item.IconImage = GUIImageHandler.GetDefaultPoster(false); item.IconImageBig = GUIImageHandler.GetDefaultPoster(); item.ThumbnailImage = GUIImageHandler.GetDefaultPoster(); item.OnItemSelected += OnItemSelected; Utils.SetDefaultIcons(item); Facade.Add(item); itemId++; } #endregion #region Crew if (credits.Crew != null) { #region Production if (credits.Crew.Production != null && credits.Crew.Production.Count > 0) { // add image for download var images = new GUITmdbImage { PeopleImages = new TmdbPeopleImages { Id = CurrentPerson.Ids.TmdbId } }; personImages.Add(images); item = new GUIPersonListItem(Translation.Production, (int)TraktGUIWindows.PersonSummary); item.Label2 = string.Format(Translation.ShowCount, credits.Crew.Production.Count); item.TVTag = Credit.Production; item.MusicTag = credits; item.Images = images; item.ItemId = Int32.MaxValue - itemId; item.IconImage = GUIImageHandler.GetDefaultPoster(false); item.IconImageBig = GUIImageHandler.GetDefaultPoster(); item.ThumbnailImage = GUIImageHandler.GetDefaultPoster(); item.OnItemSelected += OnItemSelected; Utils.SetDefaultIcons(item); Facade.Add(item); itemId++; } #endregion #region Directing if (credits.Crew.Directing != null && credits.Crew.Directing.Count > 0) { // add image for download var images = new GUITmdbImage { PeopleImages = new TmdbPeopleImages { Id = CurrentPerson.Ids.TmdbId } }; personImages.Add(images); item = new GUIPersonListItem(Translation.Directing, (int)TraktGUIWindows.PersonSummary); item.Label2 = string.Format(Translation.ShowCount, credits.Crew.Directing.Count); item.TVTag = Credit.Directing; item.MusicTag = credits; item.Images = images; item.ItemId = Int32.MaxValue - itemId; item.IconImage = GUIImageHandler.GetDefaultPoster(false); item.IconImageBig = GUIImageHandler.GetDefaultPoster(); item.ThumbnailImage = GUIImageHandler.GetDefaultPoster(); item.OnItemSelected += OnItemSelected; Utils.SetDefaultIcons(item); Facade.Add(item); itemId++; } #endregion #region Writing if (credits.Crew.Writing != null && credits.Crew.Writing.Count > 0) { // add image for download var images = new GUITmdbImage { PeopleImages = new TmdbPeopleImages { Id = CurrentPerson.Ids.TmdbId } }; personImages.Add(images); item = new GUIPersonListItem(Translation.Writing, (int)TraktGUIWindows.PersonSummary); item.Label2 = string.Format(Translation.ShowCount, credits.Crew.Writing.Count); item.TVTag = Credit.Writing; item.MusicTag = credits; item.Images = images; item.ItemId = Int32.MaxValue - itemId; item.IconImage = GUIImageHandler.GetDefaultPoster(false); item.IconImageBig = GUIImageHandler.GetDefaultPoster(); item.ThumbnailImage = GUIImageHandler.GetDefaultPoster(); item.OnItemSelected += OnItemSelected; Utils.SetDefaultIcons(item); Facade.Add(item); itemId++; } #endregion #region Art if (credits.Crew.Art != null && credits.Crew.Art.Count > 0) { // add image for download var images = new GUITmdbImage { PeopleImages = new TmdbPeopleImages { Id = CurrentPerson.Ids.TmdbId } }; personImages.Add(images); item = new GUIPersonListItem(Translation.Art, (int)TraktGUIWindows.PersonSummary); item.Label2 = string.Format(Translation.ShowCount, credits.Crew.Art.Count); item.TVTag = Credit.Art; item.MusicTag = credits; item.Images = images; item.ItemId = Int32.MaxValue - itemId; item.IconImage = GUIImageHandler.GetDefaultPoster(false); item.IconImageBig = GUIImageHandler.GetDefaultPoster(); item.ThumbnailImage = GUIImageHandler.GetDefaultPoster(); item.OnItemSelected += OnItemSelected; Utils.SetDefaultIcons(item); Facade.Add(item); itemId++; } #endregion #region Camera if (credits.Crew.Camera != null && credits.Crew.Camera.Count > 0) { // add image for download var images = new GUITmdbImage { PeopleImages = new TmdbPeopleImages { Id = CurrentPerson.Ids.TmdbId } }; personImages.Add(images); item = new GUIPersonListItem(Translation.Camera, (int)TraktGUIWindows.PersonSummary); item.Label2 = string.Format(Translation.ShowCount, credits.Crew.Camera.Count); item.TVTag = Credit.Camera; item.MusicTag = credits; item.Images = images; item.ItemId = Int32.MaxValue - itemId; item.IconImage = GUIImageHandler.GetDefaultPoster(false); item.IconImageBig = GUIImageHandler.GetDefaultPoster(); item.ThumbnailImage = GUIImageHandler.GetDefaultPoster(); item.OnItemSelected += OnItemSelected; Utils.SetDefaultIcons(item); Facade.Add(item); itemId++; } #endregion #region Costume and Makeup if (credits.Crew.CostumeAndMakeUp != null && credits.Crew.CostumeAndMakeUp.Count > 0) { // add image for download var images = new GUITmdbImage { PeopleImages = new TmdbPeopleImages { Id = CurrentPerson.Ids.TmdbId } }; personImages.Add(images); item = new GUIPersonListItem(Translation.CostumeAndMakeUp, (int)TraktGUIWindows.PersonSummary); item.Label2 = string.Format(Translation.ShowCount, credits.Crew.CostumeAndMakeUp.Count); item.TVTag = Credit.CostumeAndMakeUp; item.MusicTag = credits; item.Images = images; item.ItemId = Int32.MaxValue - itemId; item.IconImage = GUIImageHandler.GetDefaultPoster(false); item.IconImageBig = GUIImageHandler.GetDefaultPoster(); item.ThumbnailImage = GUIImageHandler.GetDefaultPoster(); item.OnItemSelected += OnItemSelected; Utils.SetDefaultIcons(item); Facade.Add(item); itemId++; } #endregion #region Sound if (credits.Crew.Sound != null && credits.Crew.Sound.Count > 0) { // add image for download var images = new GUITmdbImage { PeopleImages = new TmdbPeopleImages { Id = CurrentPerson.Ids.TmdbId } }; personImages.Add(images); item = new GUIPersonListItem(Translation.Sound, (int)TraktGUIWindows.PersonSummary); item.Label2 = string.Format(Translation.MovieCount, credits.Crew.Sound.Count); item.TVTag = Credit.Sound; item.MusicTag = credits; item.Images = images; item.ItemId = Int32.MaxValue - itemId; item.IconImage = GUIImageHandler.GetDefaultPoster(false); item.IconImageBig = GUIImageHandler.GetDefaultPoster(); item.ThumbnailImage = GUIImageHandler.GetDefaultPoster(); item.OnItemSelected += OnItemSelected; Utils.SetDefaultIcons(item); Facade.Add(item); itemId++; } #endregion } #endregion if (Facade.Count == 0) { GUIUtils.ShowNotifyDialog(Translation.ShowCredits, Translation.NoCreditsFound); CurrentView = View.Summary; LoadPersonSummary(); return; } // Set Facade Layout Facade.SetCurrentLayout("List"); GUIControl.FocusControl(GetID, Facade.GetID); // set facade properties GUIUtils.SetProperty("#itemcount", Facade.Count.ToString()); GUIPersonListItem.GetImages(personImages, false); }
private void SendPersonSummaryToFacade(TraktPersonSummary person) { // clear facade GUIControl.ClearControl(GetID, Facade.GetID); if (person == null) { GUIUtils.ShowNotifyDialog(Translation.Error, Translation.ErrorGeneral); GUIWindowManager.ShowPreviousWindow(); return; } // publish person properties PublishSkinProperties(person); var personImages = new List<GUITmdbImage>(); int itemId = 0; // add image for download var images = new GUITmdbImage { PeopleImages = new TmdbPeopleImages { Id = person.Ids.TmdbId } }; personImages.Add(images); // Add movie and show credit items var item = new GUIPersonListItem(Translation.MovieCredits, (int)TraktGUIWindows.PersonSummary); item.TVTag = View.MovieCredits.ToString(); item.ItemId = Int32.MaxValue - itemId; item.Images = images; item.IconImage = GUIImageHandler.GetDefaultPoster(false); item.IconImageBig = GUIImageHandler.GetDefaultPoster(); item.ThumbnailImage = GUIImageHandler.GetDefaultPoster(); item.OnItemSelected += OnItemSelected; Utils.SetDefaultIcons(item); Facade.Add(item); itemId++; // add image for download images = new GUITmdbImage { PeopleImages = new TmdbPeopleImages { Id = person.Ids.TmdbId } }; personImages.Add(images); item = new GUIPersonListItem(Translation.ShowCredits, (int)TraktGUIWindows.PersonSummary); item.TVTag = View.ShowCredits.ToString(); item.ItemId = Int32.MaxValue - itemId; item.Images = images; item.IconImage = GUIImageHandler.GetDefaultPoster(false); item.IconImageBig = GUIImageHandler.GetDefaultPoster(); item.ThumbnailImage = GUIImageHandler.GetDefaultPoster(); item.OnItemSelected += OnItemSelected; Utils.SetDefaultIcons(item); Facade.Add(item); itemId++; // Set Facade Layout Facade.SetCurrentLayout("List"); GUIControl.FocusControl(GetID, Facade.GetID); // set facade properties GUIUtils.SetProperty("#itemcount", Facade.Count.ToString()); // Download images Async DownloadFanart(person); GUIPersonListItem.GetImages(personImages, false); }
private void SendPersonSummaryToFacade(TraktPersonSummary person) { // clear facade GUIControl.ClearControl(GetID, Facade.GetID); if (person == null) { GUIUtils.ShowNotifyDialog(Translation.Error, Translation.ErrorGeneral); GUIWindowManager.ShowPreviousWindow(); return; } // publish person properties PublishSkinProperties(person); var personImages = new List <GUITmdbImage>(); int itemId = 0; // add image for download var images = new GUITmdbImage { PeopleImages = new TmdbPeopleImages { Id = person.Ids.TmdbId } }; personImages.Add(images); // Add movie and show credit items var item = new GUIPersonListItem(Translation.MovieCredits, (int)TraktGUIWindows.PersonSummary); item.TVTag = View.MovieCredits.ToString(); item.ItemId = Int32.MaxValue - itemId; item.Images = images; item.IconImage = GUIImageHandler.GetDefaultPoster(false); item.IconImageBig = GUIImageHandler.GetDefaultPoster(); item.ThumbnailImage = GUIImageHandler.GetDefaultPoster(); item.OnItemSelected += OnItemSelected; Utils.SetDefaultIcons(item); Facade.Add(item); itemId++; // add image for download images = new GUITmdbImage { PeopleImages = new TmdbPeopleImages { Id = person.Ids.TmdbId } }; personImages.Add(images); item = new GUIPersonListItem(Translation.ShowCredits, (int)TraktGUIWindows.PersonSummary); item.TVTag = View.ShowCredits.ToString(); item.ItemId = Int32.MaxValue - itemId; item.Images = images; item.IconImage = GUIImageHandler.GetDefaultPoster(false); item.IconImageBig = GUIImageHandler.GetDefaultPoster(); item.ThumbnailImage = GUIImageHandler.GetDefaultPoster(); item.OnItemSelected += OnItemSelected; Utils.SetDefaultIcons(item); Facade.Add(item); itemId++; // Set Facade Layout Facade.CurrentLayout = GUIFacadeControl.Layout.List; GUIControl.FocusControl(GetID, Facade.GetID); // set facade properties GUIUtils.SetProperty("#itemcount", Facade.Count.ToString()); // Download images Async DownloadFanart(person); GUIPersonListItem.GetImages(personImages, false); }
private void SendShowCreditsToFacade(TraktPersonShowCredits credits) { if (credits == null) { GUIUtils.ShowNotifyDialog(Translation.Error, Translation.ErrorGeneral); CurrentView = View.Summary; LoadPersonSummary(); return; } // clear facade GUIControl.ClearControl(GetID, Facade.GetID); // set the current view CurrentView = View.ShowCredits; var personImages = new List <GUITmdbImage>(); int itemId = 0; GUIPersonListItem item = null; #region Cast // Add all the Cast and Crew items if (credits.Cast != null && credits.Cast.Count > 0) { // add image for download var images = new GUITmdbImage { PeopleImages = new TmdbPeopleImages { Id = CurrentPerson.Ids.TmdbId } }; personImages.Add(images); item = new GUIPersonListItem(Translation.Actor, (int)TraktGUIWindows.PersonSummary); item.Label2 = string.Format(Translation.ShowCount, credits.Cast.Count); item.TVTag = Credit.Cast; item.Images = images; item.MusicTag = credits; item.ItemId = Int32.MaxValue - itemId; item.IconImage = GUIImageHandler.GetDefaultPoster(false); item.IconImageBig = GUIImageHandler.GetDefaultPoster(); item.ThumbnailImage = GUIImageHandler.GetDefaultPoster(); item.OnItemSelected += OnItemSelected; Utils.SetDefaultIcons(item); Facade.Add(item); itemId++; } #endregion #region Crew if (credits.Crew != null) { #region Production if (credits.Crew.Production != null && credits.Crew.Production.Count > 0) { // add image for download var images = new GUITmdbImage { PeopleImages = new TmdbPeopleImages { Id = CurrentPerson.Ids.TmdbId } }; personImages.Add(images); item = new GUIPersonListItem(Translation.Production, (int)TraktGUIWindows.PersonSummary); item.Label2 = string.Format(Translation.ShowCount, credits.Crew.Production.Count); item.TVTag = Credit.Production; item.MusicTag = credits; item.Images = images; item.ItemId = Int32.MaxValue - itemId; item.IconImage = GUIImageHandler.GetDefaultPoster(false); item.IconImageBig = GUIImageHandler.GetDefaultPoster(); item.ThumbnailImage = GUIImageHandler.GetDefaultPoster(); item.OnItemSelected += OnItemSelected; Utils.SetDefaultIcons(item); Facade.Add(item); itemId++; } #endregion #region Directing if (credits.Crew.Directing != null && credits.Crew.Directing.Count > 0) { // add image for download var images = new GUITmdbImage { PeopleImages = new TmdbPeopleImages { Id = CurrentPerson.Ids.TmdbId } }; personImages.Add(images); item = new GUIPersonListItem(Translation.Directing, (int)TraktGUIWindows.PersonSummary); item.Label2 = string.Format(Translation.ShowCount, credits.Crew.Directing.Count); item.TVTag = Credit.Directing; item.MusicTag = credits; item.Images = images; item.ItemId = Int32.MaxValue - itemId; item.IconImage = GUIImageHandler.GetDefaultPoster(false); item.IconImageBig = GUIImageHandler.GetDefaultPoster(); item.ThumbnailImage = GUIImageHandler.GetDefaultPoster(); item.OnItemSelected += OnItemSelected; Utils.SetDefaultIcons(item); Facade.Add(item); itemId++; } #endregion #region Writing if (credits.Crew.Writing != null && credits.Crew.Writing.Count > 0) { // add image for download var images = new GUITmdbImage { PeopleImages = new TmdbPeopleImages { Id = CurrentPerson.Ids.TmdbId } }; personImages.Add(images); item = new GUIPersonListItem(Translation.Writing, (int)TraktGUIWindows.PersonSummary); item.Label2 = string.Format(Translation.ShowCount, credits.Crew.Writing.Count); item.TVTag = Credit.Writing; item.MusicTag = credits; item.Images = images; item.ItemId = Int32.MaxValue - itemId; item.IconImage = GUIImageHandler.GetDefaultPoster(false); item.IconImageBig = GUIImageHandler.GetDefaultPoster(); item.ThumbnailImage = GUIImageHandler.GetDefaultPoster(); item.OnItemSelected += OnItemSelected; Utils.SetDefaultIcons(item); Facade.Add(item); itemId++; } #endregion #region Art if (credits.Crew.Art != null && credits.Crew.Art.Count > 0) { // add image for download var images = new GUITmdbImage { PeopleImages = new TmdbPeopleImages { Id = CurrentPerson.Ids.TmdbId } }; personImages.Add(images); item = new GUIPersonListItem(Translation.Art, (int)TraktGUIWindows.PersonSummary); item.Label2 = string.Format(Translation.ShowCount, credits.Crew.Art.Count); item.TVTag = Credit.Art; item.MusicTag = credits; item.Images = images; item.ItemId = Int32.MaxValue - itemId; item.IconImage = GUIImageHandler.GetDefaultPoster(false); item.IconImageBig = GUIImageHandler.GetDefaultPoster(); item.ThumbnailImage = GUIImageHandler.GetDefaultPoster(); item.OnItemSelected += OnItemSelected; Utils.SetDefaultIcons(item); Facade.Add(item); itemId++; } #endregion #region Camera if (credits.Crew.Camera != null && credits.Crew.Camera.Count > 0) { // add image for download var images = new GUITmdbImage { PeopleImages = new TmdbPeopleImages { Id = CurrentPerson.Ids.TmdbId } }; personImages.Add(images); item = new GUIPersonListItem(Translation.Camera, (int)TraktGUIWindows.PersonSummary); item.Label2 = string.Format(Translation.ShowCount, credits.Crew.Camera.Count); item.TVTag = Credit.Camera; item.MusicTag = credits; item.Images = images; item.ItemId = Int32.MaxValue - itemId; item.IconImage = GUIImageHandler.GetDefaultPoster(false); item.IconImageBig = GUIImageHandler.GetDefaultPoster(); item.ThumbnailImage = GUIImageHandler.GetDefaultPoster(); item.OnItemSelected += OnItemSelected; Utils.SetDefaultIcons(item); Facade.Add(item); itemId++; } #endregion #region Costume and Makeup if (credits.Crew.CostumeAndMakeUp != null && credits.Crew.CostumeAndMakeUp.Count > 0) { // add image for download var images = new GUITmdbImage { PeopleImages = new TmdbPeopleImages { Id = CurrentPerson.Ids.TmdbId } }; personImages.Add(images); item = new GUIPersonListItem(Translation.CostumeAndMakeUp, (int)TraktGUIWindows.PersonSummary); item.Label2 = string.Format(Translation.ShowCount, credits.Crew.CostumeAndMakeUp.Count); item.TVTag = Credit.CostumeAndMakeUp; item.MusicTag = credits; item.Images = images; item.ItemId = Int32.MaxValue - itemId; item.IconImage = GUIImageHandler.GetDefaultPoster(false); item.IconImageBig = GUIImageHandler.GetDefaultPoster(); item.ThumbnailImage = GUIImageHandler.GetDefaultPoster(); item.OnItemSelected += OnItemSelected; Utils.SetDefaultIcons(item); Facade.Add(item); itemId++; } #endregion #region Sound if (credits.Crew.Sound != null && credits.Crew.Sound.Count > 0) { // add image for download var images = new GUITmdbImage { PeopleImages = new TmdbPeopleImages { Id = CurrentPerson.Ids.TmdbId } }; personImages.Add(images); item = new GUIPersonListItem(Translation.Sound, (int)TraktGUIWindows.PersonSummary); item.Label2 = string.Format(Translation.MovieCount, credits.Crew.Sound.Count); item.TVTag = Credit.Sound; item.MusicTag = credits; item.Images = images; item.ItemId = Int32.MaxValue - itemId; item.IconImage = GUIImageHandler.GetDefaultPoster(false); item.IconImageBig = GUIImageHandler.GetDefaultPoster(); item.ThumbnailImage = GUIImageHandler.GetDefaultPoster(); item.OnItemSelected += OnItemSelected; Utils.SetDefaultIcons(item); Facade.Add(item); itemId++; } #endregion } #endregion if (Facade.Count == 0) { GUIUtils.ShowNotifyDialog(Translation.ShowCredits, Translation.NoCreditsFound); CurrentView = View.Summary; LoadPersonSummary(); return; } // Set Facade Layout Facade.CurrentLayout = GUIFacadeControl.Layout.List; GUIControl.FocusControl(GetID, Facade.GetID); // set facade properties GUIUtils.SetProperty("#itemcount", Facade.Count.ToString()); GUIPersonListItem.GetImages(personImages, false); }
private void SendCreditResultsToFacade(TraktCredits credits) { // clear facade GUIControl.ClearControl(GetID, Facade.GetID); if (credits == null) { GUIUtils.ShowNotifyDialog(Translation.Error, Translation.ErrorGeneral); GUIWindowManager.ShowPreviousWindow(); Show = null; return; } int itemId = 0; var personImages = new List<GUITmdbImage>(); // Add each character if (Type == CreditType.Cast && credits.Cast != null) { foreach (var person in credits.Cast) { // add image for download var images = new GUITmdbImage { PeopleImages = new TmdbPeopleImages { Id = person.Person.Ids.TmdbId } }; personImages.Add(images); var item = new GUIPersonListItem(string.IsNullOrEmpty(person.Character) ? person.Person.Name : string.Format(Translation.ActorAndRole, person.Person.Name, person.Character), (int)TraktGUIWindows.CreditsShow); item.Person = person.Person; item.CreditType = Credit.Cast; item.Character = person; item.Images = images; item.ItemId = Int32.MaxValue - itemId; item.IconImage = GUIImageHandler.GetDefaultPoster(false); item.IconImageBig = GUIImageHandler.GetDefaultPoster(); item.ThumbnailImage = GUIImageHandler.GetDefaultPoster(); item.OnItemSelected += OnCastSelected; Utils.SetDefaultIcons(item); Facade.Add(item); itemId++; } } // add each crew member if (Type == CreditType.Crew && credits.Crew != null) { if (credits.Crew.Directing != null) { foreach (var person in credits.Crew.Directing) { // add image for download var images = new GUITmdbImage { PeopleImages = new TmdbPeopleImages { Id = person.Person.Ids.TmdbId } }; personImages.Add(images); var item = new GUIPersonListItem(person.Person.Name, (int)TraktGUIWindows.CreditsShow); item.Label2 = GUICommon.GetTranslatedCreditJob(person.Job); item.Person = person.Person; item.CreditType = Credit.Directing; item.Job = person; item.Images = images; item.ItemId = Int32.MaxValue - itemId; item.IconImage = GUIImageHandler.GetDefaultPoster(false); item.IconImageBig = GUIImageHandler.GetDefaultPoster(); item.ThumbnailImage = GUIImageHandler.GetDefaultPoster(); item.OnItemSelected += OnCrewSelected; Utils.SetDefaultIcons(item); Facade.Add(item); itemId++; } } if (credits.Crew.Writing != null) { foreach (var person in credits.Crew.Writing) { // add image for download var images = new GUITmdbImage { PeopleImages = new TmdbPeopleImages { Id = person.Person.Ids.TmdbId } }; personImages.Add(images); var item = new GUIPersonListItem(person.Person.Name, (int)TraktGUIWindows.CreditsShow); item.Label2 = GUICommon.GetTranslatedCreditJob(person.Job); item.Person = person.Person; item.CreditType = Credit.Writing; item.Job = person; item.Images = images; item.ItemId = Int32.MaxValue - itemId; item.IconImage = GUIImageHandler.GetDefaultPoster(false); item.IconImageBig = GUIImageHandler.GetDefaultPoster(); item.ThumbnailImage = GUIImageHandler.GetDefaultPoster(); item.OnItemSelected += OnCrewSelected; Utils.SetDefaultIcons(item); Facade.Add(item); itemId++; } } if (credits.Crew.Production != null) { foreach (var person in credits.Crew.Production) { // add image for download var images = new GUITmdbImage { PeopleImages = new TmdbPeopleImages { Id = person.Person.Ids.TmdbId } }; personImages.Add(images); var item = new GUIPersonListItem(person.Person.Name, (int)TraktGUIWindows.CreditsShow); item.Label2 = GUICommon.GetTranslatedCreditJob(person.Job); item.Person = person.Person; item.CreditType = Credit.Production; item.Job = person; item.Images = images; item.ItemId = Int32.MaxValue - itemId; item.IconImage = GUIImageHandler.GetDefaultPoster(false); item.IconImageBig = GUIImageHandler.GetDefaultPoster(); item.ThumbnailImage = GUIImageHandler.GetDefaultPoster(); item.OnItemSelected += OnCrewSelected; Utils.SetDefaultIcons(item); Facade.Add(item); itemId++; } } if (credits.Crew.Art != null) { foreach (var person in credits.Crew.Art) { // add image for download var images = new GUITmdbImage { PeopleImages = new TmdbPeopleImages { Id = person.Person.Ids.TmdbId } }; personImages.Add(images); var item = new GUIPersonListItem(person.Person.Name, (int)TraktGUIWindows.CreditsShow); item.Label2 = GUICommon.GetTranslatedCreditJob(person.Job); item.Person = person.Person; item.CreditType = Credit.Art; item.Job = person; item.Images = images; item.ItemId = Int32.MaxValue - itemId; item.IconImage = GUIImageHandler.GetDefaultPoster(false); item.IconImageBig = GUIImageHandler.GetDefaultPoster(); item.ThumbnailImage = GUIImageHandler.GetDefaultPoster(); item.OnItemSelected += OnCrewSelected; Utils.SetDefaultIcons(item); Facade.Add(item); itemId++; } } if (credits.Crew.Camera != null) { foreach (var person in credits.Crew.Camera) { // add image for download var images = new GUITmdbImage { PeopleImages = new TmdbPeopleImages { Id = person.Person.Ids.TmdbId } }; personImages.Add(images); var item = new GUIPersonListItem(person.Person.Name, (int)TraktGUIWindows.CreditsShow); item.Label2 = GUICommon.GetTranslatedCreditJob(person.Job); item.Person = person.Person; item.CreditType = Credit.Camera; item.Job = person; item.Images = images; item.ItemId = Int32.MaxValue - itemId; item.IconImage = GUIImageHandler.GetDefaultPoster(false); item.IconImageBig = GUIImageHandler.GetDefaultPoster(); item.ThumbnailImage = GUIImageHandler.GetDefaultPoster(); item.OnItemSelected += OnCrewSelected; Utils.SetDefaultIcons(item); Facade.Add(item); itemId++; } } if (credits.Crew.CostumeAndMakeUp != null) { foreach (var person in credits.Crew.CostumeAndMakeUp) { // add image for download var images = new GUITmdbImage { PeopleImages = new TmdbPeopleImages { Id = person.Person.Ids.TmdbId } }; personImages.Add(images); var item = new GUIPersonListItem(person.Person.Name, (int)TraktGUIWindows.CreditsShow); item.Label2 = GUICommon.GetTranslatedCreditJob(person.Job); item.Person = person.Person; item.CreditType = Credit.CostumeAndMakeUp; item.Job = person; item.Images = images; item.ItemId = Int32.MaxValue - itemId; item.IconImage = GUIImageHandler.GetDefaultPoster(false); item.IconImageBig = GUIImageHandler.GetDefaultPoster(); item.ThumbnailImage = GUIImageHandler.GetDefaultPoster(); item.OnItemSelected += OnCrewSelected; Utils.SetDefaultIcons(item); Facade.Add(item); itemId++; } } if (credits.Crew.Sound != null) { foreach (var person in credits.Crew.Sound) { // add image for download var images = new GUITmdbImage { PeopleImages = new TmdbPeopleImages { Id = person.Person.Ids.TmdbId } }; personImages.Add(images); var item = new GUIPersonListItem(person.Person.Name, (int)TraktGUIWindows.CreditsShow); item.Label2 = GUICommon.GetTranslatedCreditJob(person.Job); item.Person = person.Person; item.CreditType = Credit.Sound; item.Job = person; item.Images = images; item.ItemId = Int32.MaxValue - itemId; item.IconImage = GUIImageHandler.GetDefaultPoster(false); item.IconImageBig = GUIImageHandler.GetDefaultPoster(); item.ThumbnailImage = GUIImageHandler.GetDefaultPoster(); item.OnItemSelected += OnCrewSelected; Utils.SetDefaultIcons(item); Facade.Add(item); itemId++; } } } // if nothing to display exit if (Facade.Count == 0) { GUIUtils.ShowNotifyDialog(Type == CreditType.Crew ? Translation.Crew : Translation.Cast, Translation.NoCreditsFound); GUIWindowManager.ShowPreviousWindow(); Show = null; return; } // Set Facade Layout Facade.SetCurrentLayout(Enum.GetName(typeof(Layout), CurrentLayout)); GUIControl.FocusControl(GetID, Facade.GetID); Facade.SelectIndex(PreviousSelectedIndex); // set facade properties GUIUtils.SetProperty("#itemcount", Facade.Count.ToString()); GUIUtils.SetProperty("#Trakt.Items", string.Format("{0} {1}", Facade.Count.ToString(), Facade.Count > 1 ? Translation.People : Translation.Person)); // Download images Async and set to facade GUIPersonListItem.GetImages(personImages, false); }