[vlc-commits] [Git][videolan/vlc][master] 12 commits: macosx: Ensure fullscreen button is hidden and not just resized when native...

Jean-Baptiste Kempf (@jbk) gitlab at videolan.org
Tue Apr 11 05:52:07 UTC 2023



Jean-Baptiste Kempf pushed to branch master at VideoLAN / VLC


Commits:
68455f95 by Claudio Cambra at 2023-04-10T17:07:23+00:00
macosx: Ensure fullscreen button is hidden and not just resized when native fullscreen enabled, fixing visual bug in control bar

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

- - - - -
5b9b1e3c by Claudio Cambra at 2023-04-10T17:07:23+00:00
macosx: Add button cluster next to volume slider in VLCMainVideoView UI

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

- - - - -
781b30cc by Claudio Cambra at 2023-04-10T17:07:23+00:00
macosx: Add a VLCMainVideoViewControlsBar

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

- - - - -
1e6256b4 by Claudio Cambra at 2023-04-10T17:07:23+00:00
macosx: Enable bookmarks button in main video view to toggle bookmarks window

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

- - - - -
3d8f20a0 by Claudio Cambra at 2023-04-10T17:07:23+00:00
macosx: Hide subtitle button when there are no subtitle tracks available

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

- - - - -
21c17407 by Claudio Cambra at 2023-04-10T17:07:23+00:00
macosx: Hide audio tracks button when there are no subtitle tracks available

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

- - - - -
e6cdd3e3 by Claudio Cambra at 2023-04-10T17:07:23+00:00
macosx: Update visibility of tracks buttons when current media item changes or tracks are changed

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

- - - - -
30f09909 by Claudio Cambra at 2023-04-10T17:07:23+00:00
macosx: Open subtitles menu when hitting subtitles button

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

- - - - -
729f31d3 by Claudio Cambra at 2023-04-10T17:07:23+00:00
macosx: Open audio menu when clicking audio menu button in main video view

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

- - - - -
27290173 by Claudio Cambra at 2023-04-10T17:07:23+00:00
macosx: Simplify audio and subtitle button handling as we are showing the full menu

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

- - - - -
cf45b7a7 by Claudio Cambra at 2023-04-10T17:07:23+00:00
macosx: Add tooltips to subtitle and audio settings buttons

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

- - - - -
921a6a50 by Claudio Cambra at 2023-04-10T17:07:23+00:00
macosx: Constify pointers in VLCMainVideoViewControlsBar

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

- - - - -


6 changed files:

- extras/package/macosx/VLC.xcodeproj/project.pbxproj
- modules/gui/macosx/Makefile.am
- modules/gui/macosx/UI/VLCMainVideoView.xib
- modules/gui/macosx/windows/mainwindow/VLCControlsBarCommon.m
- + modules/gui/macosx/windows/mainwindow/VLCMainVideoViewControlsBar.h
- + modules/gui/macosx/windows/mainwindow/VLCMainVideoViewControlsBar.m


Changes:

=====================================
extras/package/macosx/VLC.xcodeproj/project.pbxproj
=====================================
@@ -79,6 +79,7 @@
 		5317FE04294E3DD3001702F0 /* VLCLibraryCollectionViewDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 5317FE03294E3DD3001702F0 /* VLCLibraryCollectionViewDelegate.m */; };
 		5325C57D29302E6800B2B63A /* VLCLibraryAudioViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 5325C57B29302E6800B2B63A /* VLCLibraryAudioViewController.m */; };
 		534E8E3A29A06325009503F8 /* VLCMainVideoViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 534E8E3929A06325009503F8 /* VLCMainVideoViewController.m */; };
+		5352B37329DF29BF0011CE03 /* VLCMainVideoViewControlsBar.m in Sources */ = {isa = PBXBuildFile; fileRef = 5352B37229DF29BF0011CE03 /* VLCMainVideoViewControlsBar.m */; };
 		5362550D293FD639005D64FA /* VLCLibraryWindowController.m in Sources */ = {isa = PBXBuildFile; fileRef = 5362550C293FD639005D64FA /* VLCLibraryWindowController.m */; };
 		536283F0291146BC00640C15 /* VLCLibraryTableView.m in Sources */ = {isa = PBXBuildFile; fileRef = 536283DE291146BC00640C15 /* VLCLibraryTableView.m */; };
 		536283F1291146BC00640C15 /* VLCLibraryAlbumTracksDataSource.m in Sources */ = {isa = PBXBuildFile; fileRef = 536283DF291146BC00640C15 /* VLCLibraryAlbumTracksDataSource.m */; };
