diff --git a/xbmc/GUIInfoManager.cpp b/xbmc/GUIInfoManager.cpp index 09fc05dff2e1d..152bdc0dbdcc0 100644 --- a/xbmc/GUIInfoManager.cpp +++ b/xbmc/GUIInfoManager.cpp @@ -3136,13 +3136,13 @@ CStdString CGUIInfoManager::GetImage(int info, int contextWindow, CStdString *fa { CGUIWindow *window = GetWindowWithCondition(contextWindow, WINDOW_CONDITION_IS_MEDIA_WINDOW); if (window) - return ((CGUIMediaWindow *)window)->CurrentDirectory().GetArt("tvshowthumb"); + return ((CGUIMediaWindow *)window)->CurrentDirectory().GetArt("tvshow.thumb"); } else if (info == CONTAINER_SEASONTHUMB) { CGUIWindow *window = GetWindowWithCondition(contextWindow, WINDOW_CONDITION_IS_MEDIA_WINDOW); if (window) - return ((CGUIMediaWindow *)window)->CurrentDirectory().GetArt("seasonthumb"); + return ((CGUIMediaWindow *)window)->CurrentDirectory().GetArt("season.thumb"); } else if (info == LISTITEM_THUMB || info == LISTITEM_ICON || info == LISTITEM_ACTUAL_ICON || info == LISTITEM_OVERLAY || info == LISTITEM_RATING || info == LISTITEM_STAR_RATING) diff --git a/xbmc/utils/RecentlyAddedJob.cpp b/xbmc/utils/RecentlyAddedJob.cpp index 4008de4e2b002..fb2420b313569 100644 --- a/xbmc/utils/RecentlyAddedJob.cpp +++ b/xbmc/utils/RecentlyAddedJob.cpp @@ -135,7 +135,7 @@ bool CRecentlyAddedJob::UpdateVideo() seasonThumb = videodatabase.GetArtForItem(item->GetVideoInfoTag()->m_iIdSeason, "season", "thumb"); home->SetProperty("LatestEpisode." + value + ".Thumb" , item->GetArt("thumb")); - home->SetProperty("LatestEpisode." + value + ".ShowThumb" , item->GetArt("tvshowthumb")); + home->SetProperty("LatestEpisode." + value + ".ShowThumb" , item->GetArt("tvshow.thumb")); home->SetProperty("LatestEpisode." + value + ".SeasonThumb" , seasonThumb); home->SetProperty("LatestEpisode." + value + ".Fanart" , item->GetArt("fanart")); } diff --git a/xbmc/video/VideoThumbLoader.cpp b/xbmc/video/VideoThumbLoader.cpp index d4cbec415ce5c..efa7c01ca3a69 100644 --- a/xbmc/video/VideoThumbLoader.cpp +++ b/xbmc/video/VideoThumbLoader.cpp @@ -334,11 +334,13 @@ bool CVideoThumbLoader::FillLibraryArt(CFileItem &item) map showArt, cacheArt; if (m_database->GetArtForItem(tag.m_iIdShow, "tvshow", showArt)) { - map::iterator i = showArt.find("fanart"); - if (i != showArt.end()) - cacheArt.insert(make_pair("fanart", i->second)); - if ((i = showArt.find("thumb")) != showArt.end()) - cacheArt.insert(make_pair("tvshowthumb", i->second)); + for (CGUIListItem::ArtMap::iterator i = showArt.begin(); i != showArt.end(); ++i) + { + if (i->first == "fanart") + cacheArt.insert(*i); + else + cacheArt.insert(make_pair("tvshow." + i->first, i->second)); + } item.AppendArt(cacheArt); } m_showArt.insert(make_pair(tag.m_iIdShow, cacheArt)); diff --git a/xbmc/video/dialogs/GUIDialogVideoInfo.cpp b/xbmc/video/dialogs/GUIDialogVideoInfo.cpp index 1390ab213c9fb..d6681a8015adb 100644 --- a/xbmc/video/dialogs/GUIDialogVideoInfo.cpp +++ b/xbmc/video/dialogs/GUIDialogVideoInfo.cpp @@ -315,9 +315,12 @@ void CGUIDialogVideoInfo::SetMovie(const CFileItem *item) if (seasonID < 0) seasonID = db.GetSeasonId(m_movieItem->GetVideoInfoTag()->m_iIdShow, m_movieItem->GetVideoInfoTag()->m_iSeason); - string thumb = db.GetArtForItem(seasonID, "season", "thumb"); - if (!thumb.empty()) - m_movieItem->SetArt("seasonthumb", thumb); + CGUIListItem::ArtMap thumbs; + if (db.GetArtForItem(seasonID, "season", thumbs)) + { + for (CGUIListItem::ArtMap::iterator i = thumbs.begin(); i != thumbs.end(); i++) + m_movieItem->SetArt("season." + i->first, i->second); + } } db.Close(); } diff --git a/xbmc/video/windows/GUIWindowVideoNav.cpp b/xbmc/video/windows/GUIWindowVideoNav.cpp index 30fcdc9740186..a2b56f09c849d 100644 --- a/xbmc/video/windows/GUIWindowVideoNav.cpp +++ b/xbmc/video/windows/GUIWindowVideoNav.cpp @@ -292,12 +292,20 @@ bool CGUIWindowVideoNav::GetDirectory(const CStdString &strDirectory, CFileItemL map art; if (m_database.GetArtForItem(details.m_iDbId, details.m_type, art)) { - if (art.find("thumb") != art.end()) - items.SetArt("tvshowthumb", art["thumb"]); - if (art.find("fanart") != art.end()) - items.SetArt("fanart", art["fanart"]); + for (CGUIListItem::ArtMap::iterator i = art.begin(); i != art.end(); ++i) + { + if (i->first == "fanart") + items.SetArt(i->first, i->second); + else + items.SetArt("tvshow." + i->first, i->second); + } + if (node == NODE_TYPE_SEASONS) + { + CFileItem showItem; + showItem.SetArt(art); + items.SetArt("thumb", showItem.GetArt("thumb")); + } } - CFileItem showItem(details.m_strShowPath, true); // Grab fanart data items.SetProperty("fanart_color1", details.m_fanart.GetColor(0)); @@ -313,18 +321,18 @@ bool CGUIWindowVideoNav::GetDirectory(const CStdString &strDirectory, CFileItemL items.SetContent("episodes"); // grab the season thumb as the folder thumb int seasonID = m_database.GetSeasonId(details.m_iDbId, params.GetSeason()); - string seasonThumb = m_database.GetArtForItem(seasonID, "season", "thumb"); - if (!seasonThumb.empty()) + CGUIListItem::ArtMap seasonArt; + if (m_database.GetArtForItem(seasonID, "season", seasonArt)) { - items.SetArt("seasonthumb",seasonThumb); - items.SetArt("thumb", seasonThumb); + for (CGUIListItem::ArtMap::iterator i = art.begin(); i != art.end(); ++i) + items.SetArt("season." + i->first, i->second); + CFileItem seasonItem; + seasonItem.SetArt(seasonArt); + items.SetArt("thumb", seasonItem.GetArt("thumb")); } } else - { items.SetContent("seasons"); - items.SetArt("thumb", showItem.GetArt("thumb")); - } } else if (node == NODE_TYPE_TITLE_MOVIES || node == NODE_TYPE_RECENTLY_ADDED_MOVIES)