VLCPlaylistGridView.m 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. //
  2. // VLCGridViewCell.m
  3. // AspenProject
  4. //
  5. // Created by Felix Paul Kühne on 11.04.13.
  6. // Copyright (c) 2013 VideoLAN. All rights reserved.
  7. //
  8. #import "VLCPlaylistGridView.h"
  9. #import "VLCAppDelegate.h"
  10. @interface VLCPlaylistGridView (Hack)
  11. @property (nonatomic, retain) NSString *reuseIdentifier;
  12. @end
  13. @implementation VLCPlaylistGridView
  14. - (void)awakeFromNib {
  15. [super awakeFromNib];
  16. _contentView = self;
  17. self.backgroundColor = [UIColor blackColor];
  18. self.reuseIdentifier = @"AQPlaylistCell";
  19. }
  20. - (void)setEditing:(BOOL)editing animated:(BOOL)animated
  21. {
  22. [super setEditing:editing animated:animated];
  23. self.removeMediaButton.hidden = !editing;
  24. }
  25. - (void)prepareForReuse
  26. {
  27. [super prepareForReuse];
  28. self.removeMediaButton.hidden = YES;
  29. }
  30. + (CGSize)preferredSize
  31. {
  32. return CGSizeMake(384, 240);
  33. }
  34. - (void)setMediaObject:(MLFile *)mediaObject
  35. {
  36. [mediaObject willDisplay];
  37. self.titleLabel.text = mediaObject.title;
  38. self.subtitleLabel.text = [NSString stringWithFormat:@"%@ — %.2f MB", [VLCTime timeWithNumber:[mediaObject duration]], [mediaObject fileSizeInBytes] / 2e6];
  39. self.thumbnailView.image = mediaObject.computedThumbnail;
  40. self.progressView.progress = mediaObject.lastPosition.floatValue;
  41. _mediaObject = mediaObject;
  42. [self setNeedsDisplay];
  43. }
  44. - (IBAction)removeMedia:(id)sender
  45. {
  46. VLCAppDelegate* appDelegate = [UIApplication sharedApplication].delegate;
  47. [appDelegate.playlistViewController removeMediaObject:self.mediaObject];
  48. }
  49. @end