aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Controller/Entities/Folder.cs
diff options
context:
space:
mode:
authorShadowghost <Ghost_of_Stone@web.de>2026-02-07 21:17:01 +0100
committerShadowghost <Ghost_of_Stone@web.de>2026-02-07 21:17:01 +0100
commitbb6c3b4eecee46a0a6222ffe17657cabc7da97f4 (patch)
tree2cb88aa14642d203c7a98e6beabc30b3686be6c5 /MediaBrowser.Controller/Entities/Folder.cs
parent2420ece5fe47c3d990641add1648b9c220215a62 (diff)
Fix BoxSet collapse handling and deletion
Diffstat (limited to 'MediaBrowser.Controller/Entities/Folder.cs')
-rw-r--r--MediaBrowser.Controller/Entities/Folder.cs28
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)