[vlc-commits] [Git][videolan/vlc][master] 33 commits: macosx: Add starter VLCLibraryHomeViewActionsView XIB
Steve Lhomme (@robUx4)
gitlab at videolan.org
Tue Nov 19 07:36:25 UTC 2024
Steve Lhomme pushed to branch master at VideoLAN / VLC
Commits:
2eb3878d by Claudio Cambra at 2024-11-19T06:56:02+00:00
macosx: Add starter VLCLibraryHomeViewActionsView XIB
Signed-off-by: Claudio Cambra <developer at claudiocambra.com>
- - - - -
54ce3735 by Claudio Cambra at 2024-11-19T06:56:02+00:00
macosx: Implement basic home actions view design
Signed-off-by: Claudio Cambra <developer at claudiocambra.com>
- - - - -
ab0e8f14 by Claudio Cambra at 2024-11-19T06:56:02+00:00
macosx: Add starter VLCLibraryHomeViewActionsViewController
Signed-off-by: Claudio Cambra <developer at claudiocambra.com>
- - - - -
c1e445fe by Claudio Cambra at 2024-11-19T06:56:02+00:00
macosx: Add convenience init for home view actions view controller
Signed-off-by: Claudio Cambra <developer at claudiocambra.com>
- - - - -
bedaaef9 by Claudio Cambra at 2024-11-19T06:56:02+00:00
macosx: Add actions view to home view stack view controller
Signed-off-by: Claudio Cambra <developer at claudiocambra.com>
- - - - -
e901bf20 by Claudio Cambra at 2024-11-19T06:56:02+00:00
macosx: Deduplicate adding of custom containers to home view stack view
Signed-off-by: Claudio Cambra <developer at claudiocambra.com>
- - - - -
d90310ae by Claudio Cambra at 2024-11-19T06:56:02+00:00
macosx: Add action outlets for home actions view buttons
Signed-off-by: Claudio Cambra <developer at claudiocambra.com>
- - - - -
eaea49a6 by Claudio Cambra at 2024-11-19T06:56:02+00:00
macosx: Add outlets for action view buttons
Signed-off-by: Claudio Cambra <developer at claudiocambra.com>
- - - - -
f07bbb07 by Claudio Cambra at 2024-11-19T06:56:02+00:00
macosx: Set height constraint on home view actions view
Signed-off-by: Claudio Cambra <developer at claudiocambra.com>
- - - - -
dfd4e5a1 by Claudio Cambra at 2024-11-19T06:56:02+00:00
macosx: Set up strings on home view action buttons
Signed-off-by: Claudio Cambra <developer at claudiocambra.com>
- - - - -
e32c614e by Claudio Cambra at 2024-11-19T06:56:02+00:00
macosx: Change home view actions view controller into just the view itself
This removes the need for a view controller. Additionally also fixes
some bugs with handling of actions in the buttons
Signed-off-by: Claudio Cambra <developer at claudiocambra.com>
- - - - -
af34283e by Claudio Cambra at 2024-11-19T06:56:02+00:00
macosx: Add starter VLCLibraryHomeViewActionButtonCell
Signed-off-by: Claudio Cambra <developer at claudiocambra.com>
- - - - -
d6c7202f by Claudio Cambra at 2024-11-19T06:56:02+00:00
macosx: Implement drawing of basic background for action button cell
Signed-off-by: Claudio Cambra <developer at claudiocambra.com>
- - - - -
9d5db258 by Claudio Cambra at 2024-11-19T06:56:02+00:00
macosx: Draw cell image within action cell
Signed-off-by: Claudio Cambra <developer at claudiocambra.com>
- - - - -
39fdce85 by Claudio Cambra at 2024-11-19T06:56:02+00:00
macosx: Draw accent-coloured image in action button cell
Signed-off-by: Claudio Cambra <developer at claudiocambra.com>
- - - - -
1c7546ae by Claudio Cambra at 2024-11-19T06:56:02+00:00
macosx: Scale the action button cell image proportionally
Signed-off-by: Claudio Cambra <developer at claudiocambra.com>
- - - - -
3be2b80f by Claudio Cambra at 2024-11-19T06:56:02+00:00
macosx: Draw title into action button cell
Signed-off-by: Claudio Cambra <developer at claudiocambra.com>
- - - - -
25060935 by Claudio Cambra at 2024-11-19T06:56:02+00:00
macosx: Calculate cellFrame min and max X and Y once only in action button cell
Signed-off-by: Claudio Cambra <developer at claudiocambra.com>
- - - - -
22a7f5d2 by Claudio Cambra at 2024-11-19T06:56:02+00:00
macosx: Account for title height when sizing and positioning image in action button cell
Signed-off-by: Claudio Cambra <developer at claudiocambra.com>
- - - - -
e0f919a3 by Claudio Cambra at 2024-11-19T06:56:02+00:00
macosx: Define and reuse title height instead of accessing each time
Signed-off-by: Claudio Cambra <developer at claudiocambra.com>
- - - - -
49d95e5e by Claudio Cambra at 2024-11-19T06:56:02+00:00
macosx: Give the title some vertical spacing between it and the image in action button cell
Signed-off-by: Claudio Cambra <developer at claudiocambra.com>
- - - - -
786b160a by Claudio Cambra at 2024-11-19T06:56:02+00:00
macosx: Add some padding to the action button cell title
Signed-off-by: Claudio Cambra <developer at claudiocambra.com>
- - - - -
9bf3e17b by Claudio Cambra at 2024-11-19T06:56:02+00:00
macosx: Make all actions in actions view xib use new action button cell
Signed-off-by: Claudio Cambra <developer at claudiocambra.com>
- - - - -
085693f8 by Claudio Cambra at 2024-11-19T06:56:02+00:00
macosx: Improve image vertical spacing in action button cell
Signed-off-by: Claudio Cambra <developer at claudiocambra.com>
- - - - -
32a5ac86 by Claudio Cambra at 2024-11-19T06:56:02+00:00
macosx: Move VLCImageView corner radius value into VLCLibraryUIUnits
Signed-off-by: Claudio Cambra <developer at claudiocambra.com>
- - - - -
ec8f00a0 by Claudio Cambra at 2024-11-19T06:56:02+00:00
macosx: Make corners of action button cell rounded
Signed-off-by: Claudio Cambra <developer at claudiocambra.com>
- - - - -
e19e679b by Claudio Cambra at 2024-11-19T06:56:02+00:00
macosx: Unify definition of border thicknesses
Signed-off-by: Claudio Cambra <developer at claudiocambra.com>
- - - - -
699757f5 by Claudio Cambra at 2024-11-19T06:56:02+00:00
macosx: Provide some visual feedback in action button cell when clicked
Signed-off-by: Claudio Cambra <developer at claudiocambra.com>
- - - - -
10fdc79c by Claudio Cambra at 2024-11-19T06:56:02+00:00
macosx: Cache the drawn image if recreation is not necessary
Signed-off-by: Claudio Cambra <developer at claudiocambra.com>
- - - - -
9c7dcaa7 by Claudio Cambra at 2024-11-19T06:56:02+00:00
macosx: Add a subtler accent colour
Signed-off-by: Claudio Cambra <developer at claudiocambra.com>
- - - - -
c8076d39 by Claudio Cambra at 2024-11-19T06:56:02+00:00
macosx: Make colour of icons in action button cells a bit more subtle
Signed-off-by: Claudio Cambra <developer at claudiocambra.com>
- - - - -
61c01e2f by Claudio Cambra at 2024-11-19T06:56:02+00:00
macosx: Centre align text on action button cells
Signed-off-by: Claudio Cambra <developer at claudiocambra.com>
- - - - -
5314b9a1 by Claudio Cambra at 2024-11-19T06:56:02+00:00
macosx: Unify open stream actions' wording across the gui
Signed-off-by: Claudio Cambra <developer at claudiocambra.com>
- - - - -
17 changed files:
- extras/package/macosx/VLC.xcodeproj/project.pbxproj
- modules/gui/macosx/Makefile.am
- modules/gui/macosx/UI/MainMenu.xib
- + modules/gui/macosx/UI/VLCLibraryHomeViewActionsView.xib
- modules/gui/macosx/extensions/NSColor+VLCAdditions.h
- modules/gui/macosx/extensions/NSColor+VLCAdditions.m
- modules/gui/macosx/library/VLCLibraryUIUnits.h
- modules/gui/macosx/library/VLCLibraryUIUnits.m
- modules/gui/macosx/library/audio-library/VLCLibraryAudioGroupHeaderView.m
- + modules/gui/macosx/library/home-library/VLCLibraryHomeViewActionButtonCell.h
- + modules/gui/macosx/library/home-library/VLCLibraryHomeViewActionButtonCell.m
- + modules/gui/macosx/library/home-library/VLCLibraryHomeViewActionsView.h
- + modules/gui/macosx/library/home-library/VLCLibraryHomeViewActionsView.m
- modules/gui/macosx/library/home-library/VLCLibraryHomeViewStackViewController.h
- modules/gui/macosx/library/home-library/VLCLibraryHomeViewStackViewController.m
- modules/gui/macosx/menus/VLCMainMenu.m
- modules/gui/macosx/views/VLCImageView.m
Changes:
=====================================
extras/package/macosx/VLC.xcodeproj/project.pbxproj
=====================================
@@ -80,6 +80,9 @@
53088E152AD7802C00C21358 /* VLCLibraryCarouselViewItemView.m in Sources */ = {isa = PBXBuildFile; fileRef = 53088E142AD7802C00C21358 /* VLCLibraryCarouselViewItemView.m */; };
530F32B32C8C757600233C03 /* VLCLibraryAbstractSegmentViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 530F32B22C8C757600233C03 /* VLCLibraryAbstractSegmentViewController.m */; };
531062192CE4AEFB0087F863 /* VLCStatusNotifierView.m in Sources */ = {isa = PBXBuildFile; fileRef = 531062182CE4AEFB0087F863 /* VLCStatusNotifierView.m */; };
+ 531062112CE1CB520087F863 /* VLCLibraryHomeViewActionsViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 531062102CE1CB520087F863 /* VLCLibraryHomeViewActionsViewController.m */; };
+ 531062112CE1CB520087F863 /* VLCLibraryHomeViewActionsView.m in Sources */ = {isa = PBXBuildFile; fileRef = 531062102CE1CB520087F863 /* VLCLibraryHomeViewActionsView.m */; };
+ 531062162CE259290087F863 /* VLCLibraryHomeViewActionButtonCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 531062152CE259290087F863 /* VLCLibraryHomeViewActionButtonCell.m */; };
5310AFB12B4FE72700E75F9A /* NSArray+VLCAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = 5310AFB02B4FE72700E75F9A /* NSArray+VLCAdditions.m */; };
5310AFB52B53EC4F00E75F9A /* iCarousel.m in Sources */ = {isa = PBXBuildFile; fileRef = 5310AFB32B53EC4E00E75F9A /* iCarousel.m */; };
531343E72A8E7B94007AEDFA /* VLCLibraryWindowNavigationSidebarViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 531343E62A8E7B94007AEDFA /* VLCLibraryWindowNavigationSidebarViewController.m */; };
@@ -302,6 +305,12 @@
530F32B22C8C757600233C03 /* VLCLibraryAbstractSegmentViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = VLCLibraryAbstractSegmentViewController.m; sourceTree = "<group>"; };
531062172CE4AEFB0087F863 /* VLCStatusNotifierView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = VLCStatusNotifierView.h; sourceTree = "<group>"; };
531062182CE4AEFB0087F863 /* VLCStatusNotifierView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = VLCStatusNotifierView.m; sourceTree = "<group>"; };
+ 5310620F2CE1CB520087F863 /* VLCLibraryHomeViewActionsViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = VLCLibraryHomeViewActionsViewController.h; sourceTree = "<group>"; };
+ 531062102CE1CB520087F863 /* VLCLibraryHomeViewActionsViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = VLCLibraryHomeViewActionsViewController.m; sourceTree = "<group>"; };
+ 5310620F2CE1CB520087F863 /* VLCLibraryHomeViewActionsView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = VLCLibraryHomeViewActionsView.h; sourceTree = "<group>"; };
+ 531062102CE1CB520087F863 /* VLCLibraryHomeViewActionsView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = VLCLibraryHomeViewActionsView.m; sourceTree = "<group>"; };
+ 531062142CE259290087F863 /* VLCLibraryHomeViewActionButtonCell.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = VLCLibraryHomeViewActionButtonCell.h; sourceTree = "<group>"; };
+ 531062152CE259290087F863 /* VLCLibraryHomeViewActionButtonCell.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = VLCLibraryHomeViewActionButtonCell.m; sourceTree = "<group>"; };
5310AFAF2B4FE72700E75F9A /* NSArray+VLCAdditions.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "NSArray+VLCAdditions.h"; sourceTree = "<group>"; };
5310AFB02B4FE72700E75F9A /* NSArray+VLCAdditions.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = "NSArray+VLCAdditions.m"; sourceTree = "<group>"; };
5310AFB32B53EC4E00E75F9A /* iCarousel.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = iCarousel.m; sourceTree = "<group>"; };
@@ -410,6 +419,7 @@
538DC4E42A6B69C00082DECD /* VLCLibraryAudioGroupHeaderView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = VLCLibraryAudioGroupHeaderView.h; sourceTree = "<group>"; };
53903D3829576ED500D0B308 /* VLCLibraryAudioGroupDataSource.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = VLCLibraryAudioGroupDataSource.h; sourceTree = "<group>"; };
53903D3929576ED500D0B308 /* VLCLibraryAudioGroupDataSource.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = VLCLibraryAudioGroupDataSource.m; sourceTree = "<group>"; };
+ 5390E0E52CE0AC3C00A4FC4A /* VLCLibraryHomeViewActionsView.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = VLCLibraryHomeViewActionsView.xib; sourceTree = "<group>"; };
539BA79D298C726200918C36 /* VLCAspectRatioRetainingVideoWindow.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = VLCAspectRatioRetainingVideoWindow.h; sourceTree = "<group>"; };
539BA79E298C726200918C36 /* VLCAspectRatioRetainingVideoWindow.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = VLCAspectRatioRetainingVideoWindow.m; sourceTree = "<group>"; };
539F114929E83A4200F13460 /* VLCLibraryTwoPaneSplitViewDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = VLCLibraryTwoPaneSplitViewDelegate.h; sourceTree = "<group>"; };
@@ -1599,6 +1609,10 @@
5350E4EB2B1B210E00F276CB /* home-library */ = {
isa = PBXGroup;
children = (
+ 531062142CE259290087F863 /* VLCLibraryHomeViewActionButtonCell.h */,
+ 531062152CE259290087F863 /* VLCLibraryHomeViewActionButtonCell.m */,
+ 5310620F2CE1CB520087F863 /* VLCLibraryHomeViewActionsView.h */,
+ 531062102CE1CB520087F863 /* VLCLibraryHomeViewActionsView.m */,
535F1BBE2B4892A200C78D98 /* VLCLibraryHomeViewAudioCarouselContainerView.h */,
535F1BBF2B4892A200C78D98 /* VLCLibraryHomeViewAudioCarouselContainerView.m */,
535F1BC12B4979D300C78D98 /* VLCLibraryHomeViewBaseCarouselContainerView.h */,
@@ -2072,6 +2086,7 @@
7D0F64052202047900FDB91F /* VLCLibraryCollectionViewItem.xib */,
536283FC2911476A00640C15 /* VLCLibraryCollectionViewMediaItemSupplementaryDetailView.xib */,
53B40FD42AA7618000C814E4 /* VLCLibraryHeroView.xib */,
+ 5390E0E52CE0AC3C00A4FC4A /* VLCLibraryHomeViewActionsView.xib */,
536283FA2911476A00640C15 /* VLCLibrarySongTableCellView.xib */,
7DE2F0482282D7980040DD0A /* VLCLibraryTableCellView.xib */,
534E8E3729A04F95009503F8 /* VLCMainVideoView.xib */,
@@ -2219,9 +2234,11 @@
1CCC89012078A3D500E5626F /* Preferences.xib in Sources */,
7DC21A7422049A6600F98A02 /* VLCOpenInputMetadata.m in Sources */,
1CCC89022078A3D500E5626F /* ResumeDialog.xib in Sources */,
+ 531062162CE259290087F863 /* VLCLibraryHomeViewActionButtonCell.m in Sources */,
532572032C3D79D80068DEC3 /* VLCLibrarySegmentBookmarkedLocation.m in Sources */,
7DE7232E22A51F8D00D72616 /* VLCPositionFormatter.m in Sources */,
534E8E3A29A06325009503F8 /* VLCMainVideoViewController.m in Sources */,
+ 531062112CE1CB520087F863 /* VLCLibraryHomeViewActionsView.m in Sources */,
536EFBF5295BCB8300F4CB13 /* VLCLibraryUIUnits.m in Sources */,
1CCC89032078A3D500E5626F /* SimplePreferences.xib in Sources */,
537BD6862C59216600446ED0 /* VLCLibraryGroupsViewController.m in Sources */,
=====================================
modules/gui/macosx/Makefile.am
=====================================
@@ -193,6 +193,10 @@ libmacosx_plugin_la_SOURCES = \
gui/macosx/library/groups-library/VLCLibraryGroupsDataSource.m \
gui/macosx/library/groups-library/VLCLibraryGroupsViewController.h \
gui/macosx/library/groups-library/VLCLibraryGroupsViewController.m \
+ gui/macosx/library/home-library/VLCLibraryHomeViewActionButtonCell.h \
+ gui/macosx/library/home-library/VLCLibraryHomeViewActionButtonCell.m \
+ gui/macosx/library/home-library/VLCLibraryHomeViewActionsView.h \
+ gui/macosx/library/home-library/VLCLibraryHomeViewActionsView.m \
gui/macosx/library/home-library/VLCLibraryHomeViewAudioCarouselContainerView.h \
gui/macosx/library/home-library/VLCLibraryHomeViewAudioCarouselContainerView.m \
gui/macosx/library/home-library/VLCLibraryHomeViewBaseCarouselContainerView.h \
@@ -490,6 +494,7 @@ libmacosx_plugin_la_XIB_SOURCES = \
gui/macosx/UI/VLCLibraryCollectionViewMediaItemListSupplementaryDetailView.xib \
gui/macosx/UI/VLCLibraryCollectionViewMediaItemSupplementaryDetailView.xib \
gui/macosx/UI/VLCLibraryHeroView.xib \
+ gui/macosx/UI/VLCLibraryHomeViewActionsView.xib \
gui/macosx/UI/VLCLibrarySongTableCellView.xib \
gui/macosx/UI/VLCMainVideoView.xib \
gui/macosx/UI/VLCMainVideoViewAudioMediaDecorativeView.xib \
=====================================
modules/gui/macosx/UI/MainMenu.xib
=====================================
@@ -281,7 +281,7 @@
<action selector="intfOpenDisc:" target="-2" id="Y60-I1-fEt"/>
</connections>
</menuItem>
- <menuItem title="Open Network..." keyEquivalent="n" id="446">
+ <menuItem title="Open Stream..." keyEquivalent="n" id="446">
<connections>
<action selector="intfOpenNet:" target="-2" id="76C-uE-5DX"/>
</connections>
=====================================
modules/gui/macosx/UI/VLCLibraryHomeViewActionsView.xib
=====================================
@@ -0,0 +1,108 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="23504" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES" customObjectInstantitationMethod="direct">
+ <dependencies>
+ <plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="23504"/>
+ <capability name="Image references" minToolsVersion="12.0"/>
+ <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
+ </dependencies>
+ <objects>
+ <customObject id="-2" userLabel="File's Owner"/>
+ <customObject id="-1" userLabel="First Responder" customClass="FirstResponder"/>
+ <customObject id="-3" userLabel="Application" customClass="NSObject"/>
+ <stackView distribution="fillEqually" orientation="horizontal" alignment="centerY" spacing="10" horizontalStackHuggingPriority="249.99998474121094" verticalStackHuggingPriority="250" detachesHiddenViews="YES" translatesAutoresizingMaskIntoConstraints="NO" id="3qj-hs-qA9" customClass="VLCLibraryHomeViewActionsView">
+ <rect key="frame" x="0.0" y="0.0" width="801" height="128"/>
+ <subviews>
+ <button verticalHuggingPriority="251" horizontalCompressionResistancePriority="250" translatesAutoresizingMaskIntoConstraints="NO" id="z8M-pF-aNN">
+ <rect key="frame" x="0.0" y="0.0" width="152" height="128"/>
+ <buttonCell key="cell" type="inline" title="Open file" bezelStyle="inline" image="internaldrive.fill" catalog="system" imagePosition="above" alignment="center" borderStyle="border" imageScaling="proportionallyUpOrDown" inset="2" id="BaI-vV-jQU" customClass="VLCLibraryHomeViewActionButtonCell">
+ <behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
+ <font key="font" metaFont="smallSystemBold"/>
+ </buttonCell>
+ <constraints>
+ <constraint firstAttribute="height" constant="128" id="8rS-SD-guH"/>
+ </constraints>
+ <connections>
+ <action selector="openFileAction:" target="3qj-hs-qA9" id="WNK-Gq-vbI"/>
+ </connections>
+ </button>
+ <button verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="cJy-ck-xd6">
+ <rect key="frame" x="162" y="0.0" width="152" height="128"/>
+ <buttonCell key="cell" type="inline" title="Open disc" bezelStyle="inline" imagePosition="above" alignment="center" borderStyle="border" imageScaling="proportionallyUpOrDown" inset="2" id="92c-b8-kwg" customClass="VLCLibraryHomeViewActionButtonCell">
+ <behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
+ <font key="font" metaFont="smallSystemBold"/>
+ <imageReference key="image" image="opticaldisc.fill" catalog="system" symbolScale="default"/>
+ </buttonCell>
+ <connections>
+ <action selector="openDiscAction:" target="3qj-hs-qA9" id="J6M-0U-hKB"/>
+ </connections>
+ </button>
+ <button verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="j8l-xq-Zuw">
+ <rect key="frame" x="324" y="0.0" width="153" height="128"/>
+ <buttonCell key="cell" type="inline" title="Open Stream" bezelStyle="inline" image="network" catalog="system" imagePosition="above" alignment="center" borderStyle="border" imageScaling="proportionallyUpOrDown" inset="2" id="2Vn-hv-Uao" customClass="VLCLibraryHomeViewActionButtonCell">
+ <behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
+ <font key="font" metaFont="smallSystemBold"/>
+ </buttonCell>
+ <connections>
+ <action selector="openUrlAction:" target="3qj-hs-qA9" id="hON-OU-Kvy"/>
+ </connections>
+ </button>
+ <button verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="y5B-QJ-eG5">
+ <rect key="frame" x="487" y="0.0" width="152" height="128"/>
+ <buttonCell key="cell" type="inline" title="Open capture device" bezelStyle="inline" image="camera.fill" catalog="system" imagePosition="above" alignment="center" borderStyle="border" imageScaling="proportionallyUpOrDown" inset="2" id="6uQ-ex-ony" customClass="VLCLibraryHomeViewActionButtonCell">
+ <behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
+ <font key="font" metaFont="smallSystemBold"/>
+ </buttonCell>
+ <connections>
+ <action selector="openCaptureDeviceAction:" target="3qj-hs-qA9" id="wNJ-8K-1tJ"/>
+ </connections>
+ </button>
+ <button verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="g9j-oN-Lyd">
+ <rect key="frame" x="649" y="0.0" width="152" height="128"/>
+ <buttonCell key="cell" type="inline" title="Browse" bezelStyle="inline" image="folder.fill" catalog="system" imagePosition="above" alignment="center" borderStyle="border" imageScaling="proportionallyUpOrDown" inset="2" id="0K4-If-7Qb" customClass="VLCLibraryHomeViewActionButtonCell">
+ <behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
+ <font key="font" metaFont="smallSystem"/>
+ </buttonCell>
+ <connections>
+ <action selector="openBrowseAction:" target="3qj-hs-qA9" id="T8n-Bm-2ni"/>
+ </connections>
+ </button>
+ </subviews>
+ <constraints>
+ <constraint firstItem="cJy-ck-xd6" firstAttribute="height" secondItem="z8M-pF-aNN" secondAttribute="height" id="Aji-3k-gXf"/>
+ <constraint firstItem="g9j-oN-Lyd" firstAttribute="height" secondItem="z8M-pF-aNN" secondAttribute="height" id="CzX-vh-F4u"/>
+ <constraint firstItem="y5B-QJ-eG5" firstAttribute="height" secondItem="z8M-pF-aNN" secondAttribute="height" id="HAT-ug-Hw2"/>
+ <constraint firstItem="j8l-xq-Zuw" firstAttribute="height" secondItem="z8M-pF-aNN" secondAttribute="height" id="LhC-o6-IfS"/>
+ <constraint firstAttribute="height" relation="greaterThanOrEqual" constant="50" id="q8R-0R-ebR"/>
+ </constraints>
+ <visibilityPriorities>
+ <integer value="1000"/>
+ <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"/>
+ <real value="3.4028234663852886e+38"/>
+ </customSpacing>
+ <connections>
+ <outlet property="openBrowseButton" destination="g9j-oN-Lyd" id="hRd-gf-7ar"/>
+ <outlet property="openCaptureDeviceButton" destination="y5B-QJ-eG5" id="sYh-WY-Hr0"/>
+ <outlet property="openDiscButton" destination="cJy-ck-xd6" id="5Kg-qb-mAA"/>
+ <outlet property="openFileButton" destination="z8M-pF-aNN" id="B3d-7J-NQ3"/>
+ <outlet property="openUrlButton" destination="j8l-xq-Zuw" id="Hw0-VI-0vH"/>
+ </connections>
+ <point key="canvasLocation" x="28.5" y="-120"/>
+ </stackView>
+ </objects>
+ <resources>
+ <image name="camera.fill" catalog="system" width="19" height="15"/>
+ <image name="folder.fill" catalog="system" width="18" height="14"/>
+ <image name="internaldrive.fill" catalog="system" width="18" height="13"/>
+ <image name="network" catalog="system" width="15" height="15"/>
+ <image name="opticaldisc.fill" catalog="system" width="15" height="15"/>
+ </resources>
+</document>
=====================================
modules/gui/macosx/extensions/NSColor+VLCAdditions.h
=====================================
@@ -27,6 +27,7 @@ NS_ASSUME_NONNULL_BEGIN
@interface NSColor (VLCAdditions)
@property (class, readonly) NSColor *VLCAccentColor;
+ at property (class, readonly) NSColor *VLCSubtlerAccentColor;
@property (class, readonly) NSColor *VLClibraryLightTitleColor;
@property (class, readonly) NSColor *VLClibraryDarkTitleColor;
@property (class, readonly) NSColor *VLClibrarySubtitleColor;
=====================================
modules/gui/macosx/extensions/NSColor+VLCAdditions.m
=====================================
@@ -38,6 +38,11 @@
return [NSColor colorWithRed:1. green:.38 blue:.04 alpha:1.];
}
++ (NSColor *)VLCSubtlerAccentColor
+{
+ return [NSColor.VLCAccentColor colorWithAlphaComponent:0.8];
+}
+
+ (NSColor *)VLClibraryLightTitleColor
{
return [NSColor colorWithRed:0.15 green:0.16 blue:0.17 alpha:1.];
=====================================
modules/gui/macosx/library/VLCLibraryUIUnits.h
=====================================
@@ -39,6 +39,10 @@ NS_ASSUME_NONNULL_BEGIN
@property (class, readonly) const CGFloat mediumSpacing;
@property (class, readonly) const CGFloat smallSpacing;
+ at property (class, readonly) const CGFloat cornerRadius;
+
+ at property (class, readonly) const CGFloat borderThickness;
+
@property (class, readonly) const CGFloat scrollBarSmallSideSize;
@property (class, readonly) const CGFloat largeTableViewRowHeight;
=====================================
modules/gui/macosx/library/VLCLibraryUIUnits.m
=====================================
@@ -51,6 +51,16 @@
return 5;
}
++ (const CGFloat)cornerRadius
+{
+ return 5.;
+}
+
++ (const CGFloat)borderThickness
+{
+ return 1.;
+}
+
+ (const CGFloat)scrollBarSmallSideSize
{
return 16;
=====================================
modules/gui/macosx/library/audio-library/VLCLibraryAudioGroupHeaderView.m
=====================================
@@ -53,7 +53,7 @@ NSString * const VLCLibraryAudioGroupHeaderViewIdentifier = @"VLCLibraryAudioGro
self.backgroundEffectView.wantsLayer = YES;
self.backgroundEffectView.layer.cornerRadius = VLCLibraryUIUnits.smallSpacing;
- self.backgroundEffectView.layer.borderWidth = 1;
+ self.backgroundEffectView.layer.borderWidth = VLCLibraryUIUnits.borderThickness;
[self updateColoredAppearance:self.effectiveAppearance];
}
=====================================
modules/gui/macosx/library/home-library/VLCLibraryHomeViewActionButtonCell.h
=====================================
@@ -0,0 +1,31 @@
+/*****************************************************************************
+ * VLCLibraryHomeViewActionButtonCell.h: MacOS X interface module
+ *****************************************************************************
+ * Copyright (C) 2024 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 <Cocoa/Cocoa.h>
+
+NS_ASSUME_NONNULL_BEGIN
+
+ at interface VLCLibraryHomeViewActionButtonCell : NSButtonCell
+
+ at end
+
+NS_ASSUME_NONNULL_END
=====================================
modules/gui/macosx/library/home-library/VLCLibraryHomeViewActionButtonCell.m
=====================================
@@ -0,0 +1,122 @@
+/*****************************************************************************
+ * VLCLibraryHomeViewActionButtonCell.m: MacOS X interface module
+ *****************************************************************************
+ * Copyright (C) 2024 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 "VLCLibraryHomeViewActionButtonCell.h"
+
+#import "extensions/NSColor+VLCAdditions.h"
+#import "extensions/NSFont+VLCAdditions.h"
+#import "library/VLCLibraryUIUnits.h"
+
+ at interface VLCLibraryHomeViewActionButtonCell ()
+
+ at property NSImage *cachedImage;
+ at property BOOL prevIsHighlighted;
+ at property NSRect prevFrame;
+
+ at end
+
+ at implementation VLCLibraryHomeViewActionButtonCell
+
+- (void)drawWithFrame:(NSRect)cellFrame inView:(NSView *)controlView
+{
+ [NSColor.VLCSubtleBorderColor setStroke];
+ [NSColor.windowBackgroundColor setFill];
+
+ const CGFloat cellMinX = NSMinX(cellFrame);
+ const CGFloat cellMinY = NSMinY(cellFrame);
+ const CGFloat cellMaxX = NSMaxX(cellFrame);
+ const CGFloat cellMaxY = NSMaxY(cellFrame);
+
+ NSBezierPath * const separatorPath =
+ [NSBezierPath bezierPathWithRoundedRect:cellFrame
+ xRadius:VLCLibraryUIUnits.cornerRadius
+ yRadius:VLCLibraryUIUnits.cornerRadius];
+ separatorPath.lineWidth = VLCLibraryUIUnits.borderThickness;
+ [separatorPath stroke];
+ [separatorPath fill];
+
+ const CGSize cellSize = cellFrame.size;
+ const CGFloat cellWidth = cellSize.width;
+ const CGFloat cellHeight = cellSize.height;
+
+ NSMutableParagraphStyle * const titleParagraphStyle = [[NSMutableParagraphStyle alloc] init];
+ titleParagraphStyle.alignment = NSTextAlignmentCenter;
+ NSDictionary<NSAttributedStringKey, id> * const titleAttributes = @{
+ NSForegroundColorAttributeName: NSColor.controlTextColor,
+ NSFontAttributeName: NSFont.VLCLibrarySubsectionSubheaderFont,
+ NSParagraphStyleAttributeName: titleParagraphStyle
+ };
+ const NSSize titleSize = [self.title sizeWithAttributes:titleAttributes];
+ const CGFloat titleHeight = titleSize.height + VLCLibraryUIUnits.smallSpacing;
+ [self.title drawInRect:CGRectMake(cellMinX + VLCLibraryUIUnits.smallSpacing,
+ cellMaxY - titleHeight,
+ cellWidth - VLCLibraryUIUnits.smallSpacing * 2,
+ titleHeight)
+ withAttributes:titleAttributes];
+
+ const CGSize imageSize = self.image.size;
+
+ if (self.cachedImage != self.image ||
+ self.prevIsHighlighted != self.isHighlighted ||
+ !NSEqualRects(self.prevFrame, cellFrame)) {
+
+ self.cachedImage = [NSImage imageWithSize:imageSize
+ flipped:NO
+ drawingHandler:^BOOL(NSRect dstRect) {
+ if (self.isHighlighted) {
+ [NSColor.VLCSubtleBorderColor set];
+ } else {
+ [NSColor.VLCSubtlerAccentColor set];
+ }
+ const NSRect imageRect = {NSZeroPoint, imageSize};
+ [self.image drawInRect:imageRect];
+ NSRectFillUsingOperation(imageRect, NSCompositingOperationSourceIn);
+ return YES;
+ }];
+
+ self.prevIsHighlighted = self.isHighlighted;
+ self.prevFrame = cellFrame;
+ }
+
+ const CGFloat originalImageAspectRatio = imageSize.width / imageSize.height;
+ const CGFloat imageAvailableVerticalSpace =
+ cellHeight - titleHeight - VLCLibraryUIUnits.largeSpacing * 2;
+ CGFloat imageWidth, imageHeight;
+
+ // Try to scale focusing on width first, if this yields a height that is too large, switch
+ if (cellWidth / originalImageAspectRatio > imageAvailableVerticalSpace) {
+ imageHeight = imageAvailableVerticalSpace;
+ imageWidth = imageHeight * originalImageAspectRatio;
+ } else {
+ imageWidth = cellWidth;
+ imageHeight = imageWidth / originalImageAspectRatio;
+ }
+
+ const CGPoint cellOrigin = cellFrame.origin;
+ const NSRect imageRect = NSMakeRect(cellOrigin.x + (cellWidth - imageWidth) / 2,
+ cellOrigin.y + (cellHeight - imageHeight) / 2,
+ imageWidth,
+ imageHeight);
+ [self.cachedImage drawInRect:imageRect];
+}
+
+ at end
=====================================
modules/gui/macosx/library/home-library/VLCLibraryHomeViewActionsView.h
=====================================
@@ -0,0 +1,45 @@
+/*****************************************************************************
+ * VLCLibraryHomeViewActionsViewController.h: MacOS X interface module
+ *****************************************************************************
+ * Copyright (C) 2024 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 <Cocoa/Cocoa.h>
+
+NS_ASSUME_NONNULL_BEGIN
+
+ at interface VLCLibraryHomeViewActionsView : NSStackView
+
+ at property (readwrite, weak) IBOutlet NSButton *openFileButton;
+ at property (readwrite, weak) IBOutlet NSButton *openDiscButton;
+ at property (readwrite, weak) IBOutlet NSButton *openUrlButton;
+ at property (readwrite, weak) IBOutlet NSButton *openCaptureDeviceButton;
+ at property (readwrite, weak) IBOutlet NSButton *openBrowseButton;
+
++ (instancetype)fromNibWithOwner:(id)owner;
+
+- (IBAction)openFileAction:(id)sender;
+- (IBAction)openDiscAction:(id)sender;
+- (IBAction)openUrlAction:(id)sender;
+- (IBAction)openCaptureDeviceAction:(id)sender;
+- (IBAction)openBrowseAction:(id)sender;
+
+ at end
+
+NS_ASSUME_NONNULL_END
=====================================
modules/gui/macosx/library/home-library/VLCLibraryHomeViewActionsView.m
=====================================
@@ -0,0 +1,77 @@
+/*****************************************************************************
+ * VLCLibraryHomeViewActionsViewController.m: MacOS X interface module
+ *****************************************************************************
+ * Copyright (C) 2024 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 "VLCLibraryHomeViewActionsView.h"
+
+#import "extensions/NSString+Helpers.h"
+#import "extensions/NSView+VLCAdditions.h"
+#import "library/VLCLibraryWindow.h"
+#import "main/VLCMain.h"
+#import "menus/VLCMainMenu.h"
+
+ at implementation VLCLibraryHomeViewActionsView
+
++ (instancetype)fromNibWithOwner:(id)owner
+{
+ return (VLCLibraryHomeViewActionsView*)[NSView fromNibNamed:@"VLCLibraryHomeViewActionsView"
+ withClass:VLCLibraryHomeViewActionsView.class
+ withOwner:owner];
+}
+
+
+- (void)awakeFromNib
+{
+ [super awakeFromNib];
+
+ self.openFileButton.title = _NS("Open file");
+ self.openDiscButton.title = _NS("Open disc");
+ self.openUrlButton.title = _NS("Open stream");
+ self.openCaptureDeviceButton.title = _NS("Open capture device");
+ self.openBrowseButton.title = _NS("Browse");
+}
+
+- (IBAction)openFileAction:(id)sender
+{
+ [VLCMain.sharedInstance.mainMenu intfOpenFile:self];
+}
+
+- (IBAction)openDiscAction:(id)sender
+{
+ [VLCMain.sharedInstance.mainMenu intfOpenDisc:self];
+}
+
+- (IBAction)openUrlAction:(id)sender
+{
+ [VLCMain.sharedInstance.mainMenu intfOpenNet:self];
+}
+
+- (IBAction)openCaptureDeviceAction:(id)sender
+{
+ [VLCMain.sharedInstance.mainMenu intfOpenCapture:self];
+}
+
+- (IBAction)openBrowseAction:(id)sender
+{
+ [VLCMain.sharedInstance.libraryWindow goToBrowseSection:self];
+}
+
+ at end
=====================================
modules/gui/macosx/library/home-library/VLCLibraryHomeViewStackViewController.h
=====================================
@@ -25,6 +25,7 @@
NS_ASSUME_NONNULL_BEGIN
@class VLCLibraryHeroView;
+ at class VLCLibraryHomeViewActionsView;
@class VLCLibraryHomeViewAudioCarouselContainerView;
@class VLCLibraryHomeViewVideoCarouselContainerView;
@protocol VLCMediaLibraryItemProtocol;
@@ -39,6 +40,7 @@ NS_ASSUME_NONNULL_BEGIN
@property (readwrite, weak, nonatomic) NSStackView *collectionsStackView;
@property (readwrite, weak, nonatomic) NSScrollView *collectionsStackViewScrollView;
+ at property (readonly) VLCLibraryHomeViewActionsView *actionsView;
@property (readonly) VLCLibraryHeroView *heroView;
@property (readonly) VLCLibraryHomeViewVideoCarouselContainerView *recentsView;
@property (readonly) VLCLibraryHomeViewAudioCarouselContainerView *audioRecentsView;
=====================================
modules/gui/macosx/library/home-library/VLCLibraryHomeViewStackViewController.m
=====================================
@@ -30,6 +30,7 @@
#import "library/VLCLibraryModel.h"
#import "library/VLCLibraryUIUnits.h"
+#import "library/home-library/VLCLibraryHomeViewActionsView.h"
#import "library/home-library/VLCLibraryHomeViewAudioCarouselContainerView.h"
#import "library/home-library/VLCLibraryHomeViewContainerView.h"
#import "library/home-library/VLCLibraryHomeViewVideoCarouselContainerView.h"
@@ -89,15 +90,22 @@
- (void)generateCustomContainers
{
+ _actionsView = [VLCLibraryHomeViewActionsView fromNibWithOwner:self];
_heroView = [VLCLibraryHeroView fromNibWithOwner:self];
- _leadingContainerCount += 1;
- [self addView:self.heroView toStackView:self.collectionsStackView];
- [self.heroView setOptimalRepresentedItem];
+ _leadingContainerCount += 2;
+ [self addCustomContainerViews];
[self audioRecentsChanged:nil];
[self recentsChanged:nil];
}
+- (void)addCustomContainerViews
+{
+ [self addView:self.actionsView toStackView:self.collectionsStackView];
+ [self addView:self.heroView toStackView:self.collectionsStackView];
+ [self.heroView setOptimalRepresentedItem];
+}
+
- (BOOL)recentMediaPresent
{
VLCLibraryModel * const model = VLCMain.sharedInstance.libraryController.libraryModel;
@@ -180,9 +188,9 @@
- (void)reloadData
{
dispatch_async(dispatch_get_main_queue(), ^{
- for (NSView<VLCLibraryHomeViewContainerView> * const containerView in self->_containers) {
- [self.heroView setOptimalRepresentedItem];
+ [self.heroView setOptimalRepresentedItem];
+ for (NSView<VLCLibraryHomeViewContainerView> * const containerView in self->_containers) {
if ([containerView isKindOfClass:VLCLibraryHomeViewBaseCarouselContainerView.class]) {
VLCLibraryHomeViewBaseCarouselContainerView * const baseContainerView = (VLCLibraryHomeViewBaseCarouselContainerView *)containerView;
[baseContainerView.dataSource reloadData];
@@ -290,9 +298,7 @@
[_collectionsStackView setHuggingPriority:NSLayoutPriorityDefaultHigh
forOrientation:NSLayoutConstraintOrientationVertical];
-
- [self addView:self.heroView toStackView:_collectionsStackView];
- [self.heroView setOptimalRepresentedItem];
+ [self addCustomContainerViews];
for (NSView<VLCLibraryHomeViewContainerView> * const containerView in _containers) {
[self addContainerView:containerView toStackView:_collectionsStackView];
=====================================
modules/gui/macosx/menus/VLCMainMenu.m
=====================================
@@ -360,7 +360,7 @@ typedef NS_ENUM(NSInteger, VLCObjectType) {
[_open_generic setTitle: _NS("Advanced Open File...")];
[_open_file setTitle: _NS("Open File...")];
[_open_disc setTitle: _NS("Open Disc...")];
- [_open_net setTitle: _NS("Open Network...")];
+ [_open_net setTitle: _NS("Open Stream...")];
[_open_capture setTitle: _NS("Open Capture Device...")];
[_open_recent setTitle: _NS("Open Recent")];
[_close_window setTitle: _NS("Close Window")];
=====================================
modules/gui/macosx/views/VLCImageView.m
=====================================
@@ -26,6 +26,7 @@
#import "extensions/NSColor+VLCAdditions.h"
#import "extensions/NSView+VLCAdditions.h"
+#import "library/VLCLibraryUIUnits.h"
@interface VLCImageView()
{
@@ -78,8 +79,8 @@
- (void)updateLayerImageCornerCropping
{
if (self.cropsImagesToRoundedCorners) {
- self.layer.cornerRadius = 5.;
- self.layer.borderWidth = 1.;
+ self.layer.cornerRadius = VLCLibraryUIUnits.cornerRadius;
+ self.layer.borderWidth = VLCLibraryUIUnits.borderThickness;
} else {
self.layer.cornerRadius = 0.;
self.layer.borderWidth = 0.;
View it on GitLab: https://code.videolan.org/videolan/vlc/-/compare/db55a1497b606078fa7d160ad1a4f16d14199a9b...5314b9a1ca11e8b7cda18997afffb83e264f0eab
--
View it on GitLab: https://code.videolan.org/videolan/vlc/-/compare/db55a1497b606078fa7d160ad1a4f16d14199a9b...5314b9a1ca11e8b7cda18997afffb83e264f0eab
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