macosx: Move video container view protocol to home library

Signed-off-by: Claudio Cambra <developer@claudiocambra.com>
This commit is contained in:
Claudio Cambra 2024-01-06 20:57:41 +08:00 committed by Steve Lhomme
parent b09d9f3653
commit 5b4d770fa7
7 changed files with 19 additions and 22 deletions

View File

@ -386,7 +386,7 @@
53F0E92C299B002300491D49 /* VLCInputNodePathControlItem.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = VLCInputNodePathControlItem.m; sourceTree = "<group>"; };
53F0E92E299B17DF00491D49 /* VLCInputNodePathControl.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = VLCInputNodePathControl.h; sourceTree = "<group>"; };
53F0E92F299B17DF00491D49 /* VLCInputNodePathControl.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = VLCInputNodePathControl.m; sourceTree = "<group>"; };
53F3997D2AC6D50500B86241 /* VLCLibraryVideoViewContainerView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = VLCLibraryVideoViewContainerView.h; sourceTree = "<group>"; };
53F3997D2AC6D50500B86241 /* VLCLibraryHomeViewVideoContainerView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = VLCLibraryHomeViewVideoContainerView.h; sourceTree = "<group>"; };
53F3997E2AC6D67F00B86241 /* VLCLibraryHomeViewVideoCarouselContainerView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = VLCLibraryHomeViewVideoCarouselContainerView.h; sourceTree = "<group>"; };
53F3997F2AC6D6B400B86241 /* VLCLibraryHomeViewVideoCarouselContainerView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = VLCLibraryHomeViewVideoCarouselContainerView.m; sourceTree = "<group>"; };
5CCED71014C0D4A90057F8D1 /* VLCExtensionsDialogProvider.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = VLCExtensionsDialogProvider.h; sourceTree = "<group>"; };
@ -1468,6 +1468,7 @@
5350E4ED2B1B21A700F276CB /* VLCLibraryHomeViewController.m */,
53C1EF8A2B466B13001AEEF5 /* VLCLibraryHomeViewStackViewController.h */,
53C1EF862B466B13001AEEF5 /* VLCLibraryHomeViewStackViewController.m */,
53F3997D2AC6D50500B86241 /* VLCLibraryHomeViewVideoContainerView.h */,
535F1BB82B47ACCD00C78D98 /* VLCLibraryHomeViewVideoContainerViewDataSource.h */,
535F1BB92B47ACCD00C78D98 /* VLCLibraryHomeViewVideoContainerViewDataSource.m */,
53F3997E2AC6D67F00B86241 /* VLCLibraryHomeViewVideoCarouselContainerView.h */,
@ -1489,7 +1490,6 @@
53B447F3293BB47A00857588 /* VLCLibraryVideoDataSource.m */,
53ED472C29C907C200795DB1 /* VLCLibraryVideoTableViewDelegate.h */,
53ED472D29C907C200795DB1 /* VLCLibraryVideoTableViewDelegate.m */,
53F3997D2AC6D50500B86241 /* VLCLibraryVideoViewContainerView.h */,
);
path = "video-library";
sourceTree = "<group>";

View File

@ -156,6 +156,7 @@ libmacosx_plugin_la_SOURCES = \
gui/macosx/library/home-library/VLCLibraryHomeViewContainerView.h \
gui/macosx/library/home-library/VLCLibraryHomeViewController.h \
gui/macosx/library/home-library/VLCLibraryHomeViewController.m \
gui/macosx/library/home-library/VLCLibraryHomeViewVideoContainerView.h \
gui/macosx/library/home-library/VLCLibraryHomeViewVideoCarouselContainerView.h \
gui/macosx/library/home-library/VLCLibraryHomeViewVideoCarouselContainerView.m \
gui/macosx/library/home-library/VLCLibraryHomeViewVideoContainerViewDataSource.h \
@ -170,7 +171,6 @@ libmacosx_plugin_la_SOURCES = \
gui/macosx/library/video-library/VLCLibraryVideoDataSource.m \
gui/macosx/library/video-library/VLCLibraryVideoTableViewDelegate.h \
gui/macosx/library/video-library/VLCLibraryVideoTableViewDelegate.m \
gui/macosx/library/video-library/VLCLibraryVideoViewContainerView.h \
gui/macosx/library/audio-library/VLCLibraryAlbumTableCellView.h \
gui/macosx/library/audio-library/VLCLibraryAlbumTableCellView.m \
gui/macosx/library/audio-library/VLCLibraryAlbumTracksDataSource.h \

