Jean-Baptiste Kempf pushed to branch master at VideoLAN / VLC


Commits:
22273320 by Claudio Cambra at 2023-02-12T09:41:00+00:00
macosx: Move video view table view row height setting out of VLCLibraryWindow 
and into VLCLibraryVideoViewController

Signed-off-by: Claudio Cambra <[email protected]>

- - - - -
a97f1624 by Claudio Cambra at 2023-02-12T09:41:00+00:00
macosx: Move audio view table views row height setting out of VLCLibraryWindow 
and into VLCLibraryAudioViewController

Signed-off-by: Claudio Cambra <[email protected]>

- - - - -
469d2350 by Claudio Cambra at 2023-02-12T09:41:00+00:00
macosx: Move media source view table views row height setting out of 
VLCLibraryWindow and into VLCLibraryMediaSourceViewController

Signed-off-by: Claudio Cambra <[email protected]>

- - - - -
75674f30 by Claudio Cambra at 2023-02-12T09:41:00+00:00
macosx: Add library view scroll view content insets method to VLCLibraryUIUnits

Signed-off-by: Claudio Cambra <[email protected]>

- - - - -
51d3aeeb by Claudio Cambra at 2023-02-12T09:41:00+00:00
macosx: Add library view scroll view scroller insets method to VLCLibraryUIUnits

Signed-off-by: Claudio Cambra <[email protected]>

- - - - -
df3b73b1 by Claudio Cambra at 2023-02-12T09:41:00+00:00
macosx: Move inset and sizing setup for audio library views from 
VLCLibraryWindow to VLCLibraryAudioViewController

Signed-off-by: Claudio Cambra <[email protected]>

- - - - -
e889818d by Claudio Cambra at 2023-02-12T09:41:00+00:00
macosx: Move inset and sizing setup for video library views from 
VLCLibraryWindow to VLCLibraryVideoViewController

Signed-off-by: Claudio Cambra <[email protected]>

- - - - -
0d648490 by Claudio Cambra at 2023-02-12T09:41:00+00:00
macosx: Move inset and sizing setup for media source library views from 
VLCLibraryWindow to VLCLibraryMediaSourceViewController

Signed-off-by: Claudio Cambra <[email protected]>

- - - - -
9556d138 by Claudio Cambra at 2023-02-12T09:41:00+00:00
macosx: Add unified collection view item spacing method to VLCLibraryUIUnits

Signed-off-by: Claudio Cambra <[email protected]>

- - - - -
5cc764b8 by Claudio Cambra at 2023-02-12T09:41:00+00:00
macosx: Add unified collection view section insets method to VLCLibraryUIUnits

Signed-off-by: Claudio Cambra <[email protected]>

- - - - -
0cdb57a4 by Claudio Cambra at 2023-02-12T09:41:00+00:00
macosx: Move collection view section inset and item spacing setup views from 
VLCLibraryWindow to VLCLibraryAudioViewController

Signed-off-by: Claudio Cambra <[email protected]>

- - - - -
9995459e by Claudio Cambra at 2023-02-12T09:41:00+00:00
macosx: Move video inner collection view section inset and item spacing setup 
views from VLCLibraryWindow to VLCLibraryVideoViewCollectionViewContainerView

Signed-off-by: Claudio Cambra <[email protected]>

- - - - -
c13fcfde by Claudio Cambra at 2023-02-12T09:41:00+00:00
macosx: Move media source collection view section inset and item spacing setup 
views from VLCLibraryWindow to VLCLibraryMediaSourceViewController

Signed-off-by: Claudio Cambra <[email protected]>

- - - - -


9 changed files:

- modules/gui/macosx/library/VLCLibraryUIUnits.h
- modules/gui/macosx/library/VLCLibraryUIUnits.m
- modules/gui/macosx/library/VLCLibraryWindow.m
- modules/gui/macosx/library/audio-library/VLCLibraryAudioViewController.h
- modules/gui/macosx/library/audio-library/VLCLibraryAudioViewController.m
- modules/gui/macosx/library/media-source/VLCLibraryMediaSourceViewController.h
- modules/gui/macosx/library/media-source/VLCLibraryMediaSourceViewController.m
- 
modules/gui/macosx/library/video-library/VLCLibraryVideoCollectionViewContainerView.m
- modules/gui/macosx/library/video-library/VLCLibraryVideoViewController.m


