[vlc-commits] [Git][videolan/vlc][master] 3 commits: macosx: Fix alignment of header in grid view mode with top of master view top item

Steve Lhomme (@robUx4) gitlab at videolan.org
Tue Apr 21 15:46:50 UTC 2026



Steve Lhomme pushed to branch master at VideoLAN / VLC


Commits:
a5757d8d by Claudio Cambra at 2026-04-21T13:20:01+00:00
macosx: Fix alignment of header in grid view mode with top of master view top item

Signed-off-by: Claudio Cambra <developer at claudiocambra.com>

- - - - -
723f0a71 by Claudio Cambra at 2026-04-21T13:20:01+00:00
macosx: Extract inset calculation to UI units class

Signed-off-by: Claudio Cambra <developer at claudiocambra.com>

- - - - -
f193a6a6 by Claudio Cambra at 2026-04-21T13:20:01+00:00
macosx: Apply insets to list mode detail views in remaining library sections

Signed-off-by: Claudio Cambra <developer at claudiocambra.com>

- - - - -


6 changed files:

- modules/gui/macosx/library/VLCLibraryUIUnits.h
- modules/gui/macosx/library/VLCLibraryUIUnits.m
- modules/gui/macosx/library/audio-library/VLCLibraryAudioViewController.m
- modules/gui/macosx/library/favorites-library/VLCLibraryFavoritesViewController.m
- modules/gui/macosx/library/groups-library/VLCLibraryGroupsViewController.m
- modules/gui/macosx/library/playlist-library/VLCLibraryPlaylistViewController.m


Changes:

=====================================
modules/gui/macosx/library/VLCLibraryUIUnits.h
=====================================
@@ -76,6 +76,8 @@ extern NSString * const VLCLibraryCollectionViewItemAdjustmentKey;
 @property (class, readonly) const CGFloat carouselViewItemViewHeight;
 
 @property (class, readonly) const NSEdgeInsets libraryViewScrollViewContentInsets;
+ at property (class, readonly) const NSEdgeInsets libraryViewScrollViewDetailListContentInsets;
+ at property (class, readonly) const NSEdgeInsets libraryViewScrollViewDetailGridContentInsets;
 @property (class, readonly) const NSEdgeInsets libraryViewScrollViewScrollerInsets;
 
 @property (class, readonly) const CGFloat controlsFadeAnimationDuration;


=====================================
modules/gui/macosx/library/VLCLibraryUIUnits.m
=====================================
@@ -225,6 +225,28 @@ NSString * const VLCLibraryCollectionViewItemAdjustmentKey = @"VLCLibraryCollect
                             VLCLibraryUIUnits.mediumSpacing);
 }
 
