Browse Source

macosx: Use the table header view for the audio group collection views

Signed-off-by: Claudio Cambra <developer@claudiocambra.com>
pull/200/head
Claudio Cambra 6 months ago
committed by Felix Paul Kühne
parent
commit
bd37a19f18
  1. 12
      modules/gui/macosx/library/audio-library/VLCLibraryAudioGroupDataSource.m
  2. 1
      modules/gui/macosx/library/audio-library/VLCLibraryAudioGroupTableHeaderView.h
  3. 1
      modules/gui/macosx/library/audio-library/VLCLibraryAudioGroupTableHeaderView.m
  4. 4
      modules/gui/macosx/library/audio-library/VLCLibraryAudioViewController.m

12
modules/gui/macosx/library/audio-library/VLCLibraryAudioGroupDataSource.m

@ -36,7 +36,7 @@
#import "library/VLCLibraryWindow.h"
#import "library/audio-library/VLCLibraryAlbumTableCellView.h"
#import "library/audio-library/VLCLibraryAudioGroupHeaderView.h"
#import "library/audio-library/VLCLibraryAudioGroupTableHeaderView.h"
#import "views/VLCSubScrollView.h"
@ -54,11 +54,9 @@
+ (void)setupCollectionView:(NSCollectionView *)collectionView
{
NSNib * const audioGroupHeaderView = [[NSNib alloc] initWithNibNamed:@"VLCLibraryAudioGroupHeaderView"
bundle:nil];
[collectionView registerNib:audioGroupHeaderView
forSupplementaryViewOfKind:NSCollectionElementKindSectionHeader
withIdentifier:VLCLibraryAudioGroupHeaderViewIdentifier];
[collectionView registerClass:VLCLibraryAudioGroupTableHeaderView.class
forSupplementaryViewOfKind:NSCollectionElementKindSectionHeader
withIdentifier:VLCLibraryAudioGroupTableHeaderViewIdentifier];
}
- (instancetype)init
@ -391,7 +389,7 @@ viewForSupplementaryElementOfKind:(NSCollectionViewSupplementaryElementKind)kind
return albumSupplementaryDetailView;
} else if ([kind isEqualToString:NSCollectionElementKindSectionHeader]) {
VLCLibraryAudioGroupHeaderView * const headerView = [collectionView makeSupplementaryViewOfKind:kind withIdentifier:VLCLibraryAudioGroupHeaderViewIdentifier forIndexPath:indexPath];
VLCLibraryAudioGroupTableHeaderView * const headerView = [collectionView makeSupplementaryViewOfKind:kind withIdentifier:VLCLibraryAudioGroupTableHeaderViewIdentifier forIndexPath:indexPath];
VLCLibraryRepresentedItem * const representedItem = [[VLCLibraryRepresentedItem alloc] initWithItem:_representedAudioGroup parentType:_currentParentType];
headerView.representedItem = representedItem;

1
modules/gui/macosx/library/audio-library/VLCLibraryAudioGroupTableHeaderView.h

@ -27,6 +27,7 @@
NS_ASSUME_NONNULL_BEGIN
extern const CGFloat VLCLibraryAudioGroupTableHeaderViewHeight;
extern NSString * const VLCLibraryAudioGroupTableHeaderViewIdentifier;
@interface VLCLibraryAudioGroupTableHeaderView : NSTableHeaderView

1
modules/gui/macosx/library/audio-library/VLCLibraryAudioGroupTableHeaderView.m

@ -31,6 +31,7 @@
#import "extensions/NSView+VLCAdditions.h"
const CGFloat VLCLibraryAudioGroupTableHeaderViewHeight = 86.f;
NSString * const VLCLibraryAudioGroupTableHeaderViewIdentifier = @"VLCLibraryAudioGroupTableHeaderView";
@interface VLCLibraryAudioGroupTableHeaderView ()

4
modules/gui/macosx/library/audio-library/VLCLibraryAudioViewController.m

@ -41,7 +41,6 @@
#import "library/audio-library/VLCLibraryAlbumTableCellView.h"
#import "library/audio-library/VLCLibraryAudioDataSource.h"
#import "library/audio-library/VLCLibraryAudioGroupDataSource.h"
#import "library/audio-library/VLCLibraryAudioGroupHeaderView.h"
#import "library/audio-library/VLCLibraryAudioGroupTableHeaderView.h"
#import "library/audio-library/VLCLibraryAudioGroupTableViewDelegate.h"
#import "library/audio-library/VLCLibraryAudioGroupTableHeaderCell.h"
@ -233,7 +232,8 @@ NSString *VLCLibraryPlaceholderAudioViewIdentifier = @"VLCLibraryPlaceholderAudi
VLCLibraryCollectionViewFlowLayout * const audioLibraryGridModeListSelectionCollectionViewLayout =
VLCLibraryCollectionViewFlowLayout.standardLayout;
_audioLibraryGridModeSplitViewListSelectionCollectionView.collectionViewLayout = audioLibraryGridModeListSelectionCollectionViewLayout;
audioLibraryGridModeListSelectionCollectionViewLayout.headerReferenceSize = VLCLibraryAudioGroupHeaderView.defaultHeaderSize;
audioLibraryGridModeListSelectionCollectionViewLayout.headerReferenceSize =
NSMakeSize(self.audioCollectionViewScrollView.documentView.frame.size.width, VLCLibraryAudioGroupTableHeaderViewHeight);
if (@available(macOS 10.12, *)) {
audioLibraryGridModeListSelectionCollectionViewLayout.sectionHeadersPinToVisibleBounds = YES;

Loading…
Cancel
Save