Changes:

=====================================
modules/gui/macosx/library/VLCLibraryUIUnits.h
=====================================
@@ -51,10 +51,16 @@ NS_ASSUME_NONNULL_BEGIN
 + (const CGFloat)dynamicCollectionViewItemMinimumWidth;
 + (const CGFloat)dynamicCollectionViewItemMaximumWidth;
 
++ (const CGFloat)collectionViewItemSpacing;
++ (const NSEdgeInsets)collectionViewSectionInsets;
+
 + (const 
NSSize)adjustedCollectionViewItemSizeForCollectionView:(NSCollectionView 
*)collectionView
                                                      
withLayout:(VLCLibraryCollectionViewFlowLayout *)collectionViewLayout
                                            
withItemsAspectRatio:(VLCLibraryCollectionViewItemAspectRatio)itemsAspectRatio;
 
++ (const NSEdgeInsets)libraryViewScrollViewContentInsets;
++ (const NSEdgeInsets)libraryViewScrollViewScrollerInsets;
+
 @end
 
 NS_ASSUME_NONNULL_END


=====================================
modules/gui/macosx/library/VLCLibraryUIUnits.m
=====================================
@@ -82,6 +82,17 @@
     return 280;
 }
 
++ (const CGFloat)collectionViewItemSpacing
+{
+    return [self largeSpacing];
+}
+
++ (const NSEdgeInsets)collectionViewSectionInsets
+{
+    const CGFloat inset = [self largeSpacing];
+    return NSEdgeInsetsMake(inset, inset, inset, inset);
+}
+
 + (const 
NSSize)adjustedCollectionViewItemSizeForCollectionView:(NSCollectionView 
*)collectionView
                                                      
withLayout:(VLCLibraryCollectionViewFlowLayout *)collectionViewLayout
                                            
withItemsAspectRatio:(VLCLibraryCollectionViewItemAspectRatio)itemsAspectRatio
@@ -137,4 +148,21 @@
     return NSMakeSize(itemWidth, itemHeight);
 }
 
++ (const NSEdgeInsets)libraryViewScrollViewContentInsets
+{
+    return NSEdgeInsetsMake([VLCLibraryUIUnits mediumSpacing],
+                            [VLCLibraryUIUnits mediumSpacing],
+                            [VLCLibraryUIUnits mediumSpacing],
+                            [VLCLibraryUIUnits mediumSpacing]);
+}
+
++ (const NSEdgeInsets)libraryViewScrollViewScrollerInsets
+{
+    const NSEdgeInsets contentInsets = [self 
libraryViewScrollViewContentInsets];
+    return NSEdgeInsetsMake(-contentInsets.top,
+                            -contentInsets.left,
+                            -contentInsets.bottom,
+                            -contentInsets.right);
+}
+
 @end


=====================================
modules/gui/macosx/library/VLCLibraryWindow.m
=====================================
@@ -229,16 +229,8 @@ static void addShadow(NSImageView *__unsafe_unretained 
imageView)
     [_playlistTableView reloadData];
 
     _libraryVideoViewController = [[VLCLibraryVideoViewController alloc] 
initWithLibraryWindow:self];
-    _videoLibraryGroupsTableView.rowHeight = [VLCLibraryUIUnits 
mediumTableViewRowHeight];
-    _videoLibraryGroupSelectionTableView.rowHeight = [VLCLibraryUIUnits 
mediumTableViewRowHeight];
-
     _libraryAudioViewController = [[VLCLibraryAudioViewController alloc] 
initWithLibraryWindow:self];
-    _audioCollectionSelectionTableView.rowHeight = [VLCLibraryUIUnits 
mediumTableViewRowHeight];
-    _audioLibraryGridModeSplitViewListTableView.rowHeight = [VLCLibraryUIUnits 
mediumTableViewRowHeight];
-    _audioGroupSelectionTableView.rowHeight = [VLCLibraryAlbumTableCellView 
defaultHeight];
-
     _libraryMediaSourceViewController = [[VLCLibraryMediaSourceViewController 
alloc] initWithLibraryWindow:self];
-    _mediaSourceTableView.rowHeight = [VLCLibraryUIUnits 
mediumTableViewRowHeight];
 
     self.upNextLabel.font = [NSFont VLClibrarySectionHeaderFont];
     self.upNextLabel.stringValue = _NS("Playlist");
