[vlc-commits] [Git][videolan/vlc][master] 3 commits: macosx: Display fullscreen open image over cover art in library main window control bar

Steve Lhomme (@robUx4) gitlab at videolan.org
Mon May 29 12:15:57 UTC 2023



Steve Lhomme pushed to branch master at VideoLAN / VLC


Commits:
759fc420 by Claudio Cambra at 2023-05-29T11:52:56+00:00
macosx: Display fullscreen open image over cover art in library main window control bar

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

- - - - -
1958eb72 by Claudio Cambra at 2023-05-29T11:52:56+00:00
macosx: Auto-hide and unhide open main video view indicator in library window control bar album art button

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

- - - - -
43242656 by Claudio Cambra at 2023-05-29T11:52:56+00:00
macosx: Remove redundant imageview, use button on top of overlay view instead

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

- - - - -


3 changed files:

- modules/gui/macosx/UI/VLCLibraryWindow.xib
- modules/gui/macosx/windows/mainwindow/VLCMainWindowControlsBar.h
- modules/gui/macosx/windows/mainwindow/VLCMainWindowControlsBar.m


Changes:

=====================================
modules/gui/macosx/UI/VLCLibraryWindow.xib
=====================================
@@ -333,8 +333,8 @@
                                             <constraint firstItem="jGc-Xw-GYI" firstAttribute="leading" secondItem="YAj-e7-KCU" secondAttribute="leading" id="xeh-Bo-f7P"/>
                                         </constraints>
                                     </customView>
-                                    <customView translatesAutoresizingMaskIntoConstraints="NO" id="Ktr-qT-1fr">
-                                        <rect key="frame" x="140" y="4" width="616" height="37"/>
+                                    <customView translatesAutoresizingMaskIntoConstraints="NO" id="Ktr-qT-1fr" customClass="VLCTrackingView">
+                                        <rect key="frame" x="140" y="4" width="616" height="32"/>
                                         <subviews>
                                             <stackView distribution="fill" orientation="horizontal" alignment="centerY" spacing="4" horizontalStackHuggingPriority="249.99998474121094" verticalStackHuggingPriority="249.99998474121094" horizontalCompressionResistancePriority="250" detachesHiddenViews="YES" translatesAutoresizingMaskIntoConstraints="NO" id="jlv-jC-dQB">
                                                 <rect key="frame" x="248" y="21" width="153" height="16"/>
@@ -374,36 +374,60 @@
                                                 </textFieldCell>
                                             </textField>
                                             <customView translatesAutoresizingMaskIntoConstraints="NO" id="5o7-Z0-dqS" userLabel="Artwork image view" customClass="VLCImageView">
-                                                <rect key="frame" x="0.0" y="0.0" width="37" height="37"/>
+                                                <rect key="frame" x="0.0" y="0.0" width="40" height="40"/>
                                                 <subviews>
