@class FBProgressController;
@class TURNewGalleryController;
+// User defaults keys
+extern NSString * const TURAnselServersKey;
+extern NSString * const TURAnselExportSize;
+
+// Server property keys
+extern NSString * const TURAnselServerNickKey;
+extern NSString * const TURAnselServerEndpointKey;
+extern NSString * const TURAnselServerUsernameKey;
+extern NSString * const TURAnselServerPasswordKey;
+
@interface AnselExportController : NSObject <ExportPluginProtocol> {
// Export manager passed in from iPhoto
//Outlets
IBOutlet NSPopUpButton *mSizePopUp;
- IBOutlet NSPopUpButton *mQualityPopUp;
- IBOutlet NSTextField *anselHostURL;
- IBOutlet NSTextField *username;
- IBOutlet NSSecureTextField *password;
IBOutlet NSComboBox *galleryCombo;
+ IBOutlet NSComboBox *mServers;
IBOutlet NSTextField *connectedLabel;
+ IBOutlet NSProgressIndicator *spinner;
+ IBOutlet NSImageView *defaultImageView;
IBOutlet NSButton *beginButton;
IBOutlet NSButton *newGalleryButton;
- IBOutlet NSProgressIndicator *spinner;
+ IBOutlet NSButton *newServerButton;
+
+ // New Gallery Sheet (uses it's own controller)
IBOutlet NSWindow *newGallerySheet;
- IBOutlet NSImageView *defaultImageView;
-
+
+ // New Server sheet
+ IBOutlet NSWindow *newServerSheet;
+ IBOutlet NSTextField *anselHostURL;
+ IBOutlet NSTextField *username;
+ IBOutlet NSSecureTextField *password;
+ IBOutlet NSTextField *serverNickName;
+
// Progress struct (This one is part of the protocol, but we don't use it)
ExportPluginProgress progress;
+ // Currently selected server data
+ NSMutableArray *anselServers;
+ NSDictionary *currentServer;
+
// This is our real progress controller (stolen from Facebook exporter).
FBProgressController *progressController;
// Actions
- (IBAction) doConnect: (id)sender;
- (IBAction) showNewGallery: (id)sender;
+- (IBAction) doAddServer: (id)sender;
+- (IBAction) doCancelAddServer: (id)sender;
// overrides
- (void)awakeFromNib;
- (void)canExport;
@end
+// User default keys
+NSString * const TURAnselServersKey = @"AnselServers";
+NSString * const TURAnselExportSize = @"AnselExportSize";
+
+// Server property keys
+NSString * const TURAnselServerNickKey = @"nickname";
+NSString * const TURAnselServerEndpointKey = @"endpoint";
+NSString * const TURAnselServerUsernameKey = @"username";
+NSString * const TURAnselServerPasswordKey = @"password";
+
@implementation AnselExportController
@synthesize currentGallery;
*/
- (void)awakeFromNib
{
+ // Register Application Defaults
+ NSMutableDictionary *defaultValues = [NSMutableDictionary dictionary];
+ [defaultValues setObject: [NSNumber numberWithInt: 2]
+ forKey: TURAnselExportSize];
+ [defaultValues setObject: [[NSMutableArray alloc] init] forKey: TURAnselServersKey];
+ NSUserDefaults *userPrefs = [NSUserDefaults standardUserDefaults];
+ [userPrefs registerDefaults: defaultValues];
+
+ // Get any saved server data
+ anselServers = [userPrefs objectForKey: TURAnselServersKey];
+
// UI Defaults
- [mSizePopUp selectItemWithTag:2];
+ [mSizePopUp selectItemWithTag: [userPrefs integerForKey:TURAnselExportSize]];
[connectedLabel setStringValue:@"Not Connected"];
[connectedLabel setTextColor: [NSColor redColor]];
[spinner stopAnimation:self];
+
+ // For now, update the user pref for size every time it changes - will
+ // eventually put this in a pref sheet.
+ [[NSNotificationCenter defaultCenter] addObserver: self
+ selector: @selector(sizeChoiceWillChange:)
+ name: @"NSPopUpButtonWillPopUpNotification"
+ object: nil];
+
+ // See if we have any configured servers
+ anselServers = [[NSMutableArray alloc] initWithArray: [userPrefs objectForKey:TURAnselServersKey]];
+
+ // Need to wait until iPhoto's export window is fully loaded before attempting
+ // to show a sheet?
+ [[NSNotificationCenter defaultCenter] addObserver: self
+ selector: @selector(exportWindowDidBecomeKey:)
+ name: NSWindowDidBecomeKeyNotification
+ object :nil];
}
-(void)dealloc
{
//anselController is released from the AnselController delegate method.
[progressController release];
+ [anselServers release];
+ [currentServer release];
[super dealloc];
}
-(void)doConnect: (id)sender
{
NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
- NSDictionary *p = [[NSDictionary alloc] initWithObjects: [NSArray arrayWithObjects:[anselHostURL stringValue],
- [username stringValue],
- [password stringValue], nil]
+ NSDictionary *p = [[NSDictionary alloc] initWithObjects: [NSArray arrayWithObjects:
+ [currentServer objectForKey:TURAnselServerEndpointKey],
+ [currentServer objectForKey:TURAnselServerUsernameKey],
+ [currentServer objectForKey:TURAnselServerPasswordKey]]
forKeys: [NSArray arrayWithObjects:@"endpoint", @"username", @"password", nil]];
// Create our controller
anselController = [[TURAnsel alloc] initWithConnectionParameters:p];
}
}
-//- (IBAction)cancelNewGallery: (id)sender
-//{
-// [NSApp endSheet: newGallerySheet];
-// [newGallerySheet orderOut: nil];
-//}
+
+// Server setup sheet
+-(IBAction)doAddServer: (id)sender
+{
+ // Sanity Checking
+ // TODO - make sure we don't have more than one gallery with the same
+ // nick??
+ if (![[serverNickName stringValue] length]) {
+ // TODO: Errors - for now, just silently fail, yea, I know....
+ return;
+ }
+
+ NSDictionary *newServer = [[NSDictionary alloc] initWithObjectsAndKeys:
+ [serverNickName stringValue], TURAnselServerNickKey,
+ [anselHostURL stringValue], TURAnselServerEndpointKey,
+ [username stringValue], TURAnselServerUsernameKey,
+ [password stringValue], TURAnselServerPasswordKey,
+ nil];
+ [anselServers addObject: newServer];
+ NSLog(@"After adding it: %@", [anselServers objectAtIndex:0]);
+ [NSApp endSheet: newServerSheet];
+ [newServerSheet orderOut: nil];
+ [mServers reloadData];
+
+ // Save it to the userdefaults
+ NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults];
+ [prefs setObject:anselServers forKey:TURAnselServersKey];
+}
+
+- (IBAction)doCancelAddServer: (id)sender
+{
+ [NSApp endSheet: newServerSheet];
+ [newServerSheet orderOut: nil];
+}
#pragma mark ExportPluginProtocol
// Initialize
}
#pragma mark comboBoxDelegate
+// Probably should have a seperate controller for each combobox, but this is
+// pretty small stuff...
- (void)comboBoxSelectionDidChange:(NSNotification *)notification
-{
- int row = [galleryCombo indexOfSelectedItem];
- [currentGallery setDelegate:nil];
- [currentGallery autorelease];
- currentGallery = [[anselController getGalleryByIndex:row] retain];
- [currentGallery setDelegate: self];
- NSImage *theImage = [[NSImage alloc] initWithContentsOfURL: [currentGallery galleryDefaultImageURL]];
- [defaultImageView setImage: theImage];
- [theImage release];
- [self canExport];
+{
+ // Yes, I'm comparing the pointers here on purpose
+ if ([notification object] == galleryCombo) {
+ int row = [galleryCombo indexOfSelectedItem];
+ [currentGallery setDelegate:nil];
+ [currentGallery autorelease];
+ currentGallery = [[anselController getGalleryByIndex:row] retain];
+ [currentGallery setDelegate: self];
+ NSImage *theImage = [[NSImage alloc] initWithContentsOfURL: [currentGallery galleryDefaultImageURL]];
+ [defaultImageView setImage: theImage];
+ [theImage release];
+ [self canExport];
+ } else if ([notification object] == mServers) {
+ NSLog(@"Changed server selection");
+ [currentServer release];
+ currentServer = [anselServers objectAtIndex: [mServers indexOfSelectedItem]];
+ }
}
+#pragma mark TURAnselGalleryPanel Notifications
- (void)TURAnselGalleryPanelDidAddGallery
{
- NSLog(@"Before reload");
// Reload the NSComboBox and autoselect the last item.
[galleryCombo reloadData];
[galleryCombo selectItemAtIndex: [galleryCombo numberOfItems] - 1];
}
+
+#pragma mark export notifications
+- (void)exportWindowDidBecomeKey: (NSNotification *)notification
+{
+ // Make sure we have a server configured, or throw up the dialog.
+ if (![anselServers count]) {
+ NSLog(@"No servers!!");
+ [NSApp beginSheet: newServerSheet
+ modalForWindow: [self window]
+ modalDelegate: nil
+ didEndSelector: nil
+ contextInfo: nil];
+ } else {
+ // We have servers, fill in the drop down
+
+ }
+}
+- (void)sizeChoiceWillChange: (NSNotification *)notification
+{
+ NSInteger newSize = [mSizePopUp selectedTag];
+ NSUserDefaults *userPrefs = [NSUserDefaults standardUserDefaults];
+ [userPrefs setInteger: newSize forKey:TURAnselExportSize];
+ [userPrefs synchronize];
+}
+
+#pragma mark NSComboBoxDatasource delegates (used for server list)
+- (id)comboBox: (NSComboBox *)aComboBox objectValueForItemAtIndex: (NSInteger)index
+{
+ NSDictionary *server = [anselServers objectAtIndex: index];
+ return [server objectForKey:TURAnselServerNickKey];
+}
+- (NSInteger)numberOfItemsInComboBox: (NSComboBox *)aComboBox
+{
+ return [anselServers count];
+}
@end
\ No newline at end of file
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<archive type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="7.02">
+ <data>
+ <int key="IBDocument.SystemTarget">1050</int>
+ <string key="IBDocument.SystemVersion">9F33</string>
+ <string key="IBDocument.InterfaceBuilderVersion">672</string>
+ <string key="IBDocument.AppKitVersion">949.34</string>
+ <string key="IBDocument.HIToolboxVersion">352.00</string>
+ <object class="NSMutableArray" key="IBDocument.EditedObjectIDs">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <integer value="1" id="9"/>
+ </object>
+ <object class="NSArray" key="IBDocument.PluginDependencies">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+ </object>
+ <object class="NSMutableArray" key="IBDocument.RootObjects" id="1000">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <object class="NSCustomObject" id="1001">
+ <string key="NSClassName">TURAnselServersPanelController</string>
+ </object>
+ <object class="NSCustomObject" id="1003">
+ <string key="NSClassName">FirstResponder</string>
+ </object>
+ <object class="NSCustomObject" id="1004">
+ <string key="NSClassName">NSApplication</string>
+ </object>
+ <object class="NSWindowTemplate" id="1005">
+ <int key="NSWindowStyleMask">15</int>
+ <int key="NSWindowBacking">2</int>
+ <string key="NSWindowRect">{{196, 240}, {480, 270}}</string>
+ <int key="NSWTFlags">536870912</int>
+ <string key="NSWindowTitle">Ansel Servers</string>
+ <string key="NSWindowClass">NSWindow</string>
+ <nil key="NSViewClass"/>
+ <string key="NSWindowContentMaxSize">{3.40282e+38, 3.40282e+38}</string>
+ <object class="NSView" key="NSWindowView" id="1006">
+ <reference key="NSNextResponder"/>
+ <int key="NSvFlags">256</int>
+ <string key="NSFrameSize">{480, 270}</string>
+ <reference key="NSSuperview"/>
+ </object>
+ <string key="NSScreenRect">{{0, 0}, {1680, 1028}}</string>
+ <string key="NSMaxSize">{3.40282e+38, 3.40282e+38}</string>
+ </object>
+ </object>
+ <object class="IBObjectContainer" key="IBDocument.Objects">
+ <object class="NSMutableArray" key="connectionRecords">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ </object>
+ <object class="IBMutableOrderedSet" key="objectRecords">
+ <object class="NSArray" key="orderedObjects">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <object class="IBObjectRecord">
+ <int key="objectID">0</int>
+ <object class="NSArray" key="object" id="1002">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ </object>
+ <reference key="children" ref="1000"/>
+ <nil key="parent"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">-2</int>
+ <reference key="object" ref="1001"/>
+ <reference key="parent" ref="1002"/>
+ <string type="base64-UTF8" key="objectName">RmlsZSdzIE93bmVyA</string>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">-1</int>
+ <reference key="object" ref="1003"/>
+ <reference key="parent" ref="1002"/>
+ <string key="objectName">First Responder</string>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">-3</int>
+ <reference key="object" ref="1004"/>
+ <reference key="parent" ref="1002"/>
+ <string key="objectName">Application</string>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">1</int>
+ <reference key="object" ref="1005"/>
+ <object class="NSMutableArray" key="children">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <reference ref="1006"/>
+ </object>
+ <reference key="parent" ref="1002"/>
+ </object>
+ <object class="IBObjectRecord">
+ <int key="objectID">2</int>
+ <reference key="object" ref="1006"/>
+ <reference key="parent" ref="1005"/>
+ </object>
+ </object>
+ </object>
+ <object class="NSMutableDictionary" key="flattenedProperties">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <object class="NSMutableArray" key="dict.sortedKeys">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <string>-1.IBPluginDependency</string>
+ <string>-2.IBPluginDependency</string>
+ <string>-3.IBPluginDependency</string>
+ <string>1.IBEditorWindowLastContentRect</string>
+ <string>1.IBPluginDependency</string>
+ <string>1.IBWindowTemplateEditedContentRect</string>
+ <string>1.NSWindowTemplate.visibleAtLaunch</string>
+ <string>1.WindowOrigin</string>
+ <string>1.editorWindowContentRectSynchronizationRect</string>
+ <string>2.IBPluginDependency</string>
+ </object>
+ <object class="NSMutableArray" key="dict.values">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string>{{21, 852}, {480, 270}}</string>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+ <string>{{21, 852}, {480, 270}}</string>
+ <reference ref="9"/>
+ <string>{196, 240}</string>
+ <string>{{357, 418}, {480, 270}}</string>
+ <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+ </object>
+ </object>
+ <object class="NSMutableDictionary" key="unlocalizedProperties">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <object class="NSArray" key="dict.sortedKeys">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ </object>
+ <object class="NSMutableArray" key="dict.values">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ </object>
+ </object>
+ <nil key="activeLocalization"/>
+ <object class="NSMutableDictionary" key="localizations">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <object class="NSArray" key="dict.sortedKeys">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ </object>
+ <object class="NSMutableArray" key="dict.values">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ </object>
+ </object>
+ <nil key="sourceID"/>
+ <int key="maxID">2</int>
+ </object>
+ <object class="IBClassDescriber" key="IBDocument.Classes">
+ <object class="NSMutableArray" key="referencedPartialClassDescriptions">
+ <bool key="EncodedWithXMLCoder">YES</bool>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSObject</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBProjectSource</string>
+ <string key="minorKey">TURAnsel.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSObject</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBProjectSource</string>
+ <string key="minorKey">TURAnselGallery.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSObject</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBProjectSource</string>
+ <string key="minorKey">TURAnselGalleryPanelController.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">NSObject</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBProjectSource</string>
+ <string key="minorKey">xmlrpc-1.5.1/XMLRPCConnection.h</string>
+ </object>
+ </object>
+ <object class="IBPartialClassDescription">
+ <string key="className">TURAnselServersPanelController</string>
+ <string key="superclassName">NSObject</string>
+ <object class="IBClassDescriptionSource" key="sourceIdentifier">
+ <string key="majorKey">IBProjectSource</string>
+ <string key="minorKey">TURAnselServersPanelController.h</string>
+ </object>
+ </object>
+ </object>
+ </object>
+ <int key="IBDocument.localizationMode">0</int>
+ <string key="IBDocument.LastKnownRelativeProjectPath">../iPhoto2Ansel.xcodeproj</string>
+ <int key="IBDocument.defaultPropertyAccessControl">3</int>
+ </data>
+</archive>
<dict>
<key>cancelNewGallery</key>
<string>id</string>
+ <key>doAddServer</key>
+ <string>id</string>
+ <key>doCancelAddServer</key>
+ <string>id</string>
<key>doConnect</key>
<string>id</string>
<key>doNewGallery</key>
<string>id</string>
<key>mQualityPopUp</key>
<string>NSPopUpButton</string>
+ <key>mServers</key>
+ <string>NSComboBox</string>
<key>mSettingsBox</key>
<string>NSBox</string>
<key>mSizePopUp</key>
<string>NSButton</string>
<key>newGallerySheet</key>
<string>NSWindow</string>
+ <key>newServerSheet</key>
+ <string>NSWindow</string>
<key>password</key>
<string>NSSecureTextField</string>
+ <key>serverNickName</key>
+ <string>NSTextField</string>
<key>spinner</key>
<string>NSProgressIndicator</string>
<key>username</key>
<integer>5</integer>
<key>IBOpenObjects</key>
<array>
- <integer>137</integer>
+ <integer>388</integer>
+ <integer>7</integer>
</array>
<key>IBSystem Version</key>
<string>9F33</string>
--- /dev/null
+//
+// TURAnselServersPanelController.h
+// iPhoto2Ansel
+//
+// Created by Michael Rubinsky on 12/14/08.
+// Copyright 2008 __MyCompanyName__. All rights reserved.
+//
+
+#import <Cocoa/Cocoa.h>
+
+
+@interface TURAnselServersPanelController : NSObject {
+
+}
+
+@end
--- /dev/null
+//
+// TURAnselServersPanelController.m
+// iPhoto2Ansel
+//
+// Created by Michael Rubinsky on 12/14/08.
+// Copyright 2008 __MyCompanyName__. All rights reserved.
+//
+
+#import "TURAnselServersPanelController.h"
+
+
+@implementation TURAnselServersPanelController
+
+@end
/* Begin PBXBuildFile section */
8D5B49B0048680CD000E48DA /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 089C167DFE841241C02AAC07 /* InfoPlist.strings */; };
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 */; };
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 */; };
32DBCF630370AF2F00C91783 /* iPhoto2Ansel_Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = iPhoto2Ansel_Prefix.pch; sourceTree = "<group>"; };
8D5B49B6048680CD000E48DA /* iPhoto2Ansel.iPhotoExporter */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = iPhoto2Ansel.iPhotoExporter; sourceTree = BUILT_PRODUCTS_DIR; };
8D5B49B7048680CD000E48DA /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
+ 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>"; };
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>"; };
089C167CFE841241C02AAC07 /* Resources */,
089C1671FE841209C02AAC07 /* Frameworks and Libraries */,
19C28FB8FE9D52D311CA2CBB /* Products */,
- B04FC1A70EEB4A2B008EEB0E /* AnselGalleryPanel.nib */,
);
name = iPhoto2Ansel;
sourceTree = "<group>";
089C167CFE841241C02AAC07 /* Resources */ = {
isa = PBXGroup;
children = (
+ B00EF5580EF5DD5900A9D71C /* AnselServers.nib */,
+ B04FC1A70EEB4A2B008EEB0E /* AnselGalleryPanel.nib */,
B0C888480ED85DEA000E19FB /* ProgressSheet.nib */,
B06C1E3C0EB17E3700BFAFCB /* Panel.nib */,
8D5B49B7048680CD000E48DA /* Info.plist */,
B07D426D0EC230B100B59765 /* TURAnsel.m */,
B07D426E0EC230B100B59765 /* TURAnselGallery.h */,
B07D426F0EC230B100B59765 /* TURAnselGallery.m */,
+ B00EF5650EF5E22900A9D71C /* TURAnselServersPanelController.h */,
+ B00EF5660EF5E22900A9D71C /* TURAnselServersPanelController.m */,
);
name = AnselToolkit;
sourceTree = "<group>";
B06C1E3D0EB17E3700BFAFCB /* Panel.nib in Resources */,
B0C888490ED85DEA000E19FB /* ProgressSheet.nib in Resources */,
B04FC1A90EEB4A2B008EEB0E /* AnselGalleryPanel.nib in Resources */,
+ B00EF55A0EF5DD5900A9D71C /* AnselServers.nib in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
B0C8884E0ED85E02000E19FB /* FBProgressController.m in Sources */,
B05C4A060EE9E001005B4B28 /* ImageResizer.m in Sources */,
B0CCED420EEC6E810012D3D3 /* TURAnselGalleryPanelController.m in Sources */,
+ B00EF5670EF5E22900A9D71C /* TURAnselServersPanelController.m in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
name = InfoPlist.strings;
sourceTree = "<group>";
};
+ B00EF5580EF5DD5900A9D71C /* AnselServers.nib */ = {
+ isa = PBXVariantGroup;
+ children = (
+ B00EF5590EF5DD5900A9D71C /* English */,
+ );
+ name = AnselServers.nib;
+ sourceTree = "<group>";
+ };
B04FC1A70EEB4A2B008EEB0E /* AnselGalleryPanel.nib */ = {
isa = PBXVariantGroup;
children = (