@@ -254,94 +246,6 @@ static void addShadow(NSImageView *__unsafe_unretained 
imageView)
     [self repeatStateUpdated:nil];
     [self shuffleStateUpdated:nil];
 
-    const CGFloat scrollViewTopInset = [VLCLibraryUIUnits mediumSpacing];
-    const CGFloat scrollViewRightInset = [VLCLibraryUIUnits mediumSpacing];
-    const CGFloat scrollViewBottomInset = [VLCLibraryUIUnits mediumSpacing];
-    const CGFloat scrollViewLeftInset = [VLCLibraryUIUnits mediumSpacing];
-
-    // Need to account for the audio collection switcher at the top
-    const CGFloat audioScrollViewTopInset = scrollViewTopInset + 
_optionBarView.frame.size.height;
-
-    const NSEdgeInsets defaultInsets = NSEdgeInsetsMake(scrollViewTopInset,
-                                                        scrollViewLeftInset,
-                                                        scrollViewBottomInset,
-                                                        scrollViewRightInset);
-    const NSEdgeInsets audioScrollViewInsets = 
NSEdgeInsetsMake(audioScrollViewTopInset,
-                                                                
scrollViewLeftInset,
-                                                                
scrollViewBottomInset,
-                                                                
scrollViewRightInset);
-    // We might want to give the content some insets, but this will also 
affect the scrollbars.
-    // We need to compensate for this or they will look wrong.
-    const NSEdgeInsets scrollerInsets = NSEdgeInsetsMake(-scrollViewTopInset,
-                                                        -scrollViewLeftInset,
-                                                        -scrollViewBottomInset,
-                                                        -scrollViewRightInset);
-    
-    _audioCollectionViewScrollView.automaticallyAdjustsContentInsets = NO;
-    _audioCollectionViewScrollView.contentInsets = audioScrollViewInsets;
-    _audioCollectionViewScrollView.scrollerInsets = scrollerInsets;
-
-    
_audioCollectionSelectionTableViewScrollView.automaticallyAdjustsContentInsets 
= NO;
-    _audioCollectionSelectionTableViewScrollView.contentInsets = 
audioScrollViewInsets;
-    _audioCollectionSelectionTableViewScrollView.scrollerInsets = 
scrollerInsets;
-    _audioGroupSelectionTableViewScrollView.automaticallyAdjustsContentInsets 
= NO;
-    _audioGroupSelectionTableViewScrollView.contentInsets = 
audioScrollViewInsets;
-    _audioGroupSelectionTableViewScrollView.scrollerInsets = scrollerInsets;
-
-    
_audioLibraryGridModeSplitViewListTableViewScrollView.automaticallyAdjustsContentInsets
 = NO;
-    _audioLibraryGridModeSplitViewListTableViewScrollView.contentInsets = 
audioScrollViewInsets;
-    _audioLibraryGridModeSplitViewListTableViewScrollView.scrollerInsets = 
scrollerInsets;
-    
_audioLibraryGridModeSplitViewListSelectionCollectionViewScrollView.automaticallyAdjustsContentInsets
 = NO;
-    
_audioLibraryGridModeSplitViewListSelectionCollectionViewScrollView.contentInsets
 = audioScrollViewInsets;
-    
_audioLibraryGridModeSplitViewListSelectionCollectionViewScrollView.scrollerInsets
 = scrollerInsets;
-
-    
_videoLibraryCollectionViewsStackViewScrollView.automaticallyAdjustsContentInsets
 = NO;
-    _videoLibraryCollectionViewsStackViewScrollView.contentInsets = 
defaultInsets;
-    _videoLibraryCollectionViewsStackViewScrollView.scrollerInsets = 
scrollerInsets;
-    
-    _videoLibraryGroupsTableViewScrollView.automaticallyAdjustsContentInsets = 
NO;
-    _videoLibraryGroupsTableViewScrollView.contentInsets = defaultInsets;
-    _videoLibraryGroupsTableViewScrollView.scrollerInsets = scrollerInsets;
-    
_videoLibraryGroupSelectionTableViewScrollView.automaticallyAdjustsContentInsets
 = NO;