-                                                    <button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="15t-2s-22l">
-                                                        <rect key="frame" x="0.0" y="0.0" width="37" height="37"/>
-                                                        <buttonCell key="cell" type="bevel" bezelStyle="rounded" alignment="center" imageScaling="proportionallyDown" inset="2" id="jRw-La-BEz">
-                                                            <behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
-                                                            <font key="font" metaFont="system"/>
-                                                        </buttonCell>
-                                                        <connections>
-                                                            <action selector="artworkButtonAction:" target="Uzf-Tf-H8x" id="am9-q0-AXg"/>
-                                                        </connections>
-                                                    </button>
+                                                    <box boxType="custom" borderType="none" titlePosition="noTitle" translatesAutoresizingMaskIntoConstraints="NO" id="CzG-0S-Kke">
+                                                        <rect key="frame" x="0.0" y="0.0" width="40" height="40"/>
+                                                        <view key="contentView" id="xiz-t0-wHG">
+                                                            <rect key="frame" x="0.0" y="0.0" width="40" height="40"/>
+                                                            <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
+                                                            <subviews>
+                                                                <button wantsLayer="YES" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="f5c-zt-tHy">
+                                                                    <rect key="frame" x="8" y="8" width="24" height="24"/>
+                                                                    <constraints>
+                                                                        <constraint firstAttribute="width" secondItem="f5c-zt-tHy" secondAttribute="height" multiplier="1:1" id="CUT-Da-xxl"/>
+                                                                        <constraint firstAttribute="height" constant="24" id="tgT-WN-T5x"/>
+                                                                    </constraints>
+                                                                    <buttonCell key="cell" type="bevel" bezelStyle="regularSquare" image="VLCFullscreenOffTemplate" imagePosition="only" alignment="center" imageScaling="proportionallyDown" inset="2" id="ewW-8p-s67">
+                                                                        <behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
+                                                                        <font key="font" metaFont="system"/>
+                                                                    </buttonCell>
+                                                                    <color key="contentTintColor" red="1" green="1" blue="1" alpha="0.85574306502402275" colorSpace="custom" customColorSpace="sRGB"/>
+                                                                    <connections>
+                                                                        <action selector="artworkButtonAction:" target="Uzf-Tf-H8x" id="E2T-ee-34i"/>
+                                                                    </connections>
+                                                                </button>
+                                                            </subviews>
+                                                            <constraints>
+                                                                <constraint firstAttribute="bottom" relation="greaterThanOrEqual" secondItem="f5c-zt-tHy" secondAttribute="bottom" constant="5" id="SbH-TQ-eXI"/>
+                                                                <constraint firstItem="f5c-zt-tHy" firstAttribute="centerY" secondItem="xiz-t0-wHG" secondAttribute="centerY" id="cD9-w6-RdD"/>
+                                                                <constraint firstItem="f5c-zt-tHy" firstAttribute="top" relation="greaterThanOrEqual" secondItem="xiz-t0-wHG" secondAttribute="top" constant="5" id="inr-OT-TWe"/>
+                                                                <constraint firstItem="f5c-zt-tHy" firstAttribute="leading" relation="greaterThanOrEqual" secondItem="xiz-t0-wHG" secondAttribute="leading" constant="5" id="sPR-Go-Z1e"/>
+                                                                <constraint firstAttribute="trailing" relation="greaterThanOrEqual" secondItem="f5c-zt-tHy" secondAttribute="trailing" constant="5" id="tls-Px-be5"/>
+                                                                <constraint firstItem="f5c-zt-tHy" firstAttribute="centerX" secondItem="xiz-t0-wHG" secondAttribute="centerX" id="uA7-o6-9kY"/>
+                                                            </constraints>
+                                                        </view>
+                                                        <color key="fillColor" red="0.0" green="0.0" blue="0.0" alpha="0.5" colorSpace="custom" customColorSpace="displayP3"/>
+                                                    </box>
                                                 </subviews>
                                                 <constraints>
                                                     <constraint firstAttribute="width" secondItem="5o7-Z0-dqS" secondAttribute="height" multiplier="1:1" id="0jj-cr-D72"/>
-                                                    <constraint firstItem="15t-2s-22l" firstAttribute="top" secondItem="5o7-Z0-dqS" secondAttribute="top" id="AS7-P7-l0D"/>
-                                                    <constraint firstItem="15t-2s-22l" firstAttribute="leading" secondItem="5o7-Z0-dqS" secondAttribute="leading" id="Aq6-SV-NCD"/>
-                                                    <constraint firstAttribute="bottom" secondItem="15t-2s-22l" secondAttribute="bottom" id="VGx-AQ-FZ1"/>
-                                                    <constraint firstAttribute="trailing" secondItem="15t-2s-22l" secondAttribute="trailing" id="l3U-tz-a1t"/>
+                                                    <constraint firstAttribute="height" constant="40" id="DYU-eT-dYg"/>
+                                                    <constraint firstItem="CzG-0S-Kke" firstAttribute="leading" secondItem="5o7-Z0-dqS" secondAttribute="leading" id="LLd-6R-Tgh"/>
+                                                    <constraint firstItem="CzG-0S-Kke" firstAttribute="top" secondItem="5o7-Z0-dqS" secondAttribute="top" id="V2e-KG-ewZ"/>
+                                                    <constraint firstAttribute="trailing" secondItem="CzG-0S-Kke" secondAttribute="trailing" id="XY7-2u-LL2"/>
+                                                    <constraint firstAttribute="bottom" secondItem="CzG-0S-Kke" secondAttribute="bottom" id="Zcd-VT-O2c"/>
                                                 </constraints>
                                             </customView>
                                             <slider hidden="YES" horizontalHuggingPriority="200" verticalHuggingPriority="750" verticalCompressionResistancePriority="751" mirrorLayoutDirectionWhenInternationalizing="never" translatesAutoresizingMaskIntoConstraints="NO" id="9Hg-t2-K5z" customClass="VLCSlider">
