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 <develo...@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 <develo...@claudiocambra.com>

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

Signed-off-by: Claudio Cambra <develo...@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 <develo...@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 <develo...@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 <develo...@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 <develo...@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 <develo...@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 <develo...@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 <develo...@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 <develo...@claudiocambra.com>

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

Signed-off-by: Claudio Cambra <develo...@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 <develo...@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
+
+@interface VLCMainVideoViewControlsBar : VLCControlsBarCommon
+
+@property (readwrite, strong) IBOutlet NSButton *bookmarksButton;
+@property (readwrite, strong) IBOutlet NSButton *subtitlesButton;
+@property (readwrite, strong) IBOutlet NSButton *audioButton;
+
+- (IBAction)openBookmarks:(id)sender;
+- (IBAction)openSubtitlesMenu:(id)sender;
+- (IBAction)openAudioMenu:(id)sender;
+
+@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 <develo...@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"
+
+@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];
+}
+
+@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
_______________________________________________
vlc-commits mailing list
vlc-commits@videolan.org
https://mailman.videolan.org/listinfo/vlc-commits

Reply via email to