From 3260ecf75bf539df5946d1523f5e84478be20b46 Mon Sep 17 00:00:00 2001 From: "Michael J. Rubinsky" Date: Sun, 7 Dec 2008 14:22:48 -0500 Subject: [PATCH] First stab at using a seperate sheet for creating a new gallery. Once this is hashed out and prettied up, the same will be done with the connection parameters, and the ability to add/remember multiple ansel servers will be included. --- iPhoto2Ansel/AnselExportController.h | 22 +- iPhoto2Ansel/AnselExportController.m | 120 +++- .../AnselGalleryPanel.nib/designable.nib | 776 +++++++++++++++++++++ .../AnselGalleryPanel.nib/keyedobjects.nib | Bin 0 -> 8611 bytes iPhoto2Ansel/English.lproj/Panel.nib/classes.nib | 16 +- iPhoto2Ansel/English.lproj/Panel.nib/info.nib | 2 +- .../English.lproj/Panel.nib/keyedobjects.nib | Bin 15165 -> 14870 bytes iPhoto2Ansel/TURAnsel.m | 12 +- .../iPhoto2Ansel.xcodeproj/project.pbxproj | 12 + 9 files changed, 916 insertions(+), 44 deletions(-) create mode 100644 iPhoto2Ansel/English.lproj/AnselGalleryPanel.nib/designable.nib create mode 100644 iPhoto2Ansel/English.lproj/AnselGalleryPanel.nib/keyedobjects.nib diff --git a/iPhoto2Ansel/AnselExportController.h b/iPhoto2Ansel/AnselExportController.h index 85df06eff..92f8abdcd 100644 --- a/iPhoto2Ansel/AnselExportController.h +++ b/iPhoto2Ansel/AnselExportController.h @@ -11,6 +11,7 @@ @class TURAnsel, TURAnselGallery; @class FBProgressController; +@class TURNewGalleryController; @interface AnselExportController : NSObject { @@ -29,20 +30,29 @@ IBOutlet NSSecureTextField *password; IBOutlet NSComboBox *galleryCombo; IBOutlet NSTextField *connectedLabel; - IBOutlet NSTextField *newGalleryName; IBOutlet NSButton *beginButton; IBOutlet NSButton *newGalleryButton; IBOutlet NSProgressIndicator *spinner; + IBOutlet NSWindow *newGallerySheet; + + // New Gallery Panel + IBOutlet NSTextField *galleryNameTextField; + IBOutlet NSTextField *gallerySlugTextField; + IBOutlet NSTextField *galleryDescTextField; + // User choosen settings int size; - int quality; - + // Progress struct (This one is part of the protocol, but we don't use it) ExportPluginProgress progress; // This is our real progress controller (stolen from Facebook exporter). FBProgressController *progressController; + // New Gallery dialog controller (Can't get this to work with the modal + // iPhoto plugin interface??) + //TURNewGalleryController *newGalleryController; + // Mutex lock (required for the protocol, but not used) NSRecursiveLock *progressLock; @@ -54,11 +64,15 @@ } @property (readwrite, retain) TURAnselGallery *currentGallery; @property (readwrite) int size; -@property (readwrite) int quality; +// Getter/setter - (NSWindow *)window; + +// Actions - (IBAction) doConnect: (id)sender; - (IBAction) doNewGallery: (id)sender; +- (IBAction) showNewGallery: (id)sender; +- (IBAction) cancelNewGallery: (id)sender; // overrides - (void)awakeFromNib; diff --git a/iPhoto2Ansel/AnselExportController.m b/iPhoto2Ansel/AnselExportController.m index fe482c181..31d899042 100644 --- a/iPhoto2Ansel/AnselExportController.m +++ b/iPhoto2Ansel/AnselExportController.m @@ -5,9 +5,10 @@ // Created by Michael Rubinsky on 10/23/08. // Copyright 2008 __MyCompanyName__. All rights reserved. // -#import "TURAnsel.h" -#import "TURAnselGallery.h" -#import "AnselExportController.h" +#import "TURAnsel.h"; +#import "TURAnselGallery.h"; +#import "TURNewGalleryController.h"; +#import "AnselExportController.h"; #import "FBProgressController.h"; #import "ImageResizer.h"; @@ -23,7 +24,6 @@ @implementation AnselExportController @synthesize size; -@synthesize quality; @synthesize currentGallery; #pragma mark Overrides @@ -77,18 +77,43 @@ } -//TODO --(void)doNewGallery: (id)sender +// Start the process of creating a new gallery. This is called from an action +// from the newGallerySheet NSPanel. +- (void)doNewGallery: (id)sender +{ + [NSApplication detachDrawingThread: @selector(newGallery) + toTarget: self + withObject:nil]; +} + +// Put up the newGallerySheet NSPanel +- (IBAction)showNewGallery: (id)sender { // Make sure we're not doing this for nothing - if ([anselController state] == TURAnselStateConnected && - [[newGalleryName stringValue] length] > 0) { - [NSApplication detachDrawingThread: @selector(newGallery:) - toTarget: self - withObject: [newGalleryName stringValue]]; + if ([anselController state] == TURAnselStateConnected) { + + if (!newGallerySheet) { + + [NSBundle loadNibNamed: @"AnselGalleryPanel" + owner: self]; + + [galleryNameTextField setStringValue:@"Untitled"]; + } + + [NSApp beginSheet: newGallerySheet + modalForWindow: [self window] + modalDelegate: self + didEndSelector: @selector(sheetDidEnd:returnCode:contextInfo:) + contextInfo: self]; } } +- (IBAction)cancelNewGallery: (id)sender +{ + [NSApp endSheet: newGallerySheet]; + [newGallerySheet orderOut: nil]; +} + #pragma mark ExportPluginProtocol // Initialize - (id)initWithExportImageObj:(id )obj @@ -204,6 +229,51 @@ #pragma mark PrivateAPI +- (void)newGallery +{ + // Get Gallery Properties from the panel. + NSString *galleryName = [galleryNameTextField stringValue]; + NSString *gallerySlug = [gallerySlugTextField stringValue]; + NSString *galleryDescription = [galleryDescTextField stringValue]; + + if (!galleryName) { + NSAlert *alert = [[NSAlert alloc] init]; + [alert setMessageText:@"Gallery names cannot be empty"]; + [alert setAlertStyle: NSCriticalAlertStyle]; + [alert beginSheetModalForWindow: [self window] + modalDelegate: nil + didEndSelector: nil + contextInfo: nil]; + [alert release]; + return; + } + NSDictionary *params = [NSDictionary dictionaryWithObjectsAndKeys: + galleryName, @"name", + gallerySlug, @"slug", + galleryDescription, @"desc", nil]; + + NSDictionary *results = [[anselController createNewGallery: params] retain]; + + [NSApp endSheet: newGallerySheet]; + [newGallerySheet orderOut: nil]; + + if ([anselController state] != TURAnselStateError) { + NSAlert *alert = [[NSAlert alloc] init]; + [alert setMessageText: @"Gallery successfully created."]; + [alert beginSheetModalForWindow: [self window] + modalDelegate: nil + didEndSelector: nil + contextInfo: nil]; + + // Reload the NSComboBox and autoselect the last item. + [galleryCombo reloadData]; + [galleryCombo selectItemAtIndex: [galleryCombo numberOfItems] - 1]; + [alert release]; + } + + [results release]; +} + // See if we have everything we need to export... - (void)canExport { @@ -248,29 +318,6 @@ toTarget: self withObject: nil]; } - -// Create a new gallery on the Horde server -// TODO -- (void)newGallery: (NSString *)galleryName -{ - NSDictionary *results = [[anselController createNewGallery: [NSDictionary dictionaryWithObjectsAndKeys: galleryName, @"name", nil]] retain]; - - if ([anselController state] != TURAnselStateError) { - NSAlert *alert = [[NSAlert alloc] init]; - [alert setMessageText: @"Gallery successfully created."]; - [alert beginSheetModalForWindow: [self window] - modalDelegate: nil - didEndSelector: nil - contextInfo: nil]; - - // Reload the NSComboBox and autoselect the last item. - [galleryCombo reloadData]; - [galleryCombo selectItemAtIndex: [galleryCombo numberOfItems] - 1]; - [alert release]; - } - - [results release]; -} // Runs the actual export (This is run in it's own thread) - (void) runExport @@ -440,4 +487,9 @@ [currentGallery setDelegate: self]; [self canExport]; } + +- (void)sheetDidEnd:(NSWindow *)sheet returnCode:(int)returnCode contextInfo:(void *)contextInfo; +{ + NSLog(@"sheetDidEnd"); +} @end \ No newline at end of file diff --git a/iPhoto2Ansel/English.lproj/AnselGalleryPanel.nib/designable.nib b/iPhoto2Ansel/English.lproj/AnselGalleryPanel.nib/designable.nib new file mode 100644 index 000000000..52a258676 --- /dev/null +++ b/iPhoto2Ansel/English.lproj/AnselGalleryPanel.nib/designable.nib @@ -0,0 +1,776 @@ + + + + 1050 + 9F33 + 672 + 949.34 + 352.00 + + YES + + + + YES + com.apple.InterfaceBuilder.CocoaPlugin + + + YES + + AnselExportController + + + FirstResponder + + + NSApplication + + + 19 + 2 + {{797, 724}, {267, 276}} + -536866816 + New Gallery + NSPanel + + {3.40282e+38, 3.40282e+38} + + + 256 + + YES + + + 268 + {{20, 219}, {227, 22}} + + YES + + -1804468671 + 272630784 + + + LucidaGrande + 1.300000e+01 + 1044 + + + YES + + 6 + System + textBackgroundColor + + 3 + MQA + + + + 6 + System + textColor + + 3 + MAA + + + + + + + 268 + {{17, 240}, {88, 16}} + + YES + + 68288064 + 272630784 + Gallery Name + + LucidaGrande + 1.200000e+01 + 16 + + + + 6 + System + controlColor + + 3 + MC42NjY2NjY2OQA + + + + 6 + System + controlTextColor + + + + + + + 268 + {{17, 195}, {73, 16}} + + YES + + 68288064 + 272630784 + Gallery Slug + + + + + + + + + 268 + {{20, 174}, {227, 22}} + + YES + + -1804468671 + 272630784 + + + + YES + + + + + + + 268 + {{20, 103}, {227, 47}} + + YES + + -1805517311 + 272629760 + + + + YES + + + + + + + 268 + {{17, 150}, {124, 16}} + + YES + + 68288064 + 272630784 + Gallery Description + + + + + + + + + 268 + {{116, 12}, {68, 32}} + + YES + + 67239424 + 134217728 + Cancel + + + -2038284033 + 129 + + + 200 + 25 + + + + + 268 + {{184, 12}, {69, 32}} + + YES + + 67239424 + 134217728 + Save + + + -2038284033 + 129 + + + 200 + 25 + + + + + 268 + {{20, 56}, {230, 26}} + + YES + + 879885888 + 272630784 + + + + YES + + + 5 + YES + + + + 274 + {15, 0} + + + YES + + YES + + + 1.200000e+01 + 1.000000e+01 + 1.000000e+03 + + 75628032 + 0 + + + + 3 + MC4zMzMzMzI5OQA + + + + + 338820672 + 1024 + + + YES + + 6 + System + controlBackgroundColor + + + + + 3 + YES + + + + 3.000000e+00 + 2.000000e+00 + + + 6 + System + gridColor + + 3 + MC41AA + + + 1.900000e+01 + tableViewAction: + -767524864 + + + + 1 + 15 + 0 + YES + + + + + + 268 + {{17, 79}, {88, 16}} + + YES + + 68288064 + 272630784 + Gallery Parent + + + + + + + + {267, 276} + + + {{0, 0}, {1920, 1178}} + {3.40282e+38, 3.40282e+38} + + + + + YES + + + gallerySlugTextField + + + + 38 + + + + galleryParentCombo + + + + 39 + + + + galleryNameTextField + + + + 40 + + + + galleryDescTextField + + + + 41 + + + + newGallerySheet + + + + 43 + + + + doNewGallery: + + + + 46 + + + + cancelNewGallery: + + + + 47 + + + + + YES + + 0 + + YES + + + + + + -2 + + + RmlsZSdzIE93bmVyA + + + -1 + + + First Responder + + + -3 + + + Application + + + 1 + + + YES + + + + + + 2 + + + YES + + + + + + + + + + + + + + + 3 + + + YES + + + + + + 4 + + + + + 5 + + + YES + + + + + + 6 + + + + + 7 + + + YES + + + + + + 8 + + + + + 9 + + + YES + + + + + + 10 + + + + + 11 + + + YES + + + + + + 12 + + + + + 13 + + + YES + + + + + + 14 + + + + + 15 + + + YES + + + + + + 16 + + + + + 17 + + + YES + + + + + + 18 + + + + + 19 + + + YES + + + + + + 20 + + + + + 21 + + + YES + + + + + + 22 + + + + + + + YES + + YES + -1.IBPluginDependency + -2.IBPluginDependency + -3.IBPluginDependency + 1.IBEditorWindowLastContentRect + 1.IBPluginDependency + 1.IBWindowTemplateEditedContentRect + 1.NSWindowTemplate.visibleAtLaunch + 1.WindowOrigin + 1.editorWindowContentRectSynchronizationRect + 10.IBPluginDependency + 11.IBPluginDependency + 12.IBPluginDependency + 13.IBPluginDependency + 14.IBPluginDependency + 15.IBPluginDependency + 16.IBPluginDependency + 17.IBPluginDependency + 18.IBPluginDependency + 19.IBPluginDependency + 2.IBPluginDependency + 20.IBPluginDependency + 21.IBPluginDependency + 22.IBPluginDependency + 3.IBPluginDependency + 4.IBPluginDependency + 5.IBPluginDependency + 6.IBPluginDependency + 7.IBPluginDependency + 8.IBPluginDependency + 9.IBPluginDependency + + + YES + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + {{177, 722}, {267, 276}} + com.apple.InterfaceBuilder.CocoaPlugin + {{177, 722}, {267, 276}} + + {196, 240} + {{357, 418}, {480, 270}} + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + + + + YES + + YES + + + YES + + + + + YES + + YES + + + YES + + + + 47 + + + + YES + + AnselExportController + NSObject + + YES + + YES + cancelNewGallery: + doConnect: + doNewGallery: + showNewGallery: + + + YES + id + id + id + id + + + + YES + + YES + anselHostURL + beginButton + connectedLabel + firstView + galleryCombo + galleryDescTextField + galleryNameTextField + gallerySlugTextField + mExportMgr + mQualityPopUp + mSettingsBox + mSizePopUp + newGalleryButton + newGallerySheet + password + spinner + username + + + YES + NSTextField + NSButton + NSTextField + NSControl + NSComboBox + NSTextField + NSTextField + NSTextField + id + NSPopUpButton + NSBox + NSPopUpButton + NSButton + NSWindow + NSSecureTextField + NSProgressIndicator + NSTextField + + + + IBProjectSource + AnselExportController.h + + + + NSObject + + IBProjectSource + TURAnsel.h + + + + NSObject + + IBProjectSource + TURAnselGallery.h + + + + NSObject + + IBProjectSource + xmlrpc-1.5.1/XMLRPCConnection.h + + + + + 0 + ../iPhoto2Ansel.xcodeproj + 3 + + diff --git a/iPhoto2Ansel/English.lproj/AnselGalleryPanel.nib/keyedobjects.nib b/iPhoto2Ansel/English.lproj/AnselGalleryPanel.nib/keyedobjects.nib new file mode 100644 index 0000000000000000000000000000000000000000..c850b23d8bedfa1207a77454ec8e034efbe3d287 GIT binary patch literal 8611 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 literal 0 HcmV?d00001 diff --git a/iPhoto2Ansel/English.lproj/Panel.nib/classes.nib b/iPhoto2Ansel/English.lproj/Panel.nib/classes.nib index 624a92e28..f670f8ea0 100644 --- a/iPhoto2Ansel/English.lproj/Panel.nib/classes.nib +++ b/iPhoto2Ansel/English.lproj/Panel.nib/classes.nib @@ -20,10 +20,14 @@ ACTIONS + cancelNewGallery + id doConnect id doNewGallery id + showNewGallery + id CLASS AnselExportController @@ -41,6 +45,12 @@ NSControl galleryCombo NSComboBox + galleryDescTextField + NSTextField + galleryNameTextField + NSTextField + gallerySlugTextField + NSTextField galleryTableView NSTableView mExportMgr @@ -51,10 +61,12 @@ NSBox mSizePopUp NSPopUpButton + newGallery + NSPanel newGalleryButton NSButton - newGalleryName - NSTextField + newGallerySheet + NSWindow password NSSecureTextField spinner diff --git a/iPhoto2Ansel/English.lproj/Panel.nib/info.nib b/iPhoto2Ansel/English.lproj/Panel.nib/info.nib index fb256c095..d55a3324a 100644 --- a/iPhoto2Ansel/English.lproj/Panel.nib/info.nib +++ b/iPhoto2Ansel/English.lproj/Panel.nib/info.nib @@ -10,7 +10,7 @@ 5 IBOpenObjects - 7 + 6 IBSystem Version 9F33 diff --git a/iPhoto2Ansel/English.lproj/Panel.nib/keyedobjects.nib b/iPhoto2Ansel/English.lproj/Panel.nib/keyedobjects.nib index 33b9caf1035a84dc1c0e76ddb6d635045eefe94b..df43ae9109fae9b6867d3f06acb3d06df1c58cd9 100644 GIT binary patch literal 14870 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 Zb;|3W*IPMOVHo8v|Bmvv^>^Oz{{dK=sPF&) literal 15165 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"; }; B03D3B590ED5BB3800CF5B92 /* XMLRPC-Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = "XMLRPC-Info.plist"; sourceTree = SOURCE_ROOT; }; + B04FC1A80EEB4A2B008EEB0E /* English */ = {isa = PBXFileReference; lastKnownFileType = wrapper.nib; name = English; path = English.lproj/AnselGalleryPanel.nib; sourceTree = ""; }; B05C4A040EE9E001005B4B28 /* ImageResizer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ImageResizer.h; sourceTree = ""; }; B05C4A050EE9E001005B4B28 /* ImageResizer.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ImageResizer.m; sourceTree = ""; }; B06C1E010EB1644600BFAFCB /* AnselExportPluginBox.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AnselExportPluginBox.h; sourceTree = ""; }; @@ -146,6 +148,7 @@ 089C167CFE841241C02AAC07 /* Resources */, 089C1671FE841209C02AAC07 /* Frameworks and Libraries */, 19C28FB8FE9D52D311CA2CBB /* Products */, + B04FC1A70EEB4A2B008EEB0E /* AnselGalleryPanel.nib */, ); name = iPhoto2Ansel; sourceTree = ""; @@ -372,6 +375,7 @@ 8D5B49B0048680CD000E48DA /* InfoPlist.strings in Resources */, B06C1E3D0EB17E3700BFAFCB /* Panel.nib in Resources */, B0C888490ED85DEA000E19FB /* ProgressSheet.nib in Resources */, + B04FC1A90EEB4A2B008EEB0E /* AnselGalleryPanel.nib in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -435,6 +439,14 @@ name = InfoPlist.strings; sourceTree = ""; }; + B04FC1A70EEB4A2B008EEB0E /* AnselGalleryPanel.nib */ = { + isa = PBXVariantGroup; + children = ( + B04FC1A80EEB4A2B008EEB0E /* English */, + ); + name = AnselGalleryPanel.nib; + sourceTree = ""; + }; B0BFBC870ED5B32B006581A5 /* Localizable.strings */ = { isa = PBXVariantGroup; children = ( -- 2.11.0