[vlc-commits] [Git][videolan/vlc][master] 4 commits: macosx: Define internal padding height for audio group table header view in one place

Steve Lhomme (@robUx4) gitlab at videolan.org
Sat Apr 11 06:58:32 UTC 2026



Steve Lhomme pushed to branch master at VideoLAN / VLC


Commits:
4ce9e779 by Claudio Cambra at 2026-04-11T06:44:42+00:00
macosx: Define internal padding height for audio group table header view in one place

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

- - - - -
2e31dedb by Claudio Cambra at 2026-04-11T06:44:42+00:00
macosx: Directly provided padded header height to header view users

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

- - - - -
7d58f675 by Claudio Cambra at 2026-04-11T06:44:42+00:00
macosx: Unify setup and creation of padded header view

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

- - - - -
f04a960e by Claudio Cambra at 2026-04-11T06:44:42+00:00
macosx: Reduce vertical size of the header view

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

- - - - -


6 changed files:

- modules/gui/macosx/library/audio-library/VLCLibraryAudioGroupTableHeaderView.h
- modules/gui/macosx/library/audio-library/VLCLibraryAudioGroupTableHeaderView.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/audio-library/VLCLibraryAudioGroupTableHeaderView.h
=====================================
@@ -34,6 +34,7 @@ extern NSString * const VLCLibraryAudioGroupTableHeaderViewIdentifier;
 @property (nullable, nonatomic) VLCLibraryRepresentedItem *representedItem;
 @property (readwrite, nonatomic) BOOL internalPaddingAddedForContentView;
 
++ (instancetype)paddedHeaderView;
 - (instancetype)initWithFrame:(NSRect)frameRect withInternalPaddingAddedForContentView:(BOOL)internalPaddingAddedForContentView;
 - (void)updateWithRepresentedItem:(nullable VLCLibraryRepresentedItem *)representedItem
                     fallbackTitle:(nullable NSString *)fallbackTitle


=====================================
modules/gui/macosx/library/audio-library/VLCLibraryAudioGroupTableHeaderView.m
=====================================
@@ -30,7 +30,7 @@
 #import "extensions/NSString+Helpers.h"
 #import "extensions/NSView+VLCAdditions.h"
 
-const CGFloat VLCLibraryAudioGroupTableHeaderViewHeight = 86.f;
+const CGFloat VLCLibraryAudioGroupTableHeaderViewHeight = 66.f;
 NSString * const VLCLibraryAudioGroupTableHeaderViewIdentifier = @"VLCLibraryAudioGroupTableHeaderView";
 
 @interface VLCLibraryAudioGroupTableHeaderView ()
@@ -51,6 +51,32 @@ NSString * const VLCLibraryAudioGroupTableHeaderViewIdentifier = @"VLCLibraryAud
 
 @implementation VLCLibraryAudioGroupTableHeaderView
 
