From 2f2ef9548944aed2ed9cf62a6fc4895486fabef3 Mon Sep 17 00:00:00 2001 From: Kateryna Kostiuk <kateryna.kostiuk@savoirfairelinux.com> Date: Tue, 7 May 2019 11:04:41 -0400 Subject: [PATCH] UI: account avatar Fix image corners radius and limit size. Change-Id: Ie7e0aaaf8244511a461e93c748af25c734c340fa --- src/AccRingGeneralVC.mm | 8 ++++---- src/AccSipGeneralVC.mm | 8 ++++---- src/AddSIPAccountVC.mm | 5 +++-- src/Constants.h | 2 ++ src/RingWizardNewAccountVC.mm | 4 ++-- 5 files changed, 15 insertions(+), 12 deletions(-) diff --git a/src/AccRingGeneralVC.mm b/src/AccRingGeneralVC.mm index 2a220f4f..a07278fd 100644 --- a/src/AccRingGeneralVC.mm +++ b/src/AccRingGeneralVC.mm @@ -42,6 +42,7 @@ #import "views/RoundedTextField.h" #import "ExportPasswordWC.h" #import "utils.h" +#import "Constants.h" @interface AccRingGeneralVC () @@ -114,7 +115,6 @@ typedef NS_ENUM(NSInteger, TagViews) { - (void)awakeFromNib { [super awakeFromNib]; - [photoView setBordered:YES]; [addProfilePhotoImage setWantsLayer: YES]; devicesTableView.delegate = self; devicesTableView.dataSource = self; @@ -142,7 +142,7 @@ typedef NS_ENUM(NSInteger, TagViews) { NSImage *image = [[NSImage alloc] initWithData:imageData]; if(image) { [photoView setBordered:NO]; - [photoView setImage: [image roundCorners: 350]]; + [photoView setImage: [image roundCorners: image.size.height * 0.5]]; [addProfilePhotoImage setHidden:YES]; } else { [photoView setImage:nil]; @@ -241,8 +241,8 @@ typedef NS_ENUM(NSInteger, TagViews) { } if (auto outputImage = [picker outputImage]) { auto image = [picker inputImage]; - CGFloat newSize = MIN(image.size.height, image.size.width); - outputImage = [outputImage cropImageToSize:CGSizeMake(newSize, newSize)]; + CGFloat newSize = MIN(MIN(image.size.height, image.size.width), MAX_IMAGE_SIZE); + outputImage = [outputImage imageResizeInsideMax: newSize]; [photoView setImage: [outputImage roundCorners: outputImage.size.height * 0.5]]; [photoView setBordered:NO]; [addProfilePhotoImage setHidden:YES]; diff --git a/src/AccSipGeneralVC.mm b/src/AccSipGeneralVC.mm index ceba2a48..384d58bf 100644 --- a/src/AccSipGeneralVC.mm +++ b/src/AccSipGeneralVC.mm @@ -36,6 +36,7 @@ #import "AccSipGeneralVC.h" #import "views/NSColor+RingTheme.h" #import "views/NSImage+Extensions.h" +#import "Constants.h" @interface AccSipGeneralVC () @@ -76,7 +77,6 @@ typedef NS_ENUM(NSInteger, TagViews) { -(void)viewDidLoad { [super viewDidLoad]; [[self view] setAutoresizingMask: NSViewMinXMargin | NSViewMaxXMargin]; - [photoView setBordered:YES]; [addProfilePhotoImage setWantsLayer: YES]; [self setEditingMode:NO]; [self updateView]; @@ -93,8 +93,8 @@ typedef NS_ENUM(NSInteger, TagViews) { if (auto outputImage = [picker outputImage]) { [photoView setBordered:NO]; auto image = [picker inputImage]; - CGFloat newSize = MIN(image.size.height, image.size.width); - outputImage = [outputImage cropImageToSize:CGSizeMake(newSize, newSize)]; + CGFloat newSize = MIN(MIN(image.size.height, image.size.width), MAX_IMAGE_SIZE); + outputImage = [outputImage imageResizeInsideMax: newSize]; [photoView setImage: [outputImage roundCorners: outputImage.size.height * 0.5]]; [addProfilePhotoImage setHidden:YES]; auto imageToBytes = QByteArray::fromNSData([outputImage TIFFRepresentation]).toBase64(); @@ -128,7 +128,7 @@ typedef NS_ENUM(NSInteger, TagViews) { NSImage *image = [[NSImage alloc] initWithData:imageData]; if(image) { [photoView setBordered:NO]; - [photoView setImage: [image roundCorners: 350]]; + [photoView setImage: [image roundCorners: image.size.height * 0.5]]; [addProfilePhotoImage setHidden:YES]; } else { [photoView setImage:nil]; diff --git a/src/AddSIPAccountVC.mm b/src/AddSIPAccountVC.mm index 0de219d9..5acb4aef 100644 --- a/src/AddSIPAccountVC.mm +++ b/src/AddSIPAccountVC.mm @@ -29,6 +29,7 @@ //ring #import "AddSIPAccountVC.h" #import "views/NSImage+Extensions.h" +#import "Constants.h" @interface AddSIPAccountVC () { __unsafe_unretained IBOutlet NSButton* photoView; @@ -149,8 +150,8 @@ NSTimer* timeoutTimer; if (auto outputImage = [picker outputImage]) { [photoView setBordered:NO]; auto image = [picker inputImage]; - CGFloat newSize = MIN(image.size.height, image.size.width); - outputImage = [outputImage cropImageToSize:CGSizeMake(newSize, newSize)]; + CGFloat newSize = MIN(MIN(image.size.height, image.size.width), MAX_IMAGE_SIZE); + outputImage = [outputImage imageResizeInsideMax: newSize]; [photoView setImage:outputImage]; [addProfilePhotoImage setHidden:YES]; } else if(!photoView.image) { diff --git a/src/Constants.h b/src/Constants.h index c5987c14..416f3142 100644 --- a/src/Constants.h +++ b/src/Constants.h @@ -38,3 +38,5 @@ namespace Preferences { /* download folder for incoming images*/ NSString * const DownloadFolder = @"download_folder"; } + +const CGFloat MAX_IMAGE_SIZE = 1024; diff --git a/src/RingWizardNewAccountVC.mm b/src/RingWizardNewAccountVC.mm index 9d709b27..77f9778a 100644 --- a/src/RingWizardNewAccountVC.mm +++ b/src/RingWizardNewAccountVC.mm @@ -194,8 +194,8 @@ NSInteger const ERROR_REPEAT_MISMATCH = -2; if (auto outputImage = [picker outputImage]) { [photoView setBordered:NO]; auto image = [picker inputImage]; - CGFloat newSize = MIN(image.size.height, image.size.width); - outputImage = [outputImage cropImageToSize:CGSizeMake(newSize, newSize)]; + CGFloat newSize = MIN(MIN(image.size.height, image.size.width), MAX_IMAGE_SIZE); + outputImage = [outputImage imageResizeInsideMax: newSize]; [photoView setImage:outputImage]; [addProfilePhotoImage setHidden:YES]; } else if(!photoView.image) { -- GitLab