Set the status text and start the spinner when getting the ansel
authorMichael J. Rubinsky <mrubinsk@horde.org>
Sat, 9 May 2009 17:55:34 +0000 (13:55 -0400)
committerMichael J. Rubinsky <mrubinsk@horde.org>
Sat, 9 May 2009 17:55:34 +0000 (13:55 -0400)
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
iPhoto2Ansel/AnselExportController.m
iPhoto2Ansel/English.lproj/Panel.nib/designable.nib
iPhoto2Ansel/English.lproj/Panel.nib/keyedobjects.nib
iPhoto2Ansel/TURAnsel.m
iPhoto2Ansel/TURAnselGalleryNode.h [new file with mode: 0644]
iPhoto2Ansel/TURAnselGalleryNode.m [new file with mode: 0644]
iPhoto2Ansel/iPhoto2Ansel.xcodeproj/project.pbxproj

index 9b3321e..0a098c6 100644 (file)
@@ -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;
index b1a56f0..a77dbb7 100644 (file)
@@ -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
index 10fc594..2942f73 100644 (file)
@@ -8,8 +8,8 @@
                <string key="IBDocument.HIToolboxVersion">353.00</string>
                <object class="NSMutableArray" key="IBDocument.EditedObjectIDs">
                        <bool key="EncodedWithXMLCoder">YES</bool>
-                       <integer value="137"/>
                        <integer value="577"/>
+                       <integer value="581"/>
                </object>
                <object class="NSArray" key="IBDocument.PluginDependencies">
                        <bool key="EncodedWithXMLCoder">YES</bool>
                                                                                                                <object class="NSButton" id="60291071">
                                                                                                                        <reference key="NSNextResponder" ref="675618554"/>
                                                                                                                        <int key="NSvFlags">268</int>
-                                                                                                                       <string key="NSFrame">{{135, 144}, {92, 32}}</string>
+                                                                                                                       <string key="NSFrame">{{135, 165}, {92, 32}}</string>
                                                                                                                        <reference key="NSSuperview" ref="675618554"/>
                                                                                                                        <bool key="NSEnabled">YES</bool>
                                                                                                                        <object class="NSButtonCell" key="NSCell" id="843634421">
                                                                                                                <object class="NSComboBox" id="553805234">
                                                                                                                        <reference key="NSNextResponder" ref="675618554"/>
                                                                                                                        <int key="NSvFlags">268</int>
-                                                                                                                       <string key="NSFrame">{{18, 122}, {211, 26}}</string>
+                                                                                                                       <string key="NSFrame">{{18, 143}, {211, 26}}</string>
                                                                                                                        <reference key="NSSuperview" ref="675618554"/>
                                                                                                                        <bool key="NSEnabled">YES</bool>
                                                                                                                        <object class="NSComboBoxCell" key="NSCell" id="487568130">
                                                                                                                <object class="NSTextField" id="530084779">
                                                                                                                        <reference key="NSNextResponder" ref="675618554"/>
                                                                                                                        <int key="NSvFlags">268</int>
-                                                                                                                       <string key="NSFrame">{{15, 152}, {103, 16}}</string>
+                                                                                                                       <string key="NSFrame">{{15, 173}, {103, 16}}</string>
                                                                                                                        <reference key="NSSuperview" ref="675618554"/>
                                                                                                                        <bool key="NSEnabled">YES</bool>
                                                                                                                        <object class="NSTextFieldCell" key="NSCell" id="49643720">
                                                                                                                                        <string>NeXT TIFF v4.0 pasteboard type</string>
                                                                                                                                </object>
                                                                                                                        </object>
-                                                                                                                       <string key="NSFrame">{{258, 38}, {214, 118}}</string>
+                                                                                                                       <string key="NSFrame">{{258, 59}, {214, 118}}</string>
                                                                                                                        <reference key="NSSuperview" ref="675618554"/>
                                                                                                                        <bool key="NSEnabled">YES</bool>
                                                                                                                        <object class="NSImageCell" key="NSCell" id="624236720">
                                                                                                                <object class="NSTextField" id="950269879">
                                                                                                                        <reference key="NSNextResponder" ref="675618554"/>
                                                                                                                        <int key="NSvFlags">268</int>
