Better organization for source code tree
authorMichael J. Rubinsky <mrubinsk@horde.org>
Tue, 22 Sep 2009 18:49:41 +0000 (14:49 -0400)
committerMichael J. Rubinsky <mrubinsk@horde.org>
Tue, 22 Sep 2009 18:50:24 +0000 (14:50 -0400)
27 files changed:
ApertureToAnselExportPlugin/AnselGalleryViewItem.h [deleted file]
ApertureToAnselExportPlugin/AnselGalleryViewItem.m [deleted file]
ApertureToAnselExportPlugin/ApertureToAnselExportPlugin.xcodeproj/project.pbxproj
ApertureToAnselExportPlugin/English.lproj/AnselGalleryPanel.nib/designable.nib [deleted file]
ApertureToAnselExportPlugin/English.lproj/AnselGalleryPanel.nib/keyedobjects.nib [deleted file]
ApertureToAnselExportPlugin/TURAnsel.h [deleted file]
ApertureToAnselExportPlugin/TURAnsel.m [deleted file]
ApertureToAnselExportPlugin/TURAnselConstants.h [deleted file]
ApertureToAnselExportPlugin/TURAnselConstants.m [deleted file]
ApertureToAnselExportPlugin/TURAnselGallery.h [deleted file]
ApertureToAnselExportPlugin/TURAnselGallery.m [deleted file]
ApertureToAnselExportPlugin/TURAnselGalleryPanelController.h [deleted file]
ApertureToAnselExportPlugin/TURAnselGalleryPanelController.m [deleted file]
ApertureToAnselExportPlugin/TURAnselKit.h [deleted file]
ApertureToAnselExportPlugin/TURAnselKit/AnselGalleryViewItem.h [new file with mode: 0644]
ApertureToAnselExportPlugin/TURAnselKit/AnselGalleryViewItem.m [new file with mode: 0644]
ApertureToAnselExportPlugin/TURAnselKit/English.lProj/AnselGalleryPanel.nib/designable.nib [new file with mode: 0644]
ApertureToAnselExportPlugin/TURAnselKit/English.lProj/AnselGalleryPanel.nib/keyedobjects.nib [new file with mode: 0644]
ApertureToAnselExportPlugin/TURAnselKit/TURAnsel.h [new file with mode: 0644]
ApertureToAnselExportPlugin/TURAnselKit/TURAnsel.m [new file with mode: 0644]
ApertureToAnselExportPlugin/TURAnselKit/TURAnselConstants.h [new file with mode: 0644]
ApertureToAnselExportPlugin/TURAnselKit/TURAnselConstants.m [new file with mode: 0644]
ApertureToAnselExportPlugin/TURAnselKit/TURAnselGallery.h [new file with mode: 0644]
ApertureToAnselExportPlugin/TURAnselKit/TURAnselGallery.m [new file with mode: 0644]
ApertureToAnselExportPlugin/TURAnselKit/TURAnselGalleryPanelController.h [new file with mode: 0644]
ApertureToAnselExportPlugin/TURAnselKit/TURAnselGalleryPanelController.m [new file with mode: 0644]
ApertureToAnselExportPlugin/TURAnselKit/TURAnselKit.h [new file with mode: 0644]

diff --git a/ApertureToAnselExportPlugin/AnselGalleryViewItem.h b/ApertureToAnselExportPlugin/AnselGalleryViewItem.h
deleted file mode 100644 (file)
index 41ba61d..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
-/**
- * AnselGalleryViewItem
- *
- * Copyright 2009 The Horde Project (http://www.horde.org)
- * 
- * @implements IKImageBrowserItem
- * @license http://opensource.org/licenses/bsd-license.php
- * @author  Michael J. Rubinsky <mrubinsk@horde.org>
- */
-#import <Cocoa/Cocoa.h>
-#import <Quartz/Quartz.h>
-
-@interface AnselGalleryViewItem: NSObject 
-{
-       NSURL *image;
-       NSString *imageID;
-    NSString *imageTitle;
-    NSCalendarDate *imageDate;
-}
-
-@property(readwrite,copy) NSURL * image;
-@property(readwrite,copy) NSString * imageID;
-
-- (id)initWithURL: (NSURL *)theUrl withTitle: (NSString *)theTitle withDate: (NSDate *)theDate;
-
-#pragma mark -
-#pragma mark Required Methods IKImageBrowserItem Informal Protocol
-- (NSString *)imageUID;
-- (NSString *)imageRepresentationType;
-- (id)imageRepresentation;
-
-- (NSString *)imageTitle;
-- (NSString *)imageSubtitle;
-
-@end
diff --git a/ApertureToAnselExportPlugin/AnselGalleryViewItem.m b/ApertureToAnselExportPlugin/AnselGalleryViewItem.m
deleted file mode 100644 (file)
index a27b41b..0000000
+++ /dev/null
@@ -1,69 +0,0 @@
-/**
- * AnselGalleryViewItem.m
- *
- * Implements the IKImageBrowserItem protocol for displaying images from a
- * remote Ansel gallery in an IKImageBrowser.
- *
- * Copyright 2009 The Horde Project (http://www.horde.org)
- * 
- * @implements IKImageBrowserItem
- * @license http://opensource.org/licenses/bsd-license.php
- * @author  Michael J. Rubinsky <mrubinsk@horde.org>
- */
-#import "AnselGalleryViewItem.h"
-
-@implementation AnselGalleryViewItem
-@synthesize image;
-@synthesize imageID;
-
-- (id)initWithURL: (NSURL *)theURL
-        withTitle: (NSString *)theTitle
-         withDate: (NSDate *)theDate
-{
-    [super init];
-    image = [theURL retain];
-    imageID = [[theURL absoluteString] retain];
-    imageTitle = [theTitle retain];
-    imageDate =  [theDate retain];
-    return self; 
-}
-- (void)dealloc
-{
-    [image release];
-    [imageID release];
-    [imageTitle release];
-    [imageDate release];
-    [super dealloc];
-}
-
-#pragma mark
-#pragma mark Required methods
-- (NSString *)imageUID
-{
-    return imageID;
-}
-
-- (NSString *)imageRepresentationType
-{
-    return IKImageBrowserNSURLRepresentationType;
-}
-
-- (id)imageRepresentation
-{
-    return image;
-}
-
-#pragma mark
-#pragma mark Optional methods.
-- (NSString *)imageTitle
-{
-    NSLog(@"imageTitle: %@", imageTitle);
-    return imageTitle;
-}
-- (NSString *)imageSubtitle
-{
-    NSLog(@"imageSubtitle: %@", [imageDate description]);
-    return [imageDate description];
-}
-
-@end
index 2c7190e..394ac7d 100644 (file)
@@ -9,14 +9,14 @@
 /* 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 */; };
-               B070DA551069387B00C0E3FC /* TURAnselConstants.m in Sources */ = {isa = PBXBuildFile; fileRef = B070DA541069387B00C0E3FC /* TURAnselConstants.m */; };
-               B0AE23391049F7770096565B /* TURAnselGalleryPanelController.m in Sources */ = {isa = PBXBuildFile; fileRef = B0AE23361049F7770096565B /* TURAnselGalleryPanelController.m */; };
-               B0AE23411049F7A20096565B /* AnselGalleryPanel.nib in Resources */ = {isa = PBXBuildFile; fileRef = B0AE233D1049F7A20096565B /* AnselGalleryPanel.nib */; };
-               B0D311D01049A7DE006B06C6 /* TURAnsel.m in Sources */ = {isa = PBXBuildFile; fileRef = B0D311CB1049A7DE006B06C6 /* TURAnsel.m */; };
-               B0D311D11049A7DE006B06C6 /* TURAnselGallery.m in Sources */ = {isa = PBXBuildFile; fileRef = B0D311CD1049A7DE006B06C6 /* TURAnselGallery.m */; };
+               B070DB8A1069532500C0E3FC /* AnselGalleryViewItem.m in Sources */ = {isa = PBXBuildFile; fileRef = B070DB7E1069532500C0E3FC /* AnselGalleryViewItem.m */; };
+               B070DB8B1069532500C0E3FC /* AnselGalleryPanel.nib in Resources */ = {isa = PBXBuildFile; fileRef = B070DB801069532500C0E3FC /* AnselGalleryPanel.nib */; };
+               B070DB8C1069532500C0E3FC /* TURAnsel.m in Sources */ = {isa = PBXBuildFile; fileRef = B070DB821069532500C0E3FC /* TURAnsel.m */; };
+               B070DB8D1069532500C0E3FC /* TURAnselConstants.m in Sources */ = {isa = PBXBuildFile; fileRef = B070DB841069532500C0E3FC /* TURAnselConstants.m */; };
+               B070DB8E1069532500C0E3FC /* TURAnselGallery.m in Sources */ = {isa = PBXBuildFile; fileRef = B070DB861069532500C0E3FC /* TURAnselGallery.m */; };
+               B070DB8F1069532500C0E3FC /* TURAnselGalleryPanelController.m in Sources */ = {isa = PBXBuildFile; fileRef = B070DB881069532500C0E3FC /* TURAnselGalleryPanelController.m */; };
                B0DD64D2106738DB00085661 /* NSStringAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = B0DD64D1106738DB00085661 /* NSStringAdditions.m */; };
                B0DD64E31067391E00085661 /* NSDataAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = B0DD64E21067391E00085661 /* NSDataAdditions.m */; };
-               B0DEA058104D7012001D1509 /* AnselGalleryViewItem.m in Sources */ = {isa = PBXBuildFile; fileRef = B0DEA057104D7012001D1509 /* AnselGalleryViewItem.m */; };
                B0DEA1CE104D7DE2001D1509 /* Quartz.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B0DEA1CD104D7DE2001D1509 /* Quartz.framework */; };
                D118EA660AC08CCB006DD2FE /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = D118EA640AC08CCB006DD2FE /* Localizable.strings */; };
                D15DEA4A0ABF639500CBE3A5 /* PluginManager.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D15DEA490ABF639500CBE3A5 /* PluginManager.framework */; };
                287924B90DAEB2A20074992A /* ApertureSDKCommon.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ApertureSDKCommon.h; sourceTree = "<group>"; };
                32DBCF630370AF2F00C91783 /* ApertureToAnselExportPlugin_Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ApertureToAnselExportPlugin_Prefix.pch; sourceTree = "<group>"; };
                8D5B49B7048680CD000E48DA /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
-               B070DA531069387B00C0E3FC /* TURAnselConstants.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TURAnselConstants.h; sourceTree = "<group>"; };
-               B070DA541069387B00C0E3FC /* TURAnselConstants.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = TURAnselConstants.m; sourceTree = "<group>"; };
-               B070DA5A1069391F00C0E3FC /* TURAnselKit.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TURAnselKit.h; sourceTree = "<group>"; };
-               B0AE23351049F7770096565B /* TURAnselGalleryPanelController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TURAnselGalleryPanelController.h; sourceTree = "<group>"; };
-               B0AE23361049F7770096565B /* TURAnselGalleryPanelController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = TURAnselGalleryPanelController.m; sourceTree = "<group>"; };
-               B0AE233E1049F7A20096565B /* English */ = {isa = PBXFileReference; lastKnownFileType = wrapper.nib; name = English; path = English.lproj/AnselGalleryPanel.nib; sourceTree = "<group>"; };
-               B0D311CA1049A7DE006B06C6 /* TURAnsel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TURAnsel.h; sourceTree = "<group>"; };
-               B0D311CB1049A7DE006B06C6 /* TURAnsel.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = TURAnsel.m; sourceTree = "<group>"; };
-               B0D311CC1049A7DE006B06C6 /* TURAnselGallery.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TURAnselGallery.h; sourceTree = "<group>"; };
-               B0D311CD1049A7DE006B06C6 /* TURAnselGallery.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = TURAnselGallery.m; sourceTree = "<group>"; };
+               B070DB7D1069532500C0E3FC /* AnselGalleryViewItem.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AnselGalleryViewItem.h; sourceTree = "<group>"; };
+               B070DB7E1069532500C0E3FC /* AnselGalleryViewItem.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AnselGalleryViewItem.m; sourceTree = "<group>"; };
+               B070DB801069532500C0E3FC /* AnselGalleryPanel.nib */ = {isa = PBXFileReference; lastKnownFileType = wrapper.nib; path = AnselGalleryPanel.nib; sourceTree = "<group>"; };
+               B070DB811069532500C0E3FC /* TURAnsel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TURAnsel.h; sourceTree = "<group>"; };
+               B070DB821069532500C0E3FC /* TURAnsel.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = TURAnsel.m; sourceTree = "<group>"; };
+               B070DB831069532500C0E3FC /* TURAnselConstants.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TURAnselConstants.h; sourceTree = "<group>"; };
+               B070DB841069532500C0E3FC /* TURAnselConstants.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = TURAnselConstants.m; sourceTree = "<group>"; };
+               B070DB851069532500C0E3FC /* TURAnselGallery.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TURAnselGallery.h; sourceTree = "<group>"; };
+               B070DB861069532500C0E3FC /* TURAnselGallery.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = TURAnselGallery.m; sourceTree = "<group>"; };
+               B070DB871069532500C0E3FC /* TURAnselGalleryPanelController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TURAnselGalleryPanelController.h; sourceTree = "<group>"; };
+               B070DB881069532500C0E3FC /* TURAnselGalleryPanelController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = TURAnselGalleryPanelController.m; sourceTree = "<group>"; };
+               B070DB891069532500C0E3FC /* TURAnselKit.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TURAnselKit.h; sourceTree = "<group>"; };
                B0DD64D0106738DB00085661 /* NSStringAdditions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NSStringAdditions.h; sourceTree = "<group>"; };
                B0DD64D1106738DB00085661 /* NSStringAdditions.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = NSStringAdditions.m; sourceTree = "<group>"; };
                B0DD64E11067391E00085661 /* NSDataAdditions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NSDataAdditions.h; sourceTree = "<group>"; };
                B0DD64E21067391E00085661 /* NSDataAdditions.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = NSDataAdditions.m; sourceTree = "<group>"; };
-               B0DEA056104D7012001D1509 /* AnselGalleryViewItem.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AnselGalleryViewItem.h; sourceTree = "<group>"; };
-               B0DEA057104D7012001D1509 /* AnselGalleryViewItem.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AnselGalleryViewItem.m; sourceTree = "<group>"; };
                B0DEA1CD104D7DE2001D1509 /* Quartz.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Quartz.framework; path = /System/Library/Frameworks/Quartz.framework; sourceTree = "<absolute>"; };
                D118EA650AC08CCB006DD2FE /* English */ = {isa = PBXFileReference; fileEncoding = 10; lastKnownFileType = text.plist.strings; name = English; path = English.lproj/Localizable.strings; sourceTree = "<group>"; };
                D118EB0F0AC08EAE006DD2FE /* ApertureToAnselExportPlugin.ApertureExport */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = ApertureToAnselExportPlugin.ApertureExport; sourceTree = BUILT_PRODUCTS_DIR; };