-    _videoLibraryGroupSelectionTableViewScrollView.contentInsets = 
defaultInsets;
-    _videoLibraryGroupSelectionTableViewScrollView.scrollerInsets = 
scrollerInsets;
-
-    _mediaSourceCollectionViewScrollView.automaticallyAdjustsContentInsets = 
NO;
-    _mediaSourceCollectionViewScrollView.contentInsets = defaultInsets;
-    _mediaSourceCollectionViewScrollView.scrollerInsets = scrollerInsets;
-
-    _mediaSourceTableViewScrollView.automaticallyAdjustsContentInsets = NO;
-    _mediaSourceTableViewScrollView.contentInsets = defaultInsets;
-    _mediaSourceTableViewScrollView.scrollerInsets = scrollerInsets;
-
-    const CGFloat collectionItemSpacing = [VLCLibraryUIUnits largeSpacing];
-    const NSEdgeInsets collectionViewSectionInset = 
NSEdgeInsetsMake(collectionItemSpacing,
-                                                                     
collectionItemSpacing,
-                                                                     
collectionItemSpacing,
-                                                                     
collectionItemSpacing);
-
-    NSCollectionViewFlowLayout *audioLibraryCollectionViewLayout = 
_audioLibraryCollectionView.collectionViewLayout;
-    audioLibraryCollectionViewLayout.minimumLineSpacing = 
collectionItemSpacing;
-    audioLibraryCollectionViewLayout.minimumInteritemSpacing = 
collectionItemSpacing;
-    audioLibraryCollectionViewLayout.sectionInset = collectionViewSectionInset;
-
-    NSCollectionViewFlowLayout 
*audioLibraryGridModeListSelectionCollectionViewLayout = 
_audioLibraryGridModeSplitViewListSelectionCollectionView.collectionViewLayout;
-    audioLibraryGridModeListSelectionCollectionViewLayout.minimumLineSpacing = 
collectionItemSpacing;
-    
audioLibraryGridModeListSelectionCollectionViewLayout.minimumInteritemSpacing = 
collectionItemSpacing;
-    audioLibraryGridModeListSelectionCollectionViewLayout.sectionInset = 
collectionViewSectionInset;
-
-    VLCLibraryVideoCollectionViewsStackViewController 
*videoLibraryStackViewController = 
_libraryVideoViewController.libraryVideoCollectionViewsStackViewController;
-    videoLibraryStackViewController.collectionViewItemSize = 
[VLCLibraryCollectionViewItem defaultVideoItemSize];
-    videoLibraryStackViewController.collectionViewMinimumLineSpacing = 
collectionItemSpacing;
-    videoLibraryStackViewController.collectionViewMinimumInteritemSpacing = 
collectionItemSpacing;
-    videoLibraryStackViewController.collectionViewSectionInset = 
collectionViewSectionInset;
-
-    NSCollectionViewFlowLayout *mediaSourceCollectionViewLayout = 
_mediaSourceCollectionView.collectionViewLayout;
-    mediaSourceCollectionViewLayout.itemSize = [VLCLibraryCollectionViewItem 
defaultSize];
-    mediaSourceCollectionViewLayout.minimumLineSpacing = collectionItemSpacing;
-    mediaSourceCollectionViewLayout.minimumInteritemSpacing = 
collectionItemSpacing;
-    mediaSourceCollectionViewLayout.sectionInset = collectionViewSectionInset;
-
     // HACK: The size of the segmented title buttons is not always correctly 
calculated
     // especially when the text we are setting differs from what is set in the 
storyboard.
     // Hiding and showing the toolbar again must trigger something that causes 
the width


=====================================
modules/gui/macosx/library/audio-library/VLCLibraryAudioViewController.h
=====================================
@@ -53,6 +53,7 @@ NS_ASSUME_NONNULL_BEGIN
 @property (readonly) NSImageView *placeholderImageView;
 @property (readonly) NSTextField *placeholderLabel;
 @property (readonly) NSView *emptyLibraryView;
