[vlc-commits] [Git][videolan/vlc][master] 4 commits: macosx: Liquid glass-ify play buttons on collection view items

Steve Lhomme (@robUx4) gitlab at videolan.org
Thu Aug 14 11:43:49 UTC 2025



Steve Lhomme pushed to branch master at VideoLAN / VLC


Commits:
9162013e by Claudio Cambra at 2025-08-14T11:24:54+00:00
macosx: Liquid glass-ify play buttons on collection view items

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

- - - - -
64868fd2 by Claudio Cambra at 2025-08-14T11:24:54+00:00
macosx: Liquid glass-ify play button in library table cell view

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

- - - - -
eb818a7f by Claudio Cambra at 2025-08-14T11:24:54+00:00
macosx: Liquid glassify play button in album table cell view

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

- - - - -
307e6485 by Claudio Cambra at 2025-08-14T11:24:54+00:00
macosx: Liquid glassify play buttons in media source collection views

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

- - - - -


4 changed files:

- modules/gui/macosx/library/VLCLibraryCollectionViewItem.m
- modules/gui/macosx/library/VLCLibraryTableCellView.m
- modules/gui/macosx/library/audio-library/VLCLibraryAlbumTableCellView.m
- modules/gui/macosx/library/media-source/VLCMediaSourceCollectionViewItem.m


Changes:

=====================================
modules/gui/macosx/library/VLCLibraryCollectionViewItem.m
=====================================
@@ -125,6 +125,21 @@ const CGFloat VLCLibraryCollectionViewItemMaximumDisplayedProgress = 0.95;
     _videoImageViewAspectRatioConstraint.priority = NSLayoutPriorityRequired;
     _videoImageViewAspectRatioConstraint.active = NO;
 
+    if (@available(macOS 26.0, *)) {
+#if __MAC_OS_X_VERSION_MAX_ALLOWED >= 260000
+        self.playInstantlyButton.bordered = YES;
+        self.playInstantlyButton.bezelStyle = NSBezelStyleGlass;
+        self.playInstantlyButton.borderShape = NSControlBorderShapeCircle;
+        self.playInstantlyButton.image = [NSImage imageWithSystemSymbolName:@"play.fill" accessibilityDescription:nil];
+        self.playInstantlyButton.imageScaling = NSImageScaleProportionallyUpOrDown;
+        self.playInstantlyButton.controlSize = NSControlSizeExtraLarge;
+        [NSLayoutConstraint activateConstraints:@[
+            [self.playInstantlyButton.widthAnchor constraintEqualToConstant:VLCLibraryUIUnits.mediumPlaybackControlButtonSize],
+            [self.playInstantlyButton.heightAnchor constraintEqualToConstant:VLCLibraryUIUnits.mediumPlaybackControlButtonSize],
+        ]];
+#endif
+    }
+
     [(VLCTrackingView *)self.view setViewToHide:self.playInstantlyButton];
     self.secondaryInfoTextField.textColor = NSColor.VLClibrarySubtitleColor;
     self.annotationTextField.font = NSFont.VLCLibraryItemAnnotationFont;


=====================================
modules/gui/macosx/library/VLCLibraryTableCellView.m
=====================================
@@ -32,6 +32,7 @@
 #import "library/VLCLibraryImageCache.h"
 #import "library/VLCLibraryModel.h"
 #import "library/VLCLibraryRepresentedItem.h"
+#import "library/VLCLibraryUIUnits.h"
 
 #import "library/video-library/VLCLibraryVideoGroupDescriptor.h"
 
@@ -56,6 +57,17 @@ NSString * const VLCLibraryTableCellViewIdentifier = @"VLCLibraryTableCellViewId
 - (void)awakeFromNib
 {
     [self prepareForReuse];
+
+    if (@available(macOS 26.0, *)) {
+#if __MAC_OS_X_VERSION_MAX_ALLOWED >= 260000
+        self.playInstantlyButton.bordered = YES;
+        self.playInstantlyButton.bezelStyle = NSBezelStyleGlass;
+        self.playInstantlyButton.borderShape = NSControlBorderShapeCircle;
+        self.playInstantlyButton.image = [NSImage imageWithSystemSymbolName:@"play.fill" accessibilityDescription:nil];
+        self.playInstantlyButton.imageScaling = NSImageScaleProportionallyUpOrDown;
+        self.playInstantlyButton.controlSize = NSControlSizeExtraLarge;
+#endif
+    }
 }
 
 - (void)prepareForReuse


