[vlc-commits] [Git][videolan/vlc][master] 4 commits: macosx: Add VLCLibraryVideoTableCellView

Steve Lhomme (@robUx4) gitlab at videolan.org
Mon May 11 07:18:30 UTC 2026



Steve Lhomme pushed to branch master at VideoLAN / VLC


Commits:
faee8d44 by Claudio Cambra at 2026-05-11T07:04:38+00:00
macosx: Add VLCLibraryVideoTableCellView

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

- - - - -
b8888dec by Claudio Cambra at 2026-05-11T07:04:38+00:00
macosx: Use VLCLibraryVideoTableCellView in video list view moe

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

- - - - -
0975b821 by Claudio Cambra at 2026-05-11T07:04:38+00:00
macosx: Make video table cell view thumbnail 16:9

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

- - - - -
2ac99f19 by Claudio Cambra at 2026-05-11T07:04:38+00:00
macosx: Decrease height of video table view rows

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

- - - - -


6 changed files:

- modules/gui/macosx/Makefile.am
- + modules/gui/macosx/UI/VLCLibraryVideoTableCellView.xib
- modules/gui/macosx/library/VLCLibraryUIUnits.h
- modules/gui/macosx/library/VLCLibraryUIUnits.m
- modules/gui/macosx/library/video-library/VLCLibraryVideoTableViewDelegate.m
- modules/gui/macosx/library/video-library/VLCLibraryVideoViewController.m


Changes:

=====================================
modules/gui/macosx/Makefile.am
=====================================
@@ -560,6 +560,7 @@ libmacosx_plugin_la_XIB_SOURCES = \
 	gui/macosx/UI/VLCLibraryWindowSidebarRootView.xib \
 	gui/macosx/UI/VLCLibraryWindowTitlesView.xib \
 	gui/macosx/UI/VLCLibraryTableCellView.xib \
+	gui/macosx/UI/VLCLibraryVideoTableCellView.xib \
 	gui/macosx/UI/VLCPlayQueueTableCellView.xib \
 	gui/macosx/UI/VLCLibraryCarouselViewItemView.xib \
 	gui/macosx/UI/VLCLibraryCollectionViewItem.xib \


