From b2d3bcbc46f8d05eda23c23fa6cd5d68bfef1716 Mon Sep 17 00:00:00 2001 From: Jonathan Marshall Date: Sat, 10 Nov 2012 21:54:38 +1300 Subject: [art] adds fallbacks for fanart->tvshow.fanart for episodes/seasons, and container.thumb->(season|tvshow).(poster|banner) --- xbmc/video/VideoThumbLoader.cpp | 1 + xbmc/video/windows/GUIWindowVideoNav.cpp | 20 ++++++++++++-------- 2 files changed, 13 insertions(+), 8 deletions(-) diff --git a/xbmc/video/VideoThumbLoader.cpp b/xbmc/video/VideoThumbLoader.cpp index ceb8f71171..50fdce1686 100644 --- a/xbmc/video/VideoThumbLoader.cpp +++ b/xbmc/video/VideoThumbLoader.cpp @@ -348,6 +348,7 @@ bool CVideoThumbLoader::FillLibraryArt(CFileItem &item) if (i != m_showArt.end()) { item.AppendArt(i->second, "tvshow"); + item.SetArtFallback("fanart", "tvshow.fanart"); } } m_database->Close(); diff --git a/xbmc/video/windows/GUIWindowVideoNav.cpp b/xbmc/video/windows/GUIWindowVideoNav.cpp index 655e04563a..c93cee416d 100644 --- a/xbmc/video/windows/GUIWindowVideoNav.cpp +++ b/xbmc/video/windows/GUIWindowVideoNav.cpp @@ -294,11 +294,13 @@ bool CGUIWindowVideoNav::GetDirectory(const CStdString &strDirectory, CFileItemL if (m_database.GetArtForItem(details.m_iDbId, details.m_type, art)) { items.AppendArt(art, "tvshow"); + items.SetArtFallback("fanart", "tvshow.fanart"); if (node == NODE_TYPE_SEASONS) - { - CFileItem showItem; - showItem.SetArt(art); - items.SetArt("thumb", showItem.GetArt("thumb")); + { // set an art fallback for "thumb" + if (items.HasArt("tvshow.poster")) + items.SetArtFallback("thumb", "tvshow.poster"); + else if (items.HasArt("tvshow.banner")) + items.SetArtFallback("thumb", "tvshow.banner"); } } @@ -319,10 +321,12 @@ bool CGUIWindowVideoNav::GetDirectory(const CStdString &strDirectory, CFileItemL CGUIListItem::ArtMap seasonArt; if (m_database.GetArtForItem(seasonID, "season", seasonArt)) { - items.AppendArt(seasonArt, "season"); - CFileItem seasonItem; - seasonItem.SetArt(seasonArt); - items.SetArt("thumb", seasonItem.GetArt("thumb")); + items.AppendArt(art, "season"); + // set an art fallback for "thumb" + if (items.HasArt("season.poster")) + items.SetArtFallback("thumb", "season.poster"); + else if (items.HasArt("season.banner")) + items.SetArtFallback("thumb", "season.banner"); } } else -- cgit v1.2.3