@@ -258,6 +259,8 @@
 		534E8E3729A04F95009503F8 /* VLCMainVideoView.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = VLCMainVideoView.xib; sourceTree = "<group>"; };
 		534E8E3829A06325009503F8 /* VLCMainVideoViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = VLCMainVideoViewController.h; sourceTree = "<group>"; };
 		534E8E3929A06325009503F8 /* VLCMainVideoViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = VLCMainVideoViewController.m; sourceTree = "<group>"; };
+		5352B37129DF29BF0011CE03 /* VLCMainVideoViewControlsBar.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = VLCMainVideoViewControlsBar.h; sourceTree = "<group>"; };
+		5352B37229DF29BF0011CE03 /* VLCMainVideoViewControlsBar.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = VLCMainVideoViewControlsBar.m; sourceTree = "<group>"; };
 		5362550B293FD639005D64FA /* VLCLibraryWindowController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = VLCLibraryWindowController.h; sourceTree = "<group>"; };
 		5362550C293FD639005D64FA /* VLCLibraryWindowController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = VLCLibraryWindowController.m; sourceTree = "<group>"; };
 		536283DC291146BC00640C15 /* VLCLibraryAlbumTracksDataSource.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = VLCLibraryAlbumTracksDataSource.h; sourceTree = "<group>"; };
@@ -321,9 +324,9 @@
 		53ED472A29C8FF9D00795DB1 /* VLCLibraryAlbumTracksTableViewDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = VLCLibraryAlbumTracksTableViewDelegate.m; sourceTree = "<group>"; };
 		53ED472C29C907C200795DB1 /* VLCLibraryVideoTableViewDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = VLCLibraryVideoTableViewDelegate.h; sourceTree = "<group>"; };
 		53ED472D29C907C200795DB1 /* VLCLibraryVideoTableViewDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = VLCLibraryVideoTableViewDelegate.m; sourceTree = "<group>"; };
-		53ED473729CAF67F00795DB1 /* VLCLibraryTableCellViewProtocol.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = VLCLibraryTableCellViewProtocol.h; sourceTree = "<group>"; };
 		53ED473429CA4F3400795DB1 /* VLCLibraryTableViewDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = VLCLibraryTableViewDelegate.h; sourceTree = "<group>"; };
 		53ED473529CA4F3400795DB1 /* VLCLibraryTableViewDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = VLCLibraryTableViewDelegate.m; sourceTree = "<group>"; };
+		53ED473729CAF67F00795DB1 /* VLCLibraryTableCellViewProtocol.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = VLCLibraryTableCellViewProtocol.h; sourceTree = "<group>"; };
 		53ED473A29CBC64200795DB1 /* NSPasteboardItem+VLCAdditions.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "NSPasteboardItem+VLCAdditions.h"; sourceTree = "<group>"; };
 		53ED473B29CBC64200795DB1 /* NSPasteboardItem+VLCAdditions.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = "NSPasteboardItem+VLCAdditions.m"; sourceTree = "<group>"; };
 		53F0E92B299B002300491D49 /* VLCInputNodePathControlItem.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = VLCInputNodePathControlItem.h; sourceTree = "<group>"; };
@@ -1034,6 +1037,8 @@
 			children = (
 				1C1ED51D2205AC6B00811EC0 /* VLCControlsBarCommon.h */,
 				E0382C01160BA09E0031D7FF /* VLCControlsBarCommon.m */,
+				5352B37129DF29BF0011CE03 /* VLCMainVideoViewControlsBar.h */,
+				5352B37229DF29BF0011CE03 /* VLCMainVideoViewControlsBar.m */,
 				7D5678EE1D5BA397002698F3 /* VLCMainWindowControlsBar.h */,
 				7D5678EF1D5BA397002698F3 /* VLCMainWindowControlsBar.m */,
 			);
