diff --git a/MediaPortal/Source/UI/UiComponents/Media/Models/NavigationModel/BaseNavigationInitializer.cs b/MediaPortal/Source/UI/UiComponents/Media/Models/NavigationModel/BaseNavigationInitializer.cs index 689dcba2029..b20a3565f71 100644 --- a/MediaPortal/Source/UI/UiComponents/Media/Models/NavigationModel/BaseNavigationInitializer.cs +++ b/MediaPortal/Source/UI/UiComponents/Media/Models/NavigationModel/BaseNavigationInitializer.cs @@ -27,6 +27,7 @@ using System.Linq; using MediaPortal.Common.Commands; using MediaPortal.Common.MediaManagement.DefaultItemAspects; +using MediaPortal.Common.MediaManagement.MLQueries; using MediaPortal.UiComponents.Media.General; using MediaPortal.UiComponents.Media.Models.Navigation; using MediaPortal.UiComponents.Media.Models.ScreenData; @@ -53,6 +54,7 @@ public abstract class BaseNavigationInitializer : IMediaNavigationInitializer protected AbstractItemsScreenData.PlayableItemCreatorDelegate _genericPlayableItemCreatorDelegate; protected ViewSpecification _customRootViewSpecification; protected IEnumerable _restrictedMediaCategories = null; + protected IFilter _filter = null; // Can be set by derived classes to apply an inital filter #endregion @@ -114,7 +116,7 @@ public virtual void InitMediaNavigation(out string mediaNavigationMode, out Navi IEnumerable skinDependentOptionalMIATypeIDs = MediaNavigationModel.GetMediaSkinOptionalMIATypes(MediaNavigationMode); // Prefer custom view specification. ViewSpecification rootViewSpecification = _customRootViewSpecification ?? - new MediaLibraryQueryViewSpecification(_viewName, null, _necessaryMias, skinDependentOptionalMIATypeIDs, true) + new MediaLibraryQueryViewSpecification(_viewName, _filter, _necessaryMias, skinDependentOptionalMIATypeIDs, true) { MaxNumItems = Consts.MAX_NUM_ITEMS_VISIBLE }; diff --git a/MediaPortal/Source/UI/UiComponents/Media/Models/NavigationModel/VideosNavigationInitializer.cs b/MediaPortal/Source/UI/UiComponents/Media/Models/NavigationModel/VideosNavigationInitializer.cs index 352833795f1..72d7f378565 100644 --- a/MediaPortal/Source/UI/UiComponents/Media/Models/NavigationModel/VideosNavigationInitializer.cs +++ b/MediaPortal/Source/UI/UiComponents/Media/Models/NavigationModel/VideosNavigationInitializer.cs @@ -23,6 +23,8 @@ #endregion using System.Collections.Generic; +using MediaPortal.Common.MediaManagement.DefaultItemAspects; +using MediaPortal.Common.MediaManagement.MLQueries; using MediaPortal.UiComponents.Media.General; using MediaPortal.UiComponents.Media.Models.ScreenData; using MediaPortal.UiComponents.Media.Models.Sorting; @@ -46,6 +48,12 @@ protected override void Prepare() { base.Prepare(); + _filter = new BooleanCombinationFilter(BooleanOperator.And, new List + { + new EmptyFilter(SeriesAspect.ATTR_SERIESNAME), + new EmptyFilter(MovieAspect.ATTR_MOVIE_NAME), + }); + _defaultScreen = new VideosFilterByGenreScreenData(); _availableScreens = new List {