Felix Paul Kühne pushed to branch master at VideoLAN / VLC
Commits:
9fddce82 by Claudio Cambra at 2023-09-25T07:39:30+00:00
macosx: Register nib for VLCLibraryTableCellView in video library table views
Signed-off-by: Claudio Cambra <[email protected]>
- - - - -
09bb1d9b by Claudio Cambra at 2023-09-25T07:39:30+00:00
macosx: Register nib for VLCLibraryTableCellView in VLCMediaSourceBaseDataSource
Signed-off-by: Claudio Cambra <[email protected]>
- - - - -
c37d0365 by Claudio Cambra at 2023-09-25T07:39:30+00:00
macosx: Remove fallback for unregistered table view cell type in
VLCMediaSourceDataSource
Signed-off-by: Claudio Cambra <[email protected]>
- - - - -
72af50e8 by Claudio Cambra at 2023-09-25T07:39:30+00:00
macosx: Replace magic strings for VLCLibraryTableCellView name with direct
string from class name
Signed-off-by: Claudio Cambra <[email protected]>
- - - - -
eb6a3577 by Claudio Cambra at 2023-09-25T07:39:30+00:00
macosx: Replace media source magic table cell view identifier string with
standard identifier string for table cell views
Signed-off-by: Claudio Cambra <[email protected]>
- - - - -
6 changed files:
- modules/gui/macosx/library/VLCLibraryTableCellView.h
- modules/gui/macosx/library/VLCLibraryTableCellView.m
- modules/gui/macosx/library/media-source/VLCMediaSourceBaseDataSource.m
- modules/gui/macosx/library/media-source/VLCMediaSourceDataSource.m
- modules/gui/macosx/library/video-library/VLCLibraryVideoTableViewDelegate.m
- modules/gui/macosx/library/video-library/VLCLibraryVideoViewController.m
Changes:
=====================================
modules/gui/macosx/library/VLCLibraryTableCellView.h
=====================================
@@ -31,6 +31,8 @@ NS_ASSUME_NONNULL_BEGIN
@protocol VLCMediaLibraryItemProtocol;
@class VLCInputItem;
+extern NSString * const VLCLibraryTableCellViewIdentifier;
+
@interface VLCLibraryTableCellView :
NSTableCellView<VLCLibraryTableCellViewProtocol>
+ (instancetype)fromNibWithOwner:(id)owner;
=====================================
modules/gui/macosx/library/VLCLibraryTableCellView.m
=====================================
@@ -41,11 +41,13 @@
#import "views/VLCImageView.h"
#import "views/VLCTrackingView.h"
+NSString * const VLCLibraryTableCellViewIdentifier =
@"VLCLibraryTableCellViewIdentifier";
+
@implementation VLCLibraryTableCellView
+ (instancetype)fromNibWithOwner:(id)owner
{
- return (VLCLibraryTableCellView*)[NSView
fromNibNamed:@"VLCLibraryTableCellView"
+ return (VLCLibraryTableCellView*)[NSView
fromNibNamed:NSStringFromClass(VLCLibraryTableCellView.class)
withClass:[VLCLibraryTableCellView class]
withOwner:owner];
}
=====================================
modules/gui/macosx/library/media-source/VLCMediaSourceBaseDataSource.m
=====================================
@@ -44,9 +44,6 @@
#import "views/VLCImageView.h"
-
-NSString *VLCMediaSourceTableViewCellIdentifier =
@"VLCMediaSourceTableViewCellIdentifier";
-
@interface VLCMediaSourceBaseDataSource () <NSCollectionViewDataSource,
NSCollectionViewDelegate, NSTableViewDelegate, NSTableViewDataSource>
{
NSArray<VLCMediaSource *> *_mediaSources;
@@ -110,7 +107,10 @@ NSString *VLCMediaSourceTableViewCellIdentifier =
@"VLCMediaSourceTableViewCellI
self.tableView.dataSource = self;
self.tableView.delegate = self;
-
+
+ NSNib * const tableCellViewNib = [[NSNib alloc]
initWithNibNamed:NSStringFromClass(VLCLibraryTableCellView.class) bundle:nil];
+ [self.tableView registerNib:tableCellViewNib
forIdentifier:VLCLibraryTableCellViewIdentifier];
+
[self reloadViews];
}
@@ -355,13 +355,7 @@ referenceSizeForHeaderInSection:(NSInteger)section
- (NSView *)tableView:(NSTableView *)tableView
viewForTableColumn:(NSTableColumn *)tableColumn row:(NSInteger)row
{
- VLCLibraryTableCellView *cellView = [tableView
makeViewWithIdentifier:VLCMediaSourceTableViewCellIdentifier owner:self];
-
- if (cellView == nil) {
- cellView = [VLCLibraryTableCellView fromNibWithOwner:self];
- cellView.identifier = VLCMediaSourceTableViewCellIdentifier;
- }
-
+ VLCLibraryTableCellView * const cellView = [tableView
makeViewWithIdentifier:VLCLibraryTableCellViewIdentifier owner:self];
cellView.primaryTitleTextField.hidden = YES;
cellView.secondaryTitleTextField.hidden = YES;
cellView.singlePrimaryTitleTextField.hidden = NO;
=====================================
modules/gui/macosx/library/media-source/VLCMediaSourceDataSource.m
=====================================
@@ -131,13 +131,7 @@
- (NSView *)tableView:(NSTableView *)tableView
viewForTableColumn:(NSTableColumn *)tableColumn row:(NSInteger)row
{
- VLCLibraryTableCellView *cellView = [tableView
makeViewWithIdentifier:@"VLCMediaSourceTableViewCellIdentifier" owner:self];
-
- if (cellView == nil) {
- cellView = [VLCLibraryTableCellView fromNibWithOwner:self];
- cellView.identifier = @"VLCMediaSourceTableViewCellIdentifier";
- }
-
+ VLCLibraryTableCellView * const cellView = [tableView
makeViewWithIdentifier:VLCLibraryTableCellViewIdentifier owner:self];
cellView.representedInputItem = [self mediaSourceInputItemAtRow:row];
return cellView;
}
=====================================
modules/gui/macosx/library/video-library/VLCLibraryVideoTableViewDelegate.m
=====================================
@@ -54,12 +54,7 @@
return [super tableView:tableView viewForTableColumn:tableColumn
row:row];
}
- VLCLibraryTableCellView *cellView = [tableView
makeViewWithIdentifier:self.cellViewIdentifier owner:self];
-
- if (!cellView) {
- cellView = [VLCLibraryTableCellView fromNibWithOwner:self];
- cellView.identifier = @"VLCVideoLibraryTableViewCellIdentifier";
- }
+ VLCLibraryTableCellView * const cellView = [tableView
makeViewWithIdentifier:self.cellViewIdentifier owner:self];
if ([vlcDataSource isKindOfClass:[VLCLibraryVideoTableViewDataSource
class]]) {
VLCLibraryVideoTableViewDataSource * const videoTableViewDataSource =
(VLCLibraryVideoTableViewDataSource *)vlcDataSource;
=====================================
modules/gui/macosx/library/video-library/VLCLibraryVideoViewController.m
=====================================
@@ -26,6 +26,7 @@
#import "library/VLCLibraryController.h"
#import "library/VLCLibraryModel.h"
+#import "library/VLCLibraryTableCellView.h"
#import "library/VLCLibraryTwoPaneSplitViewDelegate.h"
#import "library/VLCLibraryUIUnits.h"
#import "library/VLCLibraryWindow.h"
@@ -107,6 +108,10 @@
_libraryVideoTableViewDataSource.libraryModel =
VLCMain.sharedInstance.libraryController.libraryModel;
_libraryVideoTableViewDataSource.groupsTableView =
_videoLibraryGroupsTableView;
_libraryVideoTableViewDataSource.groupSelectionTableView =
_videoLibraryGroupSelectionTableView;
+
+ NSNib * const tableCellViewNib = [[NSNib alloc]
initWithNibNamed:NSStringFromClass(VLCLibraryTableCellView.class) bundle:nil];
+ [_videoLibraryGroupsTableView registerNib:tableCellViewNib
forIdentifier:@"VLCVideoLibraryTableViewCellIdentifier"];
+ [_videoLibraryGroupSelectionTableView registerNib:tableCellViewNib
forIdentifier:@"VLCVideoLibraryTableViewCellIdentifier"];
}
- (void)setupTableViews
View it on GitLab:
https://code.videolan.org/videolan/vlc/-/compare/117561315447fa25425bc09f9168e9692cb9a561...eb6a357774254e889afc1e6da903a5c00efe7925
--
View it on GitLab:
https://code.videolan.org/videolan/vlc/-/compare/117561315447fa25425bc09f9168e9692cb9a561...eb6a357774254e889afc1e6da903a5c00efe7925
You're receiving this email because of your account on code.videolan.org.
VideoLAN code repository instance_______________________________________________
vlc-commits mailing list
[email protected]
https://mailman.videolan.org/listinfo/vlc-commits