vlc | branch: master | Felix Paul Kühne <[email protected]> | Thu May 30 20:25:50 2019 +0200| [5337f1bc805d97ab299578cfc6e56edb9678f611] | committer: Felix Paul Kühne
macosx/library collection view item: refactor for increased readibility No functional changes > http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=5337f1bc805d97ab299578cfc6e56edb9678f611 --- .../macosx/library/VLCLibraryCollectionViewItem.m | 39 +++++++++++++--------- modules/gui/macosx/library/VLCLibraryDataTypes.h | 1 + modules/gui/macosx/library/VLCLibraryDataTypes.m | 1 + 3 files changed, 26 insertions(+), 15 deletions(-) diff --git a/modules/gui/macosx/library/VLCLibraryCollectionViewItem.m b/modules/gui/macosx/library/VLCLibraryCollectionViewItem.m index d06c0728b2..a4b1aa2523 100644 --- a/modules/gui/macosx/library/VLCLibraryCollectionViewItem.m +++ b/modules/gui/macosx/library/VLCLibraryCollectionViewItem.m @@ -142,12 +142,31 @@ const CGFloat VLCLibraryCollectionViewItemMaximumDisplayedProgress = 0.95; - (void)updateRepresentation { if (_representedMediaItem == nil) { + NSAssert(1, @"no media item assigned for collection view item", nil); return; } _mediaTitleTextField.stringValue = _representedMediaItem.title; - _durationTextField.stringValue = [NSString stringWithTime:_representedMediaItem.duration / 1000]; + _durationTextField.stringValue = [NSString stringWithTime:_representedMediaItem.duration / VLCMediaLibraryMediaItemDurationDenominator]; + _mediaImageView.image = [self imageForMedia]; + + VLCMediaLibraryTrack *videoTrack = _representedMediaItem.firstVideoTrack; + [self showVideoSizeIfNeededForWidth:videoTrack.videoWidth andHeight:videoTrack.videoHeight]; + + CGFloat position = _representedMediaItem.lastPlaybackPosition; + if (position > VLCLibraryCollectionViewItemMinimalDisplayedProgress && position < VLCLibraryCollectionViewItemMaximumDisplayedProgress) { + _progressIndicator.progress = position; + _progressIndicator.hidden = NO; + } + + if (_representedMediaItem.playCount == 0) { + _unplayedIndicatorTextField.hidden = NO; + } +} + +- (NSImage *)imageForMedia +{ NSImage *image; if (_representedMediaItem.artworkGenerated) { image = [[NSImage alloc] initWithContentsOfURL:[NSURL URLWithString:_representedMediaItem.artworkMRL]]; @@ -159,11 +178,11 @@ const CGFloat VLCLibraryCollectionViewItemMaximumDisplayedProgress = 0.95; if (!image) { image = [NSImage imageNamed: @"noart.png"]; } - _mediaImageView.image = image; + return image; +} - VLCMediaLibraryTrack *videoTrack = _representedMediaItem.firstVideoTrack; - CGFloat width = videoTrack.videoWidth; - CGFloat height = videoTrack.videoHeight; +- (void)showVideoSizeIfNeededForWidth:(CGFloat)width andHeight:(CGFloat)height +{ if (width >= VLCMediaLibrary4KWidth || height >= VLCMediaLibrary4KHeight) { _annotationTextField.stringValue = @" 4K "; _annotationTextField.hidden = NO; @@ -171,16 +190,6 @@ const CGFloat VLCLibraryCollectionViewItemMaximumDisplayedProgress = 0.95; _annotationTextField.stringValue = @" HD "; _annotationTextField.hidden = NO; } - - CGFloat position = _representedMediaItem.lastPlaybackPosition; - if (position > VLCLibraryCollectionViewItemMinimalDisplayedProgress && position < VLCLibraryCollectionViewItemMaximumDisplayedProgress) { - _progressIndicator.progress = position; - _progressIndicator.hidden = NO; - } - - if (_representedMediaItem.playCount == 0) { - _unplayedIndicatorTextField.hidden = NO; - } } #pragma mark - actions diff --git a/modules/gui/macosx/library/VLCLibraryDataTypes.h b/modules/gui/macosx/library/VLCLibraryDataTypes.h index 8fb75bc8a8..5d50c69e5b 100644 --- a/modules/gui/macosx/library/VLCLibraryDataTypes.h +++ b/modules/gui/macosx/library/VLCLibraryDataTypes.h @@ -31,6 +31,7 @@ extern const CGFloat VLCMediaLibrary4KWidth; extern const CGFloat VLCMediaLibrary4KHeight; extern const CGFloat VLCMediaLibrary720pWidth; extern const CGFloat VLCMediaLibrary720pHeight; +extern const long long int VLCMediaLibraryMediaItemDurationDenominator; @interface VLCMediaLibraryFile : NSObject diff --git a/modules/gui/macosx/library/VLCLibraryDataTypes.m b/modules/gui/macosx/library/VLCLibraryDataTypes.m index af99634fd2..76ec78fd4e 100644 --- a/modules/gui/macosx/library/VLCLibraryDataTypes.m +++ b/modules/gui/macosx/library/VLCLibraryDataTypes.m @@ -31,6 +31,7 @@ const CGFloat VLCMediaLibrary4KWidth = 3840.; const CGFloat VLCMediaLibrary4KHeight = 2160.; const CGFloat VLCMediaLibrary720pWidth = 1280.; const CGFloat VLCMediaLibrary720pHeight = 720.; +const long long int VLCMediaLibraryMediaItemDurationDenominator = 1000; @implementation VLCMediaLibraryFile _______________________________________________ vlc-commits mailing list [email protected] https://mailman.videolan.org/listinfo/vlc-commits