++ (const NSEdgeInsets)libraryViewScrollViewDetailListContentInsets
+{
+    static NSEdgeInsets contentInsets;
+    static dispatch_once_t dispatchOnceToken;
+    dispatch_once(&dispatchOnceToken, ^{
+        contentInsets = [self libraryViewScrollViewContentInsets];
+        contentInsets.top -= VLCLibraryUIUnits.largeSpacing;
+    });
+    return contentInsets;
+}
+
++ (const NSEdgeInsets)libraryViewScrollViewDetailGridContentInsets
+{
+    static NSEdgeInsets contentInsets;
+    static dispatch_once_t dispatchOnceToken;
+    dispatch_once(&dispatchOnceToken, ^{
+        contentInsets = [self libraryViewScrollViewContentInsets];
+        contentInsets.top += VLCLibraryUIUnits.mediumSpacing;
+    });
+    return contentInsets;
+}
+
 + (const NSEdgeInsets)libraryViewScrollViewScrollerInsets
 {
     VLCLibraryWindow * const libraryWindow = VLCMain.sharedInstance.libraryWindow;


=====================================
modules/gui/macosx/library/audio-library/VLCLibraryAudioViewController.m
=====================================
@@ -277,16 +277,15 @@ NSString *VLCLibraryPlaceholderAudioViewIdentifier = @"VLCLibraryPlaceholderAudi
     _audioCollectionSelectionTableViewScrollView.contentInsets = audioScrollViewContentInsets;
     _audioCollectionSelectionTableViewScrollView.scrollerInsets = audioScrollViewScrollerInsets;
     _audioGroupSelectionTableViewScrollView.automaticallyAdjustsContentInsets = NO;
-    NSEdgeInsets adjustedInsets = audioScrollViewContentInsets;
-    adjustedInsets.top -= VLCLibraryUIUnits.largeSpacing;
-    _audioGroupSelectionTableViewScrollView.contentInsets = adjustedInsets;
+    _audioGroupSelectionTableViewScrollView.contentInsets = VLCLibraryUIUnits.libraryViewScrollViewDetailListContentInsets;
     _audioGroupSelectionTableViewScrollView.scrollerInsets = audioScrollViewScrollerInsets;
 
     _audioLibraryGridModeSplitViewListTableViewScrollView.automaticallyAdjustsContentInsets = NO;
     _audioLibraryGridModeSplitViewListTableViewScrollView.contentInsets = audioScrollViewContentInsets;
     _audioLibraryGridModeSplitViewListTableViewScrollView.scrollerInsets = audioScrollViewScrollerInsets;
+
     _audioLibraryGridModeSplitViewListSelectionCollectionViewScrollView.automaticallyAdjustsContentInsets = NO;
-    _audioLibraryGridModeSplitViewListSelectionCollectionViewScrollView.contentInsets = audioScrollViewContentInsets;
+    _audioLibraryGridModeSplitViewListSelectionCollectionViewScrollView.contentInsets = VLCLibraryUIUnits.libraryViewScrollViewDetailGridContentInsets;
     _audioLibraryGridModeSplitViewListSelectionCollectionViewScrollView.scrollerInsets = audioScrollViewScrollerInsets;
 
     // Songs table view needs bottom padding for controls bar


=====================================
modules/gui/macosx/library/favorites-library/VLCLibraryFavoritesViewController.m
=====================================
@@ -249,7 +249,7 @@
     self.favoritesLibraryGroupSelectionTableViewScrollView.hasHorizontalScroller = NO;
     self.favoritesLibraryGroupSelectionTableViewScrollView.borderType = NSNoBorder;
     self.favoritesLibraryGroupSelectionTableViewScrollView.automaticallyAdjustsContentInsets = NO;
-    self.favoritesLibraryGroupSelectionTableViewScrollView.contentInsets = defaultInsets;
+    self.favoritesLibraryGroupSelectionTableViewScrollView.contentInsets = VLCLibraryUIUnits.libraryViewScrollViewDetailListContentInsets;
     self.favoritesLibraryGroupSelectionTableViewScrollView.scrollerInsets = scrollerInsets;
     self.favoritesLibraryGroupSelectionTableViewScrollView.hasHorizontalScroller = NO;
 


=====================================
modules/gui/macosx/library/groups-library/VLCLibraryGroupsViewController.m
=====================================
@@ -163,7 +163,7 @@
     self.selectedGroupTableViewScrollView.hasHorizontalScroller = NO;
     self.selectedGroupTableViewScrollView.borderType = NSNoBorder;
     self.selectedGroupTableViewScrollView.automaticallyAdjustsContentInsets = NO;
-    self.selectedGroupTableViewScrollView.contentInsets = defaultInsets;
+    self.selectedGroupTableViewScrollView.contentInsets = VLCLibraryUIUnits.libraryViewScrollViewDetailListContentInsets;
     self.selectedGroupTableViewScrollView.scrollerInsets = scrollerInsets;
 
     self.groupsTableViewScrollView.documentView = self.groupsTableView;


=====================================
modules/gui/macosx/library/playlist-library/VLCLibraryPlaylistViewController.m
=====================================
@@ -160,7 +160,7 @@
     self.detailTableViewScrollView.hasHorizontalScroller = NO;
     self.detailTableViewScrollView.borderType = NSNoBorder;
     self.detailTableViewScrollView.automaticallyAdjustsContentInsets = NO;
-    self.detailTableViewScrollView.contentInsets = defaultInsets;
+    self.detailTableViewScrollView.contentInsets = VLCLibraryUIUnits.libraryViewScrollViewDetailListContentInsets;
     self.detailTableViewScrollView.scrollerInsets = scrollerInsets;
 
     self.masterTableViewScrollView.documentView = self.masterTableView;



View it on GitLab: https://code.videolan.org/videolan/vlc/-/compare/674151f4ad8c271271c7dba683ca012ed5ced37f...f193a6a62f2418c01da63dd580295cd2a949b700

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




More information about the vlc-commits mailing list