-                                                                                                                       <string key="NSFrame">{{258, 154}, {158, 16}}</string>
+                                                                                                                       <string key="NSFrame">{{258, 175}, {158, 16}}</string>
                                                                                                                        <reference key="NSSuperview" ref="675618554"/>
                                                                                                                        <bool key="NSEnabled">YES</bool>
                                                                                                                        <object class="NSTextFieldCell" key="NSCell" id="87551637">
                                                                                                                <object class="NSTextField" id="597164431">
                                                                                                                        <reference key="NSNextResponder" ref="675618554"/>
                                                                                                                        <int key="NSvFlags">256</int>
-                                                                                                                       <string key="NSFrame">{{15, 100}, {114, 17}}</string>
+                                                                                                                       <string key="NSFrame">{{15, 121}, {114, 17}}</string>
                                                                                                                        <reference key="NSSuperview" ref="675618554"/>
                                                                                                                        <bool key="NSEnabled">YES</bool>
                                                                                                                        <object class="NSTextFieldCell" key="NSCell" id="457524196">
                                                                                                                <object class="NSPopUpButton" id="371122794">
                                                                                                                        <reference key="NSNextResponder" ref="675618554"/>
                                                                                                                        <int key="NSvFlags">256</int>
-                                                                                                                       <string key="NSFrame">{{15, 72}, {130, 26}}</string>
+                                                                                                                       <string key="NSFrame">{{15, 93}, {130, 26}}</string>
                                                                                                                        <reference key="NSSuperview" ref="675618554"/>
                                                                                                                        <bool key="NSEnabled">YES</bool>
                                                                                                                        <object class="NSPopUpButtonCell" key="NSCell" id="710721070">
                                                                                                                <object class="NSButton" id="511774165">
                                                                                                                        <reference key="NSNextResponder" ref="675618554"/>
                                                                                                                        <int key="NSvFlags">268</int>
-                                                                                                                       <string key="NSFrame">{{256, 10}, {96, 28}}</string>
+                                                                                                                       <string key="NSFrame">{{256, 7}, {96, 28}}</string>
                                                                                                                        <reference key="NSSuperview" ref="675618554"/>
                                                                                                                        <bool key="NSEnabled">YES</bool>
                                                                                                                        <object class="NSButtonCell" key="NSCell" id="645491960">
                                                                                                                <object class="NSBox" id="239316494">
                                                                                                                        <reference key="NSNextResponder" ref="675618554"/>
                                                                                                                        <int key="NSvFlags">12</int>
-                                                                                                                       <string key="NSFrame">{{237, 9}, {5, 161}}</string>
+                                                                                                                       <string key="NSFrame">{{237, 30}, {5, 161}}</string>
                                                                                                                        <reference key="NSSuperview" ref="675618554"/>
                                                                                                                        <string key="NSOffsets">{0, 0}</string>
                                                                                                                        <object class="NSTextFieldCell" key="NSTitleCell">
                                                                                                                        <int key="NSTitlePosition">0</int>
                                                                                                                        <bool key="NSTransparent">NO</bool>
                                                                                                                </object>
+                                                                                                               <object class="NSTextField" id="140247589">
+                                                                                                                       <reference key="NSNextResponder" ref="675618554"/>
+                                                                                                                       <int key="NSvFlags">268</int>
+                                                                                                                       <string key="NSFrame">{{258, 42}, {207, 17}}</string>
+                                                                                                                       <reference key="NSSuperview" ref="675618554"/>
+                                                                                                                       <bool key="NSEnabled">YES</bool>
+                                                                                                                       <object class="NSTextFieldCell" key="NSCell" id="441029368">
+                                                                                                                               <int key="NSCellFlags">68288064</int>
+                                                                                                                               <int key="NSCellFlags2">272630784</int>
+                                                                                                                               <string key="NSContents">Image Count:</string>
+                                                                                                                               <reference key="NSSupport" ref="1065031457"/>
+                                                                                                                               <reference key="NSControlView" ref="140247589"/>
+                                                                                                                               <reference key="NSBackgroundColor" ref="258809705"/>
+                                                                                                                               <reference key="NSTextColor" ref="428586510"/>
+                                                                                                                       </object>
+                                                                                                               </object>
                                                                                                        </object>
