diff --git a/plugins/cocoaui/MediaLibrary/MediaLibraryOutlineViewController.m b/plugins/cocoaui/MediaLibrary/MediaLibraryOutlineViewController.m index 874777942b..e04e7d3df0 100644 --- a/plugins/cocoaui/MediaLibrary/MediaLibraryOutlineViewController.m +++ b/plugins/cocoaui/MediaLibrary/MediaLibraryOutlineViewController.m @@ -50,6 +50,8 @@ @interface MediaLibraryOutlineViewController() track]; @@ -531,10 +536,17 @@ - (void)updateCoverForItem:(MediaLibraryItem *)item track:(ddb_playItem_t *)trac if (row == -1) { return; } - item.coverImage = image; + + if (image == nil && item.children.count != 0) { + item.coverImage = self.folderImage; + } + else { + item.coverImage = image; + } + NSTableRowView *rowView = [self.outlineView rowViewAtRow:row makeIfNecessary:NO]; NSTableCellView *cellView = [rowView viewAtColumn:0]; - cellView.imageView.image = image; + cellView.imageView.image = item.coverImage; }); }; ddb_cover_query_t *query = calloc (1, sizeof (ddb_cover_query_t)); @@ -567,6 +579,10 @@ - (nullable NSView *)outlineView:(NSOutlineView *)outlineView viewForTableColumn view.textField.stringValue = mlItem.stringValue; view.imageView.image = nil; + if (mlItem.coverImage == nil && mlItem.children.count != 0) { + view.imageView.image = self.folderImage; + } + if (it) { if (mlItem.coverImage) { view.imageView.image = mlItem.coverImage; @@ -582,10 +598,7 @@ - (nullable NSView *)outlineView:(NSOutlineView *)outlineView viewForTableColumn if (!mlItem.coverObtained) { NSInteger row = [self.outlineView rowForItem:mlItem]; if (row >= 0) { - NSTableCellView *cellView = [[self.outlineView rowViewAtRow:row makeIfNecessary:NO] viewAtColumn:0]; - if (cellView) { - [self updateCoverForItem:mlItem track:it]; - } + [self updateCoverForItem:mlItem track:it]; } mlItem.coverObtained = YES; }