diff --git a/MediaBrowser.Controller/Providers/Movies/MovieDbImagesProvider.cs b/MediaBrowser.Controller/Providers/Movies/MovieDbImagesProvider.cs index 2f1057033..0b76afbc3 100644 --- a/MediaBrowser.Controller/Providers/Movies/MovieDbImagesProvider.cs +++ b/MediaBrowser.Controller/Providers/Movies/MovieDbImagesProvider.cs @@ -151,6 +151,13 @@ namespace MediaBrowser.Controller.Providers.Movies { return true; } + + // Don't refresh if we already have both poster and backdrop and we're not refreshing images + if (item.LocationType == LocationType.FileSystem && !ConfigurationManager.Configuration.RefreshItemImages + && item.HasLocalImage("folder") && item.HasLocalImage("backdrop")) + { + return false; + } return base.NeedsRefreshInternal(item, providerInfo); } diff --git a/MediaBrowser.Controller/Providers/TV/RemoteSeasonProvider.cs b/MediaBrowser.Controller/Providers/TV/RemoteSeasonProvider.cs index e2013fb87..79ea75f8e 100644 --- a/MediaBrowser.Controller/Providers/TV/RemoteSeasonProvider.cs +++ b/MediaBrowser.Controller/Providers/TV/RemoteSeasonProvider.cs @@ -71,6 +71,14 @@ namespace MediaBrowser.Controller.Providers.TV } } + protected override bool RefreshOnFileSystemStampChange + { + get + { + return ConfigurationManager.Configuration.SaveLocalMeta; + } + } + /// /// Needses the refresh internal. /// @@ -168,7 +176,8 @@ namespace MediaBrowser.Controller.Providers.TV { if (ConfigurationManager.Configuration.RefreshItemImages || !season.HasLocalImage("folder")) { - var n = images.SelectSingleNode("//Banner[BannerType='season'][BannerType2='season'][Season='" + seasonNumber + "']"); + var n = images.SelectSingleNode("//Banner[BannerType='season'][BannerType2='season'][Season='" + seasonNumber + "'][Language='" + ConfigurationManager.Configuration.PreferredMetadataLanguage + "']") ?? + images.SelectSingleNode("//Banner[BannerType='season'][BannerType2='season'][Season='" + seasonNumber + "'][Language='en']"); if (n != null) { n = n.SelectSingleNode("./BannerPath"); @@ -187,7 +196,8 @@ namespace MediaBrowser.Controller.Providers.TV if (ConfigurationManager.Configuration.DownloadSeasonImages.Banner && (ConfigurationManager.Configuration.RefreshItemImages || !season.HasLocalImage("banner"))) { - var n = images.SelectSingleNode("//Banner[BannerType='season'][BannerType2='seasonwide'][Season='" + seasonNumber + "']"); + var n = images.SelectSingleNode("//Banner[BannerType='season'][BannerType2='seasonwide'][Season='" + seasonNumber + "'][Language='" + ConfigurationManager.Configuration.PreferredMetadataLanguage + "']") ?? + images.SelectSingleNode("//Banner[BannerType='season'][BannerType2='seasonwide'][Season='" + seasonNumber + "'][Language='en']"); if (n != null) { n = n.SelectSingleNode("./BannerPath"); diff --git a/MediaBrowser.Model/Entities/DisplayPreferences.cs b/MediaBrowser.Model/Entities/DisplayPreferences.cs index 009df2678..fd8e5931a 100644 --- a/MediaBrowser.Model/Entities/DisplayPreferences.cs +++ b/MediaBrowser.Model/Entities/DisplayPreferences.cs @@ -22,6 +22,7 @@ namespace MediaBrowser.Model.Entities RememberIndexing = false; PrimaryImageHeight = 250; PrimaryImageWidth = 250; + ShowBackdrop = true; CustomPrefs = new Dictionary(); } @@ -71,6 +72,11 @@ namespace MediaBrowser.Model.Entities /// The scroll direction. public ScrollDirection ScrollDirection { get; set; } /// + /// Gets or sets a value indicating whether to show backdrops on this item. + /// + /// true if showing backdrops; otherwise, false. + public bool ShowBackdrop { get; set; } + /// /// Gets or sets a value indicating whether [remember sorting]. /// /// true if [remember sorting]; otherwise, false.