-                                                                                                       <string key="NSFrame">{{1, 1}, {480, 176}}</string>
+                                                                                                       <string key="NSFrame">{{1, 1}, {480, 197}}</string>
                                                                                                        <reference key="NSSuperview" ref="664773226"/>
                                                                                                </object>
                                                                                        </object>
-                                                                                       <string key="NSFrame">{{14, 57}, {482, 192}}</string>
+                                                                                       <string key="NSFrame">{{14, 36}, {482, 213}}</string>
                                                                                        <reference key="NSSuperview" ref="914781838"/>
                                                                                        <string key="NSOffsets">{0, 0}</string>
                                                                                        <object class="NSTextFieldCell" key="NSTitleCell">
                                        </object>
                                        <int key="connectionID">576</int>
                                </object>
+                               <object class="IBConnectionRecord">
+                                       <object class="IBOutletConnection" key="connection">
+                                               <string key="label">mImageCountLabel</string>
+                                               <reference key="source" ref="685567789"/>
+                                               <reference key="destination" ref="140247589"/>
+                                       </object>
+                                       <int key="connectionID">583</int>
+                               </object>
                        </object>
                        <object class="IBMutableOrderedSet" key="objectRecords">
                                <object class="NSArray" key="orderedObjects">
                                                <reference key="object" ref="109597301"/>
                                                <object class="NSMutableArray" key="children">
                                                        <bool key="EncodedWithXMLCoder">YES</bool>
-                                                       <reference ref="664773226"/>
                                                        <reference ref="387030229"/>
+                                                       <reference ref="664773226"/>
                                                </object>
                                                <reference key="parent" ref="442259745"/>
                                        </object>
                                                        <reference ref="530084779"/>
                                                        <reference ref="553805234"/>
                                                        <reference ref="511774165"/>
+                                                       <reference ref="140247589"/>
                                                </object>
                                                <reference key="parent" ref="109597301"/>
                                        </object>
                                                <reference key="object" ref="798730592"/>
                                                <reference key="parent" ref="445821140"/>
                                        </object>
+                                       <object class="IBObjectRecord">
+                                               <int key="objectID">581</int>
+                                               <reference key="object" ref="140247589"/>
+                                               <object class="NSMutableArray" key="children">
+                                                       <bool key="EncodedWithXMLCoder">YES</bool>
+                                                       <reference ref="441029368"/>
+                                               </object>
+                                               <reference key="parent" ref="664773226"/>
+                                       </object>
+                                       <object class="IBObjectRecord">
+                                               <int key="objectID">582</int>
+                                               <reference key="object" ref="441029368"/>
+                                               <reference key="parent" ref="140247589"/>
+                                       </object>
                                </object>
                        </object>
                        <object class="NSMutableDictionary" key="flattenedProperties">
                                        <string>546.IBPluginDependency</string>
                                        <string>547.IBPluginDependency</string>
                                        <string>574.IBPluginDependency</string>
+                                       <string>581.IBPluginDependency</string>
+                                       <string>582.IBPluginDependency</string>
                                        <string>6.IBPluginDependency</string>
                                        <string>6.ImportedFromIB2</string>
                                        <string>7.CustomClassName</string>
                                        <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
                                        <string>com.apple.imagekit.ibplugin</string>
                                        <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+                                       <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+                                       <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
                                        <reference ref="5"/>
                                        <string>AnselExportPluginBox</string>
                                        <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
                                </object>
                        </object>
                        <nil key="sourceID"/>
