From e7f21ba4d2952cbb9c7ee434ce8acd84bfd10ed7 Mon Sep 17 00:00:00 2001 From: "Michael J. Rubinsky" Date: Sat, 9 May 2009 13:55:34 -0400 Subject: [PATCH] Set the status text and start the spinner when getting the ansel gallery's default photo, and when listing the ansel gallery's thumbnails for viewing in the photo viewer. Also, rough out some stubs for building a proper gallery tree so we can display the galleries in a hierarchical manner in the combo box. Not working yet. --- iPhoto2Ansel/AnselExportController.h | 1 + iPhoto2Ansel/AnselExportController.m | 23 ++++++- .../English.lproj/Panel.nib/designable.nib | 73 +++++++++++++++++---- .../English.lproj/Panel.nib/keyedobjects.nib | Bin 32666 -> 32966 bytes iPhoto2Ansel/TURAnsel.m | 2 +- iPhoto2Ansel/TURAnselGalleryNode.h | 22 +++++++ iPhoto2Ansel/TURAnselGalleryNode.m | 22 +++++++ .../iPhoto2Ansel.xcodeproj/project.pbxproj | 6 ++ 8 files changed, 133 insertions(+), 16 deletions(-) create mode 100644 iPhoto2Ansel/TURAnselGalleryNode.h create mode 100644 iPhoto2Ansel/TURAnselGalleryNode.m diff --git a/iPhoto2Ansel/AnselExportController.h b/iPhoto2Ansel/AnselExportController.h index 9b3321efe..0a098c6c0 100644 --- a/iPhoto2Ansel/AnselExportController.h +++ b/iPhoto2Ansel/AnselExportController.h @@ -43,6 +43,7 @@ extern NSString * const TURAnselServerPasswordKey; IBOutlet NSButton *mNewGalleryButton; IBOutlet NSPopUpButton *mServersPopUp; IBOutlet NSButton *mCancelConnect; + IBOutlet NSTextField *mImageCountLabel; // Gallery View IBOutlet NSButton *viewGallery; diff --git a/iPhoto2Ansel/AnselExportController.m b/iPhoto2Ansel/AnselExportController.m index b1a56f08d..a77dbb7e2 100644 --- a/iPhoto2Ansel/AnselExportController.m +++ b/iPhoto2Ansel/AnselExportController.m @@ -104,8 +104,20 @@ NSString * const TURAnselServerPasswordKey = @"password"; #pragma mark Actions - (IBAction)clickViewGallery: (id)sender { + [spinner startAnimation: self]; + [self setStatusText: @"Getting image list..."]; [browserData removeAllObjects]; NSMutableArray *images = [currentGallery listImages]; + if ([images count] == 0) { + [browserView reloadData]; + //TODO: Show a panel showing there are no images? Or just disable the + // view gallery button? + + [spinner stopAnimation: self]; + [self setStatusText: @"Connected" withColor: [NSColor greenColor]]; + return; + } + for (NSDictionary *image in images) { NSString *caption = [image objectForKey:@"caption"]; if (caption == nil) { @@ -125,7 +137,11 @@ NSString * const TURAnselServerPasswordKey = @"password"; didEndSelector: nil contextInfo: nil]; + [spinner stopAnimation: self]; + [self setStatusText: @"Connected" withColor: [NSColor greenColor]]; + [browserView reloadData]; + } - (IBAction) closeGalleryView: (id)sender @@ -686,6 +702,8 @@ NSString * const TURAnselServerPasswordKey = @"password"; #pragma mark comboBoxDelegate - (void)comboBoxSelectionDidChange:(NSNotification *)notification { + [spinner startAnimation: self]; + [self setStatusText: @"Loading gallery data..."]; int row = [galleryCombo indexOfSelectedItem]; [currentGallery setDelegate:nil]; [currentGallery autorelease]; @@ -697,8 +715,11 @@ NSString * const TURAnselServerPasswordKey = @"password"; [defaultImageView setImage: theImage]; [theImage release]; [self canExport]; - [viewGallery setEnabled: YES]; + [spinner stopAnimation: self]; + // TODO: Check this. Assume we can set back to connected since we obviously + // are connected if we're getting gallery info. + [self setStatusText: @"Connected" withColor: [NSColor greenColor]]; } #pragma mark TURAnselGalleryPanel Notifications diff --git a/iPhoto2Ansel/English.lproj/Panel.nib/designable.nib b/iPhoto2Ansel/English.lproj/Panel.nib/designable.nib index 10fc594cc..2942f7325 100644 --- a/iPhoto2Ansel/English.lproj/Panel.nib/designable.nib +++ b/iPhoto2Ansel/English.lproj/Panel.nib/designable.nib @@ -8,8 +8,8 @@ 353.00 YES - + YES @@ -1009,7 +1009,7 @@ 268 - {{135, 144}, {92, 32}} + {{135, 165}, {92, 32}} YES @@ -1034,7 +1034,7 @@ 268 - {{18, 122}, {211, 26}} + {{18, 143}, {211, 26}} YES @@ -1108,7 +1108,7 @@ 268 - {{15, 152}, {103, 16}} + {{15, 173}, {103, 16}} YES @@ -1136,7 +1136,7 @@ NeXT TIFF v4.0 pasteboard type - {{258, 38}, {214, 118}} + {{258, 59}, {214, 118}} YES @@ -1152,7 +1152,7 @@ 268 - {{258, 154}, {158, 16}} + {{258, 175}, {158, 16}} YES @@ -1168,7 +1168,7 @@ 256 - {{15, 100}, {114, 17}} + {{15, 121}, {114, 17}} YES @@ -1184,7 +1184,7 @@ 256 - {{15, 72}, {130, 26}} + {{15, 93}, {130, 26}} YES @@ -1273,7 +1273,7 @@ 268 - {{256, 10}, {96, 28}} + {{256, 7}, {96, 28}} YES @@ -1293,7 +1293,7 @@ 12 - {{237, 9}, {5, 161}} + {{237, 30}, {5, 161}} {0, 0} @@ -1312,12 +1312,28 @@ 0 NO + + + 268 + {{258, 42}, {207, 17}} + + YES + + 68288064 + 272630784 + Image Count: + + + + + + - {{1, 1}, {480, 176}} + {{1, 1}, {480, 197}} - {{14, 57}, {482, 192}} + {{14, 36}, {482, 213}} {0, 0} @@ -1638,6 +1654,14 @@ 576 + + + mImageCountLabel + + + + 583 + @@ -2038,8 +2062,8 @@ YES - + @@ -2057,6 +2081,7 @@ + @@ -2360,6 +2385,20 @@ + + 581 + + + YES + + + + + + 582 + + + @@ -2476,6 +2515,8 @@ 546.IBPluginDependency 547.IBPluginDependency 574.IBPluginDependency + 581.IBPluginDependency + 582.IBPluginDependency 6.IBPluginDependency 6.ImportedFromIB2 7.CustomClassName @@ -2597,6 +2638,8 @@ com.apple.InterfaceBuilder.CocoaPlugin com.apple.imagekit.ibplugin com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin AnselExportPluginBox com.apple.InterfaceBuilder.CocoaPlugin @@ -2625,7 +2668,7 @@ - 580 + 583 @@ -2671,6 +2714,7 @@ galleryCombo mCancelConnect mExportMgr + mImageCountLabel mMakeNewServerDefault mNewGalleryButton mServerSheetHostURL @@ -2697,6 +2741,7 @@ NSComboBox NSButton id + NSTextField NSButton NSButton NSTextField diff --git a/iPhoto2Ansel/English.lproj/Panel.nib/keyedobjects.nib b/iPhoto2Ansel/English.lproj/Panel.nib/keyedobjects.nib index b3a9b247252cb5232a61a7ab24975ec29e091117..7e0308bd5f5f795a023e8bc6381c825900b2ec94 100644 GIT binary patch literal 32966 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