@@ -1897,6 +1902,7 @@
 				7D61DCE4236C1937008133CF /* VLCCustomWindowButton.m in Sources */,
 				7DFFF90123682D4800C8B0C9 /* VLCDetachedAudioWindow.m in Sources */,
 				7D66D4392200C5B80040D04A /* VLCVideoFilterHelper.m in Sources */,
+				5352B37329DF29BF0011CE03 /* VLCMainVideoViewControlsBar.m in Sources */,
 				7D445D812202524000263D34 /* VLCPlaylistController.m in Sources */,
 				7DFBDCBE226CED7200B700A5 /* VLCMediaSource.m in Sources */,
 				536283F2291146BC00640C15 /* VLCLibraryCollectionViewAlbumSupplementaryDetailView.m in Sources */,


=====================================
modules/gui/macosx/Makefile.am
=====================================
@@ -348,6 +348,8 @@ libmacosx_plugin_la_SOURCES = \
 	gui/macosx/windows/logging/VLCLogWindowController.m \
 	gui/macosx/windows/mainwindow/VLCControlsBarCommon.h \
 	gui/macosx/windows/mainwindow/VLCControlsBarCommon.m \
+	gui/macosx/windows/mainwindow/VLCMainVideoViewControlsBar.h \
+	gui/macosx/windows/mainwindow/VLCMainVideoViewControlsBar.m \
 	gui/macosx/windows/mainwindow/VLCMainWindowControlsBar.h \
 	gui/macosx/windows/mainwindow/VLCMainWindowControlsBar.m \
 	gui/macosx/windows/video/VLCAspectRatioRetainingVideoWindow.h \


=====================================
modules/gui/macosx/UI/VLCMainVideoView.xib
=====================================
@@ -1,8 +1,8 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="21507" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES" customObjectInstantitationMethod="direct">
+<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="21701" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES" customObjectInstantitationMethod="direct">
     <dependencies>
         <deployment version="101000" identifier="macosx"/>
-        <plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="21507"/>
+        <plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="21701"/>
         <capability name="Image references" minToolsVersion="12.0"/>
         <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
     </dependencies>
@@ -28,19 +28,20 @@
         </customObject>
         <customObject id="-1" userLabel="First Responder" customClass="FirstResponder"/>
         <customObject id="-3" userLabel="Application" customClass="NSObject"/>
-        <customObject id="3" userLabel="Main Video View Controls Bar" customClass="VLCControlsBarCommon">
+        <customObject id="3" userLabel="Main Video View Controls Bar" customClass="VLCMainVideoViewControlsBar">
             <connections>
+                <outlet property="audioButton" destination="cja-ZG-8LF" id="96C-CC-iV7"/>
                 <outlet property="backwardButton" destination="V9d-hX-iyg" id="ZFn-jn-7OB"/>
+                <outlet property="bookmarksButton" destination="4tZ-52-1q9" id="dAN-YB-YZ5"/>
                 <outlet property="forwardButton" destination="sF5-Z0-bef" id="H6w-Le-NAK"/>
                 <outlet property="fullscreenButton" destination="dYZ-ri-Kra" id="Cw2-BS-QG9"/>
                 <outlet property="fullscreenButtonWidthConstraint" destination="quS-fD-Od7" id="6hT-nR-yQI"/>
-                <outlet property="muteVolumeButton" destination="tVB-Xs-sJJ" id="snj-OU-aTI"/>
                 <outlet property="playButton" destination="PCC-8a-sVF" id="ddT-ZM-Jhz"/>
                 <outlet property="songNameTextField" destination="lEW-MN-FFU" id="btX-L9-7TO"/>
+                <outlet property="subtitlesButton" destination="YTl-LZ-WDe" id="893-XB-eDY"/>
                 <outlet property="timeField" destination="3ri-8b-8mw" id="f0i-Gh-R8V"/>
                 <outlet property="timeSlider" destination="qNZ-Fh-W8i" id="Fkk-fj-s5Q"/>
                 <outlet property="trailingTimeField" destination="f4v-2z-dQ1" id="AXX-AU-lF0"/>
-                <outlet property="volumeSlider" destination="lyY-Zo-4aH" id="HbX-7f-pNR"/>
             </connections>
         </customObject>
         <customView id="WRu-Ic-lQK">
