Browse Source

unify label thumbnail size with invididual thumbnail size

Felix Paul Kühne 11 years ago
parent
commit
e903060290

+ 1 - 1
Sources/VLCPlaylistCollectionViewCell.m

@@ -143,7 +143,7 @@
             if (mediaObject.files.count == 0)
                 self.thumbnailView.image = [UIImage imageNamed:@"folderIcon"];
             else
-                self.thumbnailView.image = [VLCThumbnailsCache thumbnailForLabel:mediaObject ofSize:self.thumbnailView.frame.size];
+                self.thumbnailView.image = [VLCThumbnailsCache thumbnailForLabel:mediaObject];
         }
     } else if ([self.mediaObject isKindOfClass:[MLAlbum class]]) {
         MLAlbum *mediaObject = (MLAlbum *)self.mediaObject;

+ 2 - 4
Sources/VLCPlaylistTableViewCell.m

@@ -101,10 +101,8 @@
         if (([keyPath isEqualToString:@"computedThumbnail"] || !keyPath) || (!self.thumbnailView.image && [keyPath isEqualToString:@"editing"])) {
             if (mediaObject.files.count == 0)
                 self.thumbnailView.image = [UIImage imageNamed:@"folderIcon"];
-            else {
-                CGSize currentSize = self.thumbnailView.frame.size;
-                self.thumbnailView.image = [VLCThumbnailsCache thumbnailForLabel:mediaObject ofSize:CGSizeMake(currentSize.width, currentSize.height * 2.)];
-            }
+            else
+                self.thumbnailView.image = [VLCThumbnailsCache thumbnailForLabel:mediaObject];
         }
     } else if ([self.mediaObject isKindOfClass:[MLAlbum class]]) {
         MLAlbum *mediaObject = (MLAlbum *)self.mediaObject;

+ 1 - 1
Sources/VLCThumbnailsCache.h

@@ -19,6 +19,6 @@
 
 + (UIImage *)thumbnailForMediaItemWithTitle:(NSString *)title Artist:(NSString*)artist andAlbumName:(NSString*)albumname;
 
-+ (UIImage *)thumbnailForLabel:(MLLabel *)mediaLabel ofSize:(CGSize)size;
++ (UIImage *)thumbnailForLabel:(MLLabel *)mediaLabel;
 
 @end

+ 17 - 4
Sources/VLCThumbnailsCache.m

@@ -102,7 +102,7 @@ static NSCache *_thumbnailCache;
     return displayedImage;
 }
 
-+ (UIImage *)thumbnailForLabel:(MLLabel *)mediaLabel ofSize:(CGSize)imageSize
++ (UIImage *)thumbnailForLabel:(MLLabel *)mediaLabel
 {
     NSManagedObjectID *objID = mediaLabel.objectID;
     UIImage *displayedImage = [_thumbnailCache objectForKey:objID];
@@ -113,9 +113,22 @@ static NSCache *_thumbnailCache;
     NSUInteger fileNumber = [mediaLabel.files count] > 3 ? 3 : [mediaLabel.files count];
     NSArray *files = [mediaLabel.files allObjects];
 
-    /* for retina displays, our image size needs to be twice as big */
-    if ([UIScreen mainScreen].scale == 2.)
-        imageSize = CGSizeMake(imageSize.width * 2., imageSize.height * 2.);
+    CGSize imageSize;
+    if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) {
+        if ([UIScreen mainScreen].scale==2.0)
+            imageSize = CGSizeMake(540., 405.);
+        else
+            imageSize = CGSizeMake(272, 204.);
+    } else {
+        if (SYSTEM_RUNS_IOS7_OR_LATER)
+            imageSize = CGSizeMake(480., 270.);
+        else {
+            if ([UIScreen mainScreen].scale==2.0)
+                imageSize = CGSizeMake(480., 270.);
+            else
+                imageSize = CGSizeMake(540., 405.);
+        }
+    }
 
     UIGraphicsBeginImageContext(imageSize);
     for (NSUInteger i = 0; i < fileNumber; i++) {