[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