@@ -80,7 +81,7 @@
                                         </textFieldCell>
                                     </textField>
                                     <textField wantsLayer="YES" verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" translatesAutoresizingMaskIntoConstraints="NO" id="lEW-MN-FFU" customClass="VLCWrappableTextField">
-                                        <rect key="frame" x="18" y="59" width="495" height="28"/>
+                                        <rect key="frame" x="18" y="59" width="394" height="28"/>
                                         <textFieldCell key="cell" controlSize="small" lineBreakMode="truncatingTail" allowsUndo="NO" sendsActionOnEndEditing="YES" alignment="left" placeholderString="Nothing Playing" usesSingleLineMode="YES" id="8l0-zS-fOa">
                                             <font key="font" metaFont="systemBold" size="24"/>
                                             <color key="textColor" name="headerTextColor" catalog="System" colorSpace="catalog"/>
@@ -97,34 +98,111 @@
                                             <action selector="timeSliderAction:" target="3" id="W32-wA-rN9"/>
                                         </connections>
                                     </slider>
-                                    <stackView distribution="fill" orientation="horizontal" alignment="centerY" spacing="20" horizontalStackHuggingPriority="249.99998474121094" verticalStackHuggingPriority="249.99998474121094" detachesHiddenViews="YES" translatesAutoresizingMaskIntoConstraints="NO" id="sJu-ZK-5QH">
-                                        <rect key="frame" x="531" y="59" width="169" height="32"/>
+                                    <stackView distribution="fill" orientation="horizontal" alignment="centerY" spacing="10" horizontalStackHuggingPriority="249.99998474121094" verticalStackHuggingPriority="249.99998474121094" detachesHiddenViews="YES" translatesAutoresizingMaskIntoConstraints="NO" id="sJu-ZK-5QH">
+                                        <rect key="frame" x="430" y="59" width="270" height="32"/>
                                         <subviews>
                                             <stackView distribution="fill" orientation="horizontal" alignment="centerY" spacing="5" horizontalStackHuggingPriority="249.99998474121094" verticalStackHuggingPriority="249.99998474121094" detachesHiddenViews="YES" translatesAutoresizingMaskIntoConstraints="NO" id="Y8F-hr-iaW">
-                                                <rect key="frame" x="0.0" y="0.0" width="117" height="32"/>
+                                                <rect key="frame" x="0.0" y="0.0" width="143" height="32"/>
                                                 <subviews>
-                                                    <button wantsLayer="YES" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="tVB-Xs-sJJ" customClass="VLCImageButton">
+                                                    <button wantsLayer="YES" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="cja-ZG-8LF" customClass="VLCImageButton">
                                                         <rect key="frame" x="0.0" y="-1" width="32" height="33"/>
                                                         <constraints>
-                                                            <constraint firstAttribute="width" constant="32" id="PGL-rL-Qcp"/>
-                                                            <constraint firstAttribute="width" secondItem="tVB-Xs-sJJ" secondAttribute="height" multiplier="1:1" id="qTO-ie-xwE"/>
+                                                            <constraint firstAttribute="width" secondItem="cja-ZG-8LF" secondAttribute="height" multiplier="1:1" id="Hc7-cx-AiL"/>
+                                                            <constraint firstAttribute="width" constant="32" id="NiS-Cd-FWu"/>
                                                         </constraints>
-                                                        <buttonCell key="cell" type="recessed" bezelStyle="recessed" image="volume.3.fill" catalog="system" imagePosition="only" alignment="center" controlSize="large" borderStyle="border" imageScaling="proportionallyUpOrDown" inset="2" id="skE-5H-zgX">
+                                                        <buttonCell key="cell" type="recessed" bezelStyle="recessed" image="waveform.circle" catalog="system" imagePosition="only" alignment="center" controlSize="large" borderStyle="border" imageScaling="proportionallyUpOrDown" inset="2" id="5em-Cm-yoF">
                                                             <behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES" changeBackground="YES" changeGray="YES"/>
                                                             <font key="font" metaFont="system"/>
                                                         </buttonCell>
                                                         <connections>
-                                                            <action selector="volumeAction:" target="3" id="4W0-Ft-7pO"/>
+                                                            <action selector="openAudioMenu:" target="3" id="hHT-Oc-wgF"/>
                                                         </connections>
                                                     </button>
