private void OnItemSelected(GUIListItem item, GUIControl parent)
{
if (item == null) return;
var listItem = item.TVTag as TraktListItem;
if (listItem == null) return;
PreviousSelectedIndex = Facade.SelectedListItemIndex;
switch (listItem.Type)
{
case "movie":
SelectedType = TraktItemType.movie;
PublishMovieSkinProperties(listItem);
string fanart = TmdbCache.GetMovieBackdropFilename((item as GUICustomListItem).Images.MovieImages);
if (!string.IsNullOrEmpty(fanart))
{
GUIImageHandler.LoadFanart(backdrop, fanart);
}
break;
case "show":
SelectedType = TraktItemType.show;
PublishShowSkinProperties(listItem);
fanart = TmdbCache.GetShowBackdropFilename((item as GUICustomListItem).Images.ShowImages);
if (!string.IsNullOrEmpty(fanart))
{
GUIImageHandler.LoadFanart(backdrop, fanart);
}
break;
case "season":
SelectedType = TraktItemType.season;
PublishSeasonSkinProperties(listItem);
fanart = TmdbCache.GetShowBackdropFilename((item as GUICustomListItem).Images.ShowImages);
if (!string.IsNullOrEmpty(fanart))
{
GUIImageHandler.LoadFanart(backdrop, fanart);
}
break;
case "episode":
SelectedType = TraktItemType.episode;
PublishEpisodeSkinProperties(listItem);
fanart = TmdbCache.GetShowBackdropFilename((item as GUICustomListItem).Images.ShowImages);
if (!string.IsNullOrEmpty(fanart))
{
GUIImageHandler.LoadFanart(backdrop, fanart);
}
break;
case "person":
SelectedType = TraktItemType.person;
PublishPersonSkinProperties(listItem);
break;
}
GUIUtils.SetProperty("#Trakt.List.ItemType", SelectedType.ToString());
}