-                       <int key="maxID">580</int>
+                       <int key="maxID">583</int>
                </object>
                <object class="IBClassDescriber" key="IBDocument.Classes">
                        <object class="NSMutableArray" key="referencedPartialClassDescriptions">
                                                        <string>galleryCombo</string>
                                                        <string>mCancelConnect</string>
                                                        <string>mExportMgr</string>
+                                                       <string>mImageCountLabel</string>
                                                        <string>mMakeNewServerDefault</string>
                                                        <string>mNewGalleryButton</string>
                                                        <string>mServerSheetHostURL</string>
                                                        <string>NSComboBox</string>
                                                        <string>NSButton</string>
                                                        <string>id</string>
+                                                       <string>NSTextField</string>
                                                        <string>NSButton</string>
                                                        <string>NSButton</string>
                                                        <string>NSTextField</string>
index b3a9b24..7e0308b 100644 (file)
Binary files a/iPhoto2Ansel/English.lproj/Panel.nib/keyedobjects.nib and b/iPhoto2Ansel/English.lproj/Panel.nib/keyedobjects.nib differ
index 7c0138e..be94d55 100644 (file)
@@ -247,7 +247,7 @@ objectValueForTableColumn:(NSTableColumn *)tc
 
     id galleries = [self callRPCMethod:@"images.listGalleries"
                             withParams:params];
-    
+    NSLog(@"%@", galleries);
     if (state != TURAnselStateError) {
         state = TURAnselStateConnected;
         for (NSString *gal in galleries) {
diff --git a/iPhoto2Ansel/TURAnselGalleryNode.h b/iPhoto2Ansel/TURAnselGalleryNode.h
new file mode 100644 (file)
index 0000000..91ae5c0
--- /dev/null
@@ -0,0 +1,22 @@
+//
+//  TURAnselGalleryNode.h
+//  iPhoto2Ansel
+//
+//  Created by Michael Rubinsky on 5/9/09.
+//  Copyright 2009 __MyCompanyName__. All rights reserved.
+//
+
+#import <Cocoa/Cocoa.h>
+@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 (file)
index 0000000..7d8d491
--- /dev/null
@@ -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
index 86ca39b..554bdce 100644 (file)
@@ -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 = "<group>"; };
                B00EF5650EF5E22900A9D71C /* TURAnselServersPanelController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TURAnselServersPanelController.h; sourceTree = "<group>"; };
                B00EF5660EF5E22900A9D71C /* TURAnselServersPanelController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = TURAnselServersPanelController.m; sourceTree = "<group>"; };
+               B03B92BA0FB5F43600F628AF /* TURAnselGalleryNode.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TURAnselGalleryNode.h; sourceTree = "<group>"; };
+               B03B92BB0FB5F43600F628AF /* TURAnselGalleryNode.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = TURAnselGalleryNode.m; sourceTree = "<group>"; };
                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 = "<group>"; };
                B05C4A040EE9E001005B4B28 /* ImageResizer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ImageResizer.h; sourceTree = "<group>"; };
                                B07D426F0EC230B100B59765 /* TURAnselGallery.m */,
                                B00EF5650EF5E22900A9D71C /* TURAnselServersPanelController.h */,
                                B00EF5660EF5E22900A9D71C /* TURAnselServersPanelController.m */,
+                               B03B92BA0FB5F43600F628AF /* TURAnselGalleryNode.h */,
+                               B03B92BB0FB5F43600F628AF /* TURAnselGalleryNode.m */,
                        );
                        name = AnselToolkit;
                        sourceTree = "<group>";
                                B0CCED420EEC6E810012D3D3 /* TURAnselGalleryPanelController.m in Sources */,
                                B00EF5670EF5E22900A9D71C /* TURAnselServersPanelController.m in Sources */,
                                B0B6669B0FB357B3009459D5 /* AnselGalleryViewItem.m in Sources */,
+                               B03B92BC0FB5F43600F628AF /* TURAnselGalleryNode.m in Sources */,
                        );
                        runOnlyForDeploymentPostprocessing = 0;
                };