-                                                    <slider verticalHuggingPriority="750" horizontalCompressionResistancePriority="800" translatesAutoresizingMaskIntoConstraints="NO" id="lyY-Zo-4aH" customClass="VLCVolumeSlider">
+                                                    <button wantsLayer="YES" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="YTl-LZ-WDe" customClass="VLCImageButton">
+                                                        <rect key="frame" x="37" y="-1" width="32" height="33"/>
+                                                        <constraints>
+                                                            <constraint firstAttribute="width" constant="32" id="lX6-ad-1gX"/>
+                                                            <constraint firstAttribute="width" secondItem="YTl-LZ-WDe" secondAttribute="height" multiplier="1:1" id="vzf-FG-VLf"/>
+                                                        </constraints>
+                                                        <buttonCell key="cell" type="recessed" bezelStyle="recessed" image="text.bubble" catalog="system" imagePosition="only" alignment="center" controlSize="large" borderStyle="border" imageScaling="proportionallyUpOrDown" inset="2" id="1qF-LY-LkO">
+                                                            <behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES" changeBackground="YES" changeGray="YES"/>
+                                                            <font key="font" metaFont="system"/>
+                                                        </buttonCell>
+                                                        <connections>
+                                                            <action selector="openSubtitlesMenu:" target="3" id="X6e-aG-mVF"/>
+                                                        </connections>
+                                                    </button>
+                                                    <button wantsLayer="YES" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="4tZ-52-1q9" customClass="VLCImageButton">
+                                                        <rect key="frame" x="74" y="-1" width="32" height="33"/>
+                                                        <constraints>
+                                                            <constraint firstAttribute="width" constant="32" id="oY2-hp-RHB"/>
+                                                            <constraint firstAttribute="width" secondItem="4tZ-52-1q9" secondAttribute="height" multiplier="1:1" id="pSW-vN-Ly5"/>
+                                                        </constraints>
+                                                        <buttonCell key="cell" type="recessed" bezelStyle="recessed" image="bookmark.circle" catalog="system" imagePosition="only" alignment="center" controlSize="large" borderStyle="border" imageScaling="proportionallyUpOrDown" inset="2" id="bGc-fn-jgQ">
+                                                            <behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES" changeBackground="YES" changeGray="YES"/>
+                                                            <font key="font" metaFont="system"/>
+                                                        </buttonCell>
+                                                        <connections>
+                                                            <action selector="openBookmarks:" target="3" id="o6m-9M-L4U"/>
+                                                        </connections>
+                                                    </button>
+                                                    <button wantsLayer="YES" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="dYZ-ri-Kra" customClass="VLCImageButton">
+                                                        <rect key="frame" x="111" y="-1" width="32" height="33"/>
+                                                        <constraints>
+                                                            <constraint firstAttribute="width" secondItem="dYZ-ri-Kra" secondAttribute="height" multiplier="1:1" id="cHQ-Fu-L8k"/>
+                                                            <constraint firstAttribute="width" constant="32" id="quS-fD-Od7"/>
+                                                        </constraints>
+                                                        <buttonCell key="cell" type="recessed" bezelStyle="recessed" image="arrow.up.left.and.arrow.down.right" catalog="system" imagePosition="only" alignment="center" controlSize="large" borderStyle="border" imageScaling="proportionallyUpOrDown" inset="2" id="Z8g-js-0W6">
+                                                            <behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES" changeBackground="YES" changeGray="YES"/>
+                                                            <font key="font" metaFont="system"/>
+                                                        </buttonCell>
+                                                        <connections>
+                                                            <action selector="fullscreen:" target="3" id="0Kk-UV-WtF"/>
+                                                        </connections>
+                                                    </button>
+                                                </subviews>
+                                                <constraints>
+                                                    <constraint firstItem="YTl-LZ-WDe" firstAttribute="width" secondItem="YTl-LZ-WDe" secondAttribute="height" multiplier="1:1" id="2QI-lH-hlk"/>
+                                                    <constraint firstItem="4tZ-52-1q9" firstAttribute="width" secondItem="4tZ-52-1q9" secondAttribute="height" multiplier="1:1" id="UdU-aK-B0s"/>
+                                                </constraints>
+                                                <visibilityPriorities>
+                                                    <integer value="1000"/>
+                                                    <integer value="1000"/>
+                                                    <integer value="1000"/>
+                                                    <integer value="1000"/>
+                                                </visibilityPriorities>
+                                                <customSpacing>
+                                                    <real value="3.4028234663852886e+38"/>
+                                                    <real value="3.4028234663852886e+38"/>
+                                                    <real value="3.4028234663852886e+38"/>
+                                                    <real value="3.4028234663852886e+38"/>
+                                                </customSpacing>
+                                            </stackView>
+                                            <stackView distribution="fill" orientation="horizontal" alignment="centerY" spacing="5" horizontalStackHuggingPriority="249.99998474121094" verticalStackHuggingPriority="249.99998474121094" detachesHiddenViews="YES" translatesAutoresizingMaskIntoConstraints="NO" id="zyp-45-IgR">
+                                                <rect key="frame" x="153" y="0.0" width="117" height="32"/>
+                                                <subviews>
+                                                    <button wantsLayer="YES" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="afi-4d-rQk" customClass="VLCImageButton">
+                                                        <rect key="frame" x="0.0" y="-1" width="32" height="33"/>
+                                                        <constraints>
+                                                            <constraint firstAttribute="width" secondItem="afi-4d-rQk" secondAttribute="height" multiplier="1:1" id="2lo-OW-sv9"/>
+                                                            <constraint firstAttribute="width" constant="32" id="PWI-LB-n9j"/>
+                                                        </constraints>
+                                                        <buttonCell key="cell" type="recessed" bezelStyle="recessed" image="volume.3.fill" catalog="system" imagePosition="only" alignment="center" controlSize="large" borderStyle="border" imageScaling="proportionallyUpOrDown" inset="2" id="POe-ne-XtP">
+                                                            <behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES" changeBackground="YES" changeGray="YES"/>
+                                                            <font key="font" metaFont="system"/>
+                                                        </buttonCell>
+                                                        <connections>
+                                                            <action selector="volumeAction:" target="3" id="GOu-6c-pg9"/>
+                                                        </connections>
+                                                    </button>
+                                                    <slider verticalHuggingPriority="750" horizontalCompressionResistancePriority="800" translatesAutoresizingMaskIntoConstraints="NO" id="fKc-2d-Uu6" customClass="VLCVolumeSlider">
                                                         <rect key="frame" x="35" y="8" width="84" height="17"/>
                                                         <constraints>