++ (CGFloat)internalPaddingHeight
+{
+    const CGFloat topInset = VLCLibraryUIUnits.largeSpacing + VLCLibraryUIUnits.mediumSpacing;
+    CGFloat bottomInset = 0.f;
+#if __MAC_OS_X_VERSION_MAX_ALLOWED >= 260000
+    if (@available(macOS 26.0, *)) {
+        bottomInset = VLCLibraryUIUnits.largeSpacing + VLCLibraryUIUnits.mediumSpacing + VLCLibraryUIUnits.smallSpacing;
+    }
+#endif
+    return topInset + bottomInset;
+}
+
++ (CGFloat)paddedHeaderViewHeight
+{
+    return VLCLibraryAudioGroupTableHeaderViewHeight + self.internalPaddingHeight;
+}
+
++ (instancetype)paddedHeaderView
+{
+    const NSRect headerFrame = NSMakeRect(0.f, 0.f, 0.f, self.paddedHeaderViewHeight);
+    VLCLibraryAudioGroupTableHeaderView * const headerView =
+        [[self alloc] initWithFrame:headerFrame withInternalPaddingAddedForContentView:YES];
+    headerView.autoresizingMask = NSViewWidthSizable;
+    return headerView;
+}
+
 - (instancetype)initWithFrame:(NSRect)frameRect
 {
     self = [super initWithFrame:frameRect];


=====================================
modules/gui/macosx/library/audio-library/VLCLibraryAudioViewController.m
=====================================
@@ -187,18 +187,7 @@ NSString *VLCLibraryPlaceholderAudioViewIdentifier = @"VLCLibraryPlaceholderAudi
     _audioCollectionSelectionTableView.dataSource = _audioDataSource;
     _audioCollectionSelectionTableView.delegate = _audioLibraryTableViewDelegate;
 
-    CGFloat headerHeight = VLCLibraryAudioGroupTableHeaderViewHeight;
-    if (@available(macOS 26.0, *)) {
-        headerHeight += VLCLibraryUIUnits.largeSpacing * 2;
-    }
-
-    const NSRect headerFrame = NSMakeRect(0.f,
-                                          0.f,
-                                          _audioGroupSelectionTableView.bounds.size.width,
-                                          headerHeight);
-    _audioCollectionHeaderView = [[VLCLibraryAudioGroupTableHeaderView alloc] initWithFrame:headerFrame withInternalPaddingAddedForContentView:YES];
-    _audioCollectionHeaderView.autoresizingMask = NSViewWidthSizable;
-
+    _audioCollectionHeaderView = [VLCLibraryAudioGroupTableHeaderView paddedHeaderView];
     _audioGroupSelectionTableView.headerView = self.audioCollectionHeaderView;
     _audioGroupSelectionTableView.tableColumns.firstObject.headerCell = [VLCLibraryAudioGroupTableHeaderCell new];
 


=====================================
modules/gui/macosx/library/favorites-library/VLCLibraryFavoritesViewController.m
=====================================
@@ -106,17 +106,7 @@
 {
     self.favoritesLibrarySplitView.delegate = _splitViewDelegate;
 
-    CGFloat headerHeight = VLCLibraryAudioGroupTableHeaderViewHeight;
-    if (@available(macOS 26.0, *)) {
-        headerHeight += VLCLibraryUIUnits.largeSpacing * 2.f;
-    }
-
-    const NSRect headerFrame = NSMakeRect(0.f,
-                                          0.f,
-                                          self.favoritesLibraryGroupSelectionTableView.bounds.size.width,
-                                          headerHeight);
-    _favoritesHeaderView = [[VLCLibraryAudioGroupTableHeaderView alloc] initWithFrame:headerFrame withInternalPaddingAddedForContentView:YES];
-    _favoritesHeaderView.autoresizingMask = NSViewWidthSizable;
+    _favoritesHeaderView = [VLCLibraryAudioGroupTableHeaderView paddedHeaderView];
 
     _favoritesLibraryTableViewDelegate.detailTableHeaderView = self.favoritesHeaderView;
     self.favoritesLibraryGroupSelectionTableView.headerView = self.favoritesHeaderView;


=====================================
modules/gui/macosx/library/groups-library/VLCLibraryGroupsViewController.m
=====================================
@@ -190,17 +190,7 @@
     [self.selectedGroupTableView registerNib:tableCellViewNib
                                forIdentifier:@"VLCLibraryTableViewCellIdentifier"];
 
-    CGFloat headerHeight = VLCLibraryAudioGroupTableHeaderViewHeight;
-    if (@available(macOS 26.0, *)) {
-        headerHeight += VLCLibraryUIUnits.largeSpacing * 2;
-    }
-
-    const NSRect headerFrame = NSMakeRect(0.f,
-                                          0.f,
-                                          self.groupsTableView.bounds.size.width,
-                                          headerHeight);
-    _selectedGroupTableHeaderView = [[VLCLibraryAudioGroupTableHeaderView alloc] initWithFrame:headerFrame withInternalPaddingAddedForContentView:YES];
-    self.selectedGroupTableHeaderView.autoresizingMask = NSViewWidthSizable;
+    _selectedGroupTableHeaderView = [VLCLibraryAudioGroupTableHeaderView paddedHeaderView];
 
     self.tableViewDelegate.detailTableHeaderView = self.selectedGroupTableHeaderView;
 


=====================================
modules/gui/macosx/library/playlist-library/VLCLibraryPlaylistViewController.m
=====================================
@@ -187,17 +187,7 @@
     [self.detailTableView registerNib:tableCellViewNib
                         forIdentifier:@"VLCLibraryTableViewCellIdentifier"];
 
-    CGFloat headerHeight = VLCLibraryAudioGroupTableHeaderViewHeight;
-    if (@available(macOS 26.0, *)) {
-        headerHeight += VLCLibraryUIUnits.largeSpacing * 2;
-    }
-
-    const NSRect headerFrame = NSMakeRect(0.f,
-                                          0.f,
-                                          self.masterTableView.bounds.size.width,
-                                          headerHeight);
-    _detailTableHeaderView = [[VLCLibraryAudioGroupTableHeaderView alloc] initWithFrame:headerFrame withInternalPaddingAddedForContentView:YES];
-    self.detailTableHeaderView.autoresizingMask = NSViewWidthSizable;
+    _detailTableHeaderView = [VLCLibraryAudioGroupTableHeaderView paddedHeaderView];
 
     self.tableViewDelegate.detailTableHeaderView = self.detailTableHeaderView;
 



View it on GitLab: https://code.videolan.org/videolan/vlc/-/compare/989833b12041588fd41d671c463da2a2718324d3...f04a960e84f46021d9eb1f8597eb17db08d7e829

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




More information about the vlc-commits mailing list