Browse Source

macosx: Make VLCLibraryCollectionViewSupplementaryView keep track of collection view layout scroll direction

Signed-off-by: Claudio Cambra <developer@claudiocambra.com>
pull/162/head
Claudio Cambra 4 years ago
committed by Felix Paul Kühne
parent
commit
8d46aebdd1
  1. 1
      modules/gui/macosx/library/VLCLibraryCollectionViewSupplementaryDetailView.h
  2. 15
      modules/gui/macosx/library/audio-library/VLCLibraryAudioDataSource.m
  3. 6
      modules/gui/macosx/library/home-library/VLCLibraryHomeViewVideoContainerViewDataSource.m

1
modules/gui/macosx/library/VLCLibraryCollectionViewSupplementaryDetailView.h

@ -35,6 +35,7 @@ NS_ASSUME_NONNULL_BEGIN
@property (readwrite, retain, nonatomic) VLCLibraryRepresentedItem *representedItem;
@property (readwrite, assign) NSCollectionViewItem *selectedItem;
@property (readwrite, assign) NSCollectionViewScrollDirection layoutScrollDirection;
@property (readwrite, assign) NSScrollView *parentScrollView;
@property (readwrite, assign) VLCSubScrollView *internalScrollView;

15
modules/gui/macosx/library/audio-library/VLCLibraryAudioDataSource.m

@ -811,6 +811,11 @@ viewForSupplementaryElementOfKind:(NSCollectionViewSupplementaryElementKind)kind
albumSupplementaryDetailView.parentScrollView = VLCMain.sharedInstance.libraryWindow.audioCollectionViewScrollView;
albumSupplementaryDetailView.internalScrollView.scrollParentY = YES;
VLCLibraryCollectionViewFlowLayout *flowLayout = (VLCLibraryCollectionViewFlowLayout*)collectionView.collectionViewLayout;
if (flowLayout != nil) {
albumSupplementaryDetailView.layoutScrollDirection = flowLayout.scrollDirection;
}
return albumSupplementaryDetailView;
} else if ([kind isEqualToString:VLCLibraryCollectionViewAudioGroupSupplementaryDetailViewKind]) {
@ -825,6 +830,11 @@ viewForSupplementaryElementOfKind:(NSCollectionViewSupplementaryElementKind)kind
audioGroupSupplementaryDetailView.parentScrollView = VLCMain.sharedInstance.libraryWindow.audioCollectionViewScrollView;
audioGroupSupplementaryDetailView.internalScrollView.scrollParentY = YES;
VLCLibraryCollectionViewFlowLayout *flowLayout = (VLCLibraryCollectionViewFlowLayout*)collectionView.collectionViewLayout;
if (flowLayout != nil) {
audioGroupSupplementaryDetailView.layoutScrollDirection = flowLayout.scrollDirection;
}
return audioGroupSupplementaryDetailView;
} else if ([kind isEqualToString:VLCLibraryCollectionViewMediaItemSupplementaryDetailViewKind]) {
@ -836,6 +846,11 @@ viewForSupplementaryElementOfKind:(NSCollectionViewSupplementaryElementKind)kind
mediaItemSupplementaryDetailView.representedItem = representedItem;
mediaItemSupplementaryDetailView.selectedItem = [collectionView itemAtIndex:indexPath.item];
VLCLibraryCollectionViewFlowLayout *flowLayout = (VLCLibraryCollectionViewFlowLayout*)collectionView.collectionViewLayout;
if (flowLayout != nil) {
mediaItemSupplementaryDetailView.layoutScrollDirection = flowLayout.scrollDirection;
}
return mediaItemSupplementaryDetailView;
}

6
modules/gui/macosx/library/home-library/VLCLibraryHomeViewVideoContainerViewDataSource.m

@ -326,6 +326,12 @@ viewForSupplementaryElementOfKind:(NSCollectionViewSupplementaryElementKind)kind
mediaItemSupplementaryDetailView.representedItem = representedItem;
mediaItemSupplementaryDetailView.selectedItem = [collectionView itemAtIndexPath:indexPath];
VLCLibraryCollectionViewFlowLayout *flowLayout = (VLCLibraryCollectionViewFlowLayout*)collectionView.collectionViewLayout;
if (flowLayout != nil) {
mediaItemSupplementaryDetailView.layoutScrollDirection = flowLayout.scrollDirection;
}
return mediaItemSupplementaryDetailView;
}

Loading…
Cancel
Save