-                                                            <constraint firstAttribute="width" constant="80" id="SeC-cP-5Dr"/>
+                                                            <constraint firstAttribute="width" constant="80" id="cWg-Fr-x0Z"/>
                                                         </constraints>
-                                                        <sliderCell key="cell" controlSize="mini" continuous="YES" state="on" alignment="left" maxValue="512" doubleValue="50" tickMarkPosition="above" sliderType="linear" id="Zws-Wl-Ctp" customClass="VLCVolumeSliderCell"/>
+                                                        <sliderCell key="cell" controlSize="mini" continuous="YES" state="on" alignment="left" maxValue="512" doubleValue="50" tickMarkPosition="above" sliderType="linear" id="Gp6-7o-lvj" customClass="VLCVolumeSliderCell"/>
                                                         <connections>
-                                                            <action selector="volumeAction:" target="3" id="rPg-yg-qAG"/>
+                                                            <action selector="volumeAction:" target="3" id="soW-Fc-H3Y"/>
                                                         </connections>
                                                     </slider>
                                                 </subviews>
@@ -137,20 +215,6 @@
                                                     <real value="3.4028234663852886e+38"/>
                                                 </customSpacing>
                                             </stackView>
-                                            <button wantsLayer="YES" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="dYZ-ri-Kra" customClass="VLCImageButton">
-                                                <rect key="frame" x="137" y="-1" width="32" height="33"/>
-                                                <constraints>
-                                                    <constraint firstAttribute="width" secondItem="dYZ-ri-Kra" secondAttribute="height" multiplier="1:1" id="cHQ-Fu-L8k"/>
-                                                    <constraint firstAttribute="width" constant="32" id="quS-fD-Od7"/>
-                                                </constraints>
-                                                <buttonCell key="cell" type="recessed" bezelStyle="recessed" image="NSEnterFullScreenTemplate" imagePosition="only" alignment="center" controlSize="large" borderStyle="border" imageScaling="proportionallyUpOrDown" inset="2" id="Z8g-js-0W6">
-                                                    <behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES" changeBackground="YES" changeGray="YES"/>
-                                                    <font key="font" metaFont="system"/>
-                                                </buttonCell>
-                                                <connections>
-                                                    <action selector="fullscreen:" target="3" id="0Kk-UV-WtF"/>
-                                                </connections>
-                                            </button>
                                         </subviews>
                                         <visibilityPriorities>
                                             <integer value="1000"/>
