[vlc-commits] [Git][videolan/vlc][master] 7 commits: macosx: Add layout constraint for library window bottom control bar height

Steve Lhomme (@robUx4) gitlab at videolan.org
Thu Feb 8 17:17:46 UTC 2024



Steve Lhomme pushed to branch master at VideoLAN / VLC


Commits:
93861639 by Claudio Cambra at 2024-02-08T17:02:13+00:00
macosx: Add layout constraint for library window bottom control bar height

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

- - - - -
50aab37b by Claudio Cambra at 2024-02-08T17:02:13+00:00
macosx: Animate appear and disappear of library controls bar

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

- - - - -
2ad3971f by Claudio Cambra at 2024-02-08T17:02:13+00:00
macosx: Improve library window controls bar show/hide animation

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

- - - - -
1a3ced3a by Claudio Cambra at 2024-02-08T17:02:13+00:00
macosx: Set visual effect view for library window controls bar blending behind window

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

- - - - -
be8b4365 by Claudio Cambra at 2024-02-08T17:02:13+00:00
macosx: Remove unused constraints

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

- - - - -
2f13f6e0 by Claudio Cambra at 2024-02-08T17:02:13+00:00
macosx: Immediately hide controls bar when enabling video view

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

- - - - -
f16e9b02 by Claudio Cambra at 2024-02-08T17:02:13+00:00
macosx: Do not use magic numbers for library window controls bar hide and show

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

- - - - -


5 changed files:

- modules/gui/macosx/UI/VLCLibraryWindow.xib
- modules/gui/macosx/library/VLCLibraryUIUnits.h
- modules/gui/macosx/library/VLCLibraryUIUnits.m
- modules/gui/macosx/library/VLCLibraryWindow.h
- modules/gui/macosx/library/VLCLibraryWindow.m


Changes:

=====================================
modules/gui/macosx/UI/VLCLibraryWindow.xib
=====================================
@@ -270,8 +270,8 @@
                             <real value="250"/>
                         </holdingPriorities>
                     </splitView>
-                    <visualEffectView blendingMode="withinWindow" material="titlebar" state="followsWindowActiveState" translatesAutoresizingMaskIntoConstraints="NO" id="vUy-jt-gjY" customClass="VLCBottomBarView">
-                        <rect key="frame" x="0.0" y="0.0" width="896" height="45"/>
+                    <visualEffectView blendingMode="behindWindow" material="sidebar" state="followsWindowActiveState" translatesAutoresizingMaskIntoConstraints="NO" id="vUy-jt-gjY" customClass="VLCBottomBarView">
+                        <rect key="frame" x="0.0" y="0.0" width="896" height="48"/>
                         <subviews>
                             <customView translatesAutoresizingMaskIntoConstraints="NO" id="MQH-bI-Zdh" customClass="VLCDragDropView">
                                 <rect key="frame" x="0.0" y="0.0" width="896" height="45"/>
@@ -563,6 +563,7 @@
                             </customView>
                         </subviews>
                         <constraints>
+                            <constraint firstAttribute="height" constant="48" id="Fps-hR-AFq"/>
                             <constraint firstAttribute="bottom" secondItem="MQH-bI-Zdh" secondAttribute="bottom" id="Uo1-sD-OXk"/>
                             <constraint firstItem="MQH-bI-Zdh" firstAttribute="leading" secondItem="vUy-jt-gjY" secondAttribute="leading" id="YVB-nY-sHE"/>
                             <constraint firstAttribute="trailing" secondItem="MQH-bI-Zdh" secondAttribute="trailing" id="aBH-H2-ykp"/>
@@ -594,7 +595,6 @@
                 </subviews>
                 <constraints>
                     <constraint firstItem="6gW-0d-ymm" firstAttribute="top" secondItem="u8g-jy-S4e" secondAttribute="top" id="33P-it-9HX"/>
