static private GetDefaultPoster ( bool largePoster = true ) : string | ||
largePoster | bool | return small are large image |
return | string |
private void SendCastToFacade(List <TraktPersonShowCast> cast) { // clear facade GUIControl.ClearControl(GetID, Facade.GetID); if (cast == null) { GUIUtils.ShowNotifyDialog(Translation.Error, Translation.ErrorGeneral); GUIWindowManager.ShowPreviousWindow(); return; } // filter Shows var filteredCast = FilterCastShows(cast).Where(m => !string.IsNullOrEmpty(m.Show.Title)).ToList(); // sort Shows filteredCast.Sort(new GUIListItemShowSorter(TraktSettings.SortByCreditShows.Field, TraktSettings.SortByCreditShows.Direction)); int itemId = 0; GUIShowListItem item = null; var ShowImages = new List <GUITmdbImage>(); foreach (var credit in filteredCast) { // add image for download var images = new GUITmdbImage { ShowImages = new TmdbShowImages { Id = credit.Show.Ids.Tmdb } }; ShowImages.Add(images); item = new GUIShowListItem(credit.Show.Title, (int)TraktGUIWindows.PersonCreditShows); item.Label2 = credit.Show.Year == null ? "----" : credit.Show.Year.ToString(); item.Show = credit.Show; item.TVTag = credit; 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++; } // Set Facade Layout Facade.CurrentLayout = 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}", filteredCast.Count, filteredCast.Count > 1 ? Translation.Shows : Translation.Show)); // Download Show images Async and set to facade GUIShowListItem.GetImages(ShowImages); }
private void SendShowSeasonsToFacade(IEnumerable <TraktShowSeason> seasons) { // clear facade GUIControl.ClearControl(GetID, Facade.GetID); if (seasons == null || seasons.Count() == 0) { GUIUtils.ShowNotifyDialog(GUIUtils.PluginName(), Translation.NoSeasonsForShow); GUIWindowManager.ShowPreviousWindow(); return; } // sort ascending or descending order if (TraktSettings.SortSeasonsAscending) { seasons = seasons.OrderBy(s => s.Season); } int itemId = 0; var seasonImages = new List <TraktImage>(); foreach (var season in seasons) { // add image for download var images = new TraktImage { SeasonImages = season.Images, ShowImages = Show.Images }; seasonImages.Add(images); string itemLabel = season.Season == 0 ? Translation.Specials : string.Format("{0} {1}", Translation.Season, season.Season.ToString()); var item = new GUISeasonListItem(itemLabel, (int)TraktGUIWindows.ShowSeasons); item.Label2 = string.Format("{0} {1}", season.EpisodeCount, Translation.Episodes); item.TVTag = season; item.Images = images; item.ItemId = Int32.MaxValue - itemId; item.IconImage = GUIImageHandler.GetDefaultPoster(false); item.IconImageBig = GUIImageHandler.GetDefaultPoster(); item.ThumbnailImage = GUIImageHandler.GetDefaultPoster(); item.OnItemSelected += OnSeasonSelected; Utils.SetDefaultIcons(item); Facade.Add(item); itemId++; } // Set Facade Layout Facade.SetCurrentLayout(Enum.GetName(typeof(Layout), CurrentLayout)); GUIControl.FocusControl(GetID, Facade.GetID); Facade.SelectIndex(PreviousSelectedIndex); // set facade properties GUIUtils.SetProperty("#itemcount", seasons.Count().ToString()); GUIUtils.SetProperty("#Trakt.Items", string.Format("{0} {1}", seasons.Count().ToString(), seasons.Count() > 1 ? Translation.Seasons : Translation.Season)); // Download show images Async and set to facade GUISeasonListItem.GetImages(seasonImages); }
private void SendSearchResultsToFacade(IEnumerable <TraktMovie> movies) { // clear facade GUIControl.ClearControl(GetID, Facade.GetID); if (movies == null || movies.Count() == 0) { GUIUtils.ShowNotifyDialog(GUIUtils.PluginName(), Translation.NoSearchResultsFound); GUIWindowManager.ShowPreviousWindow(); Movies = null; return; } int itemId = 0; var movieImages = new List <TraktImage>(); // Add each movie foreach (var movie in movies) { // add image for download var images = new TraktImage { MovieImages = movie.Images }; movieImages.Add(images); GUIMovieListItem item = new GUIMovieListItem(movie.Title, (int)TraktGUIWindows.SearchMovies); item.Label2 = movie.Year == "0" ? "----" : movie.Year; item.TVTag = movie; item.Images = images; item.IsPlayed = movie.Watched; item.ItemId = Int32.MaxValue - itemId; item.IconImage = GUIImageHandler.GetDefaultPoster(false); item.IconImageBig = GUIImageHandler.GetDefaultPoster(); item.ThumbnailImage = GUIImageHandler.GetDefaultPoster(); item.OnItemSelected += OnMovieSelected; 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", movies.Count().ToString()); GUIUtils.SetProperty("#Trakt.Items", string.Format("{0} {1}", movies.Count().ToString(), movies.Count() > 1 ? Translation.Movies : Translation.Movie)); // Download movie images Async and set to facade GUIMovieListItem.GetImages(movieImages); }
private void SendRelatedMoviesToFacade(IEnumerable <TraktMovie> movies) { // clear facade GUIControl.ClearControl(GetID, Facade.GetID); if (movies.Count() == 0) { string title = string.IsNullOrEmpty(relatedMovie.Title) ? relatedMovie.IMDbId : relatedMovie.Title; GUIUtils.ShowNotifyDialog(GUIUtils.PluginName(), string.Format(Translation.NoRelatedMovies, title)); GUIWindowManager.ShowPreviousWindow(); return; } int itemId = 0; var movieImages = new List <TraktImage>(); // Add each movie foreach (var movie in movies.Where(m => !string.IsNullOrEmpty(m.Title))) { var item = new GUIMovieListItem(movie.Title, (int)TraktGUIWindows.RelatedMovies); // add image for download var image = new TraktImage { MovieImages = movie.Images }; movieImages.Add(image); item.Label2 = movie.Year; item.TVTag = movie; item.Images = image; item.IsPlayed = movie.Watched; item.ItemId = Int32.MaxValue - itemId; // movie in collection doesnt nessararily mean // that the movie is locally available on this computer // as 'keep library clean' might not be enabled //item.IsRemote = !movie.InCollection; item.IconImage = GUIImageHandler.GetDefaultPoster(false); item.IconImageBig = GUIImageHandler.GetDefaultPoster(); item.ThumbnailImage = GUIImageHandler.GetDefaultPoster(); item.OnItemSelected += OnMovieSelected; Utils.SetDefaultIcons(item); Facade.Add(item); itemId++; } // Set Facade Layout Facade.SetCurrentLayout(Enum.GetName(typeof(Layout), CurrentLayout)); GUIControl.FocusControl(GetID, Facade.GetID); Facade.SelectIndex(PreviousSelectedIndex); // set facade properties GUIUtils.SetProperty("#itemcount", movies.Count().ToString()); GUIUtils.SetProperty("#Trakt.Items", string.Format("{0} {1}", movies.Count().ToString(), movies.Count() > 1 ? Translation.Movies : Translation.Movie)); // Download movie images Async and set to facade GUIMovieListItem.GetImages(movieImages); }
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 SendCrewToFacade(List<TraktPersonMovieJob> crew) { // clear facade GUIControl.ClearControl(GetID, Facade.GetID); if (crew == null) { GUIUtils.ShowNotifyDialog(Translation.Error, Translation.ErrorGeneral); GUIWindowManager.ShowPreviousWindow(); return; } // filter movies var filteredCrew = FilterCrewMovies(crew).Where(m => !string.IsNullOrEmpty(m.Movie.Title)).ToList(); // sort movies filteredCrew.Sort(new GUIListItemMovieSorter(TraktSettings.SortByCreditMovies.Field, TraktSettings.SortByCreditMovies.Direction)); int itemId = 0; GUIMovieListItem item = null; var movieImages = new List<GUITmdbImage>(); foreach (var job in filteredCrew) { // add image for download var images = new GUITmdbImage { MovieImages = new TmdbMovieImages { Id = job.Movie.Ids.Tmdb } }; movieImages.Add(images); item = new GUIMovieListItem(job.Movie.Title, (int)TraktGUIWindows.PersonCreditMovies); item.Label2 = job.Movie.Year == null ? "----" : job.Movie.Year.ToString(); item.Movie = job.Movie; item.TVTag = job; 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++; } // 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}", filteredCrew.Count, filteredCrew.Count > 1 ? Translation.Movies : Translation.Movie)); // Download movie images Async and set to facade GUIMovieListItem.GetImages(movieImages); }
private void SendListItemsToFacade(TraktUserList list) { // clear facade GUIControl.ClearControl(GetID, Facade.GetID); if (list.Items == null || list.Items.Count() == 0) { GUIUtils.ShowNotifyDialog(GUIUtils.PluginName(), Translation.NoListItemsFound); GUIWindowManager.ShowPreviousWindow(); return; } int itemId = 1; var listImages = new List <TraktImage>(); // Add each list item foreach (var listItem in list.Items.Where(l => !string.IsNullOrEmpty(l.Title))) { // add image for download var images = GetTraktImage(listItem); listImages.Add(images); string itemName = list.ShowNumbers ? string.Format("{0}. {1}", itemId, GetListItemName(listItem)) : GetListItemName(listItem); var item = new GUICustomListItem(itemName, (int)TraktGUIWindows.ListItems); item.Label2 = listItem.Year; item.TVTag = listItem; item.Images = images; item.IsPlayed = listItem.Watched; 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++; } // Set Facade Layout Facade.SetCurrentLayout(Enum.GetName(typeof(Layout), CurrentLayout)); GUIControl.FocusControl(GetID, Facade.GetID); Facade.SelectIndex(PreviousSelectedIndex); // set facade properties GUIUtils.SetProperty("#itemcount", list.Items.Count().ToString()); GUIUtils.SetProperty("#Trakt.Items", string.Format("{0} {1}", list.Items.Count().ToString(), list.Items.Count() > 1 ? Translation.Items : Translation.Item)); // Download images Async and set to facade GUICustomListItem.GetImages(listImages); }
private void SendRelatedShowsToFacade(IEnumerable <TraktShow> shows) { // clear facade GUIControl.ClearControl(GetID, Facade.GetID); if (shows.Count() == 0) { string title = string.IsNullOrEmpty(relatedShow.Title) ? relatedShow.TVDbId : relatedShow.Title; GUIUtils.ShowNotifyDialog(GUIUtils.PluginName(), string.Format(Translation.NoRelatedShows, title)); GUIWindowManager.ShowPreviousWindow(); return; } int itemId = 0; var showImages = new List <TraktImage>(); foreach (var show in shows) { var item = new GUIShowListItem(show.Title, (int)TraktGUIWindows.RelatedShows); // add image for download var images = new TraktImage { ShowImages = show.Images }; showImages.Add(images); item.Label2 = show.Year.ToString(); item.TVTag = show; item.Images = images; item.ItemId = Int32.MaxValue - itemId; item.IconImage = GUIImageHandler.GetDefaultPoster(false); item.IconImageBig = GUIImageHandler.GetDefaultPoster(); item.ThumbnailImage = GUIImageHandler.GetDefaultPoster(); item.OnItemSelected += OnShowSelected; Utils.SetDefaultIcons(item); Facade.Add(item); itemId++; } // Set Facade Layout Facade.SetCurrentLayout(Enum.GetName(typeof(Layout), CurrentLayout)); GUIControl.FocusControl(GetID, Facade.GetID); Facade.SelectIndex(PreviousSelectedIndex); // set facade properties GUIUtils.SetProperty("#itemcount", shows.Count().ToString()); GUIUtils.SetProperty("#Trakt.Items", string.Format("{0} {1}", shows.Count().ToString(), shows.Count() > 1 ? Translation.SeriesPlural : Translation.Series)); // Download show images Async and set to facade GUIShowListItem.GetImages(showImages); }
private void SendTrendingMoviesToFacade(IEnumerable <TraktTrendingMovie> movies) { // clear facade GUIControl.ClearControl(GetID, Facade.GetID); if (movies.Count() == 0) { GUIUtils.ShowNotifyDialog(GUIUtils.PluginName(), Translation.NoTrendingMovies); GUIWindowManager.ShowPreviousWindow(); return; } // filter movies movies = GUICommon.FilterTrendingMovies(movies); // sort movies var movieList = movies.Where(m => !string.IsNullOrEmpty(m.Title)).ToList(); movieList.Sort(new GUIListItemMovieSorter(TraktSettings.SortByTrendingMovies.Field, TraktSettings.SortByTrendingMovies.Direction)); int itemId = 0; var movieImages = new List <TraktImage>(); // Add each movie mark remote if not in collection foreach (var movie in movieList) { // add image for download var images = new TraktImage { MovieImages = movie.Images }; movieImages.Add(images); var item = new GUIMovieListItem(movie.Title, (int)TraktGUIWindows.TrendingMovies); item.Label2 = movie.Year == "0" ? "----" : movie.Year; item.TVTag = movie; item.Images = images; item.IsPlayed = movie.Watched; item.ItemId = Int32.MaxValue - itemId; // movie in collection doesnt nessararily mean // that the movie is locally available on this computer // as 'keep library clean' might not be enabled //item.IsRemote = !movie.InCollection; item.IconImage = GUIImageHandler.GetDefaultPoster(false); item.IconImageBig = GUIImageHandler.GetDefaultPoster(); item.ThumbnailImage = GUIImageHandler.GetDefaultPoster(); item.OnItemSelected += OnMovieSelected; Utils.SetDefaultIcons(item); Facade.Add(item); itemId++; } // Set Facade Layout Facade.SetCurrentLayout(Enum.GetName(typeof(Layout), CurrentLayout)); GUIControl.FocusControl(GetID, Facade.GetID); Facade.SelectIndex(PreviousSelectedIndex); // set facade properties GUIUtils.SetProperty("#itemcount", movies.Count().ToString()); GUIUtils.SetProperty("#Trakt.Items", string.Format("{0} {1}", movies.Count().ToString(), movies.Count() > 1 ? Translation.Movies : Translation.Movie)); GUIUtils.SetProperty("#Trakt.Trending.PeopleCount", movies.Sum(m => m.Watchers).ToString()); GUIUtils.SetProperty("#Trakt.Trending.Description", string.Format(Translation.TrendingMoviePeople, movies.Sum(m => m.Watchers).ToString(), movies.Count().ToString())); // Download movie images Async and set to facade GUIMovieListItem.GetImages(movieImages); }
private void SendListItemsToFacade(IEnumerable <TraktListItem> listItems) { // clear facade GUIControl.ClearControl(GetID, Facade.GetID); if (listItems == null) { GUIUtils.ShowNotifyDialog(Translation.Error, Translation.ErrorGeneral); GUIWindowManager.ShowPreviousWindow(); return; } CurrentListItems = listItems.ToList(); if (listItems.Count() == 0) { GUIUtils.ShowNotifyDialog(GUIUtils.PluginName(), Translation.NoListItemsFound); GUIWindowManager.ShowPreviousWindow(); return; } int itemId = 1; var listImages = new List <GUITmdbImage>(); // Add each list item foreach (var listItem in listItems) { // add image for download var images = GetTmdbImage(listItem); listImages.Add(images); string itemName = CurrentList.DisplayNumbers ? string.Format("{0}. {1}", itemId, GetListItemLabel(listItem)) : GetListItemLabel(listItem); var item = new GUICustomListItem(itemName, (int)TraktGUIWindows.CustomListItems); item.Label2 = GetListItemSecondLabel(listItem); item.TVTag = listItem; item.Type = (TraktItemType)Enum.Parse(typeof(TraktItemType), listItem.Type, true); item.Movie = listItem.Movie; item.Show = listItem.Show; item.Episode = listItem.Episode; item.Season = listItem.Season; item.Person = listItem.Person; item.Images = images; item.IsPlayed = listItem.IsWatched(); 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++; } // Set Facade Layout Facade.CurrentLayout = CurrentLayout; GUIControl.FocusControl(GetID, Facade.GetID); Facade.SelectIndex(PreviousSelectedIndex); // set facade properties GUIUtils.SetProperty("#itemcount", listItems.Count().ToString()); GUIUtils.SetProperty("#Trakt.Items", string.Format("{0} {1}", listItems.Count().ToString(), listItems.Count() > 1 ? Translation.Items : Translation.Item)); // Download images Async and set to facade GUICustomListItem.GetImages(listImages); }
private void SendTrendingShowsToFacade(TraktShowsTrending trendingItems) { // clear facade GUIControl.ClearControl(GetID, Facade.GetID); if (trendingItems == null) { GUIUtils.ShowNotifyDialog(Translation.Error, Translation.ErrorGeneral); GUIWindowManager.ShowPreviousWindow(); TrendingShowPages = null; return; } if (trendingItems.Shows.Count() == 0) { GUIUtils.ShowNotifyDialog(GUIUtils.PluginName(), Translation.NoTrendingShows); GUIWindowManager.ShowPreviousWindow(); TrendingShowPages = null; return; } // filter shows var filteredTrendingList = GUICommon.FilterTrendingShows(trendingItems.Shows).Where(s => !string.IsNullOrEmpty(s.Show.Title)).ToList(); // sort shows filteredTrendingList.Sort(new GUIListItemShowSorter(TraktSettings.SortByTrendingShows.Field, TraktSettings.SortByTrendingShows.Direction)); int itemId = 0; var showImages = new List <GUITmdbImage>(); // Add Previous Page Button if (trendingItems.CurrentPage != 1) { var prevPageItem = new GUIShowListItem(Translation.PreviousPage, (int)TraktGUIWindows.TrendingShows); prevPageItem.IsPrevPageItem = true; prevPageItem.IconImage = "traktPreviousPage.png"; prevPageItem.IconImageBig = "traktPreviousPage.png"; prevPageItem.ThumbnailImage = "traktPreviousPage.png"; prevPageItem.OnItemSelected += OnPreviousPageSelected; prevPageItem.IsFolder = true; Facade.Add(prevPageItem); itemId++; } foreach (var trendingItem in filteredTrendingList) { var item = new GUIShowListItem(trendingItem.Show.Title, (int)TraktGUIWindows.TrendingShows); // add image for download var image = new GUITmdbImage { ShowImages = new TmdbShowImages { Id = trendingItem.Show.Ids.Tmdb } }; showImages.Add(image); item.Label2 = trendingItem.Show.Year.ToString(); item.TVTag = trendingItem; item.Show = trendingItem.Show; item.Images = image; item.ItemId = Int32.MaxValue - itemId; item.IconImage = GUIImageHandler.GetDefaultPoster(false); item.IconImageBig = GUIImageHandler.GetDefaultPoster(); item.ThumbnailImage = GUIImageHandler.GetDefaultPoster(); item.OnItemSelected += OnShowSelected; Utils.SetDefaultIcons(item); Facade.Add(item); itemId++; } // Add Next Page Button if (trendingItems.CurrentPage != trendingItems.TotalPages) { var nextPageItem = new GUIShowListItem(Translation.NextPage, (int)TraktGUIWindows.TrendingShows); nextPageItem.IsNextPageItem = true; nextPageItem.IconImage = "traktNextPage.png"; nextPageItem.IconImageBig = "traktNextPage.png"; nextPageItem.ThumbnailImage = "traktNextPage.png"; nextPageItem.OnItemSelected += OnNextPageSelected; nextPageItem.IsFolder = true; Facade.Add(nextPageItem); itemId++; } // Set Facade Layout Facade.CurrentLayout = CurrentLayout; GUIControl.FocusControl(GetID, Facade.GetID); Facade.SelectIndex(PreviousSelectedIndex); // set facade properties GUIUtils.SetProperty("#itemcount", filteredTrendingList.Count().ToString()); GUIUtils.SetProperty("#Trakt.Items", string.Format("{0} {1}", filteredTrendingList.Count(), filteredTrendingList.Count() > 1 ? Translation.SeriesPlural : Translation.Series)); GUIUtils.SetProperty("#Trakt.Trending.PeopleCount", trendingItems.TotalWatchers.ToString()); GUIUtils.SetProperty("#Trakt.Trending.Description", string.Format(Translation.TrendingTVShowsPeople, trendingItems.TotalWatchers.ToString(), trendingItems.TotalItems.ToString())); // Page Properties GUIUtils.SetProperty("#Trakt.Facade.CurrentPage", trendingItems.CurrentPage.ToString()); GUIUtils.SetProperty("#Trakt.Facade.TotalPages", trendingItems.TotalPages.ToString()); GUIUtils.SetProperty("#Trakt.Facade.TotalItemsPerPage", TraktSettings.MaxTrendingShowsRequest.ToString()); // Download show images Async and set to facade GUIShowListItem.GetImages(showImages); }
private void SendRecentCommentsToFacade(IEnumerable <TraktCommentItem> comments) { // clear facade GUIControl.ClearControl(GetID, Facade.GetID); // protected profiles might also return null if (comments == null || comments.Count() == 0) { GUIUtils.ShowNotifyDialog(GUIUtils.PluginName(), Translation.UserHasNoRecentShouts); PreviousUser = CurrentUser; CurrentUser = TraktSettings.Username; GUIWindowManager.ShowPreviousWindow(); return; } int itemId = 0; var commentImages = new List <GUITmdbImage>(); // Add each item added foreach (var comment in comments) { // bad api data - at least one must not be null if (comment.Movie == null && comment.Show == null && comment.List == null) { continue; } // add image for download var images = GetTmdbImage(comment); commentImages.Add(images); var item = new GUICustomListItem(GetCommentItemTitle(comment), (int)TraktGUIWindows.RecentShouts); // add user shout date as second label item.Label2 = comment.Comment.CreatedAt.ToPrettyDateTime(); item.TVTag = comment; item.Episode = comment.Episode; item.Show = comment.Show; item.Movie = comment.Movie; item.Season = comment.Season; item.List = comment.List; item.Images = images; item.ItemId = Int32.MaxValue - itemId; item.IconImage = GUIImageHandler.GetDefaultPoster(false); item.IconImageBig = GUIImageHandler.GetDefaultPoster(); item.ThumbnailImage = GUIImageHandler.GetDefaultPoster(); item.PinImage = "traktActivityShout.png"; item.OnItemSelected += OnCommentSelected; Utils.SetDefaultIcons(item); Facade.Add(item); itemId++; } // set Facade Layout Facade.SetCurrentLayout("List"); GUIControl.FocusControl(GetID, Facade.GetID); if (PreviousSelectedIndex >= comments.Count()) { Facade.SelectIndex(PreviousSelectedIndex - 1); } else { Facade.SelectIndex(PreviousSelectedIndex); } // set facade properties GUIUtils.SetProperty("#itemcount", comments.Count().ToString()); GUIUtils.SetProperty("#Trakt.Items", string.Format("{0} {1}", comments.Count().ToString(), comments.Count() > 1 ? Translation.Comment : Translation.Comments)); // Download images Async and set to facade GUICustomListItem.GetImages(commentImages); }
private void SendShowSeasonsToFacade(IEnumerable <TraktSeasonSummary> seasons) { // clear facade GUIControl.ClearControl(GetID, Facade.GetID); if (seasons == null) { GUIUtils.ShowNotifyDialog(Translation.Error, Translation.ErrorGeneral); GUIWindowManager.ShowPreviousWindow(); return; } if (seasons.Count() == 0) { GUIUtils.ShowNotifyDialog(GUIUtils.PluginName(), Translation.NoSeasonsForShow); GUIWindowManager.ShowPreviousWindow(); return; } // sort ascending or descending order if (!TraktSettings.SortSeasonsAscending) { seasons = seasons.OrderByDescending(s => s.Number).ToList(); } else { seasons = seasons.OrderBy(s => s.Number).ToList(); } int itemId = 0; var seasonImages = new List <GUITmdbImage>(); // skip over any seasons with no episodes foreach (var season in seasons.Where(s => s.EpisodeCount > 0)) { // add image for download var images = new GUITmdbImage { SeasonImages = new TmdbSeasonImages { Id = Show.Ids.Tmdb, Season = season.Number } }; seasonImages.Add(images); // if a custom title is set for the season, use that, otherwise use a translated string string itemLabel = season.Number == 0 ? Translation.Specials : string.Format("{0} {1}", Translation.Season, season.Number.ToString()); if (!string.IsNullOrEmpty(season.Title) && itemLabel != season.Title) { itemLabel = string.Format("{0}. {1}", season.Number, season.Title); } var item = new GUISeasonListItem(itemLabel, (int)TraktGUIWindows.ShowSeasons); item.Label2 = string.Format("{0} {1}", season.EpisodeCount, Translation.Episodes); item.TVTag = season; item.Show = Show; item.Season = season; item.Images = images; item.ItemId = Int32.MaxValue - itemId; item.IsPlayed = season.IsWatched(Show); item.IconImage = GUIImageHandler.GetDefaultPoster(false); item.IconImageBig = GUIImageHandler.GetDefaultPoster(); item.ThumbnailImage = GUIImageHandler.GetDefaultPoster(); item.OnItemSelected += OnSeasonSelected; Utils.SetDefaultIcons(item); Facade.Add(item); itemId++; } // Set Facade Layout Facade.CurrentLayout = CurrentLayout; GUIControl.FocusControl(GetID, Facade.GetID); Facade.SelectIndex(PreviousSelectedIndex); // set facade properties GUIUtils.SetProperty("#itemcount", seasons.Count().ToString()); GUIUtils.SetProperty("#Trakt.Items", string.Format("{0} {1}", seasons.Count().ToString(), seasons.Count() > 1 ? Translation.Seasons : Translation.Season)); // Download show images Async and set to facade GUISeasonListItem.GetImages(seasonImages); }
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 SendWatchListShowsToFacade(IEnumerable <TraktWatchListShow> shows) { // clear facade GUIControl.ClearControl(GetID, Facade.GetID); if (shows.Count() == 0) { GUIUtils.ShowNotifyDialog(GUIUtils.PluginName(), string.Format(Translation.NoShowWatchList, CurrentUser)); CurrentUser = TraktSettings.Username; GUIWindowManager.ShowPreviousWindow(); return; } // sort shows var showList = shows.ToList(); showList.Sort(new GUIListItemShowSorter(TraktSettings.SortByWatchListShows.Field, TraktSettings.SortByWatchListShows.Direction)); int itemId = 0; var showImages = new List <TraktImage>(); // Add each show foreach (var show in showList) { // add image for download var images = new TraktImage { ShowImages = show.Images }; showImages.Add(images); GUIShowListItem item = new GUIShowListItem(show.Title, (int)TraktGUIWindows.WatchedListShows); item.Label2 = show.Year.ToString(); item.TVTag = show; item.Images = images; item.ItemId = Int32.MaxValue - itemId; item.IconImage = GUIImageHandler.GetDefaultPoster(false); item.IconImageBig = GUIImageHandler.GetDefaultPoster(); item.ThumbnailImage = GUIImageHandler.GetDefaultPoster(); item.OnItemSelected += OnShowSelected; Utils.SetDefaultIcons(item); Facade.Add(item); itemId++; } // Set Facade Layout Facade.SetCurrentLayout(Enum.GetName(typeof(Layout), CurrentLayout)); GUIControl.FocusControl(GetID, Facade.GetID); if (PreviousSelectedIndex >= shows.Count()) { Facade.SelectIndex(PreviousSelectedIndex - 1); } else { Facade.SelectIndex(PreviousSelectedIndex); } // set facade properties GUIUtils.SetProperty("#itemcount", shows.Count().ToString()); GUIUtils.SetProperty("#Trakt.Items", string.Format("{0} {1}", shows.Count().ToString(), shows.Count() > 1 ? Translation.SeriesPlural : Translation.Series)); // Download show images Async and set to facade GUIShowListItem.GetImages(showImages); }
private void SendBoxOfficeToFacade(IEnumerable <TraktMovieBoxOffice> boxOffice) { // clear facade GUIControl.ClearControl(GetID, Facade.GetID); if (boxOffice == null) { GUIUtils.ShowNotifyDialog(Translation.Error, Translation.ErrorGeneral); GUIWindowManager.ShowPreviousWindow(); return; } if (boxOffice.Count() == 0) { GUIUtils.ShowNotifyDialog(GUIUtils.PluginName(), Translation.NoBoxOffice); GUIWindowManager.ShowPreviousWindow(); return; } int itemId = 0; var movieImages = new List <GUITmdbImage>(); // Add each movie foreach (var box in boxOffice.Where(b => !string.IsNullOrEmpty(b.Movie.Title))) { var item = new GUIMovieListItem(box.Movie.Title, (int)TraktGUIWindows.BoxOffice); // add image for download var image = new GUITmdbImage { MovieImages = new TmdbMovieImages { Id = box.Movie.Ids.Tmdb } }; movieImages.Add(image); item.Label2 = box.Movie.Year == null ? "----" : box.Movie.Year.ToString(); item.TVTag = box; item.Movie = box.Movie; item.Images = image; item.IsPlayed = box.Movie.IsWatched(); item.ItemId = Int32.MaxValue - itemId; // movie in collection doesnt nessararily mean // that the movie is locally available on this computer // as 'keep library clean' might not be enabled //item.IsRemote = !movie.InCollection; item.IconImage = GUIImageHandler.GetDefaultPoster(false); item.IconImageBig = GUIImageHandler.GetDefaultPoster(); item.ThumbnailImage = GUIImageHandler.GetDefaultPoster(); item.OnItemSelected += OnMovieSelected; Utils.SetDefaultIcons(item); Facade.Add(item); itemId++; } // Set Facade Layout Facade.CurrentLayout = CurrentLayout; GUIControl.FocusControl(GetID, Facade.GetID); Facade.SelectIndex(PreviousSelectedIndex); // set facade properties GUIUtils.SetProperty("#itemcount", boxOffice.Count().ToString()); GUIUtils.SetProperty("#Trakt.Items", string.Format("{0} {1}", boxOffice.Count().ToString(), boxOffice.Count() > 1 ? Translation.Movies : Translation.Movie)); int totalRevenue = boxOffice.Sum(b => b.Revenue); GUIUtils.SetProperty("#Trakt.BoxOffice.Total.Revenue", string.Format("{0:C0}", totalRevenue)); GUIUtils.SetProperty("#Trakt.BoxOffice.Total.Revenue.Raw", totalRevenue.ToString()); // Download movie images Async and set to facade GUIMovieListItem.GetImages(movieImages); }
private void SendRecommendedMoviesToFacade(IEnumerable <TraktMovieSummary> movies) { // clear facade GUIControl.ClearControl(GetID, Facade.GetID); if (movies == null) { GUIUtils.ShowNotifyDialog(Translation.Error, Translation.ErrorGeneral); GUIWindowManager.ShowPreviousWindow(); return; } if (movies.Count() == 0) { // try again if (genreButton == null) { // restore defaults for next time so we can get recommendations if (CurrentGenre != "All") { CurrentGenre = "All"; } _RecommendedMovies = null; GUIWindowManager.ShowPreviousWindow(); } else { GUIUtils.ShowNotifyDialog(GUIUtils.PluginName(), Translation.NoMovieRecommendations); GUIControl.FocusControl(GetID, genreButton.GetID); } return; } // sort movies var movieList = movies.ToList(); movieList.Sort(new GUIListItemMovieSorter(TraktSettings.SortByRecommendedMovies.Field, TraktSettings.SortByRecommendedMovies.Direction)); int itemId = 0; var movieImages = new List <GUITmdbImage>(); // Add each movie foreach (var movie in movieList) { var item = new GUIMovieListItem(movie.Title, (int)TraktGUIWindows.RecommendationsMovies); // add image for download var image = new GUITmdbImage { MovieImages = new TmdbMovieImages { Id = movie.Ids.Tmdb } }; movieImages.Add(image); item.Label2 = movie.Year == null ? "----" : movie.Year.ToString(); item.TVTag = movie; item.Movie = movie; item.Images = image; item.ItemId = Int32.MaxValue - itemId; // movie in collection doesnt nessararily mean // that the movie is locally available on this computer // as 'keep library clean' might not be enabled //item.IsRemote = !movie.InCollection; item.IconImage = GUIImageHandler.GetDefaultPoster(false); item.IconImageBig = GUIImageHandler.GetDefaultPoster(); item.ThumbnailImage = GUIImageHandler.GetDefaultPoster(); item.OnItemSelected += OnMovieSelected; Utils.SetDefaultIcons(item); Facade.Add(item); itemId++; } // Set Facade Layout Facade.SetCurrentLayout(Enum.GetName(typeof(Layout), CurrentLayout)); GUIControl.FocusControl(GetID, Facade.GetID); if (PreviousSelectedIndex >= movies.Count()) { Facade.SelectIndex(PreviousSelectedIndex - 1); } else { Facade.SelectIndex(PreviousSelectedIndex); } // set facade properties GUIUtils.SetProperty("#itemcount", movies.Count().ToString()); GUIUtils.SetProperty("#Trakt.Items", string.Format("{0} {1}", movies.Count().ToString(), movies.Count() > 1 ? Translation.Movies : Translation.Movie)); // Download movie images Async and set to facade GUIMovieListItem.GetImages(movieImages); }
private void SendRecentShoutsToFacade(IEnumerable <TraktActivity.Activity> activities) { // clear facade GUIControl.ClearControl(GetID, Facade.GetID); // protected profiles might return null if (activities == null || activities.Count() == 0) { GUIUtils.ShowNotifyDialog(GUIUtils.PluginName(), Translation.UserHasNoRecentShouts); PreviousUser = CurrentUser; CurrentUser = TraktSettings.Username; GUIWindowManager.ShowPreviousWindow(); return; } int itemId = 0; var shoutImages = new List <TraktImage>(); // Add each item added foreach (var activity in activities) { // bad api data if (activity.Movie == null && activity.Show == null) { continue; } var item = new GUICustomListItem(GUICommon.GetActivityListItemTitle(activity), (int)TraktGUIWindows.RecentShouts); // add images for download var images = new TraktImage { ShowImages = activity.Show != null ? activity.Show.Images : null, MovieImages = activity.Movie != null ? activity.Movie.Images : null }; shoutImages.Add(images); // add user shout date as second label item.Label2 = activity.Timestamp.FromEpoch().ToShortDateString(); item.TVTag = activity; item.Images = images; item.ItemId = Int32.MaxValue - itemId; item.IconImage = GUIImageHandler.GetDefaultPoster(false); item.IconImageBig = GUIImageHandler.GetDefaultPoster(); item.ThumbnailImage = GUIImageHandler.GetDefaultPoster(); item.PinImage = "traktActivityShout.png"; item.OnItemSelected += OnShoutSelected; Utils.SetDefaultIcons(item); Facade.Add(item); itemId++; } // set Facade Layout Facade.SetCurrentLayout("List"); GUIControl.FocusControl(GetID, Facade.GetID); if (PreviousSelectedIndex >= activities.Count()) { Facade.SelectIndex(PreviousSelectedIndex - 1); } else { Facade.SelectIndex(PreviousSelectedIndex); } // set facade properties GUIUtils.SetProperty("#itemcount", activities.Count().ToString()); GUIUtils.SetProperty("#Trakt.Items", string.Format("{0} {1}", activities.Count().ToString(), activities.Count() > 1 ? Translation.Shout : Translation.Shouts)); // Download images Async and set to facade GUICustomListItem.GetImages(shoutImages); }
private void SendSearchResultsToFacade(IEnumerable <TraktShowSummary> shows) { // clear facade GUIControl.ClearControl(GetID, Facade.GetID); if (shows == null) { GUIUtils.ShowNotifyDialog(Translation.Error, Translation.ErrorGeneral); GUIWindowManager.ShowPreviousWindow(); Shows = null; return; } if (shows.Count() == 0) { GUIUtils.ShowNotifyDialog(GUIUtils.PluginName(), Translation.NoSearchResultsFound); GUIWindowManager.ShowPreviousWindow(); Shows = null; return; } int itemId = 0; var showImages = new List <GUITmdbImage>(); // Add each show foreach (var show in shows) { // add image for download var images = new GUITmdbImage { ShowImages = new TmdbShowImages { Id = show.Ids.Tmdb } }; showImages.Add(images); GUIShowListItem item = new GUIShowListItem(show.Title, (int)TraktGUIWindows.SearchShows); item.Label2 = show.Year.ToString(); item.TVTag = show; item.Show = show; item.Images = images; item.IsPlayed = show.IsWatched(); item.ItemId = Int32.MaxValue - itemId; item.IconImage = GUIImageHandler.GetDefaultPoster(false); item.IconImageBig = GUIImageHandler.GetDefaultPoster(); item.ThumbnailImage = GUIImageHandler.GetDefaultPoster(); item.OnItemSelected += OnShowSelected; Utils.SetDefaultIcons(item); Facade.Add(item); itemId++; } // Set Facade Layout Facade.CurrentLayout = CurrentLayout; GUIControl.FocusControl(GetID, Facade.GetID); if (SearchTermChanged) { PreviousSelectedIndex = 0; } Facade.SelectIndex(PreviousSelectedIndex); // set facade properties GUIUtils.SetProperty("#itemcount", shows.Count().ToString()); GUIUtils.SetProperty("#Trakt.Items", string.Format("{0} {1}", shows.Count().ToString(), shows.Count() > 1 ? Translation.TVShows : Translation.TVShow)); // Download images Async and set to facade GUIShowListItem.GetImages(showImages); }
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 SendRecentlyWatchedToFacade(IEnumerable <TraktMovieHistory> recentlyWatched) { // clear facade GUIControl.ClearControl(GetID, Facade.GetID); // protected profiles might return null if (recentlyWatched == null || recentlyWatched.Count() == 0) { GUIUtils.ShowNotifyDialog(GUIUtils.PluginName(), Translation.UserHasNotWatchedMovies); PreviousUser = CurrentUser; CurrentUser = TraktSettings.Username; GUIWindowManager.ShowPreviousWindow(); return; } int itemId = 0; var movieImages = new List <GUITmdbImage>(); // Add each item watched foreach (var recent in recentlyWatched) { // bad data in API if (recent.Movie == null) { continue; } // add image for download var images = new GUITmdbImage { MovieImages = new TmdbMovieImages { Id = recent.Movie.Ids.Tmdb } }; movieImages.Add(images); var item = new GUIMovieListItem(recent.Movie.Title, (int)TraktGUIWindows.RecentWatchedMovies); // add user watched date as second label item.Label2 = recent.WatchedAt.ToPrettyDateTime(); item.Date = recent.WatchedAt.FromISO8601().ToLongDateString(); item.Action = recent.Action; item.TVTag = recent.Movie; item.Movie = recent.Movie; item.Images = images; item.ItemId = Int32.MaxValue - itemId; item.IsPlayed = CurrentUser != TraktSettings.Username ? recent.Movie.IsWatched() : false; item.IconImage = GUIImageHandler.GetDefaultPoster(false); item.IconImageBig = GUIImageHandler.GetDefaultPoster(); item.ThumbnailImage = GUIImageHandler.GetDefaultPoster(); item.OnItemSelected += OnMovieSelected; Utils.SetDefaultIcons(item); Facade.Add(item); itemId++; } // set Facade Layout Facade.SetCurrentLayout(Enum.GetName(typeof(Layout), CurrentLayout)); GUIControl.FocusControl(GetID, Facade.GetID); if (PreviousSelectedIndex >= recentlyWatched.Count()) { Facade.SelectIndex(PreviousSelectedIndex - 1); } else { Facade.SelectIndex(PreviousSelectedIndex); } // set facade properties GUIUtils.SetProperty("#itemcount", recentlyWatched.Count().ToString()); GUIUtils.SetProperty("#Trakt.Items", string.Format("{0} {1}", recentlyWatched.Count().ToString(), recentlyWatched.Count() > 1 ? Translation.Movies : Translation.Movie)); // Download movie images Async and set to facade GUIMovieListItem.GetImages(movieImages); }
private void SendRelatedShowsToFacade(IEnumerable <TraktShowSummary> shows) { // clear facade GUIControl.ClearControl(GetID, Facade.GetID); if (shows == null) { GUIUtils.ShowNotifyDialog(Translation.Error, Translation.ErrorGeneral); GUIWindowManager.ShowPreviousWindow(); return; } if (shows.Count() == 0) { string title = string.IsNullOrEmpty(relatedShow.Title) ? relatedShow.Slug : relatedShow.Title; GUIUtils.ShowNotifyDialog(GUIUtils.PluginName(), string.Format(Translation.NoRelatedShows, title)); GUIWindowManager.ShowPreviousWindow(); return; } if (HideWatched) { // not interested if we have watched any underlying episodes shows = shows.Where(s => s.Plays() == 0); } int itemId = 0; var showImages = new List <GUITmdbImage>(); foreach (var show in shows) { var item = new GUIShowListItem(show.Title, (int)TraktGUIWindows.RelatedShows); // add image for download var images = new GUITmdbImage { ShowImages = new TmdbShowImages { Id = show.Ids.Tmdb } }; showImages.Add(images); item.Label2 = show.Year.ToString(); item.TVTag = show; item.Show = show; item.Show = show; item.Images = images; item.ItemId = Int32.MaxValue - itemId; item.IconImage = GUIImageHandler.GetDefaultPoster(false); item.IconImageBig = GUIImageHandler.GetDefaultPoster(); item.ThumbnailImage = GUIImageHandler.GetDefaultPoster(); item.OnItemSelected += OnShowSelected; Utils.SetDefaultIcons(item); Facade.Add(item); itemId++; } // Set Facade Layout Facade.CurrentLayout = CurrentLayout; GUIControl.FocusControl(GetID, Facade.GetID); Facade.SelectIndex(PreviousSelectedIndex); // set facade properties GUIUtils.SetProperty("#itemcount", shows.Count().ToString()); GUIUtils.SetProperty("#Trakt.Items", string.Format("{0} {1}", shows.Count().ToString(), shows.Count() > 1 ? Translation.SeriesPlural : Translation.Series)); // Download show images Async and set to facade GUIShowListItem.GetImages(showImages); }
private void SendPopularMoviesToFacade(TraktMoviesPopular PopularItems) { // clear facade GUIControl.ClearControl(GetID, Facade.GetID); if (PopularItems == null) { GUIUtils.ShowNotifyDialog(Translation.Error, Translation.ErrorGeneral); GUIWindowManager.ShowPreviousWindow(); PopularMoviePages = null; return; } // filter movies var filteredPopularList = FilterPopularMovies(PopularItems.Movies).Where(m => !string.IsNullOrEmpty(m.Title)).ToList(); // sort movies filteredPopularList.Sort(new GUIListItemMovieSorter(TraktSettings.SortByPopularMovies.Field, TraktSettings.SortByPopularMovies.Direction)); int itemId = 0; var movieImages = new List <GUITmdbImage>(); // Add Previous Page Button if (PopularItems.CurrentPage != 1) { var prevPageItem = new GUIMovieListItem(Translation.PreviousPage, (int)TraktGUIWindows.PopularMovies); prevPageItem.IsPrevPageItem = true; prevPageItem.IconImage = "traktPreviousPage.png"; prevPageItem.IconImageBig = "traktPreviousPage.png"; prevPageItem.ThumbnailImage = "traktPreviousPage.png"; prevPageItem.OnItemSelected += OnPreviousPageSelected; prevPageItem.IsFolder = true; Facade.Add(prevPageItem); itemId++; } // Add each movie mark remote if not in collection foreach (var PopularItem in filteredPopularList) { // add image for download var images = new GUITmdbImage { MovieImages = new TmdbMovieImages { Id = PopularItem.Ids.Tmdb } }; movieImages.Add(images); var item = new GUIMovieListItem(PopularItem.Title, (int)TraktGUIWindows.PopularMovies); item.Label2 = PopularItem.Year == null ? "----" : PopularItem.Year.ToString(); item.TVTag = PopularItem; item.Movie = PopularItem; item.Images = images; item.IsPlayed = PopularItem.IsWatched(); item.ItemId = Int32.MaxValue - itemId; item.IconImage = GUIImageHandler.GetDefaultPoster(false); item.IconImageBig = GUIImageHandler.GetDefaultPoster(); item.ThumbnailImage = GUIImageHandler.GetDefaultPoster(); item.OnItemSelected += OnMovieSelected; Utils.SetDefaultIcons(item); Facade.Add(item); itemId++; } // Add Next Page Button if (PopularItems.CurrentPage != PopularItems.TotalPages) { var nextPageItem = new GUIMovieListItem(Translation.NextPage, (int)TraktGUIWindows.PopularMovies); nextPageItem.IsNextPageItem = true; nextPageItem.IconImage = "traktNextPage.png"; nextPageItem.IconImageBig = "traktNextPage.png"; nextPageItem.ThumbnailImage = "traktNextPage.png"; nextPageItem.OnItemSelected += OnNextPageSelected; nextPageItem.IsFolder = true; Facade.Add(nextPageItem); itemId++; } // Set Facade Layout Facade.SetCurrentLayout(Enum.GetName(typeof(Layout), CurrentLayout)); GUIControl.FocusControl(GetID, Facade.GetID); Facade.SelectIndex(PreviousSelectedIndex); // set facade properties GUIUtils.SetProperty("#itemcount", filteredPopularList.Count().ToString()); GUIUtils.SetProperty("#Trakt.Items", string.Format("{0} {1}", filteredPopularList.Count(), filteredPopularList.Count() > 1 ? Translation.Movies : Translation.Movie)); // Page Properties GUIUtils.SetProperty("#Trakt.Facade.CurrentPage", PopularItems.CurrentPage.ToString()); GUIUtils.SetProperty("#Trakt.Facade.TotalPages", PopularItems.TotalPages.ToString()); GUIUtils.SetProperty("#Trakt.Facade.TotalItemsPerPage", TraktSettings.MaxPopularMoviesRequest.ToString()); // Download movie images Async and set to facade GUIMovieListItem.GetImages(movieImages); }
private void SendRecommendedShowsToFacade(IEnumerable <TraktShowSummary> shows) { // clear facade GUIControl.ClearControl(GetID, Facade.GetID); if (shows == null) { GUIUtils.ShowNotifyDialog(Translation.Error, Translation.ErrorGeneral); GUIWindowManager.ShowPreviousWindow(); return; } if (shows.Count() == 0) { // try again if (genreButton == null) { // restore defaults for next time so we can get recommendations if (CurrentGenre != "All") { CurrentGenre = "All"; } _RecommendedShows = null; GUIWindowManager.ShowPreviousWindow(); } else { GUIUtils.ShowNotifyDialog(GUIUtils.PluginName(), Translation.NoShowRecommendations); GUIControl.FocusControl(GetID, genreButton.GetID); } return; } // sort shows var showList = shows.ToList(); showList.Sort(new GUIListItemShowSorter(TraktSettings.SortByRecommendedShows.Field, TraktSettings.SortByRecommendedShows.Direction)); int itemId = 0; var showImages = new List <GUITmdbImage>(); foreach (var show in showList) { var item = new GUIShowListItem(show.Title, (int)TraktGUIWindows.RecommendationsShows); // add image for download var images = new GUITmdbImage { ShowImages = new TmdbShowImages { Id = show.Ids.Tmdb } }; showImages.Add(images); item.Label2 = show.Year.ToString(); item.TVTag = show; item.Show = show; item.Images = images; item.ItemId = Int32.MaxValue - itemId; item.IconImage = GUIImageHandler.GetDefaultPoster(false); item.IconImageBig = GUIImageHandler.GetDefaultPoster(); item.ThumbnailImage = GUIImageHandler.GetDefaultPoster(); item.OnItemSelected += OnShowSelected; Utils.SetDefaultIcons(item); Facade.Add(item); itemId++; } // Set Facade Layout Facade.SetCurrentLayout(Enum.GetName(typeof(Layout), CurrentLayout)); GUIControl.FocusControl(GetID, Facade.GetID); if (PreviousSelectedIndex >= shows.Count()) { Facade.SelectIndex(PreviousSelectedIndex - 1); } else { Facade.SelectIndex(PreviousSelectedIndex); } // set facade properties GUIUtils.SetProperty("#itemcount", shows.Count().ToString()); GUIUtils.SetProperty("#Trakt.Items", string.Format("{0} {1}", shows.Count().ToString(), shows.Count() > 1 ? Translation.SeriesPlural : Translation.Series)); // Download show images Async and set to facade GUIShowListItem.GetImages(showImages); }
private void SendWatchListMoviesToFacade(IEnumerable <TraktWatchListMovie> movies) { // clear facade GUIControl.ClearControl(GetID, Facade.GetID); if (movies.Count() == 0) { GUIUtils.ShowNotifyDialog(GUIUtils.PluginName(), string.Format(Translation.NoMovieWatchList, CurrentUser)); CurrentUser = TraktSettings.Username; GUIWindowManager.ShowPreviousWindow(); return; } // sort movies var movieList = movies.Where(m => !string.IsNullOrEmpty(m.Title)).ToList(); movieList.Sort(new GUIListItemMovieSorter(TraktSettings.SortByWatchListMovies.Field, TraktSettings.SortByWatchListMovies.Direction)); int itemId = 0; var movieImages = new List <TraktImage>(); // Add each movie foreach (var movie in movieList) { // add image for download var images = new TraktImage { MovieImages = movie.Images }; movieImages.Add(images); var item = new GUIMovieListItem(movie.Title, (int)TraktGUIWindows.WatchedListMovies); item.Label2 = movie.Year; item.TVTag = movie; item.Images = images; item.ItemId = Int32.MaxValue - itemId; item.IsPlayed = movie.Watched; item.IconImage = GUIImageHandler.GetDefaultPoster(false); item.IconImageBig = GUIImageHandler.GetDefaultPoster(); item.ThumbnailImage = GUIImageHandler.GetDefaultPoster(); item.OnItemSelected += OnMovieSelected; Utils.SetDefaultIcons(item); Facade.Add(item); itemId++; } // Set Facade Layout Facade.SetCurrentLayout(Enum.GetName(typeof(Layout), CurrentLayout)); GUIControl.FocusControl(GetID, Facade.GetID); if (PreviousSelectedIndex >= movies.Count()) { Facade.SelectIndex(PreviousSelectedIndex - 1); } else { Facade.SelectIndex(PreviousSelectedIndex); } // set facade properties GUIUtils.SetProperty("#itemcount", movies.Count().ToString()); GUIUtils.SetProperty("#Trakt.Items", string.Format("{0} {1}", movies.Count().ToString(), movies.Count() > 1 ? Translation.Movies : Translation.Movie)); // Download movie images Async and set to facade GUIMovieListItem.GetImages(movieImages); }
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); }