[vlc-commits] [Git][videolan/vlc][master] 2 commits: macosx: Fix button stack in play queue sidebar for macOS <26

Felix Paul Kühne (@fkuehne) gitlab at videolan.org
Sun Mar 8 15:31:57 UTC 2026



Felix Paul Kühne pushed to branch master at VideoLAN / VLC


Commits:
abde5723 by Claudio Cambra at 2026-03-08T16:02:15+01:00
macosx: Fix button stack in play queue sidebar for macOS <26

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

- - - - -
83addb8a by Claudio Cambra at 2026-03-08T16:02:15+01:00
macosx: Ensure insets give pre-tahoe play queue buttons room to breathe

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

- - - - -


1 changed file:

- modules/gui/macosx/library/VLCLibraryWindowPlayQueueSidebarViewController.m


Changes:

=====================================
modules/gui/macosx/library/VLCLibraryWindowPlayQueueSidebarViewController.m
=====================================
@@ -133,18 +133,24 @@
     const CGFloat footerHeight = self.footerContainerView.frame.size.height;
     [self setupScrollViewGradientMask];
 
-    if (@available(macOS 26.0, *)) {
-#if __MAC_OS_X_VERSION_MAX_ALLOWED >= 260000
-        [self.bottomButtonsSeparator removeFromSuperview];
+    if (@available(macOS 10.14, *)) {
+        NSVisualEffectView * const footerBlurView = [[NSVisualEffectView alloc] initWithFrame:self.footerContainerView.bounds];
+        footerBlurView.translatesAutoresizingMaskIntoConstraints = NO;
+        footerBlurView.material = NSVisualEffectMaterialHeaderView;
+        footerBlurView.blendingMode = NSVisualEffectBlendingModeWithinWindow;
 
-        NSGlassEffectView * const glassFooterView = [[NSGlassEffectView alloc] init];
-        glassFooterView.translatesAutoresizingMaskIntoConstraints = NO;
-        glassFooterView.contentView = self.buttonStack;
-        glassFooterView.cornerRadius = CGFLOAT_MAX;
+        NSMutableArray<NSLayoutConstraint *> * const constraintsToDeactivate = [NSMutableArray array];
+        for (NSLayoutConstraint * const constraint in self.footerContainerView.constraints) {
+            if (constraint.firstItem == self.buttonStack || constraint.secondItem == self.buttonStack) {
+                [constraintsToDeactivate addObject:constraint];
+            }
+        }
+        [NSLayoutConstraint deactivateConstraints:constraintsToDeactivate];
 
-        self.footerContainerView.subviews = @[glassFooterView];
-        self.footerContainerView.clipsToBounds = NO;
-        [glassFooterView applyConstraintsToFillSuperview];
+        [self.footerContainerView addSubview:footerBlurView];
+        [footerBlurView applyConstraintsToFillSuperview];
+        [footerBlurView addSubview:self.buttonStack];
+        [self.buttonStack applyConstraintsToFillSuperview];
 
         self.buttonStack.edgeInsets = NSEdgeInsetsMake(
             VLCLibraryUIUnits.mediumSpacing,
@@ -153,33 +159,6 @@
             VLCLibraryUIUnits.largeSpacing
         );
 
-        self.scrollViewDefaultBottomConstraint.active = NO;
-        self.footerContainerViewDefaultBottomConstraint.active = NO;
-        self.footerContainerViewLeadingConstraint.constant = VLCLibraryUIUnits.largeSpacing;
-        self.footerContainerViewTrailingConstraint.constant = VLCLibraryUIUnits.largeSpacing;
-
-        NSLayoutConstraint * const footerBottomConstraint =
-            [self.buttonStack.bottomAnchor constraintEqualToAnchor:self.view.bottomAnchor
-                                                          constant:-VLCLibraryUIUnits.largeSpacing];
-
-        [NSLayoutConstraint activateConstraints:@[
-            [self.scrollView.bottomAnchor constraintEqualToAnchor:self.view.bottomAnchor],
-            footerBottomConstraint
-        ]];
-
-        const CGFloat footerTopLine = footerHeight + -footerBottomConstraint.constant + VLCLibraryUIUnits.smallSpacing;
-        self.scrollView.automaticallyAdjustsContentInsets = NO;
-        self.scrollView.contentInsets = NSEdgeInsetsMake(0, 0, footerTopLine, 0);
-#endif
-    } else if (@available(macOS 10.14, *)) {
-        NSVisualEffectView * const footerBlurView = [[NSVisualEffectView alloc] initWithFrame:self.footerContainerView.bounds];
-        footerBlurView.translatesAutoresizingMaskIntoConstraints = NO;
-        footerBlurView.material = NSVisualEffectMaterialHeaderView;
-        footerBlurView.blendingMode = NSVisualEffectBlendingModeWithinWindow;
-
-        [self.footerContainerView addSubview:footerBlurView];
-        [footerBlurView applyConstraintsToFillSuperview];
-
         self.scrollViewDefaultBottomConstraint.active = NO;
 
         [NSLayoutConstraint activateConstraints:@[



View it on GitLab: https://code.videolan.org/videolan/vlc/-/compare/c935939c462e918873a9d7fcf1c0cf6c9f952a96...83addb8a62a5b5e6d38e91b1381165d1334d70df

-- 
View it on GitLab: https://code.videolan.org/videolan/vlc/-/compare/c935939c462e918873a9d7fcf1c0cf6c9f952a96...83addb8a62a5b5e6d38e91b1381165d1334d70df
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