diff --git a/extras/package/macosx/VLC.xcodeproj/project.pbxproj b/extras/package/macosx/VLC.xcodeproj/project.pbxproj index 1159cc3c54..bcd802d06c 100644 --- a/extras/package/macosx/VLC.xcodeproj/project.pbxproj +++ b/extras/package/macosx/VLC.xcodeproj/project.pbxproj @@ -102,7 +102,6 @@ 536283F3291146BC00640C15 /* VLCLibraryNavigationStack.m in Sources */ = {isa = PBXBuildFile; fileRef = 536283E2291146BC00640C15 /* VLCLibraryNavigationStack.m */; }; 536283F4291146BC00640C15 /* VLCLibraryCollectionViewMediaItemSupplementaryDetailView.m in Sources */ = {isa = PBXBuildFile; fileRef = 536283E3291146BC00640C15 /* VLCLibraryCollectionViewMediaItemSupplementaryDetailView.m */; }; 536283F5291146BC00640C15 /* VLCLibraryCollectionViewSupplementaryDetailView.m in Sources */ = {isa = PBXBuildFile; fileRef = 536283E5291146BC00640C15 /* VLCLibraryCollectionViewSupplementaryDetailView.m */; }; - 536283F6291146BC00640C15 /* VLCLibraryCollectionViewAudioGroupSupplementaryDetailView.m in Sources */ = {isa = PBXBuildFile; fileRef = 536283E9291146BC00640C15 /* VLCLibraryCollectionViewAudioGroupSupplementaryDetailView.m */; }; 536283F7291146BC00640C15 /* VLCLibraryNavigationState.m in Sources */ = {isa = PBXBuildFile; fileRef = 536283EB291146BC00640C15 /* VLCLibraryNavigationState.m */; }; 536283F8291146BC00640C15 /* VLCLibrarySongTableCellView.m in Sources */ = {isa = PBXBuildFile; fileRef = 536283EC291146BC00640C15 /* VLCLibrarySongTableCellView.m */; }; 536283F9291146BC00640C15 /* VLCLibraryCollectionViewFlowLayout.m in Sources */ = {isa = PBXBuildFile; fileRef = 536283EE291146BC00640C15 /* VLCLibraryCollectionViewFlowLayout.m */; }; @@ -332,9 +331,7 @@ 536283E4291146BC00640C15 /* VLCLibraryNavigationState.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = VLCLibraryNavigationState.h; sourceTree = ""; }; 536283E5291146BC00640C15 /* VLCLibraryCollectionViewSupplementaryDetailView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = VLCLibraryCollectionViewSupplementaryDetailView.m; sourceTree = ""; }; 536283E6291146BC00640C15 /* VLCLibraryCollectionViewSupplementaryDetailView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = VLCLibraryCollectionViewSupplementaryDetailView.h; sourceTree = ""; }; - 536283E7291146BC00640C15 /* VLCLibraryCollectionViewAudioGroupSupplementaryDetailView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = VLCLibraryCollectionViewAudioGroupSupplementaryDetailView.h; sourceTree = ""; }; 536283E8291146BC00640C15 /* VLCLibraryCollectionViewAlbumSupplementaryDetailView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = VLCLibraryCollectionViewAlbumSupplementaryDetailView.h; sourceTree = ""; }; - 536283E9291146BC00640C15 /* VLCLibraryCollectionViewAudioGroupSupplementaryDetailView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = VLCLibraryCollectionViewAudioGroupSupplementaryDetailView.m; sourceTree = ""; }; 536283EA291146BC00640C15 /* VLCLibraryCollectionViewMediaItemSupplementaryDetailView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = VLCLibraryCollectionViewMediaItemSupplementaryDetailView.h; sourceTree = ""; }; 536283EB291146BC00640C15 /* VLCLibraryNavigationState.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = VLCLibraryNavigationState.m; sourceTree = ""; }; 536283EC291146BC00640C15 /* VLCLibrarySongTableCellView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = VLCLibrarySongTableCellView.m; sourceTree = ""; }; @@ -342,7 +339,6 @@ 536283EE291146BC00640C15 /* VLCLibraryCollectionViewFlowLayout.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = VLCLibraryCollectionViewFlowLayout.m; sourceTree = ""; }; 536283EF291146BC00640C15 /* VLCLibraryNavigationStack.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = VLCLibraryNavigationStack.h; sourceTree = ""; }; 536283FA2911476A00640C15 /* VLCLibrarySongTableCellView.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = VLCLibrarySongTableCellView.xib; sourceTree = ""; }; - 536283FB2911476A00640C15 /* VLCLibraryCollectionViewAudioGroupSupplementaryDetailView.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = VLCLibraryCollectionViewAudioGroupSupplementaryDetailView.xib; sourceTree = ""; }; 536283FC2911476A00640C15 /* VLCLibraryCollectionViewMediaItemSupplementaryDetailView.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = VLCLibraryCollectionViewMediaItemSupplementaryDetailView.xib; sourceTree = ""; }; 536283FD2911476A00640C15 /* VLCLibraryCollectionViewAlbumSupplementaryDetailView.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = VLCLibraryCollectionViewAlbumSupplementaryDetailView.xib; sourceTree = ""; }; 536283FE291147C500640C15 /* VLCBasicView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = VLCBasicView.h; sourceTree = ""; }; @@ -1496,8 +1492,6 @@ 53ED472229C74D1F00795DB1 /* VLCLibraryAudioTableViewDelegate.m */, 536283E8291146BC00640C15 /* VLCLibraryCollectionViewAlbumSupplementaryDetailView.h */, 536283E1291146BC00640C15 /* VLCLibraryCollectionViewAlbumSupplementaryDetailView.m */, - 536283E7291146BC00640C15 /* VLCLibraryCollectionViewAudioGroupSupplementaryDetailView.h */, - 536283E9291146BC00640C15 /* VLCLibraryCollectionViewAudioGroupSupplementaryDetailView.m */, 536283DD291146BC00640C15 /* VLCLibrarySongTableCellView.h */, 536283EC291146BC00640C15 /* VLCLibrarySongTableCellView.m */, 53B447C82939823E00857588 /* VLCLibrarySongsTableViewSongPlayingTableCellView.h */, @@ -1960,7 +1954,6 @@ 53BFB1E02A6A72160065EA7A /* VLCLibraryAudioGroupHeaderView.xib */, 53088E122AD6EADF00C21358 /* VLCLibraryCarouselViewItemView.xib */, 536283FD2911476A00640C15 /* VLCLibraryCollectionViewAlbumSupplementaryDetailView.xib */, - 536283FB2911476A00640C15 /* VLCLibraryCollectionViewAudioGroupSupplementaryDetailView.xib */, 7D0F64052202047900FDB91F /* VLCLibraryCollectionViewItem.xib */, 536283FC2911476A00640C15 /* VLCLibraryCollectionViewMediaItemSupplementaryDetailView.xib */, 53B40FD42AA7618000C814E4 /* VLCLibraryHeroView.xib */, @@ -2103,7 +2096,6 @@ 7DFBDCAB2269E77F00B700A5 /* VLCLibraryModel.m in Sources */, 1CCC89012078A3D500E5626F /* Preferences.xib in Sources */, 7DC21A7422049A6600F98A02 /* VLCOpenInputMetadata.m in Sources */, - 536283F6291146BC00640C15 /* VLCLibraryCollectionViewAudioGroupSupplementaryDetailView.m in Sources */, 1CCC89022078A3D500E5626F /* ResumeDialog.xib in Sources */, 7DE7232E22A51F8D00D72616 /* VLCPositionFormatter.m in Sources */, 534E8E3A29A06325009503F8 /* VLCMainVideoViewController.m in Sources */, diff --git a/modules/gui/macosx/Makefile.am b/modules/gui/macosx/Makefile.am index f056643496..6d6ac7c213 100644 --- a/modules/gui/macosx/Makefile.am +++ b/modules/gui/macosx/Makefile.am @@ -209,8 +209,6 @@ libmacosx_plugin_la_SOURCES = \ gui/macosx/library/audio-library/VLCLibraryAudioViewController.m \ gui/macosx/library/audio-library/VLCLibraryCollectionViewAlbumSupplementaryDetailView.h \ gui/macosx/library/audio-library/VLCLibraryCollectionViewAlbumSupplementaryDetailView.m \ - gui/macosx/library/audio-library/VLCLibraryCollectionViewAudioGroupSupplementaryDetailView.h \ - gui/macosx/library/audio-library/VLCLibraryCollectionViewAudioGroupSupplementaryDetailView.m \ gui/macosx/library/audio-library/VLCLibrarySongTableCellView.h \ gui/macosx/library/audio-library/VLCLibrarySongTableCellView.m \ gui/macosx/library/audio-library/VLCLibrarySongsTableViewSongPlayingTableCellView.h \ @@ -451,7 +449,6 @@ libmacosx_plugin_la_XIB_SOURCES = \ gui/macosx/UI/VLCLibraryCarouselViewItemView.xib \ gui/macosx/UI/VLCLibraryCollectionViewItem.xib \ gui/macosx/UI/VLCLibraryCollectionViewAlbumSupplementaryDetailView.xib \ - gui/macosx/UI/VLCLibraryCollectionViewAudioGroupSupplementaryDetailView.xib \ gui/macosx/UI/VLCLibraryCollectionViewMediaItemSupplementaryDetailView.xib \ gui/macosx/UI/VLCLibraryHeroView.xib \ gui/macosx/UI/VLCLibrarySongTableCellView.xib \ diff --git a/modules/gui/macosx/UI/VLCLibraryCollectionViewAudioGroupSupplementaryDetailView.xib b/modules/gui/macosx/UI/VLCLibraryCollectionViewAudioGroupSupplementaryDetailView.xib deleted file mode 100644 index 4e290f328c..0000000000 --- a/modules/gui/macosx/UI/VLCLibraryCollectionViewAudioGroupSupplementaryDetailView.xib +++ /dev/null @@ -1,98 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/modules/gui/macosx/library/audio-library/VLCLibraryCollectionViewAudioGroupSupplementaryDetailView.h b/modules/gui/macosx/library/audio-library/VLCLibraryCollectionViewAudioGroupSupplementaryDetailView.h deleted file mode 100644 index 4ad0f061a1..0000000000 --- a/modules/gui/macosx/library/audio-library/VLCLibraryCollectionViewAudioGroupSupplementaryDetailView.h +++ /dev/null @@ -1,43 +0,0 @@ -/***************************************************************************** - * VLCLibraryCollectionViewAudioGroupSupplementaryDetailView.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/VLCLibraryCollectionViewSupplementaryDetailView.h" - -NS_ASSUME_NONNULL_BEGIN - -@class VLCImageView; - -extern NSString *const VLCLibraryCollectionViewAudioGroupSupplementaryDetailViewIdentifier; -extern NSCollectionViewSupplementaryElementKind const VLCLibraryCollectionViewAudioGroupSupplementaryDetailViewKind; - -@interface VLCLibraryCollectionViewAudioGroupSupplementaryDetailView : VLCLibraryCollectionViewSupplementaryDetailView - -@property (readwrite, weak) IBOutlet NSTextField *audioGroupNameTextField; -@property (readwrite, weak) IBOutlet NSTableView *audioGroupAlbumsTableView; -@property (readwrite, weak) IBOutlet NSClipView *tableClipView; -@property (readwrite, weak) IBOutlet NSScrollView *tableScrollView; - -@end - -NS_ASSUME_NONNULL_END diff --git a/modules/gui/macosx/library/audio-library/VLCLibraryCollectionViewAudioGroupSupplementaryDetailView.m b/modules/gui/macosx/library/audio-library/VLCLibraryCollectionViewAudioGroupSupplementaryDetailView.m deleted file mode 100644 index 1aca4ade1e..0000000000 --- a/modules/gui/macosx/library/audio-library/VLCLibraryCollectionViewAudioGroupSupplementaryDetailView.m +++ /dev/null @@ -1,100 +0,0 @@ -/***************************************************************************** - * VLCLibraryCollectionViewAudioGroupSupplementaryDetailView.m: 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 "VLCLibraryCollectionViewAudioGroupSupplementaryDetailView.h" - -#import "extensions/NSFont+VLCAdditions.h" - -#import "library/VLCLibraryDataTypes.h" -#import "library/VLCLibraryModel.h" -#import "library/VLCLibraryRepresentedItem.h" - -#import "library/audio-library/VLCLibraryAudioGroupDataSource.h" -#import "library/audio-library/VLCLibraryAudioGroupTableViewDelegate.h" - -NSString *const VLCLibraryCollectionViewAudioGroupSupplementaryDetailViewIdentifier = @"VLCLibraryCollectionViewAudioGroupSupplementaryDetailViewIdentifier"; -NSCollectionViewSupplementaryElementKind const VLCLibraryCollectionViewAudioGroupSupplementaryDetailViewKind = @"VLCLibraryCollectionViewAudioGroupSupplementaryDetailViewIdentifier"; - -@interface VLCLibraryCollectionViewAudioGroupSupplementaryDetailView () -{ - VLCLibraryAudioGroupDataSource *_audioGroupAlbumsDataSource; - VLCLibraryAudioGroupTableViewDelegate *_audioGroupAlbumsTableViewDelegate; -} - -@end - -@implementation VLCLibraryCollectionViewAudioGroupSupplementaryDetailView - -- (void)awakeFromNib -{ - _audioGroupAlbumsDataSource = [[VLCLibraryAudioGroupDataSource alloc] init]; - _audioGroupAlbumsDataSource.tableViews = @[_audioGroupAlbumsTableView]; - - _audioGroupAlbumsTableViewDelegate = [[VLCLibraryAudioGroupTableViewDelegate alloc] init]; - - _audioGroupAlbumsTableView.dataSource = _audioGroupAlbumsDataSource; - _audioGroupAlbumsTableView.delegate = _audioGroupAlbumsTableViewDelegate; - - _audioGroupNameTextField.font = NSFont.VLCLibrarySubsectionHeaderFont; - - NSNotificationCenter * const notificationCenter = NSNotificationCenter.defaultCenter; - [notificationCenter addObserver:self - selector:@selector(handleAudioGroupUpdated:) - name:VLCLibraryModelAlbumUpdated - object:nil]; - [notificationCenter addObserver:self - selector:@selector(handleAudioGroupUpdated:) - name:VLCLibraryModelArtistUpdated - object:nil]; - [notificationCenter addObserver:self - selector:@selector(handleAudioGroupUpdated:) - name:VLCLibraryModelGenreUpdated - object:nil]; -} - -- (void)handleAudioGroupUpdated:(NSNotification *)notification -{ - NSParameterAssert(notification); - - if (self.representedItem == nil || - notification.object == nil || - ![notification.object conformsToProtocol:@protocol(VLCMediaLibraryAudioGroupProtocol)]) { - - return; - } - - const id audioGroup = (id)notification.object; - VLCLibraryRepresentedItem * const representedItem = [[VLCLibraryRepresentedItem alloc] initWithItem:audioGroup parentType:self.representedItem.parentType]; - self.representedItem = representedItem; -} - -- (void)updateRepresentation -{ - NSAssert(self.representedItem != nil, @"no media item assigned for collection view item", nil); - const id audioGroup = (id)self.representedItem.item; - NSAssert(audioGroup != nil, @"audio group should not be nil!"); - - _audioGroupNameTextField.stringValue = audioGroup.displayString; - _audioGroupAlbumsDataSource.representedAudioGroup = audioGroup; -} - -@end