@@ -89,8 +89,8 @@
                089C166AFE841209C02AAC07 /* MyApertureExportPlugIn */ = {
                        isa = PBXGroup;
                        children = (
+                               B070DB7C1069532500C0E3FC /* TURAnselKit */,
                                B00872201066B73A00BE0CCF /* Additions */,
-                               B0D312931049B17F006B06C6 /* AnselToolkit */,
                                287924B60DAEB2A20074992A /* ApertureHeaders */,
                                08FB77AFFE84173DC02AAC07 /* Classes */,
                                32C88E010371C26100C91783 /* Other Sources */,
                089C167CFE841241C02AAC07 /* Resources */ = {
                        isa = PBXGroup;
                        children = (
-                               B0AE233D1049F7A20096565B /* AnselGalleryPanel.nib */,
                                D15DEA500ABF641300CBE3A5 /* ApertureToAnselExportPlugin.nib */,
                                8D5B49B7048680CD000E48DA /* Info.plist */,
                                D118EA640AC08CCB006DD2FE /* Localizable.strings */,
                        name = Additions;
                        sourceTree = "<group>";
                };
-               B0D312931049B17F006B06C6 /* AnselToolkit */ = {
+               B070DB7C1069532500C0E3FC /* TURAnselKit */ = {
                        isa = PBXGroup;
                        children = (
-                               B0DEA056104D7012001D1509 /* AnselGalleryViewItem.h */,
-                               B0DEA057104D7012001D1509 /* AnselGalleryViewItem.m */,
-                               B0AE23351049F7770096565B /* TURAnselGalleryPanelController.h */,
-                               B0AE23361049F7770096565B /* TURAnselGalleryPanelController.m */,
-                               B0D311CB1049A7DE006B06C6 /* TURAnsel.m */,
-                               B0D311CA1049A7DE006B06C6 /* TURAnsel.h */,
-                               B0D311CC1049A7DE006B06C6 /* TURAnselGallery.h */,
-                               B0D311CD1049A7DE006B06C6 /* TURAnselGallery.m */,
-                               B070DA531069387B00C0E3FC /* TURAnselConstants.h */,
-                               B070DA541069387B00C0E3FC /* TURAnselConstants.m */,
-                               B070DA5A1069391F00C0E3FC /* TURAnselKit.h */,
+                               B070DB7D1069532500C0E3FC /* AnselGalleryViewItem.h */,
+                               B070DB7E1069532500C0E3FC /* AnselGalleryViewItem.m */,
+                               B070DB7F1069532500C0E3FC /* English.lProj */,
+                               B070DB811069532500C0E3FC /* TURAnsel.h */,
+                               B070DB821069532500C0E3FC /* TURAnsel.m */,
+                               B070DB831069532500C0E3FC /* TURAnselConstants.h */,
+                               B070DB841069532500C0E3FC /* TURAnselConstants.m */,
+                               B070DB851069532500C0E3FC /* TURAnselGallery.h */,
+                               B070DB861069532500C0E3FC /* TURAnselGallery.m */,
+                               B070DB871069532500C0E3FC /* TURAnselGalleryPanelController.h */,
+                               B070DB881069532500C0E3FC /* TURAnselGalleryPanelController.m */,
+                               B070DB891069532500C0E3FC /* TURAnselKit.h */,
                        );
-                       name = AnselToolkit;
+                       path = TURAnselKit;
+                       sourceTree = "<group>";
+               };
+               B070DB7F1069532500C0E3FC /* English.lProj */ = {
+                       isa = PBXGroup;
+                       children = (
+                               B070DB801069532500C0E3FC /* AnselGalleryPanel.nib */,
+                       );
+                       path = English.lProj;
                        sourceTree = "<group>";
                };
                D118EB1C0AC08EE7006DD2FE /* Products */ = {
                                8D5B49B0048680CD000E48DA /* InfoPlist.strings in Resources */,
                                D15DEA520ABF641300CBE3A5 /* ApertureToAnselExportPlugin.nib in Resources */,
                                D118EA660AC08CCB006DD2FE /* Localizable.strings in Resources */,
-                               B0AE23411049F7A20096565B /* AnselGalleryPanel.nib in Resources */,
+                               B070DB8B1069532500C0E3FC /* AnselGalleryPanel.nib in Resources */,
                        );
                        runOnlyForDeploymentPostprocessing = 0;
                };
                        buildActionMask = 2147483647;
                        files = (
                                D15DEA4F0ABF63C600CBE3A5 /* ApertureToAnselExportPlugin.m in Sources */,
-                               B0D311D01049A7DE006B06C6 /* TURAnsel.m in Sources */,
-                               B0D311D11049A7DE006B06C6 /* TURAnselGallery.m in Sources */,
-                               B0AE23391049F7770096565B /* TURAnselGalleryPanelController.m in Sources */,
-                               B0DEA058104D7012001D1509 /* AnselGalleryViewItem.m in Sources */,
                                B0DD64D2106738DB00085661 /* NSStringAdditions.m in Sources */,
                                B0DD64E31067391E00085661 /* NSDataAdditions.m in Sources */,
-                               B070DA551069387B00C0E3FC /* TURAnselConstants.m in Sources */,
+                               B070DB8A1069532500C0E3FC /* AnselGalleryViewItem.m in Sources */,
+                               B070DB8C1069532500C0E3FC /* TURAnsel.m in Sources */,
+                               B070DB8D1069532500C0E3FC /* TURAnselConstants.m in Sources */,
+                               B070DB8E1069532500C0E3FC /* TURAnselGallery.m in Sources */,
+                               B070DB8F1069532500C0E3FC /* TURAnselGalleryPanelController.m in Sources */,
                        );
                        runOnlyForDeploymentPostprocessing = 0;
                };
                        name = InfoPlist.strings;
                        sourceTree = "<group>";
                };
-               B0AE233D1049F7A20096565B /* AnselGalleryPanel.nib */ = {
-                       isa = PBXVariantGroup;
-                       children = (
-                               B0AE233E1049F7A20096565B /* English */,
-                       );
-                       name = AnselGalleryPanel.nib;
-                       sourceTree = "<group>";
-               };
                D118EA640AC08CCB006DD2FE /* Localizable.strings */ = {
                        isa = PBXVariantGroup;
                        children = (
diff --git a/ApertureToAnselExportPlugin/English.lproj/AnselGalleryPanel.nib/designable.nib b/ApertureToAnselExportPlugin/English.lproj/AnselGalleryPanel.nib/designable.nib
deleted file mode 100644 (file)
index aab13b8..0000000
+++ /dev/null
@@ -1,744 +0,0 @@
-<?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="15"/>
-               </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">TURAnselGalleryPanelController</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">19</int>
-                               <int key="NSWindowBacking">2</int>
-                               <string key="NSWindowRect">{{797, 724}, {267, 276}}</string>
-                               <int key="NSWTFlags">-536866816</int>
-                               <string key="NSWindowTitle">New Gallery</string>
-                               <string key="NSWindowClass">NSPanel</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>
-                                       <object class="NSMutableArray" key="NSSubviews">
-                                               <bool key="EncodedWithXMLCoder">YES</bool>
-                                               <object class="NSTextField" id="142371246">
-                                                       <reference key="NSNextResponder" ref="1006"/>
-                                                       <int key="NSvFlags">268</int>
-                                                       <string key="NSFrame">{{20, 219}, {227, 22}}</string>
-                                                       <reference key="NSSuperview" ref="1006"/>
-                                                       <bool key="NSEnabled">YES</bool>
-                                                       <object class="NSTextFieldCell" key="NSCell" id="104713052">
-                                                               <int key="NSCellFlags">-1804468671</int>
-                                                               <int key="NSCellFlags2">272630784</int>
-                                                               <string key="NSContents"/>
-                                                               <object class="NSFont" key="NSSupport" id="1035187758">
-                                                                       <string key="NSName">LucidaGrande</string>
-                                                                       <double key="NSSize">1.300000e+01</double>
-                                                                       <int key="NSfFlags">1044</int>
-                                                               </object>
-                                                               <reference key="NSControlView" ref="142371246"/>
-                                                               <bool key="NSDrawsBackground">YES</bool>
-                                                               <object class="NSColor" key="NSBackgroundColor" id="926502601">
-                                                                       <int key="NSColorSpace">6</int>
-                                                                       <string key="NSCatalogName">System</string>
-                                                                       <string key="NSColorName">textBackgroundColor</string>
-                                                                       <object class="NSColor" key="NSColor" id="537053071">
-                                                                               <int key="NSColorSpace">3</int>
-                                                                               <bytes key="NSWhite">MQA</bytes>
-                                                                       </object>
-                                                               </object>
-                                                               <object class="NSColor" key="NSTextColor" id="649170679">
-                                                                       <int key="NSColorSpace">6</int>
-                                                                       <string key="NSCatalogName">System</string>
-                                                                       <string key="NSColorName">textColor</string>
-                                                                       <object class="NSColor" key="NSColor" id="957332318">
-                                                                               <int key="NSColorSpace">3</int>
-                                                                               <bytes key="NSWhite">MAA</bytes>
-                                                                       </object>
-                                                               </object>
-                                                       </object>
-                                               </object>
-                                               <object class="NSTextField" id="970595672">
-                                                       <reference key="NSNextResponder" ref="1006"/>
-                                                       <int key="NSvFlags">268</int>
-                                                       <string key="NSFrame">{{17, 240}, {88, 16}}</string>
-                                                       <reference key="NSSuperview" ref="1006"/>
-                                                       <bool key="NSEnabled">YES</bool>
-                                                       <object class="NSTextFieldCell" key="NSCell" id="303822681">
-                                                               <int key="NSCellFlags">68288064</int>
-                                                               <int key="NSCellFlags2">272630784</int>
-                                                               <string key="NSContents">Gallery Name</string>
-                                                               <object class="NSFont" key="NSSupport" id="849304139">
-                                                                       <string key="NSName">LucidaGrande</string>
-                                                                       <double key="NSSize">1.200000e+01</double>
-                                                                       <int key="NSfFlags">16</int>
-                                                               </object>
-                                                               <reference key="NSControlView" ref="970595672"/>
-                                                               <object class="NSColor" key="NSBackgroundColor" id="264684485">
-                                                                       <int key="NSColorSpace">6</int>
-                                                                       <string key="NSCatalogName">System</string>
-                                                                       <string key="NSColorName">controlColor</string>
-                                                                       <object class="NSColor" key="NSColor" id="961976611">
-                                                                               <int key="NSColorSpace">3</int>
-                                                                               <bytes key="NSWhite">MC42NjY2NjY2OQA</bytes>
-                                                                       </object>
-                                                               </object>
-                                                               <object class="NSColor" key="NSTextColor" id="339290383">
-                                                                       <int key="NSColorSpace">6</int>
-                                                                       <string key="NSCatalogName">System</string>
-                                                                       <string key="NSColorName">controlTextColor</string>
-                                                                       <reference key="NSColor" ref="957332318"/>
-                                                               </object>
-                                                       </object>
-                                               </object>
-                                               <object class="NSTextField" id="768485006">
-                                                       <reference key="NSNextResponder" ref="1006"/>
-                                                       <int key="NSvFlags">268</int>
-                                                       <string key="NSFrame">{{17, 195}, {73, 16}}</string>
-                                                       <reference key="NSSuperview" ref="1006"/>
-                                                       <bool key="NSEnabled">YES</bool>
-                                                       <object class="NSTextFieldCell" key="NSCell" id="441648904">
-                                                               <int key="NSCellFlags">68288064</int>
-                                                               <int key="NSCellFlags2">272630784</int>
-                                                               <string key="NSContents">Gallery Slug</string>
-                                                               <reference key="NSSupport" ref="849304139"/>
-                                                               <reference key="NSControlView" ref="768485006"/>
-                                                               <reference key="NSBackgroundColor" ref="264684485"/>
-                                                               <reference key="NSTextColor" ref="339290383"/>
-                                                       </object>
-                                               </object>
-                                               <object class="NSTextField" id="887381497">
-                                                       <reference key="NSNextResponder" ref="1006"/>
-                                                       <int key="NSvFlags">268</int>
-                                                       <string key="NSFrame">{{20, 174}, {227, 22}}</string>
-                                                       <reference key="NSSuperview" ref="1006"/>
-                                                       <bool key="NSEnabled">YES</bool>
-                                                       <object class="NSTextFieldCell" key="NSCell" id="347914051">
-                                                               <int key="NSCellFlags">-1804468671</int>
-                                                               <int key="NSCellFlags2">272630784</int>
-                                                               <string key="NSContents"/>
-                                                               <reference key="NSSupport" ref="1035187758"/>
-                                                               <reference key="NSControlView" ref="887381497"/>
-                                                               <bool key="NSDrawsBackground">YES</bool>
-                                                               <reference key="NSBackgroundColor" ref="926502601"/>
-                                                               <reference key="NSTextColor" ref="649170679"/>
-                                                       </object>
-                                               </object>
-                                               <object class="NSTextField" id="703267117">
-                                                       <reference key="NSNextResponder" ref="1006"/>
-                                                       <int key="NSvFlags">268</int>
-                                                       <string key="NSFrame">{{20, 103}, {227, 47}}</string>
-                                                       <reference key="NSSuperview" ref="1006"/>
-                                                       <bool key="NSEnabled">YES</bool>
-                                                       <object class="NSTextFieldCell" key="NSCell" id="116149712">
-                                                               <int key="NSCellFlags">-1805517311</int>
-                                                               <int key="NSCellFlags2">272629760</int>
-                                                               <string key="NSContents"/>
-                                                               <reference key="NSSupport" ref="1035187758"/>
-                                                               <reference key="NSControlView" ref="703267117"/>
-                                                               <bool key="NSDrawsBackground">YES</bool>
-                                                               <reference key="NSBackgroundColor" ref="926502601"/>
-                                                               <reference key="NSTextColor" ref="649170679"/>
-                                                       </object>
-                                               </object>
-                                               <object class="NSTextField" id="568388187">
-                                                       <reference key="NSNextResponder" ref="1006"/>
-                                                       <int key="NSvFlags">268</int>
-                                                       <string key="NSFrame">{{17, 150}, {124, 16}}</string>
-                                                       <reference key="NSSuperview" ref="1006"/>
-                                                       <bool key="NSEnabled">YES</bool>
-                                                       <object class="NSTextFieldCell" key="NSCell" id="774003593">
-                                                               <int key="NSCellFlags">68288064</int>
-                                                               <int key="NSCellFlags2">272630784</int>
-                                                               <string key="NSContents">Gallery Description</string>
-                                                               <reference key="NSSupport" ref="849304139"/>
-                                                               <reference key="NSControlView" ref="568388187"/>
-                                                               <reference key="NSBackgroundColor" ref="264684485"/>
-                                                               <reference key="NSTextColor" ref="339290383"/>
-                                                       </object>
-                                               </object>
-                                               <object class="NSButton" id="64211119">
-                                                       <reference key="NSNextResponder" ref="1006"/>
-                                                       <int key="NSvFlags">268</int>
-                                                       <string key="NSFrame">{{116, 12}, {68, 32}}</string>
-                                                       <reference key="NSSuperview" ref="1006"/>
-                                                       <bool key="NSEnabled">YES</bool>
-                                                       <object class="NSButtonCell" key="NSCell" id="490284298">
-                                                               <int key="NSCellFlags">67239424</int>
-                                                               <int key="NSCellFlags2">134217728</int>
-                                                               <string key="NSContents">Cancel</string>
-                                                               <reference key="NSSupport" ref="1035187758"/>
-                                                               <reference key="NSControlView" ref="64211119"/>
-                                                               <int key="NSButtonFlags">-2038284033</int>
-                                                               <int key="NSButtonFlags2">129</int>
-                                                               <string key="NSAlternateContents"/>
-                                                               <string key="NSKeyEquivalent"/>
-                                                               <int key="NSPeriodicDelay">200</int>
-                                                               <int key="NSPeriodicInterval">25</int>
-                                                       </object>
-                                               </object>
-                                               <object class="NSButton" id="184111456">
-                                                       <reference key="NSNextResponder" ref="1006"/>
-                                                       <int key="NSvFlags">268</int>
-                                                       <string key="NSFrame">{{184, 12}, {69, 32}}</string>
-                                                       <reference key="NSSuperview" ref="1006"/>
-                                                       <bool key="NSEnabled">YES</bool>
-                                                       <object class="NSButtonCell" key="NSCell" id="13003559">
-                                                               <int key="NSCellFlags">67239424</int>
-                                                               <int key="NSCellFlags2">134217728</int>
-                                                               <string key="NSContents">Save</string>
-                                                               <reference key="NSSupport" ref="1035187758"/>
-                                                               <reference key="NSControlView" ref="184111456"/>
-                                                               <int key="NSButtonFlags">-2038284033</int>
-                                                               <int key="NSButtonFlags2">129</int>
-                                                               <string key="NSAlternateContents"/>
-                                                               <string key="NSKeyEquivalent"/>
-                                                               <int key="NSPeriodicDelay">200</int>
-                                                               <int key="NSPeriodicInterval">25</int>
-                                                       </object>
-                                               </object>
-                                               <object class="NSComboBox" id="137843971">
-                                                       <reference key="NSNextResponder" ref="1006"/>
-                                                       <int key="NSvFlags">268</int>
-                                                       <string key="NSFrame">{{20, 56}, {230, 26}}</string>
-                                                       <reference key="NSSuperview" ref="1006"/>
-                                                       <bool key="NSEnabled">YES</bool>
-                                                       <object class="NSComboBoxCell" key="NSCell" id="625134106">
-                                                               <int key="NSCellFlags">879885888</int>
-                                                               <int key="NSCellFlags2">272630784</int>
-                                                               <string key="NSContents"/>
-                                                               <reference key="NSSupport" ref="1035187758"/>
-                                                               <reference key="NSControlView" ref="137843971"/>
-                                                               <bool key="NSDrawsBackground">YES</bool>
-                                                               <reference key="NSBackgroundColor" ref="926502601"/>
-                                                               <reference key="NSTextColor" ref="339290383"/>
-                                                               <int key="NSVisibleItemCount">5</int>
-                                                               <bool key="NSHasVerticalScroller">YES</bool>
-                                                               <reference key="NSDelegate" ref="137843971"/>
-                                                               <object class="NSComboTableView" key="NSTableView" id="677168914">
-                                                                       <reference key="NSNextResponder"/>
-                                                                       <int key="NSvFlags">274</int>
-                                                                       <string key="NSFrameSize">{15, 0}</string>
-                                                                       <reference key="NSSuperview"/>
-                                                                       <reference key="NSWindow"/>
-                                                                       <bool key="NSEnabled">YES</bool>
-                                                                       <object class="NSMutableArray" key="NSTableColumns">
-                                                                               <bool key="EncodedWithXMLCoder">YES</bool>
-                                                                               <object class="NSTableColumn">
-                                                                                       <integer value="0" key="NSIdentifier" id="8"/>
-                                                                                       <double key="NSWidth">1.200000e+01</double>
-                                                                                       <double key="NSMinWidth">1.000000e+01</double>
-                                                                                       <double key="NSMaxWidth">1.000000e+03</double>
-                                                                                       <object class="NSTableHeaderCell" key="NSHeaderCell">
-                                                                                               <int key="NSCellFlags">75628032</int>
-                                                                                               <int key="NSCellFlags2">0</int>
-                                                                                               <string key="NSContents"/>
-                                                                                               <reference key="NSSupport" ref="849304139"/>
-                                                                                               <object class="NSColor" key="NSBackgroundColor">
-                                                                                                       <int key="NSColorSpace">3</int>
-                                                                                                       <bytes key="NSWhite">MC4zMzMzMzI5OQA</bytes>
-                                                                                               </object>
-                                                                                               <reference key="NSTextColor" ref="537053071"/>
-                                                                                       </object>
-                                                                                       <object class="NSTextFieldCell" key="NSDataCell">
-                                                                                               <int key="NSCellFlags">338820672</int>
-                                                                                               <int key="NSCellFlags2">1024</int>
-                                                                                               <reference key="NSSupport" ref="1035187758"/>
-                                                                                               <reference key="NSControlView" ref="677168914"/>
-                                                                                               <bool key="NSDrawsBackground">YES</bool>
-                                                                                               <object class="NSColor" key="NSBackgroundColor" id="525076026">
-                                                                                                       <int key="NSColorSpace">6</int>
-                                                                                                       <string key="NSCatalogName">System</string>
-                                                                                                       <string key="NSColorName">controlBackgroundColor</string>
-                                                                                                       <reference key="NSColor" ref="961976611"/>
-                                                                                               </object>
-                                                                                               <reference key="NSTextColor" ref="339290383"/>
-                                                                                       </object>
-                                                                                       <int key="NSResizingMask">3</int>
-                                                                                       <bool key="NSIsResizeable">YES</bool>
-                                                                                       <reference key="NSTableView" ref="677168914"/>
-                                                                               </object>
-                                                                       </object>
-                                                                       <double key="NSIntercellSpacingWidth">3.000000e+00</double>
-                                                                       <double key="NSIntercellSpacingHeight">2.000000e+00</double>
-                                                                       <reference key="NSBackgroundColor" ref="525076026"/>
-                                                                       <object class="NSColor" key="NSGridColor">
-                                                                               <int key="NSColorSpace">6</int>
-                                                                               <string key="NSCatalogName">System</string>
-                                                                               <string key="NSColorName">gridColor</string>
-                                                                               <object class="NSColor" key="NSColor">
-                                                                                       <int key="NSColorSpace">3</int>
-                                                                                       <bytes key="NSWhite">MC41AA</bytes>
-                                                                               </object>
-                                                                       </object>
-                                                                       <double key="NSRowHeight">1.900000e+01</double>
-                                                                       <string key="NSAction">tableViewAction:</string>
-                                                                       <int key="NSTvFlags">-767524864</int>
-                                                                       <reference key="NSDelegate" ref="625134106"/>
-                                                                       <reference key="NSDataSource" ref="625134106"/>
-                                                                       <reference key="NSTarget" ref="625134106"/>
-                                                                       <int key="NSColumnAutoresizingStyle">1</int>
-                                                                       <int key="NSDraggingSourceMaskForLocal">15</int>
-                                                                       <int key="NSDraggingSourceMaskForNonLocal">0</int>
-                                                                       <bool key="NSAllowsTypeSelect">YES</bool>
-                                                               </object>
-                                                       </object>
-                                               </object>
-                                               <object class="NSTextField" id="793482582">
-                                                       <reference key="NSNextResponder" ref="1006"/>
-                                                       <int key="NSvFlags">268</int>
-                                                       <string key="NSFrame">{{17, 79}, {88, 16}}</string>
-                                                       <reference key="NSSuperview" ref="1006"/>
-                                                       <bool key="NSEnabled">YES</bool>
-                                                       <object class="NSTextFieldCell" key="NSCell" id="657594086">
-                                                               <int key="NSCellFlags">68288064</int>
-                                                               <int key="NSCellFlags2">272630784</int>
-                                                               <string key="NSContents">Gallery Parent</string>
-                                                               <reference key="NSSupport" ref="849304139"/>
-                                                               <reference key="NSControlView" ref="793482582"/>
-                                                               <reference key="NSBackgroundColor" ref="264684485"/>
-                                                               <reference key="NSTextColor" ref="339290383"/>
-                                                       </object>
-                                               </object>
-                                       </object>
-                                       <string key="NSFrameSize">{267, 276}</string>
-                                       <reference key="NSSuperview"/>
-                               </object>
-                               <string key="NSScreenRect">{{0, 0}, {1920, 1178}}</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 class="IBConnectionRecord">
-                                       <object class="IBOutletConnection" key="connection">
-                                               <string key="label">newGallerySheet</string>
-                                               <reference key="source" ref="1001"/>
-                                               <reference key="destination" ref="1005"/>
-                                       </object>
-                                       <int key="connectionID">43</int>
-                               </object>
-                               <object class="IBConnectionRecord">
-                                       <object class="IBActionConnection" key="connection">
-                                               <string key="label">doNewGallery:</string>
-                                               <reference key="source" ref="1001"/>
-                                               <reference key="destination" ref="184111456"/>
-                                       </object>
-                                       <int key="connectionID">48</int>
-                               </object>
-                               <object class="IBConnectionRecord">
-                                       <object class="IBOutletConnection" key="connection">
-                                               <string key="label">galleryDescTextField</string>
-                                               <reference key="source" ref="1001"/>
-                                               <reference key="destination" ref="703267117"/>
-                                       </object>
-                                       <int key="connectionID">49</int>
-                               </object>
-                               <object class="IBConnectionRecord">
-                                       <object class="IBOutletConnection" key="connection">
-                                               <string key="label">galleryNameTextField</string>
-                                               <reference key="source" ref="1001"/>
-                                               <reference key="destination" ref="142371246"/>
-                                       </object>
-                                       <int key="connectionID">50</int>
-                               </object>
-                               <object class="IBConnectionRecord">
-                                       <object class="IBOutletConnection" key="connection">
-                                               <string key="label">gallerySlugTextField</string>
-                                               <reference key="source" ref="1001"/>
-                                               <reference key="destination" ref="887381497"/>
-                                       </object>
-                                       <int key="connectionID">51</int>
-                               </object>
-                               <object class="IBConnectionRecord">
-                                       <object class="IBActionConnection" key="connection">
-                                               <string key="label">cancelNewGallery:</string>
-                                               <reference key="source" ref="1001"/>
-                                               <reference key="destination" ref="490284298"/>
-                                       </object>
-                                       <int key="connectionID">53</int>
-                               </object>
-                       </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"/>
-                                               <object class="NSMutableArray" key="children">
-                                                       <bool key="EncodedWithXMLCoder">YES</bool>
-                                                       <reference ref="142371246"/>
-                                                       <reference ref="970595672"/>
-                                                       <reference ref="768485006"/>
-                                                       <reference ref="887381497"/>
-                                                       <reference ref="703267117"/>
-                                                       <reference ref="568388187"/>
-                                                       <reference ref="137843971"/>
-                                                       <reference ref="793482582"/>
-                                                       <reference ref="64211119"/>
-                                                       <reference ref="184111456"/>
-                                               </object>
-                                               <reference key="parent" ref="1005"/>
-                                       </object>
-                                       <object class="IBObjectRecord">
-                                               <int key="objectID">3</int>
-                                               <reference key="object" ref="142371246"/>
-                                               <object class="NSMutableArray" key="children">
-                                                       <bool key="EncodedWithXMLCoder">YES</bool>
-                                                       <reference ref="104713052"/>
-                                               </object>
-                                               <reference key="parent" ref="1006"/>
-                                       </object>
-                                       <object class="IBObjectRecord">
-                                               <int key="objectID">4</int>
-                                               <reference key="object" ref="104713052"/>
-                                               <reference key="parent" ref="142371246"/>
-                                       </object>
-                                       <object class="IBObjectRecord">
-                                               <int key="objectID">5</int>
-                                               <reference key="object" ref="970595672"/>
-                                               <object class="NSMutableArray" key="children">
-                                                       <bool key="EncodedWithXMLCoder">YES</bool>
-                                                       <reference ref="303822681"/>
-                                               </object>
-                                               <reference key="parent" ref="1006"/>
-                                       </object>
-                                       <object class="IBObjectRecord">
-                                               <int key="objectID">6</int>
-                                               <reference key="object" ref="303822681"/>
-                                               <reference key="parent" ref="970595672"/>
-                                       </object>
-                                       <object class="IBObjectRecord">
-                                               <int key="objectID">7</int>
-                                               <reference key="object" ref="768485006"/>
-                                               <object class="NSMutableArray" key="children">
-                                                       <bool key="EncodedWithXMLCoder">YES</bool>
-                                                       <reference ref="441648904"/>
-                                               </object>
-                                               <reference key="parent" ref="1006"/>
-                                       </object>
-                                       <object class="IBObjectRecord">
-                                               <int key="objectID">8</int>
-                                               <reference key="object" ref="441648904"/>
-                                               <reference key="parent" ref="768485006"/>
-                                       </object>
-                                       <object class="IBObjectRecord">
-                                               <int key="objectID">9</int>
-                                               <reference key="object" ref="887381497"/>
-                                               <object class="NSMutableArray" key="children">
-                                                       <bool key="EncodedWithXMLCoder">YES</bool>
-                                                       <reference ref="347914051"/>
-                                               </object>
-                                               <reference key="parent" ref="1006"/>
-                                       </object>
-                                       <object class="IBObjectRecord">
-                                               <int key="objectID">10</int>
-                                               <reference key="object" ref="347914051"/>
-                                               <reference key="parent" ref="887381497"/>
-                                       </object>
-                                       <object class="IBObjectRecord">
-                                               <int key="objectID">11</int>
-                                               <reference key="object" ref="703267117"/>
-                                               <object class="NSMutableArray" key="children">
-                                                       <bool key="EncodedWithXMLCoder">YES</bool>
-                                                       <reference ref="116149712"/>
-                                               </object>
-                                               <reference key="parent" ref="1006"/>
-                                       </object>
-                                       <object class="IBObjectRecord">
-                                               <int key="objectID">12</int>
-                                               <reference key="object" ref="116149712"/>
-                                               <reference key="parent" ref="703267117"/>
-                                       </object>
-                                       <object class="IBObjectRecord">
-                                               <int key="objectID">13</int>
-                                               <reference key="object" ref="568388187"/>
-                                               <object class="NSMutableArray" key="children">
-                                                       <bool key="EncodedWithXMLCoder">YES</bool>
-                                                       <reference ref="774003593"/>
-                                               </object>
-                                               <reference key="parent" ref="1006"/>
-                                       </object>
-                                       <object class="IBObjectRecord">
-                                               <int key="objectID">14</int>
-                                               <reference key="object" ref="774003593"/>
-                                               <reference key="parent" ref="568388187"/>
-                                       </object>
-                                       <object class="IBObjectRecord">
-                                               <int key="objectID">15</int>
-                                               <reference key="object" ref="64211119"/>
-                                               <object class="NSMutableArray" key="children">
-                                                       <bool key="EncodedWithXMLCoder">YES</bool>
-                                                       <reference ref="490284298"/>
-                                               </object>
-                                               <reference key="parent" ref="1006"/>
-                                       </object>
-                                       <object class="IBObjectRecord">
-                                               <int key="objectID">16</int>
-                                               <reference key="object" ref="490284298"/>
-                                               <reference key="parent" ref="64211119"/>
-                                       </object>
-                                       <object class="IBObjectRecord">
-                                               <int key="objectID">17</int>
-                                               <reference key="object" ref="184111456"/>
-                                               <object class="NSMutableArray" key="children">
-                                                       <bool key="EncodedWithXMLCoder">YES</bool>
-                                                       <reference ref="13003559"/>
-                                               </object>
-                                               <reference key="parent" ref="1006"/>
-                                       </object>
-                                       <object class="IBObjectRecord">
-                                               <int key="objectID">18</int>
-                                               <reference key="object" ref="13003559"/>
-                                               <reference key="parent" ref="184111456"/>
-                                       </object>
-                                       <object class="IBObjectRecord">
-                                               <int key="objectID">19</int>
-                                               <reference key="object" ref="137843971"/>
-                                               <object class="NSMutableArray" key="children">
-                                                       <bool key="EncodedWithXMLCoder">YES</bool>
-                                                       <reference ref="625134106"/>
-                                               </object>
-                                               <reference key="parent" ref="1006"/>
-                                       </object>
-                                       <object class="IBObjectRecord">
-                                               <int key="objectID">20</int>
-                                               <reference key="object" ref="625134106"/>
-                                               <reference key="parent" ref="137843971"/>
-                                       </object>
-                                       <object class="IBObjectRecord">
-                                               <int key="objectID">21</int>
-                                               <reference key="object" ref="793482582"/>
-                                               <object class="NSMutableArray" key="children">
-                                                       <bool key="EncodedWithXMLCoder">YES</bool>
-                                                       <reference ref="657594086"/>
-                                               </object>
-                                               <reference key="parent" ref="1006"/>
-                                       </object>
-                                       <object class="IBObjectRecord">
-                                               <int key="objectID">22</int>
-                                               <reference key="object" ref="657594086"/>
-                                               <reference key="parent" ref="793482582"/>
-                                       </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>10.IBPluginDependency</string>
-                                       <string>11.IBPluginDependency</string>
-                                       <string>12.IBPluginDependency</string>
-                                       <string>13.IBPluginDependency</string>
-                                       <string>14.IBPluginDependency</string>
-                                       <string>15.IBPluginDependency</string>
-                                       <string>16.IBPluginDependency</string>
-                                       <string>17.IBPluginDependency</string>
-                                       <string>18.IBPluginDependency</string>
-                                       <string>19.IBPluginDependency</string>
-                                       <string>2.IBPluginDependency</string>
-                                       <string>20.IBPluginDependency</string>
-                                       <string>21.IBPluginDependency</string>
-                                       <string>22.IBPluginDependency</string>
-                                       <string>3.IBPluginDependency</string>
-                                       <string>4.IBPluginDependency</string>
-                                       <string>5.IBPluginDependency</string>
-                                       <string>6.IBPluginDependency</string>
-                                       <string>7.IBPluginDependency</string>
-                                       <string>8.IBPluginDependency</string>
-                                       <string>9.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>{{177, 722}, {267, 276}}</string>
-                                       <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-                                       <string>{{177, 722}, {267, 276}}</string>
-                                       <reference ref="8"/>
-                                       <string>{196, 240}</string>
-                                       <string>{{357, 418}, {480, 270}}</string>
-                                       <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-                                       <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-                                       <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-                                       <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-                                       <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-                                       <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-                                       <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-                                       <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-                                       <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-                                       <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-                                       <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-                                       <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-                                       <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-                                       <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-                                       <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-                                       <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-                                       <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-                                       <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-                                       <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
-                                       <string>com.apple.InterfaceBuilder.CocoaPlugin</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">53</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" id="855842895">
-                                               <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">TURAnselGalleryPanelController</string>
-                                       <string key="superclassName">NSObject</string>
-                                       <object class="NSMutableDictionary" key="actions">
-                                               <bool key="EncodedWithXMLCoder">YES</bool>
-                                               <object class="NSMutableArray" key="dict.sortedKeys">
-                                                       <bool key="EncodedWithXMLCoder">YES</bool>
-                                                       <string>cancelNewGallery:</string>
-                                                       <string>doNewGallery:</string>
-                                               </object>
-                                               <object class="NSMutableArray" key="dict.values">
-                                                       <bool key="EncodedWithXMLCoder">YES</bool>
-                                                       <string>id</string>
-                                                       <string>id</string>
-                                               </object>
-                                       </object>
-                                       <object class="NSMutableDictionary" key="outlets">
-                                               <bool key="EncodedWithXMLCoder">YES</bool>
-                                               <object class="NSMutableArray" key="dict.sortedKeys">
-                                                       <bool key="EncodedWithXMLCoder">YES</bool>
-                                                       <string>delegate</string>
-                                                       <string>galleryDescTextField</string>
-                                                       <string>galleryNameTextField</string>
-                                                       <string>gallerySlugTextField</string>
-                                                       <string>newGallerySheet</string>
-                                               </object>
-                                               <object class="NSMutableArray" key="dict.values">
-                                                       <bool key="EncodedWithXMLCoder">YES</bool>
-                                                       <string>id</string>
-                                                       <string>NSTextField</string>
-                                                       <string>NSTextField</string>
-                                                       <string>NSTextField</string>
-                                                       <string>NSPanel</string>
-                                               </object>
-                                       </object>
-                                       <reference key="sourceIdentifier" ref="855842895"/>
-                               </object>
-                       </object>
-               </object>
-               <int key="IBDocument.localizationMode">0</int>
-               <string key="IBDocument.LastKnownRelativeProjectPath">../iPhoto2Ansel.xcodeproj</string>
-               <int key="IBDocument.defaultPropertyAccessControl">3</int>
-       </data>
-</archive>
diff --git a/ApertureToAnselExportPlugin/English.lproj/AnselGalleryPanel.nib/keyedobjects.nib b/ApertureToAnselExportPlugin/English.lproj/AnselGalleryPanel.nib/keyedobjects.nib
deleted file mode 100644 (file)
index b318b79..0000000
Binary files a/ApertureToAnselExportPlugin/English.lproj/AnselGalleryPanel.nib/keyedobjects.nib and /dev/null differ
diff --git a/ApertureToAnselExportPlugin/TURAnsel.h b/ApertureToAnselExportPlugin/TURAnsel.h
deleted file mode 100644 (file)
index b1997fa..0000000
+++ /dev/null
@@ -1,60 +0,0 @@
-/**
- * TURAnsel
- *
- * Copyright 2009 The Horde Project (http://www.horde.org)
- * 
- * @license http://opensource.org/licenses/bsd-license.php
- * @author  Michael J. Rubinsky <mrubinsk@horde.org>
- */
-#import <Cocoa/Cocoa.h>
-@class TURAnselGallery;
-
-typedef enum {
-    PERMS_SHOW = 2,
-    PERMS_READ = 4,
-    PERMS_EDIT = 8,
-    PERMS_DELETE = 16
-} HORDE_PERMS;
-
-typedef enum {
-    TURAnselStateDisconnected = 0,
-    TURAnselStateConnected,
-    TURAnselStateError,
-    TURAnselStateCancelled,
-    TURAnselStateWaiting
-} TURAnselState;
-
-@interface NSObject (TURAnselDelegate)
-- (void)TURAnselDidInitialize;
-- (void)TURAnselHadError: (NSError *)error;
-@end
-
-@interface TURAnsel : NSObject {
-    NSString *userAgent;
-    NSString *rpcEndPoint;
-    NSString *username;
-    NSString *password;
-    NSMutableArray *galleryList;
-    TURAnselState state;
-    id delegate;
-    NSLock *lock;
-}
-
-@property (readwrite, retain) NSString *rpcEndPoint;
-@property (readwrite, retain) NSString *username;
-@property (readwrite, retain) NSString *password;
-
-- (id)initWithConnectionParameters: (NSDictionary *)params;
-- (void)connect;
-- (TURAnselGallery *)getGalleryById: (NSString *)galleryId;
-- (TURAnselGallery *)getGalleryByIndex: (NSInteger)index;
-- (NSDictionary *)callRPCMethod: (NSString *)methodName withParams: (NSArray *)params withOrder: (NSArray *)order;
-- (NSDictionary *)createNewGallery: (NSDictionary *)params;
-- (void)cancel;
-
-// Getters/setters
-- (void) setState: (TURAnselState)state;
-- (TURAnselState)state;
-- (id)delegate;
-- (void)setDelegate: (id)newDelegate;
-@end
diff --git a/ApertureToAnselExportPlugin/TURAnsel.m b/ApertureToAnselExportPlugin/TURAnsel.m
deleted file mode 100644 (file)
index 56ad2f7..0000000
+++ /dev/null
@@ -1,315 +0,0 @@
-/**
- * TURAnsel.m
- *
- * Main class for interacting with a remote Ansel server.
- *
- * Copyright 2009 The Horde Project (http://www.horde.org)
- * 
- * @license http://opensource.org/licenses/bsd-license.php
- * @author  Michael J. Rubinsky <mrubinsk@horde.org>
- */
-#import <Foundation/Foundation.h>
-#import "TURAnselKit.h"
-
-@interface TURAnsel (PrivateAPI)
-- (void)doLogin;
-@end
-
-@implementation TURAnsel
-
-@synthesize rpcEndPoint;
-@synthesize username;
-@synthesize password;
-
-#pragma mark -
-#pragma mark init/dealloc
-- (id)initWithConnectionParameters: (NSDictionary *)params
-{
-    [super init];
-    galleryList = [[NSMutableArray alloc] init];
-    
-    // Initialize the connection properties, KVC style
-    [self setValue:[params objectForKey:@"endpoint"] 
-            forKey: @"rpcEndPoint"];
-    [self setValue: [params objectForKey:@"username"]
-            forKey: @"username"];
-    [self setValue: [params objectForKey:@"password"]
-            forKey: @"password"];
-    [self setValue: @"The Ansel Cocoa XML-RPC Client"
-            forKey: @"userAgent"];
-    
-    return self;
-}
--(void) dealloc
-{
-    NSLog(@"TURAnsel dealloc");   
-    [galleryList removeAllObjects];
-    [galleryList release];
-    [rpcEndPoint release];
-    [username release];
-    [password release];
-    [userAgent release];
-    [super dealloc];
-}
-
-#pragma mark -
-#pragma mark Actions
-- (void)connect 
-{
-    [self doLogin];
-}
-- (void) cancel
-{
-    state = TURAnselStateCancelled;
-}
-
-/**
- * Create a new gallery on the Ansel server.
- *
- * @param NSDictionary params  A dictionary of parameters for the new gallery.
- *
- * @return NSDictionary  A dictionary describing the new gallery
- */
-- (NSDictionary *)createNewGallery: (NSDictionary *)params
-{
-    NSArray *apiparams = [NSArray arrayWithObjects: @"ansel", params, nil]; 
-    NSArray *order = [NSArray arrayWithObjects: kTURAnselAPIParamScope, kTURAnselAPIParamGaleryParams, nil];
-    
-    NSDictionary *response = [self callRPCMethod: @"images.createGallery"
-                                      withParams: apiparams
-                                       withOrder: order];
-    
-    if (response) {
-        NSNumber *gallery_id = [response objectForKey: (NSString *)kWSMethodInvocationResult];    
-        NSDictionary *results = [NSDictionary dictionaryWithObjectsAndKeys:
-                                 gallery_id, kTURAnselGalleryKeyId,
-                                 [params valueForKey: @"name"], kTURAnselGalleryKeyName,
-                                 @"", kTURAnselGalleryKeyDescription,
-                                 [NSNumber numberWithInt: 0], kTURAnselGalleryKeyImages,
-                                 [NSNumber numberWithInt: 0], kTURAnselGalleryKeyDefaultImage, nil];
-        
-        TURAnselGallery *newGallery = [[TURAnselGallery alloc] initWithObject: results
-                                                                   controller: self];
-        [galleryList addObject: newGallery];
-        [newGallery release];
-        
-        return results;
-    }
-    
-    return nil;
-}
-
-
-/**
- * Entry point for calling RPC methods on the Horde server. 
- * 
- * @param NSString methodName  The method to call (e.g. images.listGalleries)
- * @param NSArray  params      All the method's parameters
- * @param NSArray  order       Keys for the params array, needed because of how
- *                             WSMethodInvocationSetParameters is used. (The keys are
- *                             disregarded by Horde, but needed to ensure they get
- *                             sent in the correct order by WS.
- *
- * The invocationCallback function is called on completion, which in turn will
- * call the methodCompletionCallback with the results
- */
-- (NSDictionary *)callRPCMethod: (NSString *)methodName
-                     withParams: (NSArray *) params
-                      withOrder: (NSArray *) order
-{
-    NSLog(@"Initiating connection for %@", methodName);
-    
-    // Get a URL object
-    NSURL *url = [NSURL URLWithString: [self valueForKey: @"rpcEndPoint"]];
-    NSDictionary *values = [NSDictionary dictionaryWithObjects: params forKeys:order];
-    
-    // Credentials
-    NSString *user = [self valueForKey:@"username"];
-    NSString *pass = [self valueForKey:@"password"];
-    
-    if (user != nil && [user length] && pass != nil && [pass length]) {
-        // Create a custom http request with authorization
-        CFHTTPMessageRef request = CFHTTPMessageCreateRequest(kCFAllocatorDefault,
-                                                              (CFStringRef)@"POST",
-                                                              (CFURLRef)url,
-                                                              kCFHTTPVersion1_1);
-        // Add auth creds to request.
-        Boolean success = CFHTTPMessageAddAuthentication(request,
-                                                         NULL,
-                                                         (CFStringRef)user,
-                                                         (CFStringRef)pass,
-                                                         kCFHTTPAuthenticationSchemeBasic,
-                                                         false);
-        
-        NSLog(@"Results adding credentials to request: %d", success);
-        if (!success) {
-            NSLog(@"Unable to authenticate");
-            
-            if ([[self delegate] respondsToSelector: @selector(TURAnselHadError:)]) {
-                NSError *error = [NSError errorWithDomain:@"TURAnsel"
-                                                     code: 1
-                                                 userInfo:[NSDictionary dictionaryWithObjectsAndKeys: @"Authentication failure.", @"message", nil]];
-                
-                [[self delegate] TURAnselHadError: error];
-            }
-            
-            return nil;
-            
-        } else {
-            // Build a new invocation
-            [self setState:TURAnselStateWaiting];
-            WSMethodInvocationRef rpcCall;
-            rpcCall = WSMethodInvocationCreate((CFURLRef)url, (CFStringRef)methodName, kWSXMLRPCProtocol); 
-            WSMethodInvocationSetParameters(rpcCall, (CFDictionaryRef)values, (CFArrayRef)order);
-            WSMethodInvocationSetProperty(rpcCall, kWSHTTPMessage, request);
-            NSDictionary *result = (NSDictionary *)WSMethodInvocationInvoke(rpcCall);
-            CFRelease(request);
-            // Check out the results
-            if (WSMethodResultIsFault((CFDictionaryRef) result)) {
-                
-                NSError *error;
-                
-                CFHTTPMessageRef response = (CFHTTPMessageRef)[result objectForKey:(id)kWSHTTPResponseMessage];
-                int resStatusCode = CFHTTPMessageGetResponseStatusCode(response);
-                NSString *resStatusLine = (NSString *)CFHTTPMessageCopyResponseStatusLine(response);
-                if (resStatusCode == 401) {
-                    error = [NSError errorWithDomain: @"TURAnsel"
-                                                code: resStatusCode
-                                            userInfo: [NSDictionary dictionaryWithObjectsAndKeys: resStatusLine, @"NSLocalizedDescriptionKey", nil]];
-                } else {
-                    NSNumber *faultCode = [result objectForKey: (NSString *)kWSFaultCode];
-                    NSString *faultString = [result objectForKey: (NSString *)kWSFaultString];
-                    NSLog(@"faultCode: %@ faultString: %@", faultCode, faultString);
-                    error = [NSError errorWithDomain: @"TURAnsel"
-                                                code: [faultCode intValue]
-                                            userInfo: [NSDictionary dictionaryWithObjectsAndKeys: [NSString stringWithFormat: @"%@, %@", resStatusLine, faultString], @"NSLocalizedDescriptionKey", nil]];
-                    
-                    
-                }    
-                if ([[self delegate] respondsToSelector: @selector(TURAnselHadError:)]) {
-                    [[self delegate] TURAnselHadError: error];
-                }
-                [resStatusLine release];
-                [result autorelease];
-                return nil;
-            }
-            
-            CFHTTPMessageRef response = (CFHTTPMessageRef)[result objectForKey:(id)kWSHTTPResponseMessage];
-            int resStatusCode = CFHTTPMessageGetResponseStatusCode(response);
-            NSLog(@"ResponseCode: %d", resStatusCode);
-            [self setState:TURAnselStateConnected];
-            return [result autorelease];
-        }       
-    }
-    
-    NSLog(@"No authentication information present.");
-    return nil;
-    
-}
-
-#pragma mark -
-#pragma mark Setters/Getters
-// Fetch a gallery by id
-- (TURAnselGallery *)getGalleryById: (NSString *)galleryId
-{
-    for (TURAnselGallery *g in galleryList) {
-        if ([galleryId isEqualTo: [NSNumber numberWithInt: [g galleryId]]]) {
-            return g;
-        }
-    }
-    
-    return nil;
-}
-
-/**
- * Return the gallery at the specified position in the internal storage array.
- * Needed for when we are using this class as a datasource for a UI element.
- */
-- (TURAnselGallery *)getGalleryByIndex: (NSInteger)index
-{
-    TURAnselGallery *g = [galleryList objectAtIndex:index];
-    return g;
-}
-
-#pragma mark --
-#pragma mark ComboBox Datasource
-- (NSInteger)numberOfItemsInComboBox:(NSComboBox *)aComboBox
-{
-    return [galleryList count];
-}
-
-- (id)comboBox:(NSComboBox *)aComboBox
-  objectValueForItemAtIndex:(NSInteger)index
-{
-    TURAnselGallery *g = [galleryList objectAtIndex:index];
-    NSString *stringValue = [g valueForKey:@"galleryName"];
-    return stringValue;
-}
-
-#pragma mark Getter/Setters
-- (TURAnselState) state
-{
-    return state;
-}
--(void) setState: (TURAnselState)newstate
-{
-    state = newstate;
-}
-
-- (id)delegate {
-    return delegate;    
-}
-
-- (void)setDelegate:(id)newDelegate {
-    delegate = newDelegate;
-}
-
-#pragma mark PrivateAPI
-/**
- * Perform initial contact with Ansel server. Retrieves the list of galleries
- * available for the selected server.
- *
- * @return void
- */
-- (void)doLogin
-{
-    NSArray *params = [[NSArray alloc] initWithObjects:
-                       @"ansel",                                 // Scope 
-                       [NSNumber numberWithInt: PERMS_EDIT],     // Perms
-                       @"",                                      // No parent
-                       [NSNumber numberWithBool:YES],            // allLevels
-                       [NSNumber numberWithInt: 0],              // Offset
-                       [NSNumber numberWithInt: 0],              // Count
-                       [self valueForKey:@"username"], nil];     // Restrict to user (This should be an option eventually).
-    
-    NSArray *order = [NSArray arrayWithObjects: kTURAnselAPIParamScope, kTURAnselAPIParamPerms,
-                                                kTURAnselAPIParamParent, kTURAnselAPIParamAllLevels,
-                                                kTURAnselAPIParamOffset, kTURAnselAPIParamCount,
-                                                kTURAnselAPIParamUserOnly, nil];
-    
-    NSDictionary *results = [self callRPCMethod: @"images.listGalleries"
-                                     withParams: params
-                                      withOrder: order];
-    
-    if (results) {
-        NSDictionary *galleries = [results objectForKey: (id)kWSMethodInvocationResult];
-        for (NSString *gal in galleries) {
-            TURAnselGallery *theGallery = [[TURAnselGallery alloc] initWithObject: gal
-                                                                       controller: self];
-            [theGallery setAnselController: self];
-            [galleryList addObject: theGallery];
-            [theGallery release];
-            theGallery = nil;
-        }
-        
-        if ([delegate respondsToSelector:@selector(TURAnselDidInitialize)]) {
-            [delegate performSelectorOnMainThread:@selector(TURAnselDidInitialize)
-                                       withObject:self
-                                    waitUntilDone: NO];
-        }
-        
-    }
-    
-    [params release];
-}
-@end
\ No newline at end of file
diff --git a/ApertureToAnselExportPlugin/TURAnselConstants.h b/ApertureToAnselExportPlugin/TURAnselConstants.h
deleted file mode 100644 (file)
index ef64dc7..0000000
+++ /dev/null
@@ -1,33 +0,0 @@
-/**
- * TURAnselConstants
- *
- * Copyright 2009 The Horde Project (http://www.horde.org)
- * 
- * @license http://opensource.org/licenses/bsd-license.php
- * @author  Michael J. Rubinsky <mrubinsk@horde.org>
- */
-
-// Constants for the API parameter names.
-extern NSString * const kTURAnselAPIParamScope;
-extern NSString * const kTURAnselAPIParamGaleryParams;
-extern NSString * const kTURAnselAPIParamPerms;
-extern NSString * const kTURAnselAPIParamParent;
-extern NSString * const kTURAnselAPIParamAllLevels;
-extern NSString * const kTURAnselAPIParamOffset;
-extern NSString * const kTURAnselAPIParamCount;
-extern NSString * const kTURAnselAPIParamUserOnly;
-extern NSString * const kTURAnselAPIParamImageId;
-extern NSString * const kTURAnselAPIParamGalleryId;
-extern NSString * const kTURAnselAPIParamThumbnailStyle;
-extern NSString * const kTURAnselAPIParamFullPath;
-extern NSString * const kTURAnselAPIParamImageData;
-extern NSString * const kTURAnselAPIParamSetAsDefault;
-extern NSString * const kTURAnselAPIParamAdditionalData;
-extern NSString * const kTURAnselAPIParamEncoding;
-
-// Constants for the dictionary keys used to describe/create TURAnselGallery
-extern NSString * const kTURAnselGalleryKeyId;
-extern NSString * const kTURAnselGalleryKeyName;
-extern NSString * const kTURAnselGalleryKeyDescription;
-extern NSString * const kTURAnselGalleryKeyImages;
-extern NSString * const kTURAnselGalleryKeyDefaultImage;
diff --git a/ApertureToAnselExportPlugin/TURAnselConstants.m b/ApertureToAnselExportPlugin/TURAnselConstants.m
deleted file mode 100644 (file)
index 74472bb..0000000
+++ /dev/null
@@ -1,34 +0,0 @@
-//
-//  TURAnselConstants.m
-//  ApertureToAnselExportPlugin
-//
-//  Created by Michael Rubinsky on 9/22/09.
-//  Copyright 2009 __MyCompanyName__. All rights reserved.
-//
-
-#import "TURAnselConstants.h"
-
-// Constants for the API parameter names.
-NSString * const kTURAnselAPIParamScope             = @"scope";
-NSString * const kTURAnselAPIParamGaleryParams      = @"galleryParams";
-NSString * const kTURAnselAPIParamPerms             = @"perms";
-NSString * const kTURAnselAPIParamParent            = @"parent";
-NSString * const kTURAnselAPIParamAllLevels         = @"allLevels";
-NSString * const kTURAnselAPIParamOffset            = @"offset";
-NSString * const kTURAnselAPIParamCount             = @"count";
-NSString * const kTURAnselAPIParamUserOnly          = @"userOnly";
-NSString * const kTURAnselAPIParamImageId           = @"imageId";
-NSString * const kTURAnselAPIParamGalleryId         = @"galleryId";
-NSString * const kTURAnselAPIParamThumbnailStyle    = @"thumbnailStyle";
-NSString * const kTURAnselAPIParamFullPath          = @"fullPath";
-NSString * const kTURAnselAPIParamImageData         = @"imageData";
-NSString * const kTURAnselAPIParamSetAsDefault      = @"default";
-NSString * const kTURAnselAPIParamAdditionalData    = @"additionalData";
-NSString * const kTURAnselAPIParamEncoding          = @"encoding";
-
-// Ansel gallery attribtues.
-NSString * const kTURAnselGalleryKeyId              = @"share_id";
-NSString * const kTURAnselGalleryKeyName            = @"attribute_name";
-NSString * const kTURAnselGalleryKeyDescription     = @"attribute_desc";
-NSString * const kTURAnselGalleryKeyImages          = @"attribute_images";
-NSString * const kTURAnselGalleryKeyDefaultImage    = @"attribute_default";
\ No newline at end of file
diff --git a/ApertureToAnselExportPlugin/TURAnselGallery.h b/ApertureToAnselExportPlugin/TURAnselGallery.h
deleted file mode 100644 (file)
index 5eff4e7..0000000
+++ /dev/null
@@ -1,42 +0,0 @@
-/**
- * TURAnselGallery
- *
- * Copyright 2009 The Horde Project (http://www.horde.org)
- * 
- * @license http://opensource.org/licenses/bsd-license.php
- * @author  Michael J. Rubinsky <mrubinsk@horde.org>
- */
-#import <Cocoa/Cocoa.h>
-@class TURAnsel, NSURL;
-
-@interface NSObject (TURAnselGalleryDelegate)
-- (void)TURAnselGalleryDidUploadImage: (id *)gallery;
-@end
-
-@interface TURAnselGallery : NSObject {
-    int _galleryId;
-    int galleryImageCount;
-    int galleryKeyImage;
-    NSURL *galleryKeyImageURL;
-    NSMutableArray *imageList;
-    NSString *galleryName;
-    NSString *galleryDescription;
-    TURAnsel *anselController;
-    id delegate;
-}
-@property (readonly) NSString *galleryName;
-@property (readonly) NSString *galleryDescription;
-@property (readonly) int galleryImageCount;
-@property (readwrite) int galleryKeyImage;
-
-- (id)initWithObject:(id)galleryData controller:(TURAnsel * )controller;
-- (void)uploadImageObject: (NSDictionary *)imageParameters;
-
-// Getter / Setter
-- (void)setDelegate: (id)newDelegate;
-- (id)delegate;
-- (NSURL *)galleryKeyImageURL;
-- (id)listImages;
-- (int)galleryId;
-- (void)setAnselController:(TURAnsel *)newController;
-@end
\ No newline at end of file
diff --git a/ApertureToAnselExportPlugin/TURAnselGallery.m b/ApertureToAnselExportPlugin/TURAnselGallery.m
deleted file mode 100644 (file)
index 9397b10..0000000
+++ /dev/null
@@ -1,216 +0,0 @@
-/**
- * TURAnselGallery.m
- *
- * Copyright 2009 The Horde Project (http://www.horde.org)
- * 
- * @license http://opensource.org/licenses/bsd-license.php
- * @author  Michael J. Rubinsky <mrubinsk@horde.org>
- */
-#import <Foundation/Foundation.h>
-#import "TURAnselKit.h"
-
-@interface TURAnselGallery (PrivateAPI)
-- (void)doUpload: (NSDictionary *)imageParams;
-@end
-
-@implementation TURAnselGallery
-
-@synthesize galleryDescription;
-@synthesize galleryName;
-@synthesize galleryImageCount;
-@synthesize galleryKeyImage;
-
-#pragma mark -
-#pragma mark init/dealloc
-/**
- * Init a gallery object
- */
-- (id)initWithObject:(id)galleryData controller:(TURAnsel *)controller
-{
-    [super init];
-    [self setValue: [galleryData valueForKey: kTURAnselGalleryKeyId]
-            forKey: @"galleryId"];
-    [self setValue:[galleryData valueForKey: kTURAnselGalleryKeyDescription]
-            forKey:@"galleryDescription"];
-    [self setValue:[galleryData valueForKey: kTURAnselGalleryKeyName]
-            forKey:@"galleryName"];
-    [self setValue: [galleryData valueForKey: kTURAnselGalleryKeyImages]
-            forKey:@"galleryImageCount"];    
-    [self setValue: [galleryData valueForKey: kTURAnselGalleryKeyDefaultImage]
-            forKey:@"galleryKeyImage"];
-    [self setAnselController: controller];
-    return self;
-}
-- (void)dealloc
-{
-    NSLog(@"TURAnselGallery dealloc called on Gallery %@", self);
-    [anselController release];
-    anselController = nil;
-    
-    [galleryKeyImageURL release];
-    galleryKeyImageURL = nil;
-    
-    [imageList release];
-    imageList = nil;
-    
-    [super dealloc];
-}
-- (id)description 
-{
-    NSString *text = [NSString stringWithFormat:@"Description: %@ Id: %d has: %d images", galleryName, _galleryId, galleryImageCount];
-    return text;
-}
-
-#pragma mark -
-#pragma mark Actions
-/**
- * Requests the gallery's key image url to be fetched from the server
- * (This information is not present in the gallery definition array returned
- *  from the images.listGalleries call). 
- */
-- (NSURL *)galleryKeyImageURL
-{
-    if (galleryKeyImageURL) {
-        return galleryKeyImageURL;
-    } else {
-        NSArray *params = [[NSArray alloc] initWithObjects:
-                           @"ansel",                                         // Scope
-                           [NSNumber numberWithInt: galleryKeyImage],        // Image Id
-                           @"thumb",                                         // Thumbnail type
-                           [NSNumber numberWithBool:YES],                    // Full path
-                           nil];
-
-        NSArray *order = [NSArray arrayWithObjects: kTURAnselAPIParamScope,
-                                                    kTURAnselAPIParamImageId,
-                                                    kTURAnselAPIParamThumbnailStyle,
-                                                    kTURAnselAPIParamFullPath, nil];
-        
-        NSDictionary *response = [anselController callRPCMethod: @"images.getImageUrl"
-                                                       withParams: params
-                                                        withOrder: order];
-        
-        if (response) {
-            NSDictionary *url = [response objectForKey:(id)kWSMethodInvocationResult];
-            [galleryKeyImageURL autorelease];
-            galleryKeyImageURL = [[NSURL URLWithString: [NSString stringWithFormat: @"%@", url]] retain];
-            NSLog(@"galleryKeyImageURL: %@", galleryKeyImageURL);
-            return galleryKeyImageURL;
-        } 
-        
-        return nil;
-    }
-}
-
-/**
- * Get the complete list of image ids and URLs
- */
-- (id)listImages
-{
-    if (!imageList) {
-        
-        NSArray *params = [[NSArray alloc] initWithObjects:
-                           @"ansel",                                //Scope
-                           [NSNumber numberWithInt: _galleryId],    //Gallery Id
-                           [NSNumber numberWithInt: 2],             //PERMS_SHOW
-                           @"thumb",                                // Thumbnail
-                           [NSNumber numberWithBool:YES],           // Full path
-                           nil];
-        NSArray *order = [NSArray arrayWithObjects: kTURAnselAPIParamScope,
-                                                    kTURAnselAPIParamGalleryId,
-                                                    kTURAnselAPIParamPerms,
-                                                    kTURAnselAPIParamThumbnailStyle,
-                                                    kTURAnselAPIParamFullPath, nil];
-        
-        NSDictionary *response = [anselController callRPCMethod: @"images.listImages"
-                                                     withParams: params
-                                                      withOrder: order];
-        if (response) {
-            [imageList autorelease];
-            imageList = [[response objectForKey: (id)kWSMethodInvocationResult] retain];
-            
-            NSLog(@"listImages: %@", imageList);
-            
-            return imageList;
-        }
-    }
-    
-    return nil;
-}
-    
-/**
- * Upload the provided image to this gallery.
- */
-- (void)uploadImageObject: (NSDictionary *)imageParameters
-{
-    [self doUpload: imageParameters];
-}
-
-#pragma mark -
-#pragma mark Getter/Setter
-- (int)galleryId
-{
-    return _galleryId;
-}
-
-- (void)setGalleryId:(int)id
-{
-    _galleryId = id;
-}
-
-- (id)delegate
-{
-    return delegate;
-}
-
-- (void)setDelegate: (id)newDelegate
-{
-    delegate = newDelegate;
-}
-
-- (void)setAnselController: (TURAnsel *)newController
-{
-    [anselController autorelease];
-    anselController = [newController retain];
-}
-
-- (TURAnsel *)anselController
-{
-    return anselController;
-}
-
-#pragma mark -
-#pragma mark PrivateAPI
-- (void)doUpload:(NSDictionary *)imageParameters
-{
-        // Need to build the params array now.
-        NSArray *params = [[NSArray alloc] initWithObjects:
-                           @"ansel",                                  // app
-                           [NSNumber numberWithInt: _galleryId],      // gallery_id
-                           [imageParameters valueForKey: @"data"],    // image data array   
-                           [imageParameters valueForKey: @"default"], // set as default?
-                           @"",                                       // Additional gallery data to set?      
-                           @"base64",                                 // Image data encoding      
-                           nil];
-        NSArray *order = [NSArray arrayWithObjects: kTURAnselAPIParamScope,
-                                                    kTURAnselAPIParamGalleryId,
-                                                    kTURAnselAPIParamImageData,
-                                                    kTURAnselAPIParamSetAsDefault,
-                                                    kTURAnselAPIParamAdditionalData,
-                                                    kTURAnselAPIParamEncoding, nil];
-        
-        // Send the request up to the controller
-        NSDictionary *result = [anselController callRPCMethod: @"images.saveImage"
-                                                   withParams: params
-                                                    withOrder: order];
-    
-        if (result) {
-            if ([delegate respondsToSelector:@selector(TURAnselGalleryDidUploadImage:)]) {
-                [delegate performSelectorOnMainThread: @selector(TURAnselGalleryDidUploadImage:)
-                                           withObject: self 
-                                        waitUntilDone: NO];
-            }
-        }
-    
-        [params release];
-}
-@end
diff --git a/ApertureToAnselExportPlugin/TURAnselGalleryPanelController.h b/ApertureToAnselExportPlugin/TURAnselGalleryPanelController.h
deleted file mode 100644 (file)
index b0a8f2e..0000000
+++ /dev/null
@@ -1,36 +0,0 @@
-/**
- * TURAnselGalleryPanelController
- *
- * Copyright 2009 The Horde Project (http://www.horde.org)
- * 
- * @license http://opensource.org/licenses/bsd-license.php
- * @author  Michael J. Rubinsky <mrubinsk@horde.org>
- */
-#import <Cocoa/Cocoa.h>
-#import "TURAnselKit.h"
-
-@interface NSObject (TURAnselGalleryPaneControllerDelegate)
--(void)TURAnselGalleryPanelDidAddGallery;
-@end
-
-@interface TURAnselGalleryPanelController : NSObject {
-    // Outlets
-    IBOutlet NSTextField *galleryNameTextField;
-    IBOutlet NSTextField *gallerySlugTextField;
-    IBOutlet NSTextField *galleryDescTextField;
-    IBOutlet NSPanel *newGallerySheet;
-    
-    // Instance members
-    TURAnsel *_anselController;
-    NSWindow *_controllerWindow;
-    id _delegate;
-}
-
-// Actions
-- (IBAction)doNewGallery: (id)sender;
-- (IBAction)cancelNewGallery: (id)sender;
-- (id)initWithController: (TURAnsel *)theController;
-- (id)initWithController: (TURAnsel *)theController withGalleryName: (NSString *)galleryName;
-- (void)showSheetForWindow: (NSWindow *)theWindow;
-- (void)setDelegate: (id)theDelegate;
-@end
diff --git a/ApertureToAnselExportPlugin/TURAnselGalleryPanelController.m b/ApertureToAnselExportPlugin/TURAnselGalleryPanelController.m
deleted file mode 100644 (file)
index 09aa6c5..0000000
+++ /dev/null
@@ -1,120 +0,0 @@
-/**
- * TURAnselGalleryPanelController.m
- *
- * Controller for handling the form that creates new remote Ansel galleries.
- *
- * Copyright 2009 The Horde Project (http://www.horde.org)
- * 
- * @license http://opensource.org/licenses/bsd-license.php
- * @author  Michael J. Rubinsky <mrubinsk@horde.org>
- */
-#import "TURAnselGalleryPanelController.h"
-
-@implementation TURAnselGalleryPanelController
-
-#pragma mark -
-#pragma mark init/dealloc
--(id)initWithController: (TURAnsel *)theController
-{
-    [super init];
-    _anselController = [theController retain];
-    [NSBundle loadNibNamed: @"AnselGalleryPanel"
-                     owner: self];
-    
-    return self;
-}
-- (id)initWithController: (TURAnsel *)theController
-         withGalleryName: (NSString *)galleryName 
-{
-    
-    [super init];
-    _anselController = [theController retain];
-    [NSBundle loadNibNamed: @"AnselGalleryPanel"
-                     owner: self];
-    
-    [galleryNameTextField setStringValue: galleryName];
-    
-    return self;      
-}
-- (void)dealloc 
-{
-    [_anselController release];
-    [_controllerWindow release];
-    [super dealloc];
-}
-
-#pragma mark -
-#pragma mark IBActions
-- (IBAction)cancelNewGallery: (id)sender
-{
-    [NSApp endSheet: newGallerySheet];
-    [newGallerySheet orderOut: nil];   
-}
-
-- (IBAction)doNewGallery: (id)sender
-{
-    // Get Gallery Properties from the panel.
-    NSString *galleryName = [galleryNameTextField stringValue];
-    NSString *gallerySlug = [gallerySlugTextField stringValue];
-    NSString *galleryDescription = [galleryDescTextField stringValue];
-    
-    if (!galleryName) {
-        
-        [NSApp endSheet: newGallerySheet];
-        [newGallerySheet orderOut: nil];
-        
-        NSAlert *alert = [[NSAlert alloc] init];
-        [alert setMessageText:@"Gallery names cannot be empty"];
-        [alert setAlertStyle: NSCriticalAlertStyle];
-        [alert beginSheetModalForWindow: _controllerWindow
-                          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: _controllerWindow
-                          modalDelegate: nil
-                         didEndSelector: nil
-                            contextInfo: nil];
-        [alert release];
-        if ([_delegate respondsToSelector:@selector(TURAnselGalleryPanelDidAddGallery)]) {
-            [_delegate TURAnselGalleryPanelDidAddGallery];
-        }
-    }
-    
-    [results release];
-}
-
-
-- (void)setDelegate: (id)theDelegate
-{
-    _delegate = theDelegate; // weak
-}
-
-
-- (void)showSheetForWindow: (NSWindow *)theWindow
-{
-    [_controllerWindow release];
-    _controllerWindow = [theWindow retain];
-    [NSApp beginSheet: newGallerySheet
-       modalForWindow: theWindow
-        modalDelegate: nil
-       didEndSelector: nil
-          contextInfo: nil];
-}
-
-@end
diff --git a/ApertureToAnselExportPlugin/TURAnselKit.h b/ApertureToAnselExportPlugin/TURAnselKit.h
deleted file mode 100644 (file)
index 7a4277a..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-#import "TURAnselConstants.h"
-#import "TURAnsel.h"
-#import "TURAnselGallery.h"
-
diff --git a/ApertureToAnselExportPlugin/TURAnselKit/AnselGalleryViewItem.h b/ApertureToAnselExportPlugin/TURAnselKit/AnselGalleryViewItem.h
new file mode 100644 (file)
index 0000000..41ba61d
--- /dev/null
@@ -0,0 +1,35 @@
+/**
+ * AnselGalleryViewItem
+ *
+ * Copyright 2009 The Horde Project (http://www.horde.org)
+ * 
+ * @implements IKImageBrowserItem
+ * @license http://opensource.org/licenses/bsd-license.php
+ * @author  Michael J. Rubinsky <mrubinsk@horde.org>
+ */
+#import <Cocoa/Cocoa.h>
+#import <Quartz/Quartz.h>
+
+@interface AnselGalleryViewItem: NSObject 
+{
+       NSURL *image;
+       NSString *imageID;
+    NSString *imageTitle;
+    NSCalendarDate *imageDate;
+}
+
+@property(readwrite,copy) NSURL * image;
+@property(readwrite,copy) NSString * imageID;
+
+- (id)initWithURL: (NSURL *)theUrl withTitle: (NSString *)theTitle withDate: (NSDate *)theDate;
+
+#pragma mark -
+#pragma mark Required Methods IKImageBrowserItem Informal Protocol
+- (NSString *)imageUID;
+- (NSString *)imageRepresentationType;
+- (id)imageRepresentation;
+
+- (NSString *)imageTitle;
+- (NSString *)imageSubtitle;
+
+@end
diff --git a/ApertureToAnselExportPlugin/TURAnselKit/AnselGalleryViewItem.m b/ApertureToAnselExportPlugin/TURAnselKit/AnselGalleryViewItem.m
new file mode 100644 (file)
index 0000000..a27b41b
--- /dev/null
@@ -0,0 +1,69 @@
+/**
+ * AnselGalleryViewItem.m
+ *
+ * Implements the IKImageBrowserItem protocol for displaying images from a
+ * remote Ansel gallery in an IKImageBrowser.
+ *
+ * Copyright 2009 The Horde Project (http://www.horde.org)
+ * 
+ * @implements IKImageBrowserItem
+ * @license http://opensource.org/licenses/bsd-license.php
+ * @author  Michael J. Rubinsky <mrubinsk@horde.org>
+ */
+#import "AnselGalleryViewItem.h"
+
+@implementation AnselGalleryViewItem
+@synthesize image;
+@synthesize imageID;
+
+- (id)initWithURL: (NSURL *)theURL
+        withTitle: (NSString *)theTitle
+         withDate: (NSDate *)theDate
+{
+    [super init];
+    image = [theURL retain];
+    imageID = [[theURL absoluteString] retain];
+    imageTitle = [theTitle retain];
+    imageDate =  [theDate retain];
+    return self; 
+}
+- (void)dealloc
+{
+    [image release];
+    [imageID release];
+    [imageTitle release];
+    [imageDate release];
+    [super dealloc];
+}
+
+#pragma mark
+#pragma mark Required methods
+- (NSString *)imageUID
+{
+    return imageID;
+}
+
+- (NSString *)imageRepresentationType
+{
+    return IKImageBrowserNSURLRepresentationType;
+}
+
+- (id)imageRepresentation
+{
+    return image;
+}
+
+#pragma mark
+#pragma mark Optional methods.
+- (NSString *)imageTitle
+{
+    NSLog(@"imageTitle: %@", imageTitle);
+    return imageTitle;
+}
+- (NSString *)imageSubtitle
+{
+    NSLog(@"imageSubtitle: %@", [imageDate description]);
+    return [imageDate description];
+}
+
+@end
diff --git a/ApertureToAnselExportPlugin/TURAnselKit/English.lProj/AnselGalleryPanel.nib/designable.nib b/ApertureToAnselExportPlugin/TURAnselKit/English.lProj/AnselGalleryPanel.nib/designable.nib
new file mode 100644 (file)
index 0000000..aab13b8
--- /dev/null
@@ -0,0 +1,744 @@
+<?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="15"/>
+               </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">TURAnselGalleryPanelController</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">19</int>
+                               <int key="NSWindowBacking">2</int>
+                               <string key="NSWindowRect">{{797, 724}, {267, 276}}</string>
+                               <int key="NSWTFlags">-536866816</int>
+                               <string key="NSWindowTitle">New Gallery</string>
+                               <string key="NSWindowClass">NSPanel</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>
+                                       <object class="NSMutableArray" key="NSSubviews">
+                                               <bool key="EncodedWithXMLCoder">YES</bool>
+                                               <object class="NSTextField" id="142371246">
+                                                       <reference key="NSNextResponder" ref="1006"/>
+                                                       <int key="NSvFlags">268</int>
+                                                       <string key="NSFrame">{{20, 219}, {227, 22}}</string>
+                                                       <reference key="NSSuperview" ref="1006"/>
+                                                       <bool key="NSEnabled">YES</bool>
+                                                       <object class="NSTextFieldCell" key="NSCell" id="104713052">
+                                                               <int key="NSCellFlags">-1804468671</int>
+                                                               <int key="NSCellFlags2">272630784</int>
+                                                               <string key="NSContents"/>
+                                                               <object class="NSFont" key="NSSupport" id="1035187758">
+                                                                       <string key="NSName">LucidaGrande</string>
+                                                                       <double key="NSSize">1.300000e+01</double>
+                                                                       <int key="NSfFlags">1044</int>
+                                                               </object>
+                                                               <reference key="NSControlView" ref="142371246"/>
+                                                               <bool key="NSDrawsBackground">YES</bool>
+                                                               <object class="NSColor" key="NSBackgroundColor" id="926502601">
+                                                                       <int key="NSColorSpace">6</int>
+                                                                       <string key="NSCatalogName">System</string>
+                                                                       <string key="NSColorName">textBackgroundColor</string>
+                                                                       <object class="NSColor" key="NSColor" id="537053071">
+                                                                               <int key="NSColorSpace">3</int>
+                                                                               <bytes key="NSWhite">MQA</bytes>
+                                                                       </object>
+                                                               </object>
+                                                               <object class="NSColor" key="NSTextColor" id="649170679">
+                                                                       <int key="NSColorSpace">6</int>
+                                                                       <string key="NSCatalogName">System</string>
+                                                                       <string key="NSColorName">textColor</string>
+                                                                       <object class="NSColor" key="NSColor" id="957332318">
+                                                                               <int key="NSColorSpace">3</int>
+                                                                               <bytes key="NSWhite">MAA</bytes>
+                                                                       </object>
+                                                               </object>
+                                                       </object>
+                                               </object>
+                                               <object class="NSTextField" id="970595672">
+                                                       <reference key="NSNextResponder" ref="1006"/>
+                                                       <int key="NSvFlags">268</int>
+                                                       <string key="NSFrame">{{17, 240}, {88, 16}}</string>
+                                                       <reference key="NSSuperview" ref="1006"/>
+                                                       <bool key="NSEnabled">YES</bool>
+                                                       <object class="NSTextFieldCell" key="NSCell" id="303822681">
+                                                               <int key="NSCellFlags">68288064</int>
+                                                               <int key="NSCellFlags2">272630784</int>
+                                                               <string key="NSContents">Gallery Name</string>
+                                                               <object class="NSFont" key="NSSupport" id="849304139">
+                                                                       <string key="NSName">LucidaGrande</string>
+                                                                       <double key="NSSize">1.200000e+01</double>
+                                                                       <int key="NSfFlags">16</int>
+                                                               </object>
+                                                               <reference key="NSControlView" ref="970595672"/>
+                                                               <object class="NSColor" key="NSBackgroundColor" id="264684485">
+                                                                       <int key="NSColorSpace">6</int>
+                                                                       <string key="NSCatalogName">System</string>
+                                                                       <string key="NSColorName">controlColor</string>
+                                                                       <object class="NSColor" key="NSColor" id="961976611">
+                                                                               <int key="NSColorSpace">3</int>
+                                                                               <bytes key="NSWhite">MC42NjY2NjY2OQA</bytes>
+                                                                       </object>
+                                                               </object>
+                                                               <object class="NSColor" key="NSTextColor" id="339290383">
+                                                                       <int key="NSColorSpace">6</int>
+                                                                       <string key="NSCatalogName">System</string>
+                                                                       <string key="NSColorName">controlTextColor</string>
+                                                                       <reference key="NSColor" ref="957332318"/>
+                                                               </object>
+                                                       </object>
+                                               </object>
+                                               <object class="NSTextField" id="768485006">
+                                                       <reference key="NSNextResponder" ref="1006"/>
+                                                       <int key="NSvFlags">268</int>
+                                                       <string key="NSFrame">{{17, 195}, {73, 16}}</string>
+                                                       <reference key="NSSuperview" ref="1006"/>
+                                                       <bool key="NSEnabled">YES</bool>
+                                                       <object class="NSTextFieldCell" key="NSCell" id="441648904">
+                                                               <int key="NSCellFlags">68288064</int>
+                                                               <int key="NSCellFlags2">272630784</int>
+                                                               <string key="NSContents">Gallery Slug</string>
+                                                               <reference key="NSSupport" ref="849304139"/>
+                                                               <reference key="NSControlView" ref="768485006"/>
+                                                               <reference key="NSBackgroundColor" ref="264684485"/>
+                                                               <reference key="NSTextColor" ref="339290383"/>
+                                                       </object>
+                                               </object>
+                                               <object class="NSTextField" id="887381497">
+                                                       <reference key="NSNextResponder" ref="1006"/>
+                                                       <int key="NSvFlags">268</int>
+                                                       <string key="NSFrame">{{20, 174}, {227, 22}}</string>
+                                                       <reference key="NSSuperview" ref="1006"/>
+                                                       <bool key="NSEnabled">YES</bool>
+                                                       <object class="NSTextFieldCell" key="NSCell" id="347914051">
+                                                               <int key="NSCellFlags">-1804468671</int>
+                                                               <int key="NSCellFlags2">272630784</int>
+                                                               <string key="NSContents"/>
+                                                               <reference key="NSSupport" ref="1035187758"/>
+                                                               <reference key="NSControlView" ref="887381497"/>
+                                                               <bool key="NSDrawsBackground">YES</bool>
+                                                               <reference key="NSBackgroundColor" ref="926502601"/>
+                                                               <reference key="NSTextColor" ref="649170679"/>
+                                                       </object>
+                                               </object>
+                                               <object class="NSTextField" id="703267117">
+                                                       <reference key="NSNextResponder" ref="1006"/>
+                                                       <int key="NSvFlags">268</int>
+                                                       <string key="NSFrame">{{20, 103}, {227, 47}}</string>
+                                                       <reference key="NSSuperview" ref="1006"/>
+                                                       <bool key="NSEnabled">YES</bool>
+                                                       <object class="NSTextFieldCell" key="NSCell" id="116149712">
+                                                               <int key="NSCellFlags">-1805517311</int>
+                                                               <int key="NSCellFlags2">272629760</int>
+                                                               <string key="NSContents"/>
+                                                               <reference key="NSSupport" ref="1035187758"/>
+                                                               <reference key="NSControlView" ref="703267117"/>
+                                                               <bool key="NSDrawsBackground">YES</bool>
+                                                               <reference key="NSBackgroundColor" ref="926502601"/>
+                                                               <reference key="NSTextColor" ref="649170679"/>
+                                                       </object>
+                                               </object>
+                                               <object class="NSTextField" id="568388187">
+                                                       <reference key="NSNextResponder" ref="1006"/>
+                                                       <int key="NSvFlags">268</int>
+                                                       <string key="NSFrame">{{17, 150}, {124, 16}}</string>
+                                                       <reference key="NSSuperview" ref="1006"/>
+                                                       <bool key="NSEnabled">YES</bool>
+                                                       <object class="NSTextFieldCell" key="NSCell" id="774003593">
+                                                               <int key="NSCellFlags">68288064</int>
+                                                               <int key="NSCellFlags2">272630784</int>
+                                                               <string key="NSContents">Gallery Description</string>
+                                                               <reference key="NSSupport" ref="849304139"/>
+                                                               <reference key="NSControlView" ref="568388187"/>
+                                                               <reference key="NSBackgroundColor" ref="264684485"/>
+                                                               <reference key="NSTextColor" ref="339290383"/>
+                                                       </object>
+                                               </object>
+                                               <object class="NSButton" id="64211119">
+                                                       <reference key="NSNextResponder" ref="1006"/>
+                                                       <int key="NSvFlags">268</int>
+                                                       <string key="NSFrame">{{116, 12}, {68, 32}}</string>
+                                                       <reference key="NSSuperview" ref="1006"/>
+                                                       <bool key="NSEnabled">YES</bool>
+                                                       <object class="NSButtonCell" key="NSCell" id="490284298">
+                                                               <int key="NSCellFlags">67239424</int>
+                                                               <int key="NSCellFlags2">134217728</int>
+                                                               <string key="NSContents">Cancel</string>
+                                                               <reference key="NSSupport" ref="1035187758"/>
+                                                               <reference key="NSControlView" ref="64211119"/>
+                                                               <int key="NSButtonFlags">-2038284033</int>
+                                                               <int key="NSButtonFlags2">129</int>
+                                                               <string key="NSAlternateContents"/>
+                                                               <string key="NSKeyEquivalent"/>
+                                                               <int key="NSPeriodicDelay">200</int>
+                                                               <int key="NSPeriodicInterval">25</int>
+                                                       </object>
+                                               </object>
+                                               <object class="NSButton" id="184111456">
+                                                       <reference key="NSNextResponder" ref="1006"/>
+                                                       <int key="NSvFlags">268</int>
+                                                       <string key="NSFrame">{{184, 12}, {69, 32}}</string>
+                                                       <reference key="NSSuperview" ref="1006"/>
+                                                       <bool key="NSEnabled">YES</bool>
+                                                       <object class="NSButtonCell" key="NSCell" id="13003559">
+                                                               <int key="NSCellFlags">67239424</int>
+                                                               <int key="NSCellFlags2">134217728</int>
+                                                               <string key="NSContents">Save</string>
+                                                               <reference key="NSSupport" ref="1035187758"/>
+                                                               <reference key="NSControlView" ref="184111456"/>
+                                                               <int key="NSButtonFlags">-2038284033</int>
+                                                               <int key="NSButtonFlags2">129</int>
+                                                               <string key="NSAlternateContents"/>
+                                                               <string key="NSKeyEquivalent"/>
+                                                               <int key="NSPeriodicDelay">200</int>
+                                                               <int key="NSPeriodicInterval">25</int>
+                                                       </object>
+                                               </object>
+                                               <object class="NSComboBox" id="137843971">
+                                                       <reference key="NSNextResponder" ref="1006"/>
+                                                       <int key="NSvFlags">268</int>
+                                                       <string key="NSFrame">{{20, 56}, {230, 26}}</string>
+                                                       <reference key="NSSuperview" ref="1006"/>
+                                                       <bool key="NSEnabled">YES</bool>
+                                                       <object class="NSComboBoxCell" key="NSCell" id="625134106">
+                                                               <int key="NSCellFlags">879885888</int>
+                                                               <int key="NSCellFlags2">272630784</int>
+                                                               <string key="NSContents"/>
+                                                               <reference key="NSSupport" ref="1035187758"/>
+                                                               <reference key="NSControlView" ref="137843971"/>
+                                                               <bool key="NSDrawsBackground">YES</bool>
+                                                               <reference key="NSBackgroundColor" ref="926502601"/>
+                                                               <reference key="NSTextColor" ref="339290383"/>
+                                                               <int key="NSVisibleItemCount">5</int>
+                                                               <bool key="NSHasVerticalScroller">YES</bool>
+                                                               <reference key="NSDelegate" ref="137843971"/>
+                                                               <object class="NSComboTableView" key="NSTableView" id="677168914">
+                                                                       <reference key="NSNextResponder"/>
+                                                                       <int key="NSvFlags">274</int>
+                                                                       <string key="NSFrameSize">{15, 0}</string>
+                                                                       <reference key="NSSuperview"/>
+                                                                       <reference key="NSWindow"/>
+                                                                       <bool key="NSEnabled">YES</bool>
+                                                                       <object class="NSMutableArray" key="NSTableColumns">
+                                                                               <bool key="EncodedWithXMLCoder">YES</bool>
+                                                                               <object class="NSTableColumn">
+                                                                                       <integer value="0" key="NSIdentifier" id="8"/>
+                                                                                       <double key="NSWidth">1.200000e+01</double>
+                                                                                       <double key="NSMinWidth">1.000000e+01</double>
+                                                                                       <double key="NSMaxWidth">1.000000e+03</double>
+                                                                                       <object class="NSTableHeaderCell" key="NSHeaderCell">
+                                                                                               <int key="NSCellFlags">75628032</int>
+                                                                                               <int key="NSCellFlags2">0</int>
+                                                                                               <string key="NSContents"/>
+                                                                                               <reference key="NSSupport" ref="849304139"/>
+                                                                                               <object class="NSColor" key="NSBackgroundColor">
+                                                                                                       <int key="NSColorSpace">3</int>
+                                                                                                       <bytes key="NSWhite">MC4zMzMzMzI5OQA</bytes>
+                                                                                               </object>
+                                                                                               <reference key="NSTextColor" ref="537053071"/>
+                                                                                       </object>
+                                                                                       <object class="NSTextFieldCell" key="NSDataCell">
+                                                                                               <int key="NSCellFlags">338820672</int>
+                                                                                               <int key="NSCellFlags2">1024</int>
+                                                                                               <reference key="NSSupport" ref="1035187758"/>
+                                                                                               <reference key="NSControlView" ref="677168914"/>
+                                                                                               <bool key="NSDrawsBackground">YES</bool>
+                                                                                               <object class="NSColor" key="NSBackgroundColor" id="525076026">
+                                                                                                       <int key="NSColorSpace">6</int>
+                                                                                                       <string key="NSCatalogName">System</string>
+                                                                                                       <string key="NSColorName">controlBackgroundColor</string>
+                                                                                                       <reference key="NSColor" ref="961976611"/>
+                                                                                               </object>
+                                                                                               <reference key="NSTextColor" ref="339290383"/>
+                                                                                       </object>
+                                                                                       <int key="NSResizingMask">3</int>
+                                                                                       <bool key="NSIsResizeable">YES</bool>
+                                                                                       <reference key="NSTableView" ref="677168914"/>
+                                                                               </object>
+                                                                       </object>
+                                                                       <double key="NSIntercellSpacingWidth">3.000000e+00</double>
+                                                                       <double key="NSIntercellSpacingHeight">2.000000e+00</double>
+                                                                       <reference key="NSBackgroundColor" ref="525076026"/>
+                                                                       <object class="NSColor" key="NSGridColor">
+                                                                               <int key="NSColorSpace">6</int>
+                                                                               <string key="NSCatalogName">System</string>
+                                                                               <string key="NSColorName">gridColor</string>
+                                                                               <object class="NSColor" key="NSColor">
+                                                                                       <int key="NSColorSpace">3</int>
+                                                                                       <bytes key="NSWhite">MC41AA</bytes>
+                                                                               </object>
+                                                                       </object>
+                                                                       <double key="NSRowHeight">1.900000e+01</double>
+                                                                       <string key="NSAction">tableViewAction:</string>
+                                                                       <int key="NSTvFlags">-767524864</int>
+                                                                       <reference key="NSDelegate" ref="625134106"/>
+                                                                       <reference key="NSDataSource" ref="625134106"/>
+                                                                       <reference key="NSTarget" ref="625134106"/>
+                                                                       <int key="NSColumnAutoresizingStyle">1</int>
+                                                                       <int key="NSDraggingSourceMaskForLocal">15</int>
+                                                                       <int key="NSDraggingSourceMaskForNonLocal">0</int>
+                                                                       <bool key="NSAllowsTypeSelect">YES</bool>
+                                                               </object>
+                                                       </object>
+                                               </object>
+                                               <object class="NSTextField" id="793482582">
+                                                       <reference key="NSNextResponder" ref="1006"/>
+                                                       <int key="NSvFlags">268</int>
+                                                       <string key="NSFrame">{{17, 79}, {88, 16}}</string>
+                                                       <reference key="NSSuperview" ref="1006"/>
+                                                       <bool key="NSEnabled">YES</bool>
+                                                       <object class="NSTextFieldCell" key="NSCell" id="657594086">
+                                                               <int key="NSCellFlags">68288064</int>
+                                                               <int key="NSCellFlags2">272630784</int>
+                                                               <string key="NSContents">Gallery Parent</string>
+                                                               <reference key="NSSupport" ref="849304139"/>
+                                                               <reference key="NSControlView" ref="793482582"/>
+                                                               <reference key="NSBackgroundColor" ref="264684485"/>
+                                                               <reference key="NSTextColor" ref="339290383"/>
+                                                       </object>
+                                               </object>
+                                       </object>
+                                       <string key="NSFrameSize">{267, 276}</string>
+                                       <reference key="NSSuperview"/>
+                               </object>
+                               <string key="NSScreenRect">{{0, 0}, {1920, 1178}}</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 class="IBConnectionRecord">
+                                       <object class="IBOutletConnection" key="connection">
+                                               <string key="label">newGallerySheet</string>
+                                               <reference key="source" ref="1001"/>
+                                               <reference key="destination" ref="1005"/>
+                                       </object>
+                                       <int key="connectionID">43</int>
+                               </object>
+                               <object class="IBConnectionRecord">
+                                       <object class="IBActionConnection" key="connection">
+                                               <string key="label">doNewGallery:</string>
+                                               <reference key="source" ref="1001"/>
+                                               <reference key="destination" ref="184111456"/>
+                                       </object>
+                                       <int key="connectionID">48</int>
+                               </object>
+                               <object class="IBConnectionRecord">
+                                       <object class="IBOutletConnection" key="connection">
+                                               <string key="label">galleryDescTextField</string>
+                                               <reference key="source" ref="1001"/>
+                                               <reference key="destination" ref="703267117"/>
+                                       </object>
+                                       <int key="connectionID">49</int>
+                               </object>
+                               <object class="IBConnectionRecord">
+                                       <object class="IBOutletConnection" key="connection">
+                                               <string key="label">galleryNameTextField</string>
+                                               <reference key="source" ref="1001"/>
+                                               <reference key="destination" ref="142371246"/>
+                                       </object>
+                                       <int key="connectionID">50</int>
+                               </object>
+                               <object class="IBConnectionRecord">
+                                       <object class="IBOutletConnection" key="connection">
+                                               <string key="label">gallerySlugTextField</string>
+                                               <reference key="source" ref="1001"/>
+                                               <reference key="destination" ref="887381497"/>
+                                       </object>
+                                       <int key="connectionID">51</int>
+                               </object>
+                               <object class="IBConnectionRecord">
+                                       <object class="IBActionConnection" key="connection">
+                                               <string key="label">cancelNewGallery:</string>
+                                               <reference key="source" ref="1001"/>
+                                               <reference key="destination" ref="490284298"/>
+                                       </object>
+                                       <int key="connectionID">53</int>
+                               </object>
+                       </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"/>
+                                               <object class="NSMutableArray" key="children">
+                                                       <bool key="EncodedWithXMLCoder">YES</bool>
+                                                       <reference ref="142371246"/>
+                                                       <reference ref="970595672"/>
+                                                       <reference ref="768485006"/>
+                                                       <reference ref="887381497"/>
+                                                       <reference ref="703267117"/>
+                                                       <reference ref="568388187"/>
+                                                       <reference ref="137843971"/>
+                                                       <reference ref="793482582"/>
+                                                       <reference ref="64211119"/>
+                                                       <reference ref="184111456"/>
+                                               </object>
+                                               <reference key="parent" ref="1005"/>
+                                       </object>
+                                       <object class="IBObjectRecord">
+                                               <int key="objectID">3</int>
+                                               <reference key="object" ref="142371246"/>
+                                               <object class="NSMutableArray" key="children">
+                                                       <bool key="EncodedWithXMLCoder">YES</bool>
+                                                       <reference ref="104713052"/>
+                                               </object>
+                                               <reference key="parent" ref="1006"/>
+                                       </object>
+                                       <object class="IBObjectRecord">
+                                               <int key="objectID">4</int>
+                                               <reference key="object" ref="104713052"/>
+                                               <reference key="parent" ref="142371246"/>
+                                       </object>
+                                       <object class="IBObjectRecord">
+                                               <int key="objectID">5</int>
+                                               <reference key="object" ref="970595672"/>
+                                               <object class="NSMutableArray" key="children">
+                                                       <bool key="EncodedWithXMLCoder">YES</bool>
+                                                       <reference ref="303822681"/>
+                                               </object>
+                                               <reference key="parent" ref="1006"/>
+                                       </object>
+                                       <object class="IBObjectRecord">
+                                               <int key="objectID">6</int>
+                                               <reference key="object" ref="303822681"/>
+                                               <reference key="parent" ref="970595672"/>
+                                       </object>
+                                       <object class="IBObjectRecord">
+                                               <int key="objectID">7</int>
+                                               <reference key="object" ref="768485006"/>
+                                               <object class="NSMutableArray" key="children">
+                                                       <bool key="EncodedWithXMLCoder">YES</bool>
+                                                       <reference ref="441648904"/>
+                                               </object>
+                                               <reference key="parent" ref="1006"/>
+                                       </object>
+                                       <object class="IBObjectRecord">
+                                               <int key="objectID">8</int>
+                                               <reference key="object" ref="441648904"/>
+                                               <reference key="parent" ref="768485006"/>
+                                       </object>
+                                       <object class="IBObjectRecord">
+                                               <int key="objectID">9</int>
+                                               <reference key="object" ref="887381497"/>
+                                               <object class="NSMutableArray" key="children">
+                                                       <bool key="EncodedWithXMLCoder">YES</bool>
+                                                       <reference ref="347914051"/>
+                                               </object>
+                                               <reference key="parent" ref="1006"/>
+                                       </object>
+                                       <object class="IBObjectRecord">
+                                               <int key="objectID">10</int>
+                                               <reference key="object" ref="347914051"/>
+                                               <reference key="parent" ref="887381497"/>
+                                       </object>
+                                       <object class="IBObjectRecord">
+                                               <int key="objectID">11</int>
+                                               <reference key="object" ref="703267117"/>
+                                               <object class="NSMutableArray" key="children">
+                                                       <bool key="EncodedWithXMLCoder">YES</bool>
+                                                       <reference ref="116149712"/>
+                                               </object>
+                                               <reference key="parent" ref="1006"/>
+                                       </object>
+                                       <object class="IBObjectRecord">
+                                               <int key="objectID">12</int>
+                                               <reference key="object" ref="116149712"/>
+                                               <reference key="parent" ref="703267117"/>
+                                       </object>
+                                       <object class="IBObjectRecord">
+                                               <int key="objectID">13</int>
+                                               <reference key="object" ref="568388187"/>
+                                               <object class="NSMutableArray" key="children">
+                                                       <bool key="EncodedWithXMLCoder">YES</bool>
+                                                       <reference ref="774003593"/>
+                                               </object>
+                                               <reference key="parent" ref="1006"/>
+                                       </object>
+                                       <object class="IBObjectRecord">
+                                               <int key="objectID">14</int>
+                                               <reference key="object" ref="774003593"/>
+                                               <reference key="parent" ref="568388187"/>
+                                       </object>
+                                       <object class="IBObjectRecord">
+                                               <int key="objectID">15</int>
+                                               <reference key="object" ref="64211119"/>
+                                               <object class="NSMutableArray" key="children">
+                                                       <bool key="EncodedWithXMLCoder">YES</bool>
+                                                       <reference ref="490284298"/>
+                                               </object>
+                                               <reference key="parent" ref="1006"/>
+                                       </object>
+                                       <object class="IBObjectRecord">
+                                               <int key="objectID">16</int>
+                                               <reference key="object" ref="490284298"/>
+                                               <reference key="parent" ref="64211119"/>
+                                       </object>
+                                       <object class="IBObjectRecord">
+                                               <int key="objectID">17</int>
+                                               <reference key="object" ref="184111456"/>
+                                               <object class="NSMutableArray" key="children">
+                                                       <bool key="EncodedWithXMLCoder">YES</bool>
+                                                       <reference ref="13003559"/>
+                                               </object>
+                                               <reference key="parent" ref="1006"/>
+                                       </object>
+                                       <object class="IBObjectRecord">
+                                               <int key="objectID">18</int>
+                                               <reference key="object" ref="13003559"/>
+                                               <reference key="parent" ref="184111456"/>
+                                       </object>
+                                       <object class="IBObjectRecord">
+                                               <int key="objectID">19</int>
+                                               <reference key="object" ref="137843971"/>
+                                               <object class="NSMutableArray" key="children">
+                                                       <bool key="EncodedWithXMLCoder">YES</bool>
+                                                       <reference ref="625134106"/>
+                                               </object>
+                                               <reference key="parent" ref="1006"/>
+                                       </object>
+                                       <object class="IBObjectRecord">
+                                               <int key="objectID">20</int>
+                                               <reference key="object" ref="625134106"/>
+                                               <reference key="parent" ref="137843971"/>
+                                       </object>
+                                       <object class="IBObjectRecord">
+                                               <int key="objectID">21</int>
+                                               <reference key="object" ref="793482582"/>
+                                               <object class="NSMutableArray" key="children">
+                                                       <bool key="EncodedWithXMLCoder">YES</bool>
+                                                       <reference ref="657594086"/>
+                                               </object>
+                                               <reference key="parent" ref="1006"/>
+                                       </object>
+                                       <object class="IBObjectRecord">
+                                               <int key="objectID">22</int>
+                                               <reference key="object" ref="657594086"/>
+                                               <reference key="parent" ref="793482582"/>
+                                       </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>10.IBPluginDependency</string>
+                                       <string>11.IBPluginDependency</string>
+                                       <string>12.IBPluginDependency</string>
+                                       <string>13.IBPluginDependency</string>
+                                       <string>14.IBPluginDependency</string>
+                                       <string>15.IBPluginDependency</string>
+                                       <string>16.IBPluginDependency</string>
+                                       <string>17.IBPluginDependency</string>
+                                       <string>18.IBPluginDependency</string>
+                                       <string>19.IBPluginDependency</string>
+                                       <string>2.IBPluginDependency</string>
+                                       <string>20.IBPluginDependency</string>
+                                       <string>21.IBPluginDependency</string>
+                                       <string>22.IBPluginDependency</string>
+                                       <string>3.IBPluginDependency</string>
+                                       <string>4.IBPluginDependency</string>
+                                       <string>5.IBPluginDependency</string>
+                                       <string>6.IBPluginDependency</string>
+                                       <string>7.IBPluginDependency</string>
+                                       <string>8.IBPluginDependency</string>
+                                       <string>9.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>{{177, 722}, {267, 276}}</string>
+                                       <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+                                       <string>{{177, 722}, {267, 276}}</string>
+                                       <reference ref="8"/>
+                                       <string>{196, 240}</string>
+                                       <string>{{357, 418}, {480, 270}}</string>
+                                       <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+                                       <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+                                       <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+                                       <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+                                       <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+                                       <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+                                       <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+                                       <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+                                       <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+                                       <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+                                       <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+                                       <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+                                       <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+                                       <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+                                       <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+                                       <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+                                       <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+                                       <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+                                       <string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+                                       <string>com.apple.InterfaceBuilder.CocoaPlugin</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">53</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" id="855842895">
+                                               <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">TURAnselGalleryPanelController</string>
+                                       <string key="superclassName">NSObject</string>
+                                       <object class="NSMutableDictionary" key="actions">
+                                               <bool key="EncodedWithXMLCoder">YES</bool>
+                                               <object class="NSMutableArray" key="dict.sortedKeys">
+                                                       <bool key="EncodedWithXMLCoder">YES</bool>
+                                                       <string>cancelNewGallery:</string>
+                                                       <string>doNewGallery:</string>
+                                               </object>
+                                               <object class="NSMutableArray" key="dict.values">
+                                                       <bool key="EncodedWithXMLCoder">YES</bool>
+                                                       <string>id</string>
+                                                       <string>id</string>
+                                               </object>
+                                       </object>
+                                       <object class="NSMutableDictionary" key="outlets">
+                                               <bool key="EncodedWithXMLCoder">YES</bool>
+                                               <object class="NSMutableArray" key="dict.sortedKeys">
+                                                       <bool key="EncodedWithXMLCoder">YES</bool>
+                                                       <string>delegate</string>
+                                                       <string>galleryDescTextField</string>
+                                                       <string>galleryNameTextField</string>
+                                                       <string>gallerySlugTextField</string>
+                                                       <string>newGallerySheet</string>
+                                               </object>
+                                               <object class="NSMutableArray" key="dict.values">
+                                                       <bool key="EncodedWithXMLCoder">YES</bool>
+                                                       <string>id</string>
+                                                       <string>NSTextField</string>
+                                                       <string>NSTextField</string>
+                                                       <string>NSTextField</string>
+                                                       <string>NSPanel</string>
+                                               </object>
+                                       </object>
+                                       <reference key="sourceIdentifier" ref="855842895"/>
+                               </object>
+                       </object>
+               </object>
+               <int key="IBDocument.localizationMode">0</int>
+               <string key="IBDocument.LastKnownRelativeProjectPath">../iPhoto2Ansel.xcodeproj</string>
+               <int key="IBDocument.defaultPropertyAccessControl">3</int>
+       </data>
+</archive>
diff --git a/ApertureToAnselExportPlugin/TURAnselKit/English.lProj/AnselGalleryPanel.nib/keyedobjects.nib b/ApertureToAnselExportPlugin/TURAnselKit/English.lProj/AnselGalleryPanel.nib/keyedobjects.nib
new file mode 100644 (file)
index 0000000..b318b79
Binary files /dev/null and b/ApertureToAnselExportPlugin/TURAnselKit/English.lProj/AnselGalleryPanel.nib/keyedobjects.nib differ
diff --git a/ApertureToAnselExportPlugin/TURAnselKit/TURAnsel.h b/ApertureToAnselExportPlugin/TURAnselKit/TURAnsel.h
new file mode 100644 (file)
index 0000000..b1997fa
--- /dev/null
@@ -0,0 +1,60 @@
+/**
+ * TURAnsel
+ *
+ * Copyright 2009 The Horde Project (http://www.horde.org)
+ * 
+ * @license http://opensource.org/licenses/bsd-license.php
+ * @author  Michael J. Rubinsky <mrubinsk@horde.org>
+ */
+#import <Cocoa/Cocoa.h>
+@class TURAnselGallery;
+
+typedef enum {
+    PERMS_SHOW = 2,
+    PERMS_READ = 4,
+    PERMS_EDIT = 8,
+    PERMS_DELETE = 16
+} HORDE_PERMS;
+
+typedef enum {
+    TURAnselStateDisconnected = 0,
+    TURAnselStateConnected,
+    TURAnselStateError,
+    TURAnselStateCancelled,
+    TURAnselStateWaiting
+} TURAnselState;
+
+@interface NSObject (TURAnselDelegate)
+- (void)TURAnselDidInitialize;
+- (void)TURAnselHadError: (NSError *)error;
+@end
+
+@interface TURAnsel : NSObject {
+    NSString *userAgent;
+    NSString *rpcEndPoint;
+    NSString *username;
+    NSString *password;
+    NSMutableArray *galleryList;
+    TURAnselState state;
+    id delegate;
+    NSLock *lock;
+}
+
+@property (readwrite, retain) NSString *rpcEndPoint;
+@property (readwrite, retain) NSString *username;
+@property (readwrite, retain) NSString *password;
+
+- (id)initWithConnectionParameters: (NSDictionary *)params;
+- (void)connect;
+- (TURAnselGallery *)getGalleryById: (NSString *)galleryId;
+- (TURAnselGallery *)getGalleryByIndex: (NSInteger)index;
+- (NSDictionary *)callRPCMethod: (NSString *)methodName withParams: (NSArray *)params withOrder: (NSArray *)order;
+- (NSDictionary *)createNewGallery: (NSDictionary *)params;
+- (void)cancel;
+
+// Getters/setters
+- (void) setState: (TURAnselState)state;
+- (TURAnselState)state;
+- (id)delegate;
+- (void)setDelegate: (id)newDelegate;
+@end
diff --git a/ApertureToAnselExportPlugin/TURAnselKit/TURAnsel.m b/ApertureToAnselExportPlugin/TURAnselKit/TURAnsel.m
new file mode 100644 (file)
index 0000000..56ad2f7
--- /dev/null
@@ -0,0 +1,315 @@
+/**
+ * TURAnsel.m
+ *
+ * Main class for interacting with a remote Ansel server.
+ *
+ * Copyright 2009 The Horde Project (http://www.horde.org)
+ * 
+ * @license http://opensource.org/licenses/bsd-license.php
+ * @author  Michael J. Rubinsky <mrubinsk@horde.org>
+ */
+#import <Foundation/Foundation.h>
+#import "TURAnselKit.h"
+
+@interface TURAnsel (PrivateAPI)
+- (void)doLogin;
+@end
+
+@implementation TURAnsel
+
+@synthesize rpcEndPoint;
+@synthesize username;
+@synthesize password;
+
+#pragma mark -
+#pragma mark init/dealloc
+- (id)initWithConnectionParameters: (NSDictionary *)params
+{
+    [super init];
+    galleryList = [[NSMutableArray alloc] init];
+    
+    // Initialize the connection properties, KVC style
+    [self setValue:[params objectForKey:@"endpoint"] 
+            forKey: @"rpcEndPoint"];
+    [self setValue: [params objectForKey:@"username"]
+            forKey: @"username"];
+    [self setValue: [params objectForKey:@"password"]
+            forKey: @"password"];
+    [self setValue: @"The Ansel Cocoa XML-RPC Client"
+            forKey: @"userAgent"];
+    
+    return self;
+}
+-(void) dealloc
+{
+    NSLog(@"TURAnsel dealloc");   
+    [galleryList removeAllObjects];
+    [galleryList release];
+    [rpcEndPoint release];
+    [username release];
+    [password release];
+    [userAgent release];
+    [super dealloc];
+}
+
+#pragma mark -
+#pragma mark Actions
+- (void)connect 
+{
+    [self doLogin];
+}
+- (void) cancel
+{
+    state = TURAnselStateCancelled;
+}
+
+/**
+ * Create a new gallery on the Ansel server.
+ *
+ * @param NSDictionary params  A dictionary of parameters for the new gallery.
+ *
+ * @return NSDictionary  A dictionary describing the new gallery
+ */
+- (NSDictionary *)createNewGallery: (NSDictionary *)params
+{
+    NSArray *apiparams = [NSArray arrayWithObjects: @"ansel", params, nil]; 
+    NSArray *order = [NSArray arrayWithObjects: kTURAnselAPIParamScope, kTURAnselAPIParamGaleryParams, nil];
+    
+    NSDictionary *response = [self callRPCMethod: @"images.createGallery"
+                                      withParams: apiparams
+                                       withOrder: order];
+    
+    if (response) {
+        NSNumber *gallery_id = [response objectForKey: (NSString *)kWSMethodInvocationResult];    
+        NSDictionary *results = [NSDictionary dictionaryWithObjectsAndKeys:
+                                 gallery_id, kTURAnselGalleryKeyId,
+                                 [params valueForKey: @"name"], kTURAnselGalleryKeyName,
+                                 @"", kTURAnselGalleryKeyDescription,
+                                 [NSNumber numberWithInt: 0], kTURAnselGalleryKeyImages,
+                                 [NSNumber numberWithInt: 0], kTURAnselGalleryKeyDefaultImage, nil];
+        
+        TURAnselGallery *newGallery = [[TURAnselGallery alloc] initWithObject: results
+                                                                   controller: self];
+        [galleryList addObject: newGallery];
+        [newGallery release];
+        
+        return results;
+    }
+    
+    return nil;
+}
+
+
+/**
+ * Entry point for calling RPC methods on the Horde server. 
+ * 
+ * @param NSString methodName  The method to call (e.g. images.listGalleries)
+ * @param NSArray  params      All the method's parameters
+ * @param NSArray  order       Keys for the params array, needed because of how
+ *                             WSMethodInvocationSetParameters is used. (The keys are
+ *                             disregarded by Horde, but needed to ensure they get
+ *                             sent in the correct order by WS.
+ *
+ * The invocationCallback function is called on completion, which in turn will
+ * call the methodCompletionCallback with the results
+ */
+- (NSDictionary *)callRPCMethod: (NSString *)methodName
+                     withParams: (NSArray *) params
+                      withOrder: (NSArray *) order
+{
+    NSLog(@"Initiating connection for %@", methodName);
+    
+    // Get a URL object
+    NSURL *url = [NSURL URLWithString: [self valueForKey: @"rpcEndPoint"]];
+    NSDictionary *values = [NSDictionary dictionaryWithObjects: params forKeys:order];
+    
+    // Credentials
+    NSString *user = [self valueForKey:@"username"];
+    NSString *pass = [self valueForKey:@"password"];
+    
+    if (user != nil && [user length] && pass != nil && [pass length]) {
+        // Create a custom http request with authorization
+        CFHTTPMessageRef request = CFHTTPMessageCreateRequest(kCFAllocatorDefault,
+                                                              (CFStringRef)@"POST",
+                                                              (CFURLRef)url,
+                                                              kCFHTTPVersion1_1);
+        // Add auth creds to request.
+        Boolean success = CFHTTPMessageAddAuthentication(request,
+                                                         NULL,
+                                                         (CFStringRef)user,
+                                                         (CFStringRef)pass,
+                                                         kCFHTTPAuthenticationSchemeBasic,
+                                                         false);
+        
+        NSLog(@"Results adding credentials to request: %d", success);
+        if (!success) {
+            NSLog(@"Unable to authenticate");
+            
+            if ([[self delegate] respondsToSelector: @selector(TURAnselHadError:)]) {
+                NSError *error = [NSError errorWithDomain:@"TURAnsel"
+                                                     code: 1
+                                                 userInfo:[NSDictionary dictionaryWithObjectsAndKeys: @"Authentication failure.", @"message", nil]];
+                
+                [[self delegate] TURAnselHadError: error];
+            }
+            
+            return nil;
+            
+        } else {
+            // Build a new invocation
+            [self setState:TURAnselStateWaiting];
+            WSMethodInvocationRef rpcCall;
+            rpcCall = WSMethodInvocationCreate((CFURLRef)url, (CFStringRef)methodName, kWSXMLRPCProtocol); 
+            WSMethodInvocationSetParameters(rpcCall, (CFDictionaryRef)values, (CFArrayRef)order);
+            WSMethodInvocationSetProperty(rpcCall, kWSHTTPMessage, request);
+            NSDictionary *result = (NSDictionary *)WSMethodInvocationInvoke(rpcCall);
+            CFRelease(request);
+            // Check out the results
+            if (WSMethodResultIsFault((CFDictionaryRef) result)) {
+                
+                NSError *error;
+                
+                CFHTTPMessageRef response = (CFHTTPMessageRef)[result objectForKey:(id)kWSHTTPResponseMessage];
+                int resStatusCode = CFHTTPMessageGetResponseStatusCode(response);
+                NSString *resStatusLine = (NSString *)CFHTTPMessageCopyResponseStatusLine(response);
+                if (resStatusCode == 401) {
+                    error = [NSError errorWithDomain: @"TURAnsel"
+                                                code: resStatusCode
+                                            userInfo: [NSDictionary dictionaryWithObjectsAndKeys: resStatusLine, @"NSLocalizedDescriptionKey", nil]];
+                } else {
+                    NSNumber *faultCode = [result objectForKey: (NSString *)kWSFaultCode];
+                    NSString *faultString = [result objectForKey: (NSString *)kWSFaultString];
+                    NSLog(@"faultCode: %@ faultString: %@", faultCode, faultString);
+                    error = [NSError errorWithDomain: @"TURAnsel"
+                                                code: [faultCode intValue]
+                                            userInfo: [NSDictionary dictionaryWithObjectsAndKeys: [NSString stringWithFormat: @"%@, %@", resStatusLine, faultString], @"NSLocalizedDescriptionKey", nil]];
+                    
+                    
+                }    
+                if ([[self delegate] respondsToSelector: @selector(TURAnselHadError:)]) {
+                    [[self delegate] TURAnselHadError: error];
+                }
+                [resStatusLine release];
+                [result autorelease];
+                return nil;
+            }
+            
+            CFHTTPMessageRef response = (CFHTTPMessageRef)[result objectForKey:(id)kWSHTTPResponseMessage];
+            int resStatusCode = CFHTTPMessageGetResponseStatusCode(response);
+            NSLog(@"ResponseCode: %d", resStatusCode);
+            [self setState:TURAnselStateConnected];
+            return [result autorelease];
+        }       
+    }
+    
+    NSLog(@"No authentication information present.");
+    return nil;
+    
+}
+
+#pragma mark -
+#pragma mark Setters/Getters
+// Fetch a gallery by id
+- (TURAnselGallery *)getGalleryById: (NSString *)galleryId
+{
+    for (TURAnselGallery *g in galleryList) {
+        if ([galleryId isEqualTo: [NSNumber numberWithInt: [g galleryId]]]) {
+            return g;
+        }
+    }
+    
+    return nil;
+}
+
+/**
+ * Return the gallery at the specified position in the internal storage array.
+ * Needed for when we are using this class as a datasource for a UI element.
+ */
+- (TURAnselGallery *)getGalleryByIndex: (NSInteger)index
+{
+    TURAnselGallery *g = [galleryList objectAtIndex:index];
+    return g;
+}
+
+#pragma mark --
+#pragma mark ComboBox Datasource
+- (NSInteger)numberOfItemsInComboBox:(NSComboBox *)aComboBox
+{
+    return [galleryList count];
+}
+
+- (id)comboBox:(NSComboBox *)aComboBox
+  objectValueForItemAtIndex:(NSInteger)index
+{
+    TURAnselGallery *g = [galleryList objectAtIndex:index];
+    NSString *stringValue = [g valueForKey:@"galleryName"];
+    return stringValue;
+}
+
+#pragma mark Getter/Setters
+- (TURAnselState) state
+{
+    return state;
+}
+-(void) setState: (TURAnselState)newstate
+{
+    state = newstate;
+}
+
+- (id)delegate {
+    return delegate;    
+}
+
+- (void)setDelegate:(id)newDelegate {
+    delegate = newDelegate;
+}
+
+#pragma mark PrivateAPI
+/**
+ * Perform initial contact with Ansel server. Retrieves the list of galleries
+ * available for the selected server.
+ *
+ * @return void
+ */
+- (void)doLogin
+{
+    NSArray *params = [[NSArray alloc] initWithObjects:
+                       @"ansel",                                 // Scope 
+                       [NSNumber numberWithInt: PERMS_EDIT],     // Perms
+                       @"",                                      // No parent
+                       [NSNumber numberWithBool:YES],            // allLevels
+                       [NSNumber numberWithInt: 0],              // Offset
+                       [NSNumber numberWithInt: 0],              // Count
+                       [self valueForKey:@"username"], nil];     // Restrict to user (This should be an option eventually).
+    
+    NSArray *order = [NSArray arrayWithObjects: kTURAnselAPIParamScope, kTURAnselAPIParamPerms,
+                                                kTURAnselAPIParamParent, kTURAnselAPIParamAllLevels,
+                                                kTURAnselAPIParamOffset, kTURAnselAPIParamCount,
+                                                kTURAnselAPIParamUserOnly, nil];
+    
+    NSDictionary *results = [self callRPCMethod: @"images.listGalleries"
+                                     withParams: params
+                                      withOrder: order];
+    
+    if (results) {
+        NSDictionary *galleries = [results objectForKey: (id)kWSMethodInvocationResult];
+        for (NSString *gal in galleries) {
+            TURAnselGallery *theGallery = [[TURAnselGallery alloc] initWithObject: gal
+                                                                       controller: self];
+            [theGallery setAnselController: self];
+            [galleryList addObject: theGallery];
+            [theGallery release];
+            theGallery = nil;
+        }
+        
+        if ([delegate respondsToSelector:@selector(TURAnselDidInitialize)]) {
+            [delegate performSelectorOnMainThread:@selector(TURAnselDidInitialize)
+                                       withObject:self
+                                    waitUntilDone: NO];
+        }
+        
+    }
+    
+    [params release];
+}
+@end
\ No newline at end of file
diff --git a/ApertureToAnselExportPlugin/TURAnselKit/TURAnselConstants.h b/ApertureToAnselExportPlugin/TURAnselKit/TURAnselConstants.h
new file mode 100644 (file)
index 0000000..ef64dc7
--- /dev/null
@@ -0,0 +1,33 @@
+/**
+ * TURAnselConstants
+ *
+ * Copyright 2009 The Horde Project (http://www.horde.org)
+ * 
+ * @license http://opensource.org/licenses/bsd-license.php
+ * @author  Michael J. Rubinsky <mrubinsk@horde.org>
+ */
+
+// Constants for the API parameter names.
+extern NSString * const kTURAnselAPIParamScope;
+extern NSString * const kTURAnselAPIParamGaleryParams;
+extern NSString * const kTURAnselAPIParamPerms;
+extern NSString * const kTURAnselAPIParamParent;
+extern NSString * const kTURAnselAPIParamAllLevels;
+extern NSString * const kTURAnselAPIParamOffset;
+extern NSString * const kTURAnselAPIParamCount;
+extern NSString * const kTURAnselAPIParamUserOnly;
+extern NSString * const kTURAnselAPIParamImageId;
+extern NSString * const kTURAnselAPIParamGalleryId;
+extern NSString * const kTURAnselAPIParamThumbnailStyle;
+extern NSString * const kTURAnselAPIParamFullPath;
+extern NSString * const kTURAnselAPIParamImageData;
+extern NSString * const kTURAnselAPIParamSetAsDefault;
+extern NSString * const kTURAnselAPIParamAdditionalData;
+extern NSString * const kTURAnselAPIParamEncoding;
+
+// Constants for the dictionary keys used to describe/create TURAnselGallery
+extern NSString * const kTURAnselGalleryKeyId;
+extern NSString * const kTURAnselGalleryKeyName;
+extern NSString * const kTURAnselGalleryKeyDescription;
+extern NSString * const kTURAnselGalleryKeyImages;
+extern NSString * const kTURAnselGalleryKeyDefaultImage;
diff --git a/ApertureToAnselExportPlugin/TURAnselKit/TURAnselConstants.m b/ApertureToAnselExportPlugin/TURAnselKit/TURAnselConstants.m
new file mode 100644 (file)
index 0000000..74472bb
--- /dev/null
@@ -0,0 +1,34 @@
+//
+//  TURAnselConstants.m
+//  ApertureToAnselExportPlugin
+//
+//  Created by Michael Rubinsky on 9/22/09.
+//  Copyright 2009 __MyCompanyName__. All rights reserved.
+//
+
+#import "TURAnselConstants.h"
+
+// Constants for the API parameter names.
+NSString * const kTURAnselAPIParamScope             = @"scope";
+NSString * const kTURAnselAPIParamGaleryParams      = @"galleryParams";
+NSString * const kTURAnselAPIParamPerms             = @"perms";
+NSString * const kTURAnselAPIParamParent            = @"parent";
+NSString * const kTURAnselAPIParamAllLevels         = @"allLevels";
+NSString * const kTURAnselAPIParamOffset            = @"offset";
+NSString * const kTURAnselAPIParamCount             = @"count";
+NSString * const kTURAnselAPIParamUserOnly          = @"userOnly";
+NSString * const kTURAnselAPIParamImageId           = @"imageId";
+NSString * const kTURAnselAPIParamGalleryId         = @"galleryId";
+NSString * const kTURAnselAPIParamThumbnailStyle    = @"thumbnailStyle";
+NSString * const kTURAnselAPIParamFullPath          = @"fullPath";
+NSString * const kTURAnselAPIParamImageData         = @"imageData";
+NSString * const kTURAnselAPIParamSetAsDefault      = @"default";
+NSString * const kTURAnselAPIParamAdditionalData    = @"additionalData";
+NSString * const kTURAnselAPIParamEncoding          = @"encoding";
+
+// Ansel gallery attribtues.
+NSString * const kTURAnselGalleryKeyId              = @"share_id";
+NSString * const kTURAnselGalleryKeyName            = @"attribute_name";
+NSString * const kTURAnselGalleryKeyDescription     = @"attribute_desc";
+NSString * const kTURAnselGalleryKeyImages          = @"attribute_images";
+NSString * const kTURAnselGalleryKeyDefaultImage    = @"attribute_default";
\ No newline at end of file
diff --git a/ApertureToAnselExportPlugin/TURAnselKit/TURAnselGallery.h b/ApertureToAnselExportPlugin/TURAnselKit/TURAnselGallery.h
new file mode 100644 (file)
index 0000000..5eff4e7
--- /dev/null
@@ -0,0 +1,42 @@
+/**
+ * TURAnselGallery
+ *
+ * Copyright 2009 The Horde Project (http://www.horde.org)
+ * 
+ * @license http://opensource.org/licenses/bsd-license.php
+ * @author  Michael J. Rubinsky <mrubinsk@horde.org>
+ */
+#import <Cocoa/Cocoa.h>
+@class TURAnsel, NSURL;
+
+@interface NSObject (TURAnselGalleryDelegate)
+- (void)TURAnselGalleryDidUploadImage: (id *)gallery;
+@end
+
+@interface TURAnselGallery : NSObject {
+    int _galleryId;
+    int galleryImageCount;
+    int galleryKeyImage;
+    NSURL *galleryKeyImageURL;
+    NSMutableArray *imageList;
+    NSString *galleryName;
+    NSString *galleryDescription;
+    TURAnsel *anselController;
+    id delegate;
+}
+@property (readonly) NSString *galleryName;
+@property (readonly) NSString *galleryDescription;
+@property (readonly) int galleryImageCount;
+@property (readwrite) int galleryKeyImage;
+
+- (id)initWithObject:(id)galleryData controller:(TURAnsel * )controller;
+- (void)uploadImageObject: (NSDictionary *)imageParameters;
+
+// Getter / Setter
+- (void)setDelegate: (id)newDelegate;
+- (id)delegate;
+- (NSURL *)galleryKeyImageURL;
+- (id)listImages;
+- (int)galleryId;
+- (void)setAnselController:(TURAnsel *)newController;
+@end
\ No newline at end of file
diff --git a/ApertureToAnselExportPlugin/TURAnselKit/TURAnselGallery.m b/ApertureToAnselExportPlugin/TURAnselKit/TURAnselGallery.m
new file mode 100644 (file)
index 0000000..9397b10
--- /dev/null
@@ -0,0 +1,216 @@
+/**
+ * TURAnselGallery.m
+ *
+ * Copyright 2009 The Horde Project (http://www.horde.org)
+ * 
+ * @license http://opensource.org/licenses/bsd-license.php
+ * @author  Michael J. Rubinsky <mrubinsk@horde.org>
+ */
+#import <Foundation/Foundation.h>
+#import "TURAnselKit.h"
+
+@interface TURAnselGallery (PrivateAPI)
+- (void)doUpload: (NSDictionary *)imageParams;
+@end
+
+@implementation TURAnselGallery
+
+@synthesize galleryDescription;
+@synthesize galleryName;
+@synthesize galleryImageCount;
+@synthesize galleryKeyImage;
+
+#pragma mark -
+#pragma mark init/dealloc
+/**
+ * Init a gallery object
+ */
+- (id)initWithObject:(id)galleryData controller:(TURAnsel *)controller
+{
+    [super init];
+    [self setValue: [galleryData valueForKey: kTURAnselGalleryKeyId]
+            forKey: @"galleryId"];
+    [self setValue:[galleryData valueForKey: kTURAnselGalleryKeyDescription]
+            forKey:@"galleryDescription"];
+    [self setValue:[galleryData valueForKey: kTURAnselGalleryKeyName]
+            forKey:@"galleryName"];
+    [self setValue: [galleryData valueForKey: kTURAnselGalleryKeyImages]
+            forKey:@"galleryImageCount"];    
+    [self setValue: [galleryData valueForKey: kTURAnselGalleryKeyDefaultImage]
+            forKey:@"galleryKeyImage"];
+    [self setAnselController: controller];
+    return self;
+}
+- (void)dealloc
+{
+    NSLog(@"TURAnselGallery dealloc called on Gallery %@", self);
+    [anselController release];
+    anselController = nil;
+    
+    [galleryKeyImageURL release];
+    galleryKeyImageURL = nil;
+    
+    [imageList release];
+    imageList = nil;
+    
+    [super dealloc];
+}
+- (id)description 
+{
+    NSString *text = [NSString stringWithFormat:@"Description: %@ Id: %d has: %d images", galleryName, _galleryId, galleryImageCount];
+    return text;
+}
+
+#pragma mark -
+#pragma mark Actions
+/**
+ * Requests the gallery's key image url to be fetched from the server
+ * (This information is not present in the gallery definition array returned
+ *  from the images.listGalleries call). 
+ */
+- (NSURL *)galleryKeyImageURL
+{
+    if (galleryKeyImageURL) {
+        return galleryKeyImageURL;
+    } else {
+        NSArray *params = [[NSArray alloc] initWithObjects:
+                           @"ansel",                                         // Scope
+                           [NSNumber numberWithInt: galleryKeyImage],        // Image Id
+                           @"thumb",                                         // Thumbnail type
+                           [NSNumber numberWithBool:YES],                    // Full path
+                           nil];
+
+        NSArray *order = [NSArray arrayWithObjects: kTURAnselAPIParamScope,
+                                                    kTURAnselAPIParamImageId,
+                                                    kTURAnselAPIParamThumbnailStyle,
+                                                    kTURAnselAPIParamFullPath, nil];
+        
+        NSDictionary *response = [anselController callRPCMethod: @"images.getImageUrl"
+                                                       withParams: params
+                                                        withOrder: order];
+        
+        if (response) {
+            NSDictionary *url = [response objectForKey:(id)kWSMethodInvocationResult];
+            [galleryKeyImageURL autorelease];
+            galleryKeyImageURL = [[NSURL URLWithString: [NSString stringWithFormat: @"%@", url]] retain];
+            NSLog(@"galleryKeyImageURL: %@", galleryKeyImageURL);
+            return galleryKeyImageURL;
+        } 
+        
+        return nil;
+    }
+}
+
+/**
+ * Get the complete list of image ids and URLs
+ */
+- (id)listImages
+{
+    if (!imageList) {
+        
+        NSArray *params = [[NSArray alloc] initWithObjects:
+                           @"ansel",                                //Scope
+                           [NSNumber numberWithInt: _galleryId],    //Gallery Id
+                           [NSNumber numberWithInt: 2],             //PERMS_SHOW
+                           @"thumb",                                // Thumbnail
+                           [NSNumber numberWithBool:YES],           // Full path
+                           nil];
+        NSArray *order = [NSArray arrayWithObjects: kTURAnselAPIParamScope,
+                                                    kTURAnselAPIParamGalleryId,
+                                                    kTURAnselAPIParamPerms,
+                                                    kTURAnselAPIParamThumbnailStyle,
+                                                    kTURAnselAPIParamFullPath, nil];
+        
+        NSDictionary *response = [anselController callRPCMethod: @"images.listImages"
+                                                     withParams: params
+                                                      withOrder: order];
+        if (response) {
+            [imageList autorelease];
+            imageList = [[response objectForKey: (id)kWSMethodInvocationResult] retain];
+            
+            NSLog(@"listImages: %@", imageList);
+            
+            return imageList;
+        }
+    }
+    
+    return nil;
+}
+    
+/**
+ * Upload the provided image to this gallery.
+ */
+- (void)uploadImageObject: (NSDictionary *)imageParameters
+{
+    [self doUpload: imageParameters];
+}
+
+#pragma mark -
+#pragma mark Getter/Setter
+- (int)galleryId
+{
+    return _galleryId;
+}
+
+- (void)setGalleryId:(int)id
+{
+    _galleryId = id;
+}
+
+- (id)delegate
+{
+    return delegate;
+}
+
+- (void)setDelegate: (id)newDelegate
+{
+    delegate = newDelegate;
+}
+
+- (void)setAnselController: (TURAnsel *)newController
+{
+    [anselController autorelease];
+    anselController = [newController retain];
+}
+
+- (TURAnsel *)anselController
+{
+    return anselController;
+}
+
+#pragma mark -
+#pragma mark PrivateAPI
+- (void)doUpload:(NSDictionary *)imageParameters
+{
+        // Need to build the params array now.
+        NSArray *params = [[NSArray alloc] initWithObjects:
+                           @"ansel",                                  // app
+                           [NSNumber numberWithInt: _galleryId],      // gallery_id
+                           [imageParameters valueForKey: @"data"],    // image data array   
+                           [imageParameters valueForKey: @"default"], // set as default?
+                           @"",                                       // Additional gallery data to set?      
+                           @"base64",                                 // Image data encoding      
+                           nil];
+        NSArray *order = [NSArray arrayWithObjects: kTURAnselAPIParamScope,
+                                                    kTURAnselAPIParamGalleryId,
+                                                    kTURAnselAPIParamImageData,
+                                                    kTURAnselAPIParamSetAsDefault,
+                                                    kTURAnselAPIParamAdditionalData,
+                                                    kTURAnselAPIParamEncoding, nil];
+        
+        // Send the request up to the controller
+        NSDictionary *result = [anselController callRPCMethod: @"images.saveImage"
+                                                   withParams: params
+                                                    withOrder: order];
+    
+        if (result) {
+            if ([delegate respondsToSelector:@selector(TURAnselGalleryDidUploadImage:)]) {
+                [delegate performSelectorOnMainThread: @selector(TURAnselGalleryDidUploadImage:)
+                                           withObject: self 
+                                        waitUntilDone: NO];
+            }
+        }
+    
+        [params release];
+}
+@end
diff --git a/ApertureToAnselExportPlugin/TURAnselKit/TURAnselGalleryPanelController.h b/ApertureToAnselExportPlugin/TURAnselKit/TURAnselGalleryPanelController.h
new file mode 100644 (file)
index 0000000..b0a8f2e
--- /dev/null
@@ -0,0 +1,36 @@
+/**
+ * TURAnselGalleryPanelController
+ *
+ * Copyright 2009 The Horde Project (http://www.horde.org)
+ * 
+ * @license http://opensource.org/licenses/bsd-license.php
+ * @author  Michael J. Rubinsky <mrubinsk@horde.org>
+ */
+#import <Cocoa/Cocoa.h>
+#import "TURAnselKit.h"
+
+@interface NSObject (TURAnselGalleryPaneControllerDelegate)
+-(void)TURAnselGalleryPanelDidAddGallery;
+@end
+
+@interface TURAnselGalleryPanelController : NSObject {
+    // Outlets
+    IBOutlet NSTextField *galleryNameTextField;
+    IBOutlet NSTextField *gallerySlugTextField;
+    IBOutlet NSTextField *galleryDescTextField;
+    IBOutlet NSPanel *newGallerySheet;
+    
+    // Instance members
+    TURAnsel *_anselController;
+    NSWindow *_controllerWindow;
+    id _delegate;
+}
+
+// Actions
+- (IBAction)doNewGallery: (id)sender;
+- (IBAction)cancelNewGallery: (id)sender;
+- (id)initWithController: (TURAnsel *)theController;
+- (id)initWithController: (TURAnsel *)theController withGalleryName: (NSString *)galleryName;
+- (void)showSheetForWindow: (NSWindow *)theWindow;
+- (void)setDelegate: (id)theDelegate;
+@end
diff --git a/ApertureToAnselExportPlugin/TURAnselKit/TURAnselGalleryPanelController.m b/ApertureToAnselExportPlugin/TURAnselKit/TURAnselGalleryPanelController.m
new file mode 100644 (file)
index 0000000..09aa6c5
--- /dev/null
@@ -0,0 +1,120 @@
+/**
+ * TURAnselGalleryPanelController.m
+ *
+ * Controller for handling the form that creates new remote Ansel galleries.
+ *
+ * Copyright 2009 The Horde Project (http://www.horde.org)
+ * 
+ * @license http://opensource.org/licenses/bsd-license.php
+ * @author  Michael J. Rubinsky <mrubinsk@horde.org>
+ */
+#import "TURAnselGalleryPanelController.h"
+
+@implementation TURAnselGalleryPanelController
+
+#pragma mark -
+#pragma mark init/dealloc
+-(id)initWithController: (TURAnsel *)theController
+{
+    [super init];
+    _anselController = [theController retain];
+    [NSBundle loadNibNamed: @"AnselGalleryPanel"
+                     owner: self];
+    
+    return self;
+}
+- (id)initWithController: (TURAnsel *)theController
+         withGalleryName: (NSString *)galleryName 
+{
+    
+    [super init];
+    _anselController = [theController retain];
+    [NSBundle loadNibNamed: @"AnselGalleryPanel"
+                     owner: self];
+    
+    [galleryNameTextField setStringValue: galleryName];
+    
+    return self;      
+}
+- (void)dealloc 
+{
+    [_anselController release];
+    [_controllerWindow release];
+    [super dealloc];
+}
+
+#pragma mark -
+#pragma mark IBActions
+- (IBAction)cancelNewGallery: (id)sender
+{
+    [NSApp endSheet: newGallerySheet];
+    [newGallerySheet orderOut: nil];   
+}
+
+- (IBAction)doNewGallery: (id)sender
+{
+    // Get Gallery Properties from the panel.
+    NSString *galleryName = [galleryNameTextField stringValue];
+    NSString *gallerySlug = [gallerySlugTextField stringValue];
+    NSString *galleryDescription = [galleryDescTextField stringValue];
+    
+    if (!galleryName) {
+        
+        [NSApp endSheet: newGallerySheet];
+        [newGallerySheet orderOut: nil];
+        
+        NSAlert *alert = [[NSAlert alloc] init];
+        [alert setMessageText:@"Gallery names cannot be empty"];
+        [alert setAlertStyle: NSCriticalAlertStyle];
+        [alert beginSheetModalForWindow: _controllerWindow
+                          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: _controllerWindow
+                          modalDelegate: nil
+                         didEndSelector: nil
+                            contextInfo: nil];
+        [alert release];
+        if ([_delegate respondsToSelector:@selector(TURAnselGalleryPanelDidAddGallery)]) {
+            [_delegate TURAnselGalleryPanelDidAddGallery];
+        }
+    }
+    
+    [results release];
+}
+
+
+- (void)setDelegate: (id)theDelegate
+{
+    _delegate = theDelegate; // weak
+}
+
+
+- (void)showSheetForWindow: (NSWindow *)theWindow
+{
+    [_controllerWindow release];
+    _controllerWindow = [theWindow retain];
+    [NSApp beginSheet: newGallerySheet
+       modalForWindow: theWindow
+        modalDelegate: nil
+       didEndSelector: nil
+          contextInfo: nil];
+}
+
+@end
diff --git a/ApertureToAnselExportPlugin/TURAnselKit/TURAnselKit.h b/ApertureToAnselExportPlugin/TURAnselKit/TURAnselKit.h
new file mode 100644 (file)
index 0000000..7a4277a
--- /dev/null
@@ -0,0 +1,4 @@
+#import "TURAnselConstants.h"
+#import "TURAnsel.h"
+#import "TURAnselGallery.h"
+