-                                                <rect key="frame" x="83" y="-2" width="339" height="17"/>
+                                                <rect key="frame" x="86" y="-2" width="480" height="20"/>
                                                 <sliderCell key="cell" controlSize="mini" continuous="YES" state="on" alignment="left" maxValue="1" doubleValue="0.32600000000000001" tickMarkPosition="above" sliderType="linear" id="YMg-uo-8nX" customClass="VLCSliderCell"/>
                                                 <connections>
                                                     <action selector="timeSliderAction:" target="Uzf-Tf-H8x" id="eDh-39-Ej1"/>
                                                 </connections>
                                             </slider>
                                             <textField wantsLayer="YES" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="oGd-mG-cFw" customClass="VLCTimeField">
-                                                <rect key="frame" x="566" y="1" width="52" height="11"/>
+                                                <rect key="frame" x="566" y="3" width="52" height="11"/>
                                                 <constraints>
                                                     <constraint firstAttribute="width" constant="48" id="mAg-xF-yHo"/>
                                                 </constraints>
@@ -434,13 +458,13 @@
                                         </constraints>
                                     </customView>
                                     <stackView distribution="fill" orientation="horizontal" alignment="centerY" horizontalStackHuggingPriority="249.99998474121094" verticalStackHuggingPriority="249.99998474121094" detachesHiddenViews="YES" translatesAutoresizingMaskIntoConstraints="NO" id="S1K-Lp-DVO">
-                                        <rect key="frame" x="700" y="4" width="180" height="37"/>
+                                        <rect key="frame" x="772" y="4" width="108" height="40"/>
                                         <subviews>
                                             <customView translatesAutoresizingMaskIntoConstraints="NO" id="i42-vp-ih7">
-                                                <rect key="frame" x="0.0" y="0.0" width="156" height="37"/>
+                                                <rect key="frame" x="0.0" y="0.0" width="84" height="40"/>
                                                 <subviews>
                                                     <slider verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="noz-yJ-oH4" customClass="VLCVolumeSlider">
-                                                        <rect key="frame" x="52" y="10" width="52" height="17"/>
+                                                        <rect key="frame" x="16" y="12" width="52" height="17"/>
                                                         <constraints>
                                                             <constraint firstAttribute="width" constant="48" id="EM2-Hh-lqK"/>
                                                         </constraints>
@@ -450,7 +474,7 @@
                                                         </connections>
                                                     </slider>
                                                     <button translatesAutoresizingMaskIntoConstraints="NO" id="75c-FF-mgb">
-                                                        <rect key="frame" x="106" y="13" width="12" height="12"/>
+                                                        <rect key="frame" x="70" y="14" width="12" height="12"/>
                                                         <constraints>
                                                             <constraint firstAttribute="height" constant="12" id="Kt0-WP-qU0"/>
                                                             <constraint firstAttribute="width" secondItem="75c-FF-mgb" secondAttribute="height" multiplier="1:1" id="isb-xH-sqB"/>
@@ -464,7 +488,7 @@
                                                         </connections>
                                                     </button>
                                                     <button translatesAutoresizingMaskIntoConstraints="NO" id="IAy-58-UPp">
-                                                        <rect key="frame" x="38" y="13" width="12" height="12"/>
+                                                        <rect key="frame" x="2" y="14" width="12" height="12"/>
                                                         <constraints>
                                                             <constraint firstAttribute="height" constant="12" id="VxM-zR-jQR"/>
                                                             <constraint firstAttribute="width" secondItem="IAy-58-UPp" secondAttribute="height" multiplier="1:1" id="geK-ie-rhZ"/>
@@ -488,7 +512,7 @@
                                                 </constraints>
                                             </customView>
                                             <button translatesAutoresizingMaskIntoConstraints="NO" id="dwM-Uz-pAw" userLabel="Full Screen Button">
-                                                <rect key="frame" x="164" y="11" width="16" height="16"/>
+                                                <rect key="frame" x="92" y="12" width="16" height="16"/>
                                                 <constraints>
                                                     <constraint firstAttribute="width" constant="16" id="ZEc-3p-Cwt"/>
                                                     <constraint firstAttribute="height" constant="16" id="e0o-op-5QK"/>