=====================================
modules/gui/macosx/UI/VLCLibraryVideoTableCellView.xib
=====================================
@@ -0,0 +1,104 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="21701" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES" customObjectInstantitationMethod="direct">
+    <dependencies>
+        <plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="21701"/>
+        <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
+    </dependencies>
+    <objects>
+        <customObject id="-2" userLabel="File's Owner" customClass="VLCLibraryVideoTableViewDelegate"/>
+        <customObject id="-1" userLabel="First Responder" customClass="FirstResponder"/>
+        <customObject id="-3" userLabel="Application" customClass="NSObject"/>
+        <customView id="c22-O7-iKe" customClass="VLCLibraryTableCellView">
+            <rect key="frame" x="0.0" y="0.0" width="398" height="48"/>
+            <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
+            <subviews>
+                <customView translatesAutoresizingMaskIntoConstraints="NO" id="ffE-px-l0g" customClass="VLCTrackingView">
+                    <rect key="frame" x="0.0" y="0.0" width="398" height="48"/>
+                </customView>
+                <customView translatesAutoresizingMaskIntoConstraints="NO" id="Ydb-7n-5Cd" customClass="VLCImageView">
+                    <rect key="frame" x="5" y="5" width="68" height="38"/>
+                    <constraints>
+                        <constraint firstAttribute="width" secondItem="Ydb-7n-5Cd" secondAttribute="height" multiplier="16:9" id="4aB-rs-m22"/>
+                    </constraints>
+                </customView>
+                <stackView distribution="fill" orientation="horizontal" alignment="centerY" spacing="5" horizontalStackHuggingPriority="249.99998474121094" verticalStackHuggingPriority="249.99998474121094" detachesHiddenViews="YES" translatesAutoresizingMaskIntoConstraints="NO" id="2yt-Ph-v3B">
+                    <rect key="frame" x="83" y="0.0" width="305" height="48"/>
+                    <subviews>
+                        <textField horizontalHuggingPriority="249" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="xJW-ps-ycn">
+                            <rect key="frame" x="-2" y="16" width="227" height="16"/>
+                            <textFieldCell key="cell" lineBreakMode="truncatingTail" title="Label" id="aCe-ia-0Ww">
+                                <font key="font" usesAppearanceFont="YES"/>
+                                <color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
+                                <color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
+                            </textFieldCell>
+                        </textField>
+                        <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="ohB-P0-nCv">
+                            <rect key="frame" x="228" y="16" width="37" height="16"/>
+                            <textFieldCell key="cell" lineBreakMode="truncatingTail" title="Label" id="ZPw-XO-XD1">
+                                <font key="font" usesAppearanceFont="YES"/>
+                                <color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
+                                <color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
+                            </textFieldCell>
+                        </textField>
+                        <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="TPv-k2-6XS">
+                            <rect key="frame" x="268" y="16" width="39" height="16"/>
+                            <textFieldCell key="cell" lineBreakMode="truncatingTail" title="Label" id="jZ4-pa-K3T">
+                                <font key="font" usesAppearanceFont="YES"/>
+                                <color key="textColor" name="secondaryLabelColor" catalog="System" colorSpace="catalog"/>
+                                <color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
+                            </textFieldCell>
+                        </textField>
+                    </subviews>
+                    <visibilityPriorities>
+                        <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"/>
+                    </customSpacing>
+                </stackView>
+                <button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="NFZ-x0-t5c">
+                    <rect key="frame" x="25" y="10" width="28" height="28"/>
+                    <constraints>
+                        <constraint firstAttribute="width" constant="28" id="K1a-nD-gSz"/>
+                        <constraint firstAttribute="height" constant="28" id="bai-RH-huE"/>
+                    </constraints>
+                    <buttonCell key="cell" type="square" bezelStyle="shadowlessSquare" image="libraryPlay" imagePosition="only" alignment="center" imageScaling="proportionallyDown" inset="2" id="5MR-Gt-X4p">
+                        <behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
+                        <font key="font" metaFont="system"/>
+                    </buttonCell>
+                </button>
+            </subviews>
+            <constraints>
+                <constraint firstItem="NFZ-x0-t5c" firstAttribute="centerX" secondItem="Ydb-7n-5Cd" secondAttribute="centerX" id="0Eb-LH-6nF"/>
+                <constraint firstItem="Ydb-7n-5Cd" firstAttribute="leading" secondItem="c22-O7-iKe" secondAttribute="leading" constant="5" id="8hv-Qt-uAI"/>
+                <constraint firstItem="ffE-px-l0g" firstAttribute="top" secondItem="c22-O7-iKe" secondAttribute="top" id="EMs-It-nUH"/>
+                <constraint firstAttribute="bottom" secondItem="ffE-px-l0g" secondAttribute="bottom" id="I7D-8N-oA1"/>
+                <constraint firstItem="ffE-px-l0g" firstAttribute="leading" secondItem="c22-O7-iKe" secondAttribute="leading" id="M01-2i-CLZ"/>
+                <constraint firstItem="2yt-Ph-v3B" firstAttribute="top" secondItem="c22-O7-iKe" secondAttribute="top" id="Xsk-fe-nEI"/>
+                <constraint firstAttribute="bottom" secondItem="2yt-Ph-v3B" secondAttribute="bottom" id="Xsk-fe-nEZ"/>
+                <constraint firstAttribute="bottom" secondItem="Ydb-7n-5Cd" secondAttribute="bottom" constant="5" id="aVd-Ld-lUH"/>
+                <constraint firstItem="NFZ-x0-t5c" firstAttribute="centerY" secondItem="Ydb-7n-5Cd" secondAttribute="centerY" id="dRw-WH-Y00"/>
+                <constraint firstItem="Ydb-7n-5Cd" firstAttribute="top" secondItem="c22-O7-iKe" secondAttribute="top" constant="5" id="iPZ-zR-jTv"/>
+                <constraint firstAttribute="trailing" secondItem="ffE-px-l0g" secondAttribute="trailing" id="m4c-HB-V5e"/>
+                <constraint firstItem="2yt-Ph-v3B" firstAttribute="leading" secondItem="Ydb-7n-5Cd" secondAttribute="trailing" constant="10" id="svv-3z-IWh"/>
+                <constraint firstAttribute="trailing" secondItem="2yt-Ph-v3B" secondAttribute="trailing" constant="10" id="uti-Wq-BEz"/>
+            </constraints>
+            <connections>
+                <outlet property="playInstantlyButton" destination="NFZ-x0-t5c" id="suD-1u-UrY"/>
+                <outlet property="primaryTitleTextField" destination="xJW-ps-ycn" id="5Vl-3a-J2T"/>
+                <outlet property="representedImageView" destination="Ydb-7n-5Cd" id="qBu-r5-jIY"/>
+                <outlet property="secondaryTitleTextField" destination="TPv-k2-6XS" id="rRg-vu-a7j"/>
+                <outlet property="singlePrimaryTitleTextField" destination="ohB-P0-nCv" id="gBJ-WZ-6pB"/>
+                <outlet property="trackingView" destination="ffE-px-l0g" id="Eme-n5-LGv"/>
+            </connections>
+            <point key="canvasLocation" x="98" y="50.5"/>
+        </customView>
+    </objects>
+    <resources>
+        <image name="libraryPlay" width="64" height="64"/>
+    </resources>
+</document>