-                    <constraint firstAttribute="bottom" secondItem="u8g-jy-S4e" secondAttribute="bottom" priority="250" id="DQQ-ji-YSy"/>
                     <constraint firstItem="6gW-0d-ymm" firstAttribute="trailing" secondItem="iSp-bV-w6B" secondAttribute="trailing" id="DZK-gL-4Jh"/>
                     <constraint firstItem="vUy-jt-gjY" firstAttribute="top" secondItem="u8g-jy-S4e" secondAttribute="bottom" id="QH8-mU-6ZP"/>
                     <constraint firstItem="vUy-jt-gjY" firstAttribute="leading" secondItem="EiT-Mj-1SZ" secondAttribute="leading" id="Sse-bx-ewr"/>
@@ -759,6 +759,7 @@
                 <outlet property="clearPlaylistButton" destination="cih-xp-HmY" id="PoU-co-0kn"/>
                 <outlet property="clearPlaylistSeparator" destination="nAW-KH-ipk" id="Af9-fg-u7m"/>
                 <outlet property="controlsBar" destination="Uzf-Tf-H8x" id="n0G-92-F2Q"/>
+                <outlet property="controlsBarHeightConstraint" destination="Fps-hR-AFq" id="E4g-JQ-fgx"/>
                 <outlet property="dragDropImageBackgroundBox" destination="AXk-h7-dZ0" id="h3h-Wh-0op"/>
                 <outlet property="emptyLibraryView" destination="YJf-1r-vaC" id="AJB-eN-4u6"/>
                 <outlet property="flexibleSpaceToolbarItem" destination="89f-AL-zuU" id="3p9-t8-79g"/>
@@ -801,7 +802,6 @@
                 <outlet property="shufflePlaylistButton" destination="jg5-33-vH0" id="FV2-36-3lG"/>
                 <outlet property="sortOrderToolbarItem" destination="Tbc-Ik-FaO" id="098-yp-97f"/>
                 <outlet property="splitViewBottomConstraintToBottomBar" destination="QH8-mU-6ZP" id="b0t-C0-N5t"/>
-                <outlet property="splitViewBottomConstraintToSuperView" destination="DQQ-ji-YSy" id="b0t-C0-5uP"/>
                 <outlet property="togglePlaylistToolbarItem" destination="Lf2-ec-tHh" id="gtf-cd-765"/>
                 <outlet property="upNextLabel" destination="TET-5r-zHx" id="3oI-LK-NDP"/>
                 <outlet property="upNextSeparator" destination="qmL-Ar-cj1" id="GRX-ZE-2UG"/>


=====================================
modules/gui/macosx/library/VLCLibraryUIUnits.h
=====================================
@@ -62,6 +62,8 @@ NS_ASSUME_NONNULL_BEGIN
 
 @property (class, readonly) const CGFloat controlsFadeAnimationDuration;
 
+ at property (class, readonly) const CGFloat libraryWindowControlsBarHeight;
+
 @property (class, readonly) const CGFloat librarySplitViewMainViewMinimumWidth;
 
 + (const NSSize)adjustedCollectionViewItemSizeForCollectionView:(NSCollectionView *)collectionView


=====================================
modules/gui/macosx/library/VLCLibraryUIUnits.m
=====================================
@@ -186,4 +186,9 @@
     return 400.;
 }
 
++ (const CGFloat)libraryWindowControlsBarHeight
+{
+    return 48.;
+}
+
 @end


=====================================
modules/gui/macosx/library/VLCLibraryWindow.h
=====================================
@@ -63,7 +63,7 @@ extern const CGFloat VLCLibraryWindowMinimalHeight;
 extern const NSUserInterfaceItemIdentifier VLCLibraryWindowIdentifier;
 
 @property (nonatomic, weak) IBOutlet VLCControlsBarCommon* controlsBar;
- at property (readwrite, weak) IBOutlet NSLayoutConstraint *videoViewBottomConstraint;
+ at property (readwrite, weak) IBOutlet NSLayoutConstraint *controlsBarHeightConstraint;
 @property (readwrite, weak) IBOutlet NSSegmentedControl *segmentedTitleControl;
 @property (readwrite, weak) IBOutlet NSSegmentedControl *gridVsListSegmentedControl;
 @property (readwrite, weak) IBOutlet NSSplitView *mainSplitView;