+@property (readonly) NSVisualEffectView *optionBarView;
 
 @property (readonly) VLCLibraryAudioDataSource *audioDataSource;
 @property (readonly) VLCLibraryAudioGroupDataSource *audioGroupDataSource;


=====================================
modules/gui/macosx/library/audio-library/VLCLibraryAudioViewController.m
=====================================
@@ -31,6 +31,7 @@
 #import "library/VLCLibraryNavigationStack.h"
 #import "library/VLCLibraryWindow.h"
 
+#import "library/audio-library/VLCLibraryAlbumTableCellView.h"
 #import "library/audio-library/VLCLibraryAudioDataSource.h"
 #import "library/audio-library/VLCLibraryAudioGroupDataSource.h"
 
@@ -69,6 +70,7 @@ NSString *VLCLibraryPlaceholderAudioViewIdentifier = 
@"VLCLibraryPlaceholderAudi
         [self setupGridModeSplitView];
         [self setupAudioTableViews];
         [self setupAudioSegmentedControl];
+        [self setupAudioLibraryViews];
 
         NSNotificationCenter *notificationCenter = [NSNotificationCenter 
defaultCenter];
         [notificationCenter addObserver:self
@@ -108,6 +110,7 @@ NSString *VLCLibraryPlaceholderAudioViewIdentifier = 
@"VLCLibraryPlaceholderAudi
     _placeholderImageView = libraryWindow.placeholderImageView;
     _placeholderLabel = libraryWindow.placeholderLabel;
     _emptyLibraryView = libraryWindow.emptyLibraryView;
+    _optionBarView = libraryWindow.optionBarView;
 }
 
 - (void)setupAudioDataSource
@@ -135,7 +138,14 @@ NSString *VLCLibraryPlaceholderAudioViewIdentifier = 
@"VLCLibraryPlaceholderAudi
     _audioLibraryCollectionView.allowsMultipleSelection = NO;
     _audioLibraryCollectionView.allowsEmptySelection = YES;
 
-    _audioLibraryCollectionView.collectionViewLayout = 
[[VLCLibraryCollectionViewFlowLayout alloc] init];
+    const CGFloat collectionItemSpacing = [VLCLibraryUIUnits 
collectionViewItemSpacing];
+    const NSEdgeInsets collectionViewSectionInset = [VLCLibraryUIUnits 
collectionViewSectionInsets];
+
+    NSCollectionViewFlowLayout *audioLibraryCollectionViewLayout = 
[[VLCLibraryCollectionViewFlowLayout alloc] init];
+    _audioLibraryCollectionView.collectionViewLayout = 
audioLibraryCollectionViewLayout;
+    audioLibraryCollectionViewLayout.minimumLineSpacing = 
collectionItemSpacing;
+    audioLibraryCollectionViewLayout.minimumInteritemSpacing = 
collectionItemSpacing;
+    audioLibraryCollectionViewLayout.sectionInset = collectionViewSectionInset;
 }
 
 - (void)setupAudioTableViews
@@ -166,7 +176,15 @@ NSString *VLCLibraryPlaceholderAudioViewIdentifier = 
@"VLCLibraryPlaceholderAudi
     
_audioLibraryGridModeSplitViewListSelectionCollectionView.allowsMultipleSelection
 = NO;
     
_audioLibraryGridModeSplitViewListSelectionCollectionView.allowsEmptySelection 
= YES;
 
-    
_audioLibraryGridModeSplitViewListSelectionCollectionView.collectionViewLayout 
= [[VLCLibraryCollectionViewFlowLayout alloc] init];
+    const CGFloat collectionItemSpacing = [VLCLibraryUIUnits 
collectionViewItemSpacing];
+    const NSEdgeInsets collectionViewSectionInset = [VLCLibraryUIUnits 
collectionViewSectionInsets];
+
+    NSCollectionViewFlowLayout 
*audioLibraryGridModeListSelectionCollectionViewLayout = 
[[VLCLibraryCollectionViewFlowLayout alloc] init];
+    
_audioLibraryGridModeSplitViewListSelectionCollectionView.collectionViewLayout 
= audioLibraryGridModeListSelectionCollectionViewLayout;
+    audioLibraryGridModeListSelectionCollectionViewLayout.minimumLineSpacing = 
collectionItemSpacing;
+    
audioLibraryGridModeListSelectionCollectionViewLayout.minimumInteritemSpacing = 
collectionItemSpacing;
+    audioLibraryGridModeListSelectionCollectionViewLayout.sectionInset = 
collectionViewSectionInset;
+
 }
 
 - (void)setupAudioPlaceholderView
