diff --git a/modules/gui/macosx/library/VLCLibraryMasterDetailViewTableViewDataSource.h b/modules/gui/macosx/library/VLCLibraryMasterDetailViewTableViewDataSource.h index 88d7c3eb8a..d0725c6a4c 100644 --- a/modules/gui/macosx/library/VLCLibraryMasterDetailViewTableViewDataSource.h +++ b/modules/gui/macosx/library/VLCLibraryMasterDetailViewTableViewDataSource.h @@ -31,6 +31,9 @@ NS_ASSUME_NONNULL_BEGIN @property (readwrite, weak) NSTableView *masterTableView; @property (readwrite, weak) NSTableView *detailTableView; +@optional +- (void)updateHeaderForTableView:(NSTableView *)tableView; + @end NS_ASSUME_NONNULL_END diff --git a/modules/gui/macosx/library/VLCLibraryMasterDetailViewTableViewDelegate.h b/modules/gui/macosx/library/VLCLibraryMasterDetailViewTableViewDelegate.h index 912dd78243..521ae3e47e 100644 --- a/modules/gui/macosx/library/VLCLibraryMasterDetailViewTableViewDelegate.h +++ b/modules/gui/macosx/library/VLCLibraryMasterDetailViewTableViewDelegate.h @@ -22,11 +22,16 @@ #import +#import "library/VLCLibraryGroupHeaderDelegate.h" #import "library/VLCLibraryTableViewDelegate.h" +@class VLCLibraryAudioGroupTableHeaderView; + NS_ASSUME_NONNULL_BEGIN -@interface VLCLibraryMasterDetailViewTableViewDelegate : VLCLibraryTableViewDelegate +@interface VLCLibraryMasterDetailViewTableViewDelegate : VLCLibraryTableViewDelegate + +@property (readwrite, weak) VLCLibraryAudioGroupTableHeaderView *detailTableHeaderView; @end diff --git a/modules/gui/macosx/library/VLCLibraryMasterDetailViewTableViewDelegate.m b/modules/gui/macosx/library/VLCLibraryMasterDetailViewTableViewDelegate.m index 9b33ccc4e5..a786bc9428 100644 --- a/modules/gui/macosx/library/VLCLibraryMasterDetailViewTableViewDelegate.m +++ b/modules/gui/macosx/library/VLCLibraryMasterDetailViewTableViewDelegate.m @@ -23,6 +23,9 @@ #import "VLCLibraryMasterDetailViewTableViewDelegate.h" #import "library/VLCLibraryMasterDetailViewTableViewDataSource.h" +#import "library/VLCLibraryRepresentedItem.h" + +#import "library/audio-library/VLCLibraryAudioGroupTableHeaderView.h" @implementation VLCLibraryMasterDetailViewTableViewDelegate @@ -41,7 +44,27 @@ if (tableView == masterDetailViewDataSource.masterTableView) { [masterDetailViewDataSource.detailTableView reloadData]; + if ([masterDetailViewDataSource respondsToSelector:@selector(updateHeaderForTableView:)]) { + [masterDetailViewDataSource updateHeaderForTableView:tableView]; + } } } +#pragma mark - VLCLibraryGroupHeaderDelegate + +- (void)updateHeaderForTableView:(NSTableView *)tableView + withRepresentedItem:(VLCLibraryRepresentedItem *)representedItem + fallbackTitle:(NSString *)fallbackTitle + fallbackDetail:(NSString *)fallbackDetail +{ + if (tableView != tableView) { // TODO + return; + } + + [self.detailTableHeaderView updateWithRepresentedItem:representedItem + fallbackTitle:fallbackTitle + fallbackDetail:fallbackDetail]; +} + + @end