@@ -197,7 +261,7 @@
                                 <rect key="frame" x="260" y="208" width="200" height="64"/>
                                 <subviews>
                                     <button translatesAutoresizingMaskIntoConstraints="NO" id="V9d-hX-iyg" customClass="VLCImageButton">
-                                        <rect key="frame" x="0.0" y="7" width="48" height="51"/>
+                                        <rect key="frame" x="0.0" y="6.5" width="48" height="51"/>
                                         <constraints>
                                             <constraint firstAttribute="width" constant="48" id="XBm-GM-29d"/>
                                             <constraint firstAttribute="width" secondItem="V9d-hX-iyg" secondAttribute="height" multiplier="1:1" id="mjk-wN-72b"/>
@@ -215,7 +279,7 @@
                                         </connections>
                                     </button>
                                     <button translatesAutoresizingMaskIntoConstraints="NO" id="PCC-8a-sVF" customClass="VLCImageButton">
-                                        <rect key="frame" x="68" y="-2" width="64" height="68"/>
+                                        <rect key="frame" x="68" y="-2" width="64.5" height="68"/>
                                         <constraints>
                                             <constraint firstAttribute="width" secondItem="PCC-8a-sVF" secondAttribute="height" multiplier="1:1" id="2jF-Y0-kn3"/>
                                             <constraint firstAttribute="width" constant="64" id="OHb-xJ-sqM"/>
@@ -236,7 +300,7 @@
                                         </connections>
                                     </button>
                                     <button translatesAutoresizingMaskIntoConstraints="NO" id="sF5-Z0-bef" customClass="VLCImageButton">
-                                        <rect key="frame" x="152" y="7" width="48" height="51"/>
+                                        <rect key="frame" x="152" y="6.5" width="48" height="51"/>
                                         <constraints>
                                             <constraint firstAttribute="width" constant="48" id="M5n-CD-fd3"/>
                                             <constraint firstAttribute="width" secondItem="sF5-Z0-bef" secondAttribute="height" multiplier="1:1" id="b5c-td-Idb"/>
@@ -332,13 +396,16 @@
         </customView>
     </objects>
     <resources>
-        <image name="NSEnterFullScreenTemplate" width="20" height="18"/>
-        <image name="NSLeftFacingTriangleTemplate" width="12" height="16"/>
-        <image name="NSListViewTemplate" width="21" height="14"/>
+        <image name="NSLeftFacingTriangleTemplate" width="12" height="17"/>
+        <image name="NSListViewTemplate" width="21" height="15"/>
         <image name="VLCPauseTemplate" width="128" height="128"/>
-        <image name="backward.fill" catalog="system" width="20" height="12"/>
-        <image name="forward.fill" catalog="system" width="20" height="12"/>
+        <image name="arrow.up.left.and.arrow.down.right" catalog="system" width="16" height="15"/>
+        <image name="backward.fill" catalog="system" width="19" height="12"/>
+        <image name="bookmark.circle" catalog="system" width="15" height="15"/>
+        <image name="forward.fill" catalog="system" width="19" height="12"/>
         <image name="play.fill" catalog="system" width="12" height="13"/>
+        <image name="text.bubble" catalog="system" width="17" height="16"/>
         <image name="volume.3.fill" catalog="system" width="22" height="15"/>
+        <image name="waveform.circle" catalog="system" width="15" height="15"/>
     </resources>
 </document>


