diff --git a/extras/package/macosx/VLC.xcodeproj/project.pbxproj b/extras/package/macosx/VLC.xcodeproj/project.pbxproj index dc8c13bfce..808c686cb7 100644 --- a/extras/package/macosx/VLC.xcodeproj/project.pbxproj +++ b/extras/package/macosx/VLC.xcodeproj/project.pbxproj @@ -387,6 +387,7 @@ 53C1EF862B466B13001AEEF5 /* VLCLibraryHomeViewStackViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = VLCLibraryHomeViewStackViewController.m; sourceTree = ""; }; 53C1EF882B466B13001AEEF5 /* VLCLibraryHomeViewVideoGridContainerView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = VLCLibraryHomeViewVideoGridContainerView.h; sourceTree = ""; }; 53C1EF8A2B466B13001AEEF5 /* VLCLibraryHomeViewStackViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = VLCLibraryHomeViewStackViewController.h; sourceTree = ""; }; + 53D6664E2B6B82940042C03D /* VLCLibraryTableViewDataSource.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = VLCLibraryTableViewDataSource.h; sourceTree = ""; }; 53D8ED982B583AAF00142EAD /* VLCLibraryModelChangeDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = VLCLibraryModelChangeDelegate.h; sourceTree = ""; }; 53D8ED992B583AAF00142EAD /* VLCLibraryModelChangeDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = VLCLibraryModelChangeDelegate.m; sourceTree = ""; }; 53ED472129C74D1F00795DB1 /* VLCLibraryAudioTableViewDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = VLCLibraryAudioTableViewDelegate.h; sourceTree = ""; }; @@ -1306,6 +1307,7 @@ 53ED473729CAF67F00795DB1 /* VLCLibraryTableCellViewProtocol.h */, 536283E0291146BC00640C15 /* VLCLibraryTableView.h */, 536283DE291146BC00640C15 /* VLCLibraryTableView.m */, + 53D6664E2B6B82940042C03D /* VLCLibraryTableViewDataSource.h */, 53ED473429CA4F3400795DB1 /* VLCLibraryTableViewDelegate.h */, 53ED473529CA4F3400795DB1 /* VLCLibraryTableViewDelegate.m */, 539F114929E83A4200F13460 /* VLCLibraryTwoPaneSplitViewDelegate.h */, diff --git a/modules/gui/macosx/Makefile.am b/modules/gui/macosx/Makefile.am index 1045cb6816..a00373055a 100644 --- a/modules/gui/macosx/Makefile.am +++ b/modules/gui/macosx/Makefile.am @@ -138,6 +138,7 @@ libmacosx_plugin_la_SOURCES = \ gui/macosx/library/VLCLibrarySortingMenuController.m \ gui/macosx/library/VLCLibraryTableView.h \ gui/macosx/library/VLCLibraryTableView.m \ + gui/macosx/library/VLCLibraryTableViewDataSource.h \ gui/macosx/library/VLCLibraryTableViewDelegate.h \ gui/macosx/library/VLCLibraryTableViewDelegate.m \ gui/macosx/library/VLCLibraryTableCellView.h \ diff --git a/modules/gui/macosx/library/VLCLibraryTableView.h b/modules/gui/macosx/library/VLCLibraryTableView.h index 047fc5a7db..2cf6729687 100644 --- a/modules/gui/macosx/library/VLCLibraryTableView.h +++ b/modules/gui/macosx/library/VLCLibraryTableView.h @@ -1,9 +1,9 @@ /***************************************************************************** - * VLCLibraryTableView.m: MacOS X interface module + * VLCLibraryTableView.h: MacOS X interface module ***************************************************************************** * Copyright (C) 2022 VLC authors and VideoLAN * - * Authors: Claudio Cambra + * Authors: Claudio Cambra * * 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 @@ -22,26 +22,8 @@ #import -#import "library/VLCLibraryDataTypes.h" - NS_ASSUME_NONNULL_BEGIN -@protocol VLCMediaLibraryItemProtocol; - -@protocol VLCLibraryTableViewDataSource - -@property (readonly) VLCMediaLibraryParentGroupType currentParentType; - -- (NSInteger)rowForLibraryItem:(id)libraryItem; -- (id)libraryItemAtRow:(NSInteger)row - forTableView:(nullable NSTableView *)tableView; - -@optional -- (void)connect; -- (void)disconnect; - -@end - @interface VLCLibraryTableView : NSTableView @end diff --git a/modules/gui/macosx/library/VLCLibraryTableViewDataSource.h b/modules/gui/macosx/library/VLCLibraryTableViewDataSource.h new file mode 100644 index 0000000000..38091c5546 --- /dev/null +++ b/modules/gui/macosx/library/VLCLibraryTableViewDataSource.h @@ -0,0 +1,45 @@ +/***************************************************************************** + * VLCLibraryTableViewDataSource.h: MacOS X interface module + ***************************************************************************** + * Copyright (C) 2022 VLC authors and VideoLAN + * + * Authors: Claudio Cambra + * + * 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 + +#import "library/VLCLibraryDataTypes.h" + +NS_ASSUME_NONNULL_BEGIN + +@protocol VLCMediaLibraryItemProtocol; + +@protocol VLCLibraryTableViewDataSource + +@property (readonly) VLCMediaLibraryParentGroupType currentParentType; + +- (NSInteger)rowForLibraryItem:(id)libraryItem; +- (id)libraryItemAtRow:(NSInteger)row + forTableView:(nullable NSTableView *)tableView; + +@optional +- (void)connect; +- (void)disconnect; + +@end + +NS_ASSUME_NONNULL_END diff --git a/modules/gui/macosx/library/VLCLibraryTableViewDelegate.m b/modules/gui/macosx/library/VLCLibraryTableViewDelegate.m index 6fe1067b48..07a0de4cb8 100644 --- a/modules/gui/macosx/library/VLCLibraryTableViewDelegate.m +++ b/modules/gui/macosx/library/VLCLibraryTableViewDelegate.m @@ -24,7 +24,7 @@ #import "library/VLCLibraryTableCellView.h" #import "library/VLCLibraryTableCellViewProtocol.h" -#import "library/VLCLibraryTableView.h" +#import "library/VLCLibraryTableViewDataSource.h" #import "library/VLCLibraryDataTypes.h" #import "library/VLCLibraryRepresentedItem.h" diff --git a/modules/gui/macosx/library/audio-library/VLCLibraryAlbumTracksDataSource.h b/modules/gui/macosx/library/audio-library/VLCLibraryAlbumTracksDataSource.h index 9c72c2c3c8..e938cfa319 100644 --- a/modules/gui/macosx/library/audio-library/VLCLibraryAlbumTracksDataSource.h +++ b/modules/gui/macosx/library/audio-library/VLCLibraryAlbumTracksDataSource.h @@ -22,7 +22,7 @@ #import -#import "library/VLCLibraryTableView.h" +#import "library/VLCLibraryTableViewDataSource.h" NS_ASSUME_NONNULL_BEGIN diff --git a/modules/gui/macosx/library/audio-library/VLCLibraryAudioDataSource.h b/modules/gui/macosx/library/audio-library/VLCLibraryAudioDataSource.h index d02a9c90d1..bbf6ee93c0 100644 --- a/modules/gui/macosx/library/audio-library/VLCLibraryAudioDataSource.h +++ b/modules/gui/macosx/library/audio-library/VLCLibraryAudioDataSource.h @@ -22,8 +22,8 @@ #import -#import "library/VLCLibraryTableView.h" #import "library/VLCLibraryCollectionViewDataSource.h" +#import "library/VLCLibraryTableViewDataSource.h" #include "views/iCarousel/iCarousel.h" diff --git a/modules/gui/macosx/library/audio-library/VLCLibraryAudioDataSource.m b/modules/gui/macosx/library/audio-library/VLCLibraryAudioDataSource.m index 9c293c45a7..b138c5b88a 100644 --- a/modules/gui/macosx/library/audio-library/VLCLibraryAudioDataSource.m +++ b/modules/gui/macosx/library/audio-library/VLCLibraryAudioDataSource.m @@ -31,7 +31,6 @@ #import "library/VLCLibraryController.h" #import "library/VLCLibraryDataTypes.h" #import "library/VLCLibraryTableCellView.h" -#import "library/VLCLibraryTableView.h" #import "library/VLCLibraryCollectionViewItem.h" #import "library/VLCLibraryCollectionViewFlowLayout.h" #import "library/VLCLibraryCollectionViewMediaItemSupplementaryDetailView.h" diff --git a/modules/gui/macosx/library/audio-library/VLCLibraryAudioGroupDataSource.h b/modules/gui/macosx/library/audio-library/VLCLibraryAudioGroupDataSource.h index e63640d37c..84c831297d 100644 --- a/modules/gui/macosx/library/audio-library/VLCLibraryAudioGroupDataSource.h +++ b/modules/gui/macosx/library/audio-library/VLCLibraryAudioGroupDataSource.h @@ -23,7 +23,7 @@ #import #import "library/VLCLibraryCollectionViewDataSource.h" -#import "library/VLCLibraryTableView.h" +#import "library/VLCLibraryTableViewDataSource.h" #import diff --git a/modules/gui/macosx/library/video-library/VLCLibraryVideoDataSource.h b/modules/gui/macosx/library/video-library/VLCLibraryVideoDataSource.h index f6778f0a6b..cb6a05088e 100644 --- a/modules/gui/macosx/library/video-library/VLCLibraryVideoDataSource.h +++ b/modules/gui/macosx/library/video-library/VLCLibraryVideoDataSource.h @@ -23,7 +23,7 @@ #import #import "library/VLCLibraryCollectionViewDataSource.h" -#import "library/VLCLibraryTableView.h" +#import "library/VLCLibraryTableViewDataSource.h" NS_ASSUME_NONNULL_BEGIN