From 59abc6011b451ba235e5d6188dfcb56c74cebeb6 Mon Sep 17 00:00:00 2001 From: "Michael J. Rubinsky" Date: Fri, 5 Dec 2008 18:22:01 -0500 Subject: [PATCH] Unhide the size popup Implement image on the fly image scaling during upload. This is MUCH better then using the full size images. Yes, the interface needs much TLC, but one thing at a time :) --- iPhoto2Ansel/AnselExportController.m | 29 ++++++++++++++++----- iPhoto2Ansel/English.lproj/Panel.nib/info.nib | 2 +- .../English.lproj/Panel.nib/keyedobjects.nib | Bin 15431 -> 15165 bytes 3 files changed, 24 insertions(+), 7 deletions(-) diff --git a/iPhoto2Ansel/AnselExportController.m b/iPhoto2Ansel/AnselExportController.m index 17b8ceb38..96dcfec46 100644 --- a/iPhoto2Ansel/AnselExportController.m +++ b/iPhoto2Ansel/AnselExportController.m @@ -5,8 +5,6 @@ // Created by Michael Rubinsky on 10/23/08. // Copyright 2008 __MyCompanyName__. All rights reserved. // -#import -#import #import "TURAnsel.h" #import "TURAnselGallery.h" #import "AnselExportController.h" @@ -36,7 +34,6 @@ { // UI Defaults [mSizePopUp selectItemWithTag:2]; - [mQualityPopUp selectItemWithTag:2]; [connectedLabel setStringValue:@"Not Connected"]; [connectedLabel setTextColor: [NSColor redColor]]; [spinner stopAnimation:self]; @@ -58,10 +55,10 @@ -(void)doConnect: (id)sender { NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init]; - NSDictionary *p = [[NSDictionary alloc] initWithObjects:[NSArray arrayWithObjects:[anselHostURL stringValue], + NSDictionary *p = [[NSDictionary alloc] initWithObjects: [NSArray arrayWithObjects:[anselHostURL stringValue], [username stringValue], [password stringValue], nil] - forKeys:[NSArray arrayWithObjects:@"endpoint", @"username", @"password", nil]]; + forKeys: [NSArray arrayWithObjects:@"endpoint", @"username", @"password", nil]]; // Create our controller anselController = [[TURAnsel alloc] initWithConnectionParameters:p]; [anselController setDelegate:self]; @@ -297,8 +294,28 @@ // Prepare the image data NSData *theImage = [[NSData alloc] initWithContentsOfFile: [mExportMgr imagePathAtIndex:i]]; + CGFloat imageSize; + switch([mSizePopUp selectedTag]) + { + case 0: + imageSize = 320; + break; + case 1: + imageSize = 640; + break; + case 2: + imageSize = 1280; + break; + case 3: + imageSize = 99999; + break; + default: + imageSize = 1280; + break; + } + NSData *scaledData = [ImageResizer getScaledImageFromData: theImage - toSize: NSMakeSize(400, 400)]; + toSize: NSMakeSize(imageSize, imageSize)]; NSString *base64ImageData = [NSString base64StringFromData: scaledData diff --git a/iPhoto2Ansel/English.lproj/Panel.nib/info.nib b/iPhoto2Ansel/English.lproj/Panel.nib/info.nib index 64a4a91f8..fb256c095 100644 --- a/iPhoto2Ansel/English.lproj/Panel.nib/info.nib +++ b/iPhoto2Ansel/English.lproj/Panel.nib/info.nib @@ -10,7 +10,7 @@ 5 IBOpenObjects - 136 + 7 IBSystem Version 9F33 diff --git a/iPhoto2Ansel/English.lproj/Panel.nib/keyedobjects.nib b/iPhoto2Ansel/English.lproj/Panel.nib/keyedobjects.nib index d5e224c8d5db7c4e7990b8e57c5802436bb2a121..33b9caf1035a84dc1c0e76ddb6d635045eefe94b 100644 GIT binary patch literal 15165 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%0AkGPeD7j0G|NrOQ|AeF4}fL*J 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 QHoN$VPz8TGzBB3n0}cOAxc~qF -- 2.11.0