>H*D7{=iO9*Dqth;0k6GOVB%p* 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 xvG29-vq#(G>|i^@e%OA*e$ +@class TURAnselGallery; + +@interface TURAnselGalleryNode : NSObject { + TURAnselGallery *data; // Pointer to the data for this gallery + NSArray *children; // This gallery's children +} + +- (NSArray *)children; +- (TURAnselGallery *)data; + +-(void)addChild: (TURAnselGallery *)anselGallery; +-(void)setData: (TURAnselGallery *)anselGallery; +@end diff --git a/iPhoto2Ansel/TURAnselGalleryNode.m b/iPhoto2Ansel/TURAnselGalleryNode.m new file mode 100644 index 000000000..7d8d49189 --- /dev/null +++ b/iPhoto2Ansel/TURAnselGalleryNode.m @@ -0,0 +1,22 @@ +// +// TURAnselGalleryNode.m +// iPhoto2Ansel +// +// Created by Michael Rubinsky on 5/9/09. +// Copyright 2009 __MyCompanyName__. All rights reserved. +// + +#import "TURAnselGalleryNode.h" + + +@implementation TURAnselGalleryNode +- (void)setData: (TURAnselGallery *)anselGallery +{ + +} + +-(void)addChild: (TURAnselGallery *)anselGallery +{ + +} +@end diff --git a/iPhoto2Ansel/iPhoto2Ansel.xcodeproj/project.pbxproj b/iPhoto2Ansel/iPhoto2Ansel.xcodeproj/project.pbxproj index 86ca39bf9..554bdcea7 100644 --- a/iPhoto2Ansel/iPhoto2Ansel.xcodeproj/project.pbxproj +++ b/iPhoto2Ansel/iPhoto2Ansel.xcodeproj/project.pbxproj @@ -11,6 +11,7 @@ 8D5B49B4048680CD000E48DA /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1058C7ADFEA557BF11CA2CBB /* Cocoa.framework */; }; B00EF55A0EF5DD5900A9D71C /* AnselServers.nib in Resources */ = {isa = PBXBuildFile; fileRef = B00EF5580EF5DD5900A9D71C /* AnselServers.nib */; }; B00EF5670EF5E22900A9D71C /* TURAnselServersPanelController.m in Sources */ = {isa = PBXBuildFile; fileRef = B00EF5660EF5E22900A9D71C /* TURAnselServersPanelController.m */; }; + B03B92BC0FB5F43600F628AF /* TURAnselGalleryNode.m in Sources */ = {isa = PBXBuildFile; fileRef = B03B92BB0FB5F43600F628AF /* TURAnselGalleryNode.m */; }; B04FC1A90EEB4A2B008EEB0E /* AnselGalleryPanel.nib in Resources */ = {isa = PBXBuildFile; fileRef = B04FC1A70EEB4A2B008EEB0E /* AnselGalleryPanel.nib */; }; B05C4A060EE9E001005B4B28 /* ImageResizer.m in Sources */ = {isa = PBXBuildFile; fileRef = B05C4A050EE9E001005B4B28 /* ImageResizer.m */; }; B06C1E030EB1644600BFAFCB /* AnselExportPluginBox.m in Sources */ = {isa = PBXBuildFile; fileRef = B06C1E020EB1644600BFAFCB /* AnselExportPluginBox.m */; }; @@ -82,6 +83,8 @@ B00EF5590EF5DD5900A9D71C /* English */ = {isa = PBXFileReference; lastKnownFileType = wrapper.nib; name = English; path = English.lproj/AnselServers.nib; sourceTree = ""; }; B00EF5650EF5E22900A9D71C /* TURAnselServersPanelController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TURAnselServersPanelController.h; sourceTree = ""; }; B00EF5660EF5E22900A9D71C /* TURAnselServersPanelController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = TURAnselServersPanelController.m; sourceTree = ""; }; + B03B92BA0FB5F43600F628AF /* TURAnselGalleryNode.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TURAnselGalleryNode.h; sourceTree = ""; }; + B03B92BB0FB5F43600F628AF /* TURAnselGalleryNode.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = TURAnselGalleryNode.m; sourceTree = ""; }; 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 = ""; }; @@ -268,6 +271,8 @@ B07D426F0EC230B100B59765 /* TURAnselGallery.m */, B00EF5650EF5E22900A9D71C /* TURAnselServersPanelController.h */, B00EF5660EF5E22900A9D71C /* TURAnselServersPanelController.m */, + B03B92BA0FB5F43600F628AF /* TURAnselGalleryNode.h */, + B03B92BB0FB5F43600F628AF /* TURAnselGalleryNode.m */, ); name = AnselToolkit; sourceTree = ""; @@ -433,6 +438,7 @@ B0CCED420EEC6E810012D3D3 /* TURAnselGalleryPanelController.m in Sources */, B00EF5670EF5E22900A9D71C /* TURAnselServersPanelController.m in Sources */, B0B6669B0FB357B3009459D5 /* AnselGalleryViewItem.m in Sources */, + B03B92BC0FB5F43600F628AF /* TURAnselGalleryNode.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; -- 2.11.0