@@ -779,7 +803,6 @@
         </window>
         <customObject id="Uzf-Tf-H8x" userLabel="Detached Window Controls Bar" customClass="VLCMainWindowControlsBar">
             <connections>
-                <outlet property="artworkButton" destination="15t-2s-22l" id="aR1-bU-1to"/>
                 <outlet property="artworkImageView" destination="5o7-Z0-dqS" id="Pns-yT-lKx"/>
                 <outlet property="backwardButton" destination="jGc-Xw-GYI" id="0AG-44-SN3"/>
                 <outlet property="bottomBarView" destination="vUy-jt-gjY" id="WqX-SW-mpv"/>
@@ -787,7 +810,9 @@
                 <outlet property="forwardButton" destination="dPD-MZ-5oT" id="btH-v5-s7F"/>
                 <outlet property="fullscreenButton" destination="dwM-Uz-pAw" id="gXA-WS-Gig"/>
                 <outlet property="muteVolumeButton" destination="IAy-58-UPp" id="dDN-pE-Vmj"/>
+                <outlet property="openMainVideoViewButtonOverlay" destination="CzG-0S-Kke" id="6BY-BQ-72f"/>
                 <outlet property="playButton" destination="WgO-zh-k4s" id="0yC-Yh-H4V"/>
+                <outlet property="playbackStateTrackingView" destination="Ktr-qT-1fr" id="QgM-di-DFw"/>
                 <outlet property="playingItemDisplayField" destination="d0e-29-yNq" id="QUe-1S-TQO"/>
                 <outlet property="timeField" destination="zOB-QJ-TUy" id="mJL-1V-2lQ"/>
                 <outlet property="timeSlider" destination="9Hg-t2-K5z" id="sVe-s8-xW6"/>
@@ -1704,6 +1729,7 @@
         <image name="VLC" width="512" height="512"/>
         <image name="VLCBackwardTemplate" width="128" height="128"/>
         <image name="VLCForwardTemplate" width="128" height="128"/>
+        <image name="VLCFullscreenOffTemplate" width="128" height="128"/>
         <image name="VLCVolumeOffTemplate" width="128" height="128"/>
         <image name="VLCVolumeOnTemplate" width="128" height="128"/>
         <image name="arrow.up.arrow.down" catalog="system" width="19" height="15"/>


=====================================
modules/gui/macosx/windows/mainwindow/VLCMainWindowControlsBar.h
=====================================
@@ -26,6 +26,7 @@
 #import "windows/mainwindow/VLCControlsBarCommon.h"
 
 @class VLCVolumeSlider;
+ at class VLCTrackingView;
 
 /*****************************************************************************
  * VLCMainWindowControlsBar
@@ -42,6 +43,9 @@
 
 @property (readwrite, strong) IBOutlet NSButton *volumeUpButton;
 
+ at property (readwrite, strong) IBOutlet VLCTrackingView *playbackStateTrackingView;
+ at property (readwrite, strong) IBOutlet NSView *openMainVideoViewButtonOverlay;
+
 - (IBAction)stop:(id)sender;
 
 @end


=====================================
modules/gui/macosx/windows/mainwindow/VLCMainWindowControlsBar.m
=====================================
@@ -39,6 +39,7 @@
 #import "playlist/VLCPlayerController.h"
 
 #import "views/VLCTimeField.h"
+#import "views/VLCTrackingView.h"
 #import "views/VLCVolumeSlider.h"
 #import "views/VLCWrappableTextField.h"
 
@@ -97,6 +98,8 @@
 
     [self.timeField setAlignment: NSCenterTextAlignment];
     [self.trailingTimeField setAlignment: NSCenterTextAlignment];
+
+    [self.playbackStateTrackingView setViewToHide:_openMainVideoViewButtonOverlay];
 }
 
 #pragma mark -



View it on GitLab: https://code.videolan.org/videolan/vlc/-/compare/ef457f21992f7a272e619d420f41be5619dc4d0a...43242656f96fc09099ca8e05b78a4868787e60bd

-- 
View it on GitLab: https://code.videolan.org/videolan/vlc/-/compare/ef457f21992f7a272e619d420f41be5619dc4d0a...43242656f96fc09099ca8e05b78a4868787e60bd
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