Fix BoxSet collapse handling and deletion

This commit is contained in:
Shadowghost
2026-02-07 21:17:01 +01:00
parent 2420ece5fe
commit bb6c3b4eec
5 changed files with 179 additions and 14 deletions

View File

@@ -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)