diff options
| author | Shadowghost <Ghost_of_Stone@web.de> | 2026-02-07 21:17:01 +0100 |
|---|---|---|
| committer | Shadowghost <Ghost_of_Stone@web.de> | 2026-02-07 21:17:01 +0100 |
| commit | bb6c3b4eecee46a0a6222ffe17657cabc7da97f4 (patch) | |
| tree | 2cb88aa14642d203c7a98e6beabc30b3686be6c5 /MediaBrowser.Controller/Entities/Folder.cs | |
| parent | 2420ece5fe47c3d990641add1648b9c220215a62 (diff) | |
Fix BoxSet collapse handling and deletion
Diffstat (limited to 'MediaBrowser.Controller/Entities/Folder.cs')
| -rw-r--r-- | MediaBrowser.Controller/Entities/Folder.cs | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/MediaBrowser.Controller/Entities/Folder.cs b/MediaBrowser.Controller/Entities/Folder.cs index 44903fd4c1..0c0558b4c1 100644 --- a/MediaBrowser.Controller/Entities/Folder.cs +++ b/MediaBrowser.Controller/Entities/Folder.cs @@ -733,6 +733,7 @@ namespace MediaBrowser.Controller.Entities if (!query.ForceDirect && RequiresPostFiltering(query)) { query.CollapseBoxSetItems = true; + SetCollapseBoxSetItemTypes(query); } if (this is not UserRootFolder @@ -1039,6 +1040,33 @@ namespace MediaBrowser.Controller.Entities return (queryHasMovies || queryHasSeries) && AllowBoxSetCollapsing(query); } + private void SetCollapseBoxSetItemTypes(InternalItemsQuery query) + { + var config = ConfigurationManager.Configuration; + bool collapseMovies = config.EnableGroupingMoviesIntoCollections; + bool collapseSeries = config.EnableGroupingShowsIntoCollections; + + if (collapseMovies && collapseSeries) + { + // Empty means collapse all types + query.CollapseBoxSetItemTypes = []; + return; + } + + var types = new List<BaseItemKind>(); + if (collapseMovies) + { + types.Add(BaseItemKind.Movie); + } + + if (collapseSeries) + { + types.Add(BaseItemKind.Series); + } + + query.CollapseBoxSetItemTypes = types.ToArray(); + } + private static bool AllowBoxSetCollapsing(InternalItemsQuery request) { if (request.IsFavorite.HasValue) |