View File

@ -33,11 +33,11 @@
#import "library/home-library/VLCLibraryHomeViewContainerView.h"
#import "library/home-library/VLCLibraryHomeViewVideoCarouselContainerView.h"
#import "library/home-library/VLCLibraryHomeViewVideoContainerView.h"
#import "library/home-library/VLCLibraryHomeViewVideoContainerViewDataSource.h"
#import "library/home-library/VLCLibraryHomeViewVideoGridContainerView.h"
#import "library/video-library/VLCLibraryVideoGroupDescriptor.h"
#import "library/video-library/VLCLibraryVideoViewContainerView.h"
#import "main/VLCMain.h"
@ -45,7 +45,7 @@
@interface VLCLibraryHomeViewStackViewController()
{
NSArray<NSView<VLCLibraryVideoViewContainerView> *> *_containers;
NSArray<NSView<VLCLibraryHomeViewVideoContainerView> *> *_containers;
NSUInteger _leadingContainerCount;
}
@end
@ -104,7 +104,7 @@
return;
}
NSMutableArray<NSView<VLCLibraryVideoViewContainerView> *> * const mutableContainers = _containers.mutableCopy;
NSMutableArray<NSView<VLCLibraryHomeViewVideoContainerView> *> * const mutableContainers = _containers.mutableCopy;
if (shouldShowRecentsContainer) {
_recentsView = [[VLCLibraryHomeViewVideoCarouselContainerView alloc] init];
@ -130,11 +130,11 @@
- (void)generateGenericCollectionViewContainers
{
NSMutableArray<NSView<VLCLibraryVideoViewContainerView> *> * const mutableContainers = _containers.mutableCopy;
NSMutableArray<NSView<VLCLibraryHomeViewVideoContainerView> *> * const mutableContainers = _containers.mutableCopy;
NSUInteger i = VLCMediaLibraryParentGroupTypeRecentVideos + 1;
for (; i <= VLCMediaLibraryParentGroupTypeVideoLibrary; ++i) {
NSView<VLCLibraryVideoViewContainerView> * const containerView = [[VLCLibraryHomeViewVideoGridContainerView alloc] init];
NSView<VLCLibraryHomeViewVideoContainerView> * const containerView = [[VLCLibraryHomeViewVideoGridContainerView alloc] init];
containerView.videoGroup = i;
[mutableContainers addObject:containerView];
}
@ -145,7 +145,7 @@
- (void)reloadData
{
dispatch_async(dispatch_get_main_queue(), ^{
for (NSView<VLCLibraryVideoViewContainerView> *containerView in self->_containers) {
for (NSView<VLCLibraryHomeViewVideoContainerView> *containerView in self->_containers) {
[self.heroView setOptimalRepresentedItem];
[containerView.dataSource reloadData];
}
@ -309,11 +309,11 @@
}
- (NSView<VLCLibraryVideoViewContainerView> *)containerViewForGroup:(VLCMediaLibraryParentGroupType)group
- (NSView<VLCLibraryHomeViewVideoContainerView> *)containerViewForGroup:(VLCMediaLibraryParentGroupType)group
{
const NSUInteger index = [_containers indexOfObjectPassingTest:^BOOL(NSView<VLCLibraryHomeViewContainerView> * const container, const NSUInteger idx, BOOL * const stop) {
if ([container conformsToProtocol:@protocol(VLCLibraryVideoViewContainerView)]) {
NSView<VLCLibraryVideoViewContainerView> * const videoContainer = (NSView<VLCLibraryVideoViewContainerView> *)container;
if ([container conformsToProtocol:@protocol(VLCLibraryHomeViewVideoContainerView)]) {
NSView<VLCLibraryHomeViewVideoContainerView> * const videoContainer = (NSView<VLCLibraryHomeViewVideoContainerView> *)container;
return videoContainer.videoGroup == group;
}
return NO;
@ -333,7 +333,7 @@
}
// TODO: Make this work agnostically of video type
NSView<VLCLibraryVideoViewContainerView> * const containerView = [self containerViewForGroup:VLCMediaLibraryParentGroupTypeVideoLibrary];
NSView<VLCLibraryHomeViewVideoContainerView> * const containerView = [self containerViewForGroup:VLCMediaLibraryParentGroupTypeVideoLibrary];
if (containerView == nil) {
return;

View File

@ -22,12 +22,12 @@
#import <Cocoa/Cocoa.h>
#import "library/video-library/VLCLibraryVideoViewContainerView.h"
#import "library/home-library/VLCLibraryHomeViewVideoContainerView.h"
#import "views/iCarousel/iCarousel.h"
NS_ASSUME_NONNULL_BEGIN
@interface VLCLibraryHomeViewVideoCarouselContainerView : NSView<VLCLibraryVideoViewContainerView, iCarouselDelegate>
@interface VLCLibraryHomeViewVideoCarouselContainerView : NSView<VLCLibraryHomeViewVideoContainerView, iCarouselDelegate>
@property (readonly) NSTextField *titleView;
@property (readonly) iCarousel *carouselView;

View File

@ -31,8 +31,6 @@
#import "library/home-library/VLCLibraryHomeViewVideoContainerViewDataSource.h"
#import "views/iCarousel/iCarousel.h"
@interface VLCLibraryHomeViewVideoCarouselContainerView ()
@property (readwrite) VLCLibraryCarouselViewItemView *selectedItemView;

View File

@ -1,5 +1,5 @@
/*****************************************************************************
* VLCLibraryVideoViewContainerView.h: MacOS X interface module
* VLCLibraryHomeViewVideoContainerView.h: MacOS X interface module
*****************************************************************************
* Copyright (C) 2023 VLC authors and VideoLAN
*
@ -29,7 +29,7 @@
NS_ASSUME_NONNULL_BEGIN
@protocol VLCLibraryVideoViewContainerView <VLCLibraryHomeViewContainerView>
@protocol VLCLibraryHomeViewVideoContainerView <VLCLibraryHomeViewContainerView>
@property (readonly) VLCLibraryVideoCollectionViewGroupDescriptor *groupDescriptor;
@property (readwrite, assign, nonatomic) VLCMediaLibraryParentGroupType videoGroup;

View File

@ -22,9 +22,8 @@
#import <Cocoa/Cocoa.h>
#import "library/video-library/VLCLibraryVideoViewContainerView.h"
#import "library/home-library/VLCLibraryHomeViewVideoContainerView.h"
#import "library/video-library/VLCLibraryVideoGroupDescriptor.h"
#import "library/video-library/VLCLibraryVideoViewContainerView.h"
@class VLCSubScrollView;
@class VLCLibraryCollectionViewDelegate;
@ -33,7 +32,7 @@
NS_ASSUME_NONNULL_BEGIN
@interface VLCLibraryHomeViewVideoGridContainerView : NSView<VLCLibraryVideoViewContainerView>
@interface VLCLibraryHomeViewVideoGridContainerView : NSView<VLCLibraryHomeViewVideoContainerView>
@property (readonly) NSCollectionView *collectionView;
@property (readonly) VLCLibraryCollectionViewDelegate *collectionViewDelegate;