[vlc-commits] [Git][videolan/vlc][work/recents-carousel-video-library] macosx: Apply recents carousel on video table view delegate

Claudio Cambra (@claucambra) gitlab at videolan.org
Mon Apr 13 19:36:39 UTC 2026



Claudio Cambra pushed to branch work/recents-carousel-video-library at VideoLAN / VLC


Commits:
f8deba99 by Claudio Cambra at 2026-04-14T03:36:27+08:00
macosx: Apply recents carousel on video table view delegate

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

- - - - -


2 changed files:

- modules/gui/macosx/library/video-library/VLCLibraryVideoViewController.h
- modules/gui/macosx/library/video-library/VLCLibraryVideoViewController.m


Changes:

=====================================
modules/gui/macosx/library/video-library/VLCLibraryVideoViewController.h
=====================================
@@ -26,6 +26,7 @@
 #import "library/VLCLibraryItemPresentingCapable.h"
 
 @class VLCLibraryCollectionView;
+ at class VLCLibraryHomeViewVideoCarouselContainerView;
 @class VLCLibraryWindow;
 @class VLCLibraryVideoDataSource;
 @class VLCLibraryShowsDataSource;
@@ -50,6 +51,7 @@ NS_ASSUME_NONNULL_BEGIN
 @property (readonly, nullable) VLCLibraryVideoDataSource *libraryVideoDataSource;
 @property (readonly, nullable) VLCLibraryShowsDataSource *libraryShowsDataSource;
 @property (readonly, nullable) VLCLibraryMoviesDataSource *libraryMoviesDataSource;
+ at property (readonly, nullable) VLCLibraryHomeViewVideoCarouselContainerView *recentsCarouselView;
 
 - (instancetype)initWithLibraryWindow:(VLCLibraryWindow *)libraryWindow;
 - (void)presentVideoView;


=====================================
modules/gui/macosx/library/video-library/VLCLibraryVideoViewController.m
=====================================
@@ -40,6 +40,7 @@
 
 #import "library/audio-library/VLCLibraryAudioViewController.h"
 
+#import "library/home-library/VLCLibraryHomeViewVideoCarouselContainerView.h"
 #import "library/home-library/VLCLibraryHomeViewVideoContainerViewDataSource.h"
 
 #import "library/playlist-library/VLCLibraryPlaylistViewController.h"
@@ -63,6 +64,8 @@
     id<VLCMediaLibraryItemProtocol> _awaitingPresentingLibraryItem;
 
     NSArray<NSLayoutConstraint *> *_internalPlaceholderImageViewSizeConstraints;
+
+    VLCLibraryHomeViewVideoCarouselContainerView *_recentsCarouselView;
 }
 @end
 
@@ -147,6 +150,8 @@
     self.libraryVideoDataSource.libraryModel = VLCMain.sharedInstance.libraryController.libraryModel;
     self.libraryVideoDataSource.tableView = self.videoLibraryGroupSelectionTableView;
     self.libraryVideoDataSource.collectionView = self.videoLibraryCollectionView;
+
+    [self setupRecentsCarousel];
 }
 
 - (void)setupShowsDataSource
@@ -483,4 +488,22 @@
     [self.libraryWindow hideLoadingOverlay];
 }
 
+#pragma mark - Recents carousel
+
+- (VLCLibraryHomeViewVideoCarouselContainerView *)recentsCarouselView
+{
+    return _recentsCarouselView;
+}
+
+- (void)setupRecentsCarousel
+{
+    if (_recentsCarouselView != nil) {
+        return;
+    }
+
+    _recentsCarouselView = [[VLCLibraryHomeViewVideoCarouselContainerView alloc] init];
+    _recentsCarouselView.videoGroup = VLCMediaLibraryParentGroupTypeRecentVideos;
+    _videoLibraryTableViewDelegate.recentsCarouselView = _recentsCarouselView;
+}
+
 @end



View it on GitLab: https://code.videolan.org/videolan/vlc/-/commit/f8deba99b032c1d7134ff8cd8821c6e369542768

-- 
View it on GitLab: https://code.videolan.org/videolan/vlc/-/commit/f8deba99b032c1d7134ff8cd8821c6e369542768
You're receiving this email because of your account on code.videolan.org.




More information about the vlc-commits mailing list