=====================================
modules/gui/macosx/windows/mainwindow/VLCControlsBarCommon.m
=====================================
@@ -170,6 +170,7 @@
     // remove fullscreen button for lion fullscreen
     if (_nativeFullscreenMode) {
         self.fullscreenButtonWidthConstraint.constant = 0;
+        self.fullscreenButton.hidden = YES;
     }
 
     self.backwardButton.accessibilityTitle = _NS("Previous");


=====================================
modules/gui/macosx/windows/mainwindow/VLCMainVideoViewControlsBar.h
=====================================
@@ -0,0 +1,39 @@
+/*****************************************************************************
+ * VLCMainVideoViewControlsBar.h: MacOS X interface module
+ *****************************************************************************
+ * Copyright (C) 2023 VLC authors and VideoLAN
+ *
+ * Authors: Claudio Cambra <developer at claudiocambra.com>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
+ *****************************************************************************/
+
+#import "VLCControlsBarCommon.h"
+
+NS_ASSUME_NONNULL_BEGIN
+
+ at interface VLCMainVideoViewControlsBar : VLCControlsBarCommon
+
+ at property (readwrite, strong) IBOutlet NSButton *bookmarksButton;
+ at property (readwrite, strong) IBOutlet NSButton *subtitlesButton;
+ at property (readwrite, strong) IBOutlet NSButton *audioButton;
+
+- (IBAction)openBookmarks:(id)sender;
+- (IBAction)openSubtitlesMenu:(id)sender;
+- (IBAction)openAudioMenu:(id)sender;
+
+ at end
+
+NS_ASSUME_NONNULL_END


=====================================
modules/gui/macosx/windows/mainwindow/VLCMainVideoViewControlsBar.m
=====================================
@@ -0,0 +1,73 @@
+/*****************************************************************************
+ * VLCMainVideoViewControlsBar.m: MacOS X interface module
+ *****************************************************************************
+ * Copyright (C) 2023 VLC authors and VideoLAN
+ *
+ * Authors: Claudio Cambra <developer at claudiocambra.com>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
+ *****************************************************************************/
+
+#import "VLCMainVideoViewControlsBar.h"
+
+#import "extensions/NSString+Helpers.h"
+
+#import "main/VLCMain.h"
+
+#import "menus/VLCMainMenu.h"
+
+#import "panels/VLCBookmarksWindowController.h"
+
+#import "playlist/VLCPlaylistController.h"
+#import "playlist/VLCPlayerController.h"
+
+ at implementation VLCMainVideoViewControlsBar
+
+- (void)awakeFromNib
+{
+    [super awakeFromNib];
+
+    _bookmarksButton.toolTip = _NS("Bookmarks");
+    _bookmarksButton.accessibilityLabel = _bookmarksButton.toolTip;
+
+    _subtitlesButton.toolTip = _NS("Subtitle settings");
+    _subtitlesButton.accessibilityLabel = _subtitlesButton.toolTip;
+
+    _audioButton.toolTip = _NS("Audio settings");
+    _audioButton.accessibilityLabel = _audioButton.toolTip;
+}
+
+- (IBAction)openBookmarks:(id)sender
+{
+    [VLCMain.sharedInstance.bookmarks toggleWindow:sender];
+}
+
+- (IBAction)openSubtitlesMenu:(id)sender
+{
+    NSMenu * const menu = VLCMain.sharedInstance.mainMenu.subtitlesMenu;
+    [menu popUpMenuPositioningItem:nil
+                        atLocation:_subtitlesButton.frame.origin
+                            inView:((NSView *)sender).superview];
+}
+
+- (IBAction)openAudioMenu:(id)sender
+{
+    NSMenu * const menu = VLCMain.sharedInstance.mainMenu.audioMenu;
+    [menu popUpMenuPositioningItem:nil
+                        atLocation:_audioButton.frame.origin
+                            inView:((NSView *)sender).superview];
+}
+
+ at end



View it on GitLab: https://code.videolan.org/videolan/vlc/-/compare/ed97dd9fb80a2d02de8c3b756aaeb263f8b807bb...921a6a50321439b9185478b69329de64b463a05f

-- 
View it on GitLab: https://code.videolan.org/videolan/vlc/-/compare/ed97dd9fb80a2d02de8c3b756aaeb263f8b807bb...921a6a50321439b9185478b69329de64b463a05f
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