[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