=====================================
modules/gui/macosx/library/audio-library/VLCLibraryAlbumTableCellView.m
=====================================
@@ -144,6 +144,21 @@ const CGFloat VLCLibraryAlbumTableCellViewDefaultHeight = 168.;
     self.genreNameTextButton.action = @selector(secondaryDetailAction:);
     self.trackingView.viewToHide = self.playInstantlyButton;
 
+    if (@available(macOS 26.0, *)) {
+#if __MAC_OS_X_VERSION_MAX_ALLOWED >= 260000
+        self.playInstantlyButton.bordered = YES;
+        self.playInstantlyButton.bezelStyle = NSBezelStyleGlass;
+        self.playInstantlyButton.borderShape = NSControlBorderShapeCircle;
+        self.playInstantlyButton.image = [NSImage imageWithSystemSymbolName:@"play.fill" accessibilityDescription:nil];
+        self.playInstantlyButton.imageScaling = NSImageScaleProportionallyUpOrDown;
+        self.playInstantlyButton.controlSize = NSControlSizeExtraLarge;
+        [NSLayoutConstraint activateConstraints:@[
+            [self.playInstantlyButton.widthAnchor constraintEqualToConstant:VLCLibraryUIUnits.mediumPlaybackControlButtonSize],
+            [self.playInstantlyButton.heightAnchor constraintEqualToConstant:VLCLibraryUIUnits.mediumPlaybackControlButtonSize],
+        ]];
+#endif
+    }
+
     if (@available(macOS 10.14, *)) {
         self.artistNameTextButton.contentTintColor = NSColor.VLCAccentColor;
         self.genreNameTextButton.contentTintColor = NSColor.secondaryLabelColor;


=====================================
modules/gui/macosx/library/media-source/VLCMediaSourceCollectionViewItem.m
=====================================
@@ -30,6 +30,7 @@
 #import "library/VLCInputItem.h"
 #import "library/VLCLibraryMenuController.h"
 #import "library/VLCLibraryImageCache.h"
+#import "library/VLCLibraryUIUnits.h"
 
 #import "library/media-source/VLCMediaSourceDataSource.h"
 
@@ -68,6 +69,21 @@ NSString *VLCMediaSourceCellIdentifier = @"VLCLibraryCellIdentifier";
     self.annotationTextField.backgroundColor = NSColor.VLClibraryAnnotationBackgroundColor;
     self.highlightBox.borderColor = NSColor.VLCAccentColor;
 
+        if (@available(macOS 26.0, *)) {
+#if __MAC_OS_X_VERSION_MAX_ALLOWED >= 260000
+        self.playInstantlyButton.bordered = YES;
+        self.playInstantlyButton.bezelStyle = NSBezelStyleGlass;
+        self.playInstantlyButton.borderShape = NSControlBorderShapeCircle;
+        self.playInstantlyButton.image = [NSImage imageWithSystemSymbolName:@"play.fill" accessibilityDescription:nil];
+        self.playInstantlyButton.imageScaling = NSImageScaleProportionallyUpOrDown;
+        self.playInstantlyButton.controlSize = NSControlSizeExtraLarge;
+        [NSLayoutConstraint activateConstraints:@[
+            [self.playInstantlyButton.widthAnchor constraintEqualToConstant:VLCLibraryUIUnits.mediumPlaybackControlButtonSize],
+            [self.playInstantlyButton.heightAnchor constraintEqualToConstant:VLCLibraryUIUnits.mediumPlaybackControlButtonSize],
+        ]];
+#endif
+    }
+
     if (@available(macOS 10.14, *)) {
         [NSApplication.sharedApplication addObserver:self
                                             forKeyPath:@"effectiveAppearance"



View it on GitLab: https://code.videolan.org/videolan/vlc/-/compare/2c7789176ce38d4435928fd46a76003a5ce2baaa...307e6485fa105349335d0b07592c3363a6ef34ef

-- 
View it on GitLab: https://code.videolan.org/videolan/vlc/-/compare/2c7789176ce38d4435928fd46a76003a5ce2baaa...307e6485fa105349335d0b07592c3363a6ef34ef
You're receiving this email because of your account on code.videolan.org.


VideoLAN code repository instance


More information about the vlc-commits mailing list