UI: messages view

Enable gif animation

Change-Id: I28371de138e5b9e05303bb1c0cf7f2b63f2c68a3
diff --git a/src/MessagesVC.mm b/src/MessagesVC.mm
index 44e9033..41fc300 100644
--- a/src/MessagesVC.mm
+++ b/src/MessagesVC.mm
@@ -351,15 +351,15 @@
                                   paragraphStyle,NSParagraphStyleAttributeName, nil];
         NSAttributedString* alternativeString = [[NSAttributedString alloc] initWithString:fileName attributes:alternativeNametAttr];
         result.transferedFileName.attributedAlternateTitle = alternativeString;
-        NSImage* image = [self getImageForFilePath:name size:MAX_TRANSFERED_IMAGE_SIZE];
+        NSImage* image = [self getImageForFilePath:name];
         if (([name rangeOfString:@"/"].location == NSNotFound)) {
-            image = [self getImageForFilePath:[self getDataTransferPath:interactionID] size:MAX_TRANSFERED_IMAGE_SIZE];
+            image = [self getImageForFilePath:[self getDataTransferPath:interactionID]];
         }
         if(image != nil) {
-            result.transferedImage.image = [image roundCorners:14];
-            [result updateImageConstraint:image.size.width andHeight:image.size.height];
-            [result.transferedImage setAction:@selector(imagePreview:)];
-            [result.transferedImage setTarget:self];
+            result.transferedImage.image = image;
+            [result updateImageConstraintWithMax: MAX_TRANSFERED_IMAGE_SIZE];
+            [result.openImagebutton setAction:@selector(imagePreview:)];
+            [result.openImagebutton setTarget:self];
         }
     }
     [result setupForInteraction:interactionID];
@@ -525,12 +525,21 @@
 
         if( interaction.status == lrc::api::interaction::Status::TRANSFER_FINISHED) {
             NSString* name =  @(interaction.body.c_str());
-            NSImage* image = [self getImageForFilePath:name size:MAX_TRANSFERED_IMAGE_SIZE];
+            NSImage* image = [self getImageForFilePath:name];
             if (([name rangeOfString:@"/"].location == NSNotFound)) {
-                image = [self getImageForFilePath:[self getDataTransferPath:it->first] size:MAX_TRANSFERED_IMAGE_SIZE];
+                image = [self getImageForFilePath:[self getDataTransferPath:it->first]];
             }
             if (image != nil) {
-                return image.size.height + TIME_BOX_HEIGHT;
+                CGFloat widthScaleFactor = MAX_TRANSFERED_IMAGE_SIZE / image.size.width;
+                CGFloat heightScaleFactor = MAX_TRANSFERED_IMAGE_SIZE / image.size.height;
+                CGFloat heigt = 0;
+                if((widthScaleFactor >= 1) && (heightScaleFactor >= 1)) {
+                    heigt = image.size.height;
+                } else {
+                    CGFloat scale = MIN(widthScaleFactor, heightScaleFactor);
+                    heigt = image.size.height * scale;
+                }
+                return heigt + TIME_BOX_HEIGHT;
             }
         }
         return BUBBLE_HEIGHT_FOR_TRANSFERED_FILE + TIME_BOX_HEIGHT;
@@ -573,14 +582,11 @@
     return @(info.path.c_str());
 }
 
--(NSImage*) getImageForFilePath: (NSString *) path size:(CGFloat)size {
+-(NSImage*) getImageForFilePath: (NSString *) path {
     if (path.length <= 0) {return nil;}
     if (![[NSFileManager defaultManager] fileExistsAtPath: path]) {return nil;}
     NSImage* transferedImage = [[NSImage alloc] initWithContentsOfFile: path];
-    if(transferedImage != nil) {
-        return [transferedImage imageResizeInsideMax: size];
-    }
-    return nil;
+    return transferedImage;
 }
 
 -(CGSize) sizeFor:(NSString *) message maxWidth:(CGFloat) width {