@@ -213,6 +231,39 @@ NSString *VLCLibraryPlaceholderAudioViewIdentifier = 
@"VLCLibraryPlaceholderAudi
     [_audioSegmentedControl setAction:@selector(segmentedControlAction:)];
 }
 
+- (void)setupAudioLibraryViews
+{
+    _audioCollectionSelectionTableView.rowHeight = [VLCLibraryUIUnits 
mediumTableViewRowHeight];
+    _audioLibraryGridModeSplitViewListTableView.rowHeight = [VLCLibraryUIUnits 
mediumTableViewRowHeight];
+    _audioGroupSelectionTableView.rowHeight = [VLCLibraryAlbumTableCellView 
defaultHeight];
+
+    const NSEdgeInsets defaultContentInsets = [VLCLibraryUIUnits 
libraryViewScrollViewContentInsets];
+    const CGFloat topAudioScrollViewContentInset = defaultContentInsets.top + 
_optionBarView.frame.size.height;
+    const NSEdgeInsets audioScrollViewContentInsets = 
NSEdgeInsetsMake(topAudioScrollViewContentInset,
+                                                                       
defaultContentInsets.left,
+                                                                       
defaultContentInsets.bottom,
+                                                                       
defaultContentInsets.right);
+    const NSEdgeInsets audioScrollViewScrollerInsets = [VLCLibraryUIUnits 
libraryViewScrollViewScrollerInsets];
+
+    _audioCollectionViewScrollView.automaticallyAdjustsContentInsets = NO;
+    _audioCollectionViewScrollView.contentInsets = 
audioScrollViewContentInsets;
+    _audioCollectionViewScrollView.scrollerInsets = 
audioScrollViewScrollerInsets;
+
+    
_audioCollectionSelectionTableViewScrollView.automaticallyAdjustsContentInsets 
= NO;
+    _audioCollectionSelectionTableViewScrollView.contentInsets = 
audioScrollViewContentInsets;
+    _audioCollectionSelectionTableViewScrollView.scrollerInsets = 
audioScrollViewScrollerInsets;
+    _audioGroupSelectionTableViewScrollView.automaticallyAdjustsContentInsets 
= NO;
+    _audioGroupSelectionTableViewScrollView.contentInsets = 
audioScrollViewContentInsets;
+    _audioGroupSelectionTableViewScrollView.scrollerInsets = 
audioScrollViewScrollerInsets;
+
+    
_audioLibraryGridModeSplitViewListTableViewScrollView.automaticallyAdjustsContentInsets
 = NO;
+    _audioLibraryGridModeSplitViewListTableViewScrollView.contentInsets = 
audioScrollViewContentInsets;
+    _audioLibraryGridModeSplitViewListTableViewScrollView.scrollerInsets = 
audioScrollViewScrollerInsets;
+    
_audioLibraryGridModeSplitViewListSelectionCollectionViewScrollView.automaticallyAdjustsContentInsets
 = NO;
+    
_audioLibraryGridModeSplitViewListSelectionCollectionViewScrollView.contentInsets
 = audioScrollViewContentInsets;
+    
_audioLibraryGridModeSplitViewListSelectionCollectionViewScrollView.scrollerInsets
 = audioScrollViewScrollerInsets;
+}
+
 #pragma mark - Show the audio view
 
 - (void)presentAudioView


=====================================
modules/gui/macosx/library/media-source/VLCLibraryMediaSourceViewController.h
=====================================
@@ -31,6 +31,7 @@ NS_ASSUME_NONNULL_BEGIN
 
 @property (readonly) NSView *libraryTargetView;
 @property (readonly) NSView *mediaSourceView;
+@property (readonly) NSTableView *mediaSourceTableView;
 @property (readonly) NSCollectionView *collectionView;
 @property (readonly) NSScrollView *collectionViewScrollView;
 @property (readonly) NSTableView *tableView;