@@ -133,7 +133,6 @@ extern const NSUserInterfaceItemIdentifier VLCLibraryWindowIdentifier;
 @property (readwrite, weak) IBOutlet NSToolbarItem *librarySearchToolbarItem;
 @property (readwrite, weak) IBOutlet NSToolbarItem *togglePlaylistToolbarItem;
 @property (readwrite, weak) IBOutlet NSLayoutConstraint *splitViewBottomConstraintToBottomBar;
- at property (readwrite, weak) IBOutlet NSLayoutConstraint *splitViewBottomConstraintToSuperView;
 
 @property (nonatomic, readwrite, strong) IBOutlet NSView *emptyLibraryView;
 @property (nonatomic, readwrite, strong) IBOutlet NSImageView *placeholderImageView;


=====================================
modules/gui/macosx/library/VLCLibraryWindow.m
=====================================
@@ -158,7 +158,7 @@ static void addShadow(NSImageView *__unsafe_unretained imageView)
     self.videoViewController.view.frame = self.mainSplitView.frame;
     self.videoViewController.view.hidden = YES;
     self.videoViewController.displayLibraryControls = YES;
-    [self hideControlsBar];
+    [self hideControlsBarImmediately];
 
     [self.gridVsListSegmentedControl setToolTip: _NS("Grid View or List View")];
     [self.librarySortButton setToolTip: _NS("Select Sorting Mode")];
@@ -883,21 +883,32 @@ static void addShadow(NSImageView *__unsafe_unretained imageView)
     [self enableVideoPlaybackAppearance];
 }
 
+- (void)hideControlsBarImmediately
+{
+    self.controlsBarHeightConstraint.constant = 0;
+}
+
 - (void)hideControlsBar
 {
-    _controlsBar.bottomBarView.hidden = YES;
-    _videoViewBottomConstraint.priority = 1;
-    _splitViewBottomConstraintToBottomBar.priority = 1;
-    _splitViewBottomConstraintToSuperView.priority = 999;
+    [NSAnimationContext runAnimationGroup:^(NSAnimationContext * const context) {
+        context.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseOut];
+        context.duration = VLCLibraryUIUnits.controlsFadeAnimationDuration;
+        self.controlsBarHeightConstraint.animator.constant = 0;
+    } completionHandler:nil];
+}
 
+- (void)showControlsBarImmediately
+{
+    self.controlsBarHeightConstraint.constant = VLCLibraryUIUnits.libraryWindowControlsBarHeight;
 }
 
 - (void)showControlsBar
 {
-    _controlsBar.bottomBarView.hidden = NO;
-    _videoViewBottomConstraint.priority = 999;
-    _splitViewBottomConstraintToBottomBar.priority = 999;
-    _splitViewBottomConstraintToSuperView.priority = 1;
+    [NSAnimationContext runAnimationGroup:^(NSAnimationContext * const context) {
+        context.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseIn];
+        context.duration = VLCLibraryUIUnits.controlsFadeAnimationDuration;
+        self.controlsBarHeightConstraint.animator.constant = VLCLibraryUIUnits.libraryWindowControlsBarHeight;
+    } completionHandler:nil];
 }
 
 - (void)presentExternalWindows
@@ -979,7 +990,7 @@ static void addShadow(NSImageView *__unsafe_unretained imageView)
     [self.backwardsNavigationButton setEnabled:YES];
 
     [self enableVideoTitleBarMode];
-    [self hideControlsBar];
+    [self hideControlsBarImmediately];
     [self.videoViewController showControls];
 }
 
@@ -1004,7 +1015,7 @@ static void addShadow(NSImageView *__unsafe_unretained imageView)
     [self setViewForSelectedSegment];
 
     [self disableVideoTitleBarMode];
-    [self showControlsBar];
+    [self showControlsBarImmediately];
 }
 
 - (void)mouseMoved:(NSEvent *)o_event



View it on GitLab: https://code.videolan.org/videolan/vlc/-/compare/64ac3880b935c2a9720e613cdd77db98bc4e690d...f16e9b0201abbc494f0df1210f3db997067f0a83

-- 
View it on GitLab: https://code.videolan.org/videolan/vlc/-/compare/64ac3880b935c2a9720e613cdd77db98bc4e690d...f16e9b0201abbc494f0df1210f3db997067f0a83
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