[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