=====================================
modules/gui/macosx/library/media-source/VLCLibraryMediaSourceViewController.m
=====================================
@@ -25,7 +25,9 @@
 #import "VLCMediaSourceBaseDataSource.h"
 
 #import "library/VLCLibraryCollectionViewFlowLayout.h"
+#import "library/VLCLibraryCollectionViewItem.h"
 #import "library/VLCLibraryController.h"
+#import "library/VLCLibraryUIUnits.h"
 #import "library/VLCLibraryWindow.h"
 
 #import "main/VLCMain.h"
@@ -39,6 +41,7 @@
         [self setupPropertiesFromLibraryWindow:libraryWindow];
         [self setupBaseDataSource];
         [self setupCollectionView];
+        [self setupMediaSourceLibraryViews];
     }
     return self;
 }
@@ -48,6 +51,7 @@
     NSParameterAssert(libraryWindow);
     _libraryTargetView = libraryWindow.libraryTargetView;
     _mediaSourceView = libraryWindow.mediaSourceView;
+    _mediaSourceTableView = libraryWindow.mediaSourceTableView;
     _collectionView = libraryWindow.mediaSourceCollectionView;
     _collectionViewScrollView = 
libraryWindow.mediaSourceCollectionViewScrollView;
     _tableView = libraryWindow.mediaSourceTableView;
@@ -71,7 +75,31 @@
 
 - (void)setupCollectionView
 {
-    _collectionView.collectionViewLayout = 
[[VLCLibraryCollectionViewFlowLayout alloc] init];
+    const CGFloat collectionItemSpacing = [VLCLibraryUIUnits 
collectionViewItemSpacing];
+    const NSEdgeInsets collectionViewSectionInset = [VLCLibraryUIUnits 
collectionViewSectionInsets];
+    
+    NSCollectionViewFlowLayout *mediaSourceCollectionViewLayout = 
[[VLCLibraryCollectionViewFlowLayout alloc] init];
+    _collectionView.collectionViewLayout = mediaSourceCollectionViewLayout;
+    mediaSourceCollectionViewLayout.itemSize = [VLCLibraryCollectionViewItem 
defaultSize];
+    mediaSourceCollectionViewLayout.minimumLineSpacing = collectionItemSpacing;
+    mediaSourceCollectionViewLayout.minimumInteritemSpacing = 
collectionItemSpacing;
+    mediaSourceCollectionViewLayout.sectionInset = collectionViewSectionInset;
+}
+
+- (void)setupMediaSourceLibraryViews
+{
+    _mediaSourceTableView.rowHeight = [VLCLibraryUIUnits 
mediumTableViewRowHeight];
+
+    const NSEdgeInsets defaultInsets = [VLCLibraryUIUnits 
libraryViewScrollViewContentInsets];
+    const NSEdgeInsets scrollerInsets = [VLCLibraryUIUnits 
libraryViewScrollViewScrollerInsets];
+
+    _collectionViewScrollView.automaticallyAdjustsContentInsets = NO;
+    _collectionViewScrollView.contentInsets = defaultInsets;
+    _collectionViewScrollView.scrollerInsets = scrollerInsets;
+
+    _tableViewScrollView.automaticallyAdjustsContentInsets = NO;
+    _tableViewScrollView.contentInsets = defaultInsets;
+    _tableViewScrollView.scrollerInsets = scrollerInsets;
 }
 
 - (void)presentBrowseView


=====================================
modules/gui/macosx/library/video-library/VLCLibraryVideoCollectionViewContainerView.m
=====================================
@@ -24,6 +24,7 @@
 
 #import "library/VLCLibraryCollectionViewDelegate.h"
 #import "library/VLCLibraryCollectionViewFlowLayout.h"
+#import "library/VLCLibraryCollectionViewItem.h"
 #import "library/VLCLibraryCollectionViewSupplementaryElementView.h"
 #import "library/VLCLibraryUIUnits.h"
 