=====================================
modules/gui/macosx/library/VLCLibraryUIUnits.h
=====================================
@@ -58,7 +58,7 @@ extern NSString * const VLCLibraryCollectionViewItemAdjustmentKey;
 @property (class, readonly) const CGFloat largeTableViewRowHeight;
 @property (class, readonly) const CGFloat mediumTableViewRowHeight;
 @property (class, readonly) const CGFloat smallTableViewRowHeight;
-
+ at property (class, readonly) const CGFloat videoLibraryTableViewRowHeight;
 @property (class, readonly) const CGFloat mediumDetailSupplementaryViewCollectionViewWidth;
 @property (class, readonly) const CGFloat mediumDetailSupplementaryViewCollectionViewHeight;
 @property (class, readonly) const CGFloat largeDetailSupplementaryViewCollectionViewWidth;


=====================================
modules/gui/macosx/library/VLCLibraryUIUnits.m
=====================================
@@ -86,6 +86,11 @@ NSString * const VLCLibraryCollectionViewItemAdjustmentKey = @"VLCLibraryCollect
     return 25;
 }
 
++ (const CGFloat)videoLibraryTableViewRowHeight
+{
+    return 42;
+}
+
 + (const CGFloat)mediumDetailSupplementaryViewCollectionViewWidth
 {
     return 600;


=====================================
modules/gui/macosx/library/video-library/VLCLibraryVideoTableViewDelegate.m
=====================================
@@ -91,7 +91,7 @@
         }
     }
 
-    return VLCLibraryUIUnits.mediumTableViewRowHeight;
+    return VLCLibraryUIUnits.videoLibraryTableViewRowHeight;
 }
 
 - (BOOL)tableView:(NSTableView *)tableView shouldSelectRow:(NSInteger)row


=====================================
modules/gui/macosx/library/video-library/VLCLibraryVideoViewController.m
=====================================
@@ -138,7 +138,7 @@
 - (void)setupTableView
 {
     NSNib * const tableCellViewNib =
-        [[NSNib alloc] initWithNibNamed:NSStringFromClass(VLCLibraryTableCellView.class)
+        [[NSNib alloc] initWithNibNamed:@"VLCLibraryVideoTableCellView"
                                  bundle:nil];
     [self.videoLibraryGroupSelectionTableView registerNib:tableCellViewNib
                                            forIdentifier:@"VLCVideoLibraryTableViewCellIdentifier"];
@@ -233,7 +233,7 @@
 
 - (void)setupVideoLibraryViews
 {
-    _videoLibraryGroupSelectionTableView.rowHeight = VLCLibraryUIUnits.mediumTableViewRowHeight;
+    _videoLibraryGroupSelectionTableView.rowHeight = VLCLibraryUIUnits.videoLibraryTableViewRowHeight;
 
     const NSEdgeInsets defaultInsets = VLCLibraryUIUnits.libraryViewScrollViewContentInsets;
     const NSEdgeInsets scrollerInsets = VLCLibraryUIUnits.libraryViewScrollViewScrollerInsets;



View it on GitLab: https://code.videolan.org/videolan/vlc/-/compare/6bfcad4267f57f1e487503f4da16b033be01e3ca...2ac99f19662626a4189f8a9b383f9cf806d2822c

-- 
View it on GitLab: https://code.videolan.org/videolan/vlc/-/compare/6bfcad4267f57f1e487503f4da16b033be01e3ca...2ac99f19662626a4189f8a9b383f9cf806d2822c
You're receiving this email because of your account on code.videolan.org.




More information about the vlc-commits mailing list