@@ -102,7 +103,13 @@
 - (void)setupCollectionView
 {
     _collectionViewLayout = [[VLCLibraryCollectionViewFlowLayout alloc] init];
+
+    const CGFloat collectionItemSpacing = [VLCLibraryUIUnits 
collectionViewItemSpacing];
+    const NSEdgeInsets collectionViewSectionInset = [VLCLibraryUIUnits 
collectionViewSectionInsets];
     _collectionViewLayout.headerReferenceSize = 
[VLCLibraryCollectionViewSupplementaryElementView defaultHeaderSize];
+    _collectionViewLayout.minimumLineSpacing = collectionItemSpacing;
+    _collectionViewLayout.minimumInteritemSpacing = collectionItemSpacing;
+    _collectionViewLayout.sectionInset = collectionViewSectionInset;
 
     _collectionView = [[NSCollectionView alloc] initWithFrame:NSZeroRect];
     _collectionView.postsFrameChangedNotifications = YES;
@@ -113,6 +120,7 @@
 
     _collectionViewDelegate = [[VLCLibraryCollectionViewDelegate alloc] init];
     _collectionViewDelegate.itemsAspectRatio = 
VLCLibraryCollectionViewItemAspectRatioVideoItem;
+    _collectionViewDelegate.staticItemSize = [VLCLibraryCollectionViewItem 
defaultVideoItemSize];
     _collectionView.delegate = _collectionViewDelegate;
 }
 


=====================================
modules/gui/macosx/library/video-library/VLCLibraryVideoViewController.m
=====================================
@@ -26,6 +26,7 @@
 
 #import "library/VLCLibraryController.h"
 #import "library/VLCLibraryModel.h"
+#import "library/VLCLibraryUIUnits.h"
 #import "library/VLCLibraryWindow.h"
 
 #import "library/audio-library/VLCLibraryAudioViewController.h"
@@ -48,6 +49,7 @@
         [self setupTableViewDataSource];
         [self setupGridViewController];
         [self setupVideoPlaceholderView];
+        [self setupVideoLibraryViews];
 
         NSNotificationCenter *notificationCenter = [NSNotificationCenter 
defaultCenter];
         [notificationCenter addObserver:self
@@ -117,6 +119,25 @@
     ];
 }
 
+- (void)setupVideoLibraryViews
+{
+    _videoLibraryGroupsTableView.rowHeight = [VLCLibraryUIUnits 
mediumTableViewRowHeight];
+    _videoLibraryGroupSelectionTableView.rowHeight = [VLCLibraryUIUnits 
mediumTableViewRowHeight];
+
+    const NSEdgeInsets defaultInsets = [VLCLibraryUIUnits 
libraryViewScrollViewContentInsets];
+    const NSEdgeInsets scrollerInsets = [VLCLibraryUIUnits 
libraryViewScrollViewScrollerInsets];
+
+    
_videoLibraryCollectionViewsStackViewScrollView.automaticallyAdjustsContentInsets
 = NO;
+    _videoLibraryCollectionViewsStackViewScrollView.contentInsets = 
defaultInsets;
+    _videoLibraryCollectionViewsStackViewScrollView.scrollerInsets = 
scrollerInsets;
+
+    _videoLibraryGroupsTableViewScrollView.automaticallyAdjustsContentInsets = 
NO;
+    _videoLibraryGroupsTableViewScrollView.contentInsets = defaultInsets;
+    _videoLibraryGroupsTableViewScrollView.scrollerInsets = scrollerInsets;
+    
_videoLibraryGroupSelectionTableViewScrollView.automaticallyAdjustsContentInsets
 = NO;
+    _videoLibraryGroupSelectionTableViewScrollView.contentInsets = 
defaultInsets;
+    _videoLibraryGroupSelectionTableViewScrollView.scrollerInsets = 
scrollerInsets;
+}
 
 #pragma mark - Show the video library view
 



View it on GitLab: 
https://code.videolan.org/videolan/vlc/-/compare/0b9fd8e4cbe81eff5d5a3e6ccc8418df1f793030...c13fcfde61f0b026315226e8135143cd92534e01

-- 
View it on GitLab: 
https://code.videolan.org/videolan/vlc/-/compare/0b9fd8e4cbe81eff5d5a3e6ccc8418df1f793030...c13fcfde61f0b026315226e8135143cd92534e01
You're receiving this email because of your account on code.videolan.org.


VideoLAN code repository instance
_______________________________________________
vlc-commits mailing list
[email protected]
https://mailman.videolan.org/listinfo/vlc-commits

Reply via email to