adium 3910:efd66da389b6: "Format names as:" is now a token field...

commits at adium.im commits at adium.im
Tue May 24 15:51:59 UTC 2011


details:	http://hg.adium.im/adium/rev/efd66da389b6
revision:	3910:efd66da389b6
branch:		(none)
author:		Patrick Steinhardt <steinhardt.p at me.com>
date:		Tue May 24 17:40:19 2011 +0200

"Format names as:" is now a token field. Fixes #3116, fixes #15184, fixes #7394.

r=xnyhps

diffs (truncated from 2678 to 1000 lines):

diff -r 230d8e1fc93f -r efd66da389b6 Frameworks/Adium Framework/Resources/AB Display Format Defaults.plist
--- a/Frameworks/Adium Framework/Resources/AB Display Format Defaults.plist	Tue May 24 15:50:49 2011 +0200
+++ b/Frameworks/Adium Framework/Resources/AB Display Format Defaults.plist	Tue May 24 17:40:19 2011 +0200
@@ -1,22 +1,24 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
 <plist version="1.0">
 <dict>
+	<key>AB Create MetaContacts</key>
+	<true/>
+	<key>AB Display Format String</key>
+	<string>%[FIRSTFULL] %[LASTFULL]</string>
 	<key>AB Enable Import</key>
 	<true/>
-	<key>AB Display Format</key>
-	<integer>0</integer>
 	<key>AB Image Sync</key>
 	<false/>
 	<key>AB Note Sync</key>
 	<false/>
-	<key>AB Use NickName</key>
-	<true/>
 	<key>AB Prefer AB Images</key>
 	<false/>
 	<key>AB Use AB Images</key>
 	<true/>
-	<key>AB Create MetaContacts</key>
+	<key>AB Use FirstName</key>
+	<true/>
+	<key>AB Use NickName</key>
 	<true/>
 </dict>
 </plist>
diff -r 230d8e1fc93f -r efd66da389b6 Frameworks/Adium Framework/Source/AIAddressBookController.h
--- a/Frameworks/Adium Framework/Source/AIAddressBookController.h	Tue May 24 15:50:49 2011 +0200
+++ b/Frameworks/Adium Framework/Source/AIAddressBookController.h	Tue May 24 17:40:19 2011 +0200
@@ -21,28 +21,30 @@
 
 #define PREF_GROUP_ADDRESSBOOK					@"Address Book"
 #define KEY_AB_ENABLE_IMPORT					@"AB Enable Import"
-#define KEY_AB_DISPLAYFORMAT					@"AB Display Format"
+#define KEY_AB_DISPLAYFORMAT					@"AB Display Format String"
 #define KEY_AB_NOTE_SYNC						@"AB Note Sync"
 #define KEY_AB_USE_IMAGES						@"AB Use AB Images"
 #define KEY_AB_IMAGE_SYNC						@"AB Image Sync"
 #define KEY_AB_PREFER_ADDRESS_BOOK_IMAGES		@"AB Prefer AB Images"
+#define KEY_AB_USE_FIRSTNAME					@"AB Use FirstName"
 #define KEY_AB_USE_NICKNAME						@"AB Use NickName"
-#define KEY_AB_USE_MIDDLE						@"AB Use Middle Name"
 #define KEY_AB_CREATE_METACONTACTS				@"AB Create MetaContacts"
-
 #define AB_DISPLAYFORMAT_DEFAULT_PREFS			@"AB Display Format Defaults"
 
+#define FORMAT_FULL								@"FULL"
+#define FORMAT_INITIAL							@"INITIAL"
+#define FORMAT_FIRST_INITIAL					@"%[FIRSTINITIAL]"
+#define FORMAT_FIRST_FULL						@"%[FIRSTFULL]"
+#define FORMAT_MIDDLE_INITIAL					@"%[MIDDLEINITIAL]"
+#define FORMAT_MIDDLE_FULL						@"%[MIDDLEFULL]"
+#define FORMAT_LAST_INITIAL						@"%[LASTINITIAL]"
+#define FORMAT_LAST_FULL						@"%[LASTFULL]"
+#define FORMAT_NICK_INITIAL						@"%[NICKINITIAL]"
+#define FORMAT_NICK_FULL						@"%[NICKFULL]"
+
 @class AIService, AIAddressBookUserIconSource;
 
 typedef enum {
-	FirstLast = 0,
-	First,
-	LastFirst,
-	LastFirstNoComma,
-	FirstLastInitial
-} NameStyle;
-
-typedef enum {
 	AIRequiresAddressBookEntry,
 	AIRequiresNoAddressBookEntry
 } AIAddressBookContextMenuTag;
@@ -55,10 +57,10 @@
 
 	NSInteger			meTag;
     
-	NameStyle			displayFormat;
+	NSString				*displayFormat;
 	BOOL					enableImport;
+	BOOL					useFirstName;
 	BOOL					useNickName;
-	BOOL					useMiddleName;
 	BOOL					automaticUserIconSync;
 	BOOL					createMetaContacts;
 	
diff -r 230d8e1fc93f -r efd66da389b6 Frameworks/Adium Framework/Source/AIAddressBookController.m
--- a/Frameworks/Adium Framework/Source/AIAddressBookController.m	Tue May 24 15:50:49 2011 +0200
+++ b/Frameworks/Adium Framework/Source/AIAddressBookController.m	Tue May 24 17:40:19 2011 +0200
@@ -105,7 +105,50 @@
 		
 		//We want the enableImport preference immediately (without waiting for the preferences observer to be registered in adiumFinishedLaunching:)
 		enableImport = [[adium.preferenceController preferenceForKey:KEY_AB_ENABLE_IMPORT
-									 group:PREF_GROUP_ADDRESSBOOK] boolValue];
+															   group:PREF_GROUP_ADDRESSBOOK] boolValue];
+		
+		//If Address Book integration is enabled, we need those preferences to determine contact's names
+		if (enableImport) {
+			displayFormat = [[adium.preferenceController preferenceForKey:KEY_AB_DISPLAYFORMAT
+																	group:PREF_GROUP_ADDRESSBOOK] retain];
+			useFirstName = [[adium.preferenceController preferenceForKey:KEY_AB_USE_FIRSTNAME
+																   group:PREF_GROUP_ADDRESSBOOK] boolValue];
+			useNickName = [[adium.preferenceController preferenceForKey:KEY_AB_USE_NICKNAME
+																  group:PREF_GROUP_ADDRESSBOOK] boolValue];
+		}
+		
+		//If old format-menu preference is set, perform migration
+		if ([adium.preferenceController preferenceForKey:@"AB Display Format" group:PREF_GROUP_ADDRESSBOOK]) {
+
+			[displayFormat release];
+
+			NSInteger oldPreference = [[adium.preferenceController preferenceForKey:@"AB Display Format" group:PREF_GROUP_ADDRESSBOOK] integerValue];
+			
+			switch (oldPreference) {
+				case 0: //firstlast
+					displayFormat = [[NSString alloc] initWithFormat:@"%@ %@", FORMAT_FIRST_FULL, FORMAT_LAST_FULL];
+					break;
+				case 1: //first
+					displayFormat = [FORMAT_FIRST_FULL retain];
+					break;
+				case 2: //lastfirst
+					displayFormat = [[NSString alloc] initWithFormat:@"%@, %@", FORMAT_LAST_FULL, FORMAT_FIRST_FULL];
+					break;
+				case 3: //lastfirstnocomma
+					displayFormat = [[NSString alloc] initWithFormat:@"%@ %@", FORMAT_LAST_FULL, FORMAT_FIRST_FULL];
+					break;
+				case 4: //firstlastinitial
+					displayFormat = [[NSString alloc] initWithFormat:@"%@ %@", FORMAT_FIRST_FULL, FORMAT_LAST_INITIAL];
+					break;
+				default:
+					displayFormat = [[NSString alloc] initWithFormat:@"%@ %@", FORMAT_FIRST_FULL, FORMAT_LAST_FULL];
+			}
+			
+			[adium.preferenceController setPreference:nil forKey:@"AB Display Format" group:PREF_GROUP_ADDRESSBOOK];
+			[adium.preferenceController setPreference:displayFormat 
+											   forKey:KEY_AB_DISPLAYFORMAT
+												group:PREF_GROUP_ADDRESSBOOK];
+		}
 		
 		//Services dictionary
 		serviceDict = [[NSDictionary dictionaryWithObjectsAndKeys:kABAIMInstantProperty,@"AIM",
@@ -126,7 +169,7 @@
 						 object:nil];
 		
 		//Update self immediately so the information is available to plugins and interface elements as they load
-		[self updateSelfIncludingIcon:YES];	
+		[self updateSelfIncludingIcon:YES];
 	}
 	return self;
 }
@@ -197,6 +240,8 @@
 	[adium.preferenceController unregisterPreferenceObserver:self];
 	[[NSNotificationCenter defaultCenter] removeObserver:self];
 
+	[displayFormat release]; displayFormat = nil;
+
 	[super dealloc];
 }
 
@@ -400,97 +445,81 @@
  *
  * @param person An <tt>ABPerson</tt>
  * @param phonetic A pointer to an <tt>NSString</tt> which will be filled with the phonetic display name if available
- * @result A string based on the first name, last name, and/or nickname of the person, as specified via preferences.
+ * @result A string based on the first name, middle name, last name, and/or nickname of the person, as specified via preferences.
  */
 - (NSString *)nameForPerson:(ABPerson *)person phonetic:(NSString **)phonetic
 {
-	NSString *firstName, *middleName, *lastName, *phoneticFirstName, *phoneticLastName;	
-	NSString *nickName;
-	NSString *displayName = nil;
-	NSNumber *flags;
-	NameStyle thisDisplayFormat = displayFormat;
+	NSString *firstName = [person valueForProperty:kABFirstNameProperty];
+	NSString *middleName = [person valueForProperty:kABMiddleNameProperty];
+	NSString *lastName = [person valueForProperty:kABLastNameProperty];
+	NSString *nickName = [person valueForProperty:kABNicknameProperty]; 
+	NSString *phoneticFirstName = [person valueForProperty:kABFirstNamePhoneticProperty]; 
+	NSString *phoneticMiddleName = [person valueForProperty:kABMiddleNamePhoneticProperty];
+	NSString *phoneticLastName = [person valueForProperty:kABLastNamePhoneticProperty];
+	
+	NSString *displayName = displayFormat;
+
+	// Fallback if format string is empty or unexpected
+	if (!displayName || ![displayName isKindOfClass:[NSString class]] || [displayName isEqualToString:@""]) {
+		displayName = FORMAT_FIRST_FULL;
+	}
 	
 	// If the record is for a company, return the company name if present
-	if ((flags = [person valueForProperty:kABPersonFlags])) {
-		if (([flags integerValue] & kABShowAsMask) == kABShowAsCompany) {
-			NSString *companyName = [person valueForProperty:kABOrganizationProperty];
-			if (companyName && [companyName length]) {
-				return companyName;
-			}
-		}
-
-		if (([flags integerValue] & kABNameOrderingMask) == kABLastNameFirst) {
-			if (thisDisplayFormat == FirstLast) {
-				thisDisplayFormat = LastFirstNoComma;
-			}
+	if (([[person valueForProperty:kABPersonFlags] integerValue] & kABShowAsMask) == kABShowAsCompany) {
+		NSString *companyName = [person valueForProperty:kABOrganizationProperty];
+		if (companyName && [companyName length]) {
+			return companyName;
 		}
 	}
+
+	BOOL havePhonetic = ((phonetic != NULL) && (phoneticFirstName || phoneticMiddleName || phoneticLastName));
+	
+	if (useFirstName && (!nickName || [nickName isEqualToString:@""]) && firstName)
+		nickName = firstName;
+	else if (useNickName && (!firstName || [firstName isEqualToString:@""]) && nickName)
+		firstName = nickName;
+
+
+	displayName = [displayName stringByReplacingOccurrencesOfString:FORMAT_FIRST_FULL
+														 withString:firstName ? firstName : @""];
+	displayName = [displayName stringByReplacingOccurrencesOfString:FORMAT_FIRST_INITIAL
+														 withString:firstName ? [firstName substringToIndex:1] : @""];
+	
+	displayName = [displayName stringByReplacingOccurrencesOfString:FORMAT_MIDDLE_FULL
+														 withString:middleName ? middleName : @""];
+	displayName = [displayName stringByReplacingOccurrencesOfString:FORMAT_MIDDLE_INITIAL
+														 withString:middleName ? [middleName substringToIndex:1] : @""];
+	
+	displayName = [displayName stringByReplacingOccurrencesOfString:FORMAT_LAST_FULL
+														 withString:lastName ? lastName : @""];
+	displayName = [displayName stringByReplacingOccurrencesOfString:FORMAT_LAST_INITIAL
+														 withString:lastName ? [lastName substringToIndex:1] : @""];
+
+	displayName = [displayName stringByReplacingOccurrencesOfString:FORMAT_NICK_FULL
+														 withString:nickName ? nickName : @""];
+	displayName = [displayName stringByReplacingOccurrencesOfString:FORMAT_NICK_INITIAL
+														 withString:nickName ? [nickName substringToIndex:1] : @""];
+
+	if (havePhonetic) {
+		*phonetic = displayFormat;
 		
-	firstName = [person valueForProperty:kABFirstNameProperty];
-	middleName = [person valueForProperty:kABMiddleNameProperty];
-	lastName = [person valueForProperty:kABLastNameProperty];
-	phoneticFirstName = [person valueForProperty:kABFirstNamePhoneticProperty];
-	phoneticLastName = [person valueForProperty:kABLastNamePhoneticProperty];
-	
-	//
-	if (useMiddleName && middleName)
-		firstName = [NSString stringWithFormat:@"%@ %@", firstName, middleName];
-
-	if (useNickName &&
-		(nickName = [person valueForProperty:kABNicknameProperty]) &&
-		![nickName isEqualToString:@""]) {
-		displayName = nickName;
-
-	} else if (!lastName || (thisDisplayFormat == First)) {  
-		/* If no last name is available, use the first name */
-		displayName = firstName;
-		if (phonetic != NULL) *phonetic = phoneticFirstName;
-
-	} else if (!firstName) {
-		/* If no first name is available, use the last name */
-		displayName = lastName;
-		if (phonetic != NULL) *phonetic = phoneticLastName;
-
-	} else {
-		BOOL havePhonetic = ((phonetic != NULL) && (phoneticFirstName || phoneticLastName));
-
-		/* Look to the preference setting */
-		switch (thisDisplayFormat) {
-			case FirstLast:
-				displayName = [NSString stringWithFormat:@"%@ %@",firstName,lastName];
-				if (havePhonetic) {
-					*phonetic = [NSString stringWithFormat:@"%@ %@",
-						(phoneticFirstName ? phoneticFirstName : firstName),
-						(phoneticLastName ? phoneticLastName : lastName)];
-				}
-				break;
-			case LastFirst:
-				displayName = [NSString stringWithFormat:@"%@, %@",lastName,firstName]; 
-				if (havePhonetic) {
-					*phonetic = [NSString stringWithFormat:@"%@, %@",
-						(phoneticLastName ? phoneticLastName : lastName),
-						(phoneticFirstName ? phoneticFirstName : firstName)];
-				}
-				break;
-			case LastFirstNoComma:
-				displayName = [NSString stringWithFormat:@"%@ %@",lastName,firstName]; 
-				if (havePhonetic) {
-					*phonetic = [NSString stringWithFormat:@"%@ %@",
-						(phoneticLastName ? phoneticLastName : lastName),
-						(phoneticFirstName ? phoneticFirstName : firstName)];
-				}					
-				break;
-			case FirstLastInitial:
-				displayName = [NSString stringWithFormat:@"%@ %@",firstName,[lastName substringToIndex:1]]; 
-				if (havePhonetic) {
-					*phonetic = [NSString stringWithFormat:@"%@ %@",
-								 (phoneticFirstName ? phoneticFirstName : firstName),
-								 [lastName substringToIndex:1]];
-				}
-			case First:
-				//No action; handled before we reach the switch statement
-				break;
-		}
+		*phonetic = [*phonetic stringByReplacingOccurrencesOfString:FORMAT_FIRST_FULL
+														 withString:phoneticFirstName ? phoneticFirstName : @""];
+		*phonetic = [*phonetic stringByReplacingOccurrencesOfString:FORMAT_FIRST_INITIAL
+														 withString:phoneticFirstName ? [phoneticFirstName substringToIndex:1] : @""];
+		
+		*phonetic = [*phonetic stringByReplacingOccurrencesOfString:FORMAT_MIDDLE_FULL
+														 withString:phoneticMiddleName ? phoneticMiddleName : @""];
+		*phonetic = [*phonetic stringByReplacingOccurrencesOfString:FORMAT_MIDDLE_INITIAL
+														 withString:phoneticMiddleName ? [phoneticMiddleName substringToIndex:1] : @""];
+		
+		*phonetic = [*phonetic stringByReplacingOccurrencesOfString:FORMAT_LAST_FULL
+														 withString:phoneticLastName ? phoneticLastName : @""];
+		*phonetic = [*phonetic stringByReplacingOccurrencesOfString:FORMAT_LAST_INITIAL
+														 withString:phoneticLastName ? [phoneticLastName substringToIndex:1] : @""];
+		
+		*phonetic = [*phonetic stringByReplacingOccurrencesOfString:FORMAT_NICK_FULL withString:@""];
+		*phonetic = [*phonetic stringByReplacingOccurrencesOfString:FORMAT_NICK_INITIAL withString:@""];
 	}
 
 	return displayName;
@@ -519,10 +548,11 @@
 
 	//load new displayFormat
 	enableImport = [[prefDict objectForKey:KEY_AB_ENABLE_IMPORT] boolValue];
-	displayFormat = (NameStyle)[[prefDict objectForKey:KEY_AB_DISPLAYFORMAT] integerValue];
 	automaticUserIconSync = [[prefDict objectForKey:KEY_AB_IMAGE_SYNC] boolValue];
+	useFirstName = [[prefDict objectForKey:KEY_AB_USE_FIRSTNAME] boolValue];
 	useNickName = [[prefDict objectForKey:KEY_AB_USE_NICKNAME] boolValue];
-	useMiddleName = [[prefDict objectForKey:KEY_AB_USE_MIDDLE] boolValue];
+	displayFormat = [[prefDict objectForKey:KEY_AB_DISPLAYFORMAT] retain];
+
 
 	createMetaContacts = [[prefDict objectForKey:KEY_AB_CREATE_METACONTACTS] boolValue];
 	
@@ -942,7 +972,7 @@
 			
 			//Set account display names
 			if (enableImport) {
-				NSString		*myPhonetic = nil;
+				NSString *myPhonetic = nil;
 				NSString *myDisplayName = [self nameForPerson:me phonetic:&myPhonetic];
 				
 				for (AIAccount *account in adium.accountController.accounts) {
@@ -960,8 +990,8 @@
 				}
 
 				[adium.preferenceController registerDefaults:[NSDictionary dictionaryWithObject:[[NSAttributedString stringWithString:myDisplayName] dataRepresentation]
-																						   forKey:KEY_ACCOUNT_DISPLAY_NAME]
-													  forGroup:GROUP_ACCOUNT_STATUS];
+																						 forKey:KEY_ACCOUNT_DISPLAY_NAME]
+													forGroup:GROUP_ACCOUNT_STATUS];
 			}
         }
 	}
diff -r 230d8e1fc93f -r efd66da389b6 Resources/AddressBookPrefs.nib/classes.nib
--- a/Resources/AddressBookPrefs.nib/classes.nib	Tue May 24 15:50:49 2011 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,63 +0,0 @@
-{
-    IBClasses = (
-        {
-            CLASS = AILocalizationButton; 
-            LANGUAGE = ObjC; 
-            OUTLETS = {
-                "view_anchorToLeftSide" = NSView; 
-                "view_anchorToRightSide" = NSView; 
-                "window_anchorOnLeftSide" = NSWindow; 
-                "window_anchorOnRightSide" = NSWindow; 
-            }; 
-            SUPERCLASS = NSButton; 
-        }, 
-        {
-            CLASS = AILocalizationTextField; 
-            LANGUAGE = ObjC; 
-            OUTLETS = {
-                "view_anchorToLeftSide" = NSView; 
-                "view_anchorToRightSide" = NSView; 
-                "window_anchorOnLeftSide" = NSWindow; 
-            }; 
-            SUPERCLASS = NSTextField; 
-        }, 
-        {
-            ACTIONS = {changePreference = id; }; 
-            CLASS = AIPreferencePane; 
-            LANGUAGE = ObjC; 
-            OUTLETS = {
-                delegate = id; 
-                "textField_title" = NSTextField; 
-                view = NSView; 
-                "view_containerSubView" = NSView; 
-                "view_containerView" = NSView; 
-            }; 
-            SUPERCLASS = NSObject; 
-        }, 
-        {
-            ACTIONS = {changePreference = id; }; 
-            CLASS = ESAddressBookIntegrationAdvancedPreferences; 
-            LANGUAGE = ObjC; 
-            OUTLETS = {
-                "checkBox_enableImport" = NSButton; 
-                "checkBox_enableNoteSync" = NSButton; 
-                "checkBox_metaContacts" = NSButton; 
-                "checkBox_preferABImages" = NSButton; 
-                "checkBox_syncAutomatic" = NSButton; 
-                "checkBox_useABImages" = NSButton; 
-                "checkBox_useMiddleName" = NSButton; 
-                "checkBox_useNickName" = NSButton; 
-                "label_contacts" = AILocalizationTextField; 
-                "label_formatNamesAs" = AILocalizationTextField; 
-                "label_images" = AILocalizationTextField; 
-                "label_names" = AILocalizationTextField; 
-                "popUp_formatMenu" = NSPopUpButton; 
-            }; 
-            SUPERCLASS = AIPreferencePane; 
-        }, 
-        {CLASS = FirstResponder; LANGUAGE = ObjC; SUPERCLASS = NSObject; }, 
-        {CLASS = NSButton; LANGUAGE = ObjC; SUPERCLASS = NSControl; }, 
-        {CLASS = NSObject; LANGUAGE = ObjC; }
-    ); 
-    IBVersion = 1; 
-}
\ No newline at end of file
diff -r 230d8e1fc93f -r efd66da389b6 Resources/AddressBookPrefs.nib/designable.nib
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Resources/AddressBookPrefs.nib/designable.nib	Tue May 24 17:40:19 2011 +0200
@@ -0,0 +1,1768 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<archive type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="8.00">
+	<data>
+		<int key="IBDocument.SystemTarget">1060</int>
+		<string key="IBDocument.SystemVersion">10J869</string>
+		<string key="IBDocument.InterfaceBuilderVersion">1305</string>
+		<string key="IBDocument.AppKitVersion">1038.35</string>
+		<string key="IBDocument.HIToolboxVersion">461.00</string>
+		<object class="NSMutableDictionary" key="IBDocument.PluginVersions">
+			<string key="NS.key.0">com.apple.InterfaceBuilder.CocoaPlugin</string>
+			<string key="NS.object.0">1305</string>
+		</object>
+		<array key="IBDocument.IntegratedClassDependencies">
+			<string>NSTextField</string>
+			<string>NSView</string>
+			<string>NSCustomObject</string>
+			<string>NSTextFieldCell</string>
+			<string>NSTokenField</string>
+			<string>NSTokenFieldCell</string>
+			<string>NSCustomView</string>
+			<string>NSButtonCell</string>
+			<string>NSButton</string>
+			<string>NSUserDefaultsController</string>
+			<string>NSBox</string>
+		</array>
+		<array key="IBDocument.PluginDependencies">
+			<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
+		</array>
+		<object class="NSMutableDictionary" key="IBDocument.Metadata">
+			<string key="NS.key.0">PluginDependencyRecalculationVersion</string>
+			<integer value="1" key="NS.object.0"/>
+		</object>
+		<array class="NSMutableArray" key="IBDocument.RootObjects" id="774960981">
+			<object class="NSCustomObject" id="186189435">
+				<string key="NSClassName">ESAddressBookIntegrationAdvancedPreferences</string>
+			</object>
+			<object class="NSCustomObject" id="187384081">
+				<string key="NSClassName">FirstResponder</string>
+			</object>
+			<object class="NSCustomObject" id="1031384383">
+				<string key="NSClassName">NSApplication</string>
+			</object>
+			<object class="NSCustomView" id="1056980084">
+				<reference key="NSNextResponder"/>
+				<int key="NSvFlags">274</int>
+				<array class="NSMutableArray" key="NSSubviews">
+					<object class="NSButton" id="830040855">
+						<reference key="NSNextResponder" ref="1056980084"/>
+						<int key="NSvFlags">268</int>
+						<string key="NSFrame">{{19, 149}, {245, 18}}</string>
+						<reference key="NSSuperview" ref="1056980084"/>
+						<reference key="NSWindow"/>
+						<reference key="NSNextKeyView" ref="401818986"/>
+						<bool key="NSEnabled">YES</bool>
+						<object class="NSButtonCell" key="NSCell" id="369834959">
+							<int key="NSCellFlags">67239424</int>
+							<int key="NSCellFlags2">131072</int>
+							<string key="NSContents">Use Nick if First is not available</string>
+							<object class="NSFont" key="NSSupport" id="115310829">
+								<string key="NSName">LucidaGrande</string>
+								<double key="NSSize">11</double>
+								<int key="NSfFlags">16</int>
+							</object>
+							<reference key="NSControlView" ref="830040855"/>
+							<int key="NSButtonFlags">1211912703</int>
+							<int key="NSButtonFlags2">2</int>
+							<object class="NSCustomResource" key="NSNormalImage" id="544096904">
+								<string key="NSClassName">NSImage</string>
+								<string key="NSResourceName">NSSwitch</string>
+							</object>
+							<object class="NSButtonImageSource" key="NSAlternateImage" id="935110434">
+								<string key="NSImageName">NSSwitch</string>
+							</object>
+							<string key="NSAlternateContents"/>
+							<string key="NSKeyEquivalent"/>
+							<int key="NSPeriodicDelay">200</int>
+							<int key="NSPeriodicInterval">25</int>
+						</object>
+					</object>
+					<object class="NSButton" id="940660">
+						<reference key="NSNextResponder" ref="1056980084"/>
+						<int key="NSvFlags">268</int>
+						<string key="NSFrame">{{19, 169}, {245, 18}}</string>
+						<reference key="NSSuperview" ref="1056980084"/>
+						<reference key="NSWindow"/>
+						<reference key="NSNextKeyView" ref="830040855"/>
+						<bool key="NSEnabled">YES</bool>
+						<object class="NSButtonCell" key="NSCell" id="79274371">
+							<int key="NSCellFlags">67239424</int>
+							<int key="NSCellFlags2">131072</int>
+							<string key="NSContents">Use First if Nick is not available</string>
+							<reference key="NSSupport" ref="115310829"/>
+							<reference key="NSControlView" ref="940660"/>
+							<int key="NSButtonFlags">1211912703</int>
+							<int key="NSButtonFlags2">2</int>
+							<reference key="NSNormalImage" ref="544096904"/>
+							<reference key="NSAlternateImage" ref="935110434"/>
+							<string key="NSAlternateContents"/>
+							<string key="NSKeyEquivalent"/>
+							<int key="NSPeriodicDelay">200</int>
+							<int key="NSPeriodicInterval">25</int>
+						</object>
+					</object>
+					<object class="NSBox" id="49347676">
+						<reference key="NSNextResponder" ref="1056980084"/>
+						<int key="NSvFlags">12</int>
+						<array class="NSMutableArray" key="NSSubviews">
+							<object class="NSView" id="636212990">
+								<reference key="NSNextResponder" ref="49347676"/>
+								<int key="NSvFlags">256</int>
+								<array class="NSMutableArray" key="NSSubviews">
+									<object class="NSTextField" id="970388425">
+										<reference key="NSNextResponder" ref="636212990"/>
+										<int key="NSvFlags">268</int>
+										<string key="NSFrame">{{10, 15}, {70, 14}}</string>
+										<reference key="NSSuperview" ref="636212990"/>
+										<reference key="NSWindow"/>
+										<reference key="NSNextKeyView" ref="287063788"/>
+										<bool key="NSEnabled">YES</bool>
+										<object class="NSTextFieldCell" key="NSCell" id="781720128">
+											<int key="NSCellFlags">68288064</int>
+											<int key="NSCellFlags2">272630784</int>
+											<string key="NSContents">Middle</string>
+											<reference key="NSSupport" ref="115310829"/>
+											<reference key="NSControlView" ref="970388425"/>
+											<object class="NSColor" key="NSBackgroundColor" id="314505115">
+												<int key="NSColorSpace">6</int>
+												<string key="NSCatalogName">System</string>
+												<string key="NSColorName">controlColor</string>
+												<object class="NSColor" key="NSColor">
+													<int key="NSColorSpace">3</int>
+													<bytes key="NSWhite">MC42NjY2NjY2NjY3AA</bytes>
+												</object>
+											</object>
+											<object class="NSColor" key="NSTextColor" id="552919332">
+												<int key="NSColorSpace">6</int>
+												<string key="NSCatalogName">System</string>
+												<string key="NSColorName">controlTextColor</string>
+												<object class="NSColor" key="NSColor">
+													<int key="NSColorSpace">3</int>
+													<bytes key="NSWhite">MAA</bytes>
+												</object>
+											</object>
+										</object>
+									</object>
+									<object class="NSTextField" id="23064184">
+										<reference key="NSNextResponder" ref="636212990"/>
+										<int key="NSvFlags">268</int>
+										<string key="NSFrame">{{10, 40}, {70, 14}}</string>
+										<reference key="NSSuperview" ref="636212990"/>
+										<reference key="NSWindow"/>
+										<reference key="NSNextKeyView" ref="195663535"/>
+										<bool key="NSEnabled">YES</bool>
+										<object class="NSTextFieldCell" key="NSCell" id="258882054">
+											<int key="NSCellFlags">68288064</int>
+											<int key="NSCellFlags2">272630784</int>
+											<string key="NSContents">First</string>
+											<reference key="NSSupport" ref="115310829"/>
+											<reference key="NSControlView" ref="23064184"/>
+											<reference key="NSBackgroundColor" ref="314505115"/>
+											<reference key="NSTextColor" ref="552919332"/>
+										</object>
+									</object>
+									<object class="NSTextField" id="981902426">
+										<reference key="NSNextResponder" ref="636212990"/>
+										<int key="NSvFlags">268</int>
+										<string key="NSFrame">{{179, 40}, {70, 14}}</string>
+										<reference key="NSSuperview" ref="636212990"/>
+										<reference key="NSWindow"/>
+										<reference key="NSNextKeyView" ref="576439752"/>
+										<bool key="NSEnabled">YES</bool>
+										<object class="NSTextFieldCell" key="NSCell" id="1061240405">
+											<int key="NSCellFlags">68288064</int>
+											<int key="NSCellFlags2">272630784</int>
+											<string key="NSContents">Last</string>
+											<reference key="NSSupport" ref="115310829"/>
+											<reference key="NSControlView" ref="981902426"/>
+											<reference key="NSBackgroundColor" ref="314505115"/>
+											<reference key="NSTextColor" ref="552919332"/>
+										</object>
+									</object>
+									<object class="NSTextField" id="968337851">
+										<reference key="NSNextResponder" ref="636212990"/>
+										<int key="NSvFlags">268</int>
+										<string key="NSFrame">{{179, 15}, {70, 14}}</string>
+										<reference key="NSSuperview" ref="636212990"/>
+										<reference key="NSWindow"/>
+										<reference key="NSNextKeyView" ref="909944675"/>
+										<bool key="NSEnabled">YES</bool>
+										<object class="NSTextFieldCell" key="NSCell" id="922932982">
+											<int key="NSCellFlags">68288064</int>
+											<int key="NSCellFlags2">272630784</int>
+											<string key="NSContents">Nick</string>
+											<reference key="NSSupport" ref="115310829"/>
+											<reference key="NSControlView" ref="968337851"/>
+											<reference key="NSBackgroundColor" ref="314505115"/>
+											<reference key="NSTextColor" ref="552919332"/>
+										</object>
+									</object>
+									<object class="NSTokenField" id="195663535">
+										<reference key="NSNextResponder" ref="636212990"/>
+										<int key="NSvFlags">268</int>
+										<set class="NSMutableSet" key="NSDragTypes">
+											<string>NSStringPboardType</string>
+										</set>
+										<string key="NSFrame">{{79, 39}, {93, 17}}</string>
+										<reference key="NSSuperview" ref="636212990"/>
+										<reference key="NSWindow"/>
+										<reference key="NSNextKeyView" ref="981902426"/>
+										<bool key="NSEnabled">YES</bool>
+										<object class="NSTokenFieldCell" key="NSCell" id="728397387">
+											<int key="NSCellFlags">69336641</int>
+											<int key="NSCellFlags2">2048</int>
+											<object class="NSMutableAttributedString" key="NSContents">
+												<object class="NSMutableString" key="NSString">
+													<bytes key="NS.bytes">77+8A</bytes>
+												</object>
+												<dictionary key="NSAttributes">
+													<object class="NSTokenAttachment" key="NSAttachment">
+														<nil key="NSFileWrapper"/>
+														<object class="NSTokenAttachmentCell" key="NSCell">
+															<int key="NSCellFlags">67239488</int>
+															<int key="NSCellFlags2">134219776</int>
+															<string key="NSContents">Evan</string>
+															<object class="NSFont" key="NSSupport" id="333335360">
+																<string key="NSName">LucidaGrande</string>
+																<double key="NSSize">13</double>
+																<int key="NSfFlags">1044</int>
+															</object>
+															<string key="NSRepresentedObject">Evan</string>
+															<reference key="NSTextColor" ref="552919332"/>
+														</object>
+														<reference key="NS.delegate" ref="728397387"/>
+													</object>
+													<reference key="NSColor" ref="552919332"/>
+													<reference key="NSFont" ref="333335360"/>
+													<reference key="NSOriginalFont" ref="333335360"/>
+													<object class="NSMutableParagraphStyle" key="NSParagraphStyle">
+														<int key="NSLineBreakMode">4</int>
+														<nil key="NSTabStops"/>
+													</object>
+												</dictionary>
+											</object>
+											<reference key="NSSupport" ref="333335360"/>
+											<reference key="NSControlView" ref="195663535"/>
+											<object class="NSColor" key="NSBackgroundColor" id="345160299">
+												<int key="NSColorSpace">6</int>
+												<string key="NSCatalogName">System</string>
+												<string key="NSColorName">textBackgroundColor</string>
+												<object class="NSColor" key="NSColor">
+													<int key="NSColorSpace">3</int>
+													<bytes key="NSWhite">MQA</bytes>
+												</object>
+											</object>
+											<reference key="NSTextColor" ref="552919332"/>
+											<reference key="NSDelegate" ref="195663535"/>
+											<double key="NSCompletionDelay">0.0</double>
+											<int key="NSTokenStyle">0</int>
+											<array key="NS.representedObjects">
+												<string>Evan</string>
+											</array>
+										</object>
+										<int key="NSTokenFieldVersion">2</int>
+									</object>
+									<object class="NSTokenField" id="287063788">
+										<reference key="NSNextResponder" ref="636212990"/>
+										<int key="NSvFlags">268</int>
+										<set class="NSMutableSet" key="NSDragTypes">
+											<string>NSStringPboardType</string>
+										</set>
+										<string key="NSFrame">{{79, 9}, {93, 22}}</string>
+										<reference key="NSSuperview" ref="636212990"/>
+										<reference key="NSWindow"/>
+										<reference key="NSNextKeyView" ref="968337851"/>
+										<bool key="NSEnabled">YES</bool>
+										<object class="NSTokenFieldCell" key="NSCell" id="190851223">
+											<int key="NSCellFlags">69336641</int>
+											<int key="NSCellFlags2">2048</int>
+											<object class="NSMutableAttributedString" key="NSContents">
+												<object class="NSMutableString" key="NSString">
+													<bytes key="NS.bytes">77+8A</bytes>
+												</object>
+												<dictionary key="NSAttributes">
+													<object class="NSTokenAttachment" key="NSAttachment">
+														<nil key="NSFileWrapper"/>
+														<object class="NSTokenAttachmentCell" key="NSCell">
+															<int key="NSCellFlags">67239488</int>
+															<int key="NSCellFlags2">134219776</int>
+															<string key="NSContents">Dreskin</string>
+															<reference key="NSSupport" ref="333335360"/>
+															<string key="NSRepresentedObject">Dreskin</string>
+															<reference key="NSTextColor" ref="552919332"/>
+														</object>
+														<reference key="NS.delegate" ref="190851223"/>
+													</object>
+													<reference key="NSColor" ref="552919332"/>
+													<reference key="NSFont" ref="333335360"/>
+													<reference key="NSOriginalFont" ref="333335360"/>
+													<object class="NSMutableParagraphStyle" key="NSParagraphStyle">
+														<int key="NSLineBreakMode">4</int>
+														<nil key="NSTabStops"/>
+													</object>
+												</dictionary>
+											</object>
+											<reference key="NSSupport" ref="333335360"/>
+											<reference key="NSControlView" ref="287063788"/>
+											<reference key="NSBackgroundColor" ref="345160299"/>
+											<reference key="NSTextColor" ref="552919332"/>
+											<reference key="NSDelegate" ref="287063788"/>
+											<double key="NSCompletionDelay">0.0</double>
+											<int key="NSTokenStyle">0</int>
+											<array key="NS.representedObjects">
+												<string>Dreskin</string>
+											</array>
+										</object>
+										<int key="NSTokenFieldVersion">2</int>
+									</object>
+									<object class="NSTokenField" id="576439752">
+										<reference key="NSNextResponder" ref="636212990"/>
+										<int key="NSvFlags">268</int>
+										<set class="NSMutableSet" key="NSDragTypes">
+											<string>NSStringPboardType</string>
+										</set>
+										<string key="NSFrame">{{245, 39}, {120, 17}}</string>
+										<reference key="NSSuperview" ref="636212990"/>
+										<reference key="NSWindow"/>
+										<reference key="NSNextKeyView" ref="970388425"/>
+										<bool key="NSEnabled">YES</bool>
+										<object class="NSTokenFieldCell" key="NSCell" id="98995285">
+											<int key="NSCellFlags">69336641</int>
+											<int key="NSCellFlags2">2048</int>
+											<object class="NSMutableAttributedString" key="NSContents">
+												<object class="NSMutableString" key="NSString">
+													<bytes key="NS.bytes">77+8A</bytes>
+												</object>
+												<dictionary key="NSAttributes">
+													<object class="NSTokenAttachment" key="NSAttachment">
+														<nil key="NSFileWrapper"/>
+														<object class="NSTokenAttachmentCell" key="NSCell">
+															<int key="NSCellFlags">67239488</int>
+															<int key="NSCellFlags2">134219776</int>
+															<string key="NSContents">Schoenberg</string>
+															<reference key="NSSupport" ref="333335360"/>
+															<string key="NSRepresentedObject">Schoenberg</string>
+															<reference key="NSTextColor" ref="552919332"/>
+														</object>
+														<reference key="NS.delegate" ref="98995285"/>
+													</object>
+													<reference key="NSColor" ref="552919332"/>
+													<reference key="NSFont" ref="333335360"/>
+													<reference key="NSOriginalFont" ref="333335360"/>
+													<object class="NSMutableParagraphStyle" key="NSParagraphStyle">
+														<int key="NSLineBreakMode">4</int>
+														<nil key="NSTabStops"/>
+													</object>
+												</dictionary>
+											</object>
+											<reference key="NSSupport" ref="333335360"/>
+											<reference key="NSControlView" ref="576439752"/>
+											<reference key="NSBackgroundColor" ref="345160299"/>
+											<reference key="NSTextColor" ref="552919332"/>
+											<reference key="NSDelegate" ref="576439752"/>
+											<double key="NSCompletionDelay">0.0</double>
+											<int key="NSTokenStyle">0</int>
+											<array key="NS.representedObjects">
+												<string>Schoenberg</string>
+											</array>
+										</object>
+										<int key="NSTokenFieldVersion">2</int>
+									</object>
+									<object class="NSTokenField" id="909944675">
+										<reference key="NSNextResponder" ref="636212990"/>
+										<int key="NSvFlags">268</int>
+										<set class="NSMutableSet" key="NSDragTypes">
+											<string>NSStringPboardType</string>
+										</set>
+										<string key="NSFrame">{{245, 14}, {120, 17}}</string>
+										<reference key="NSSuperview" ref="636212990"/>
+										<reference key="NSWindow"/>
+										<reference key="NSNextKeyView" ref="940660"/>
+										<bool key="NSEnabled">YES</bool>
+										<object class="NSTokenFieldCell" key="NSCell" id="922378431">
+											<int key="NSCellFlags">69336641</int>
+											<int key="NSCellFlags2">2048</int>
+											<object class="NSMutableAttributedString" key="NSContents">
+												<object class="NSMutableString" key="NSString">
+													<bytes key="NS.bytes">77+8A</bytes>
+												</object>
+												<dictionary key="NSAttributes">
+													<object class="NSTokenAttachment" key="NSAttachment">
+														<nil key="NSFileWrapper"/>
+														<object class="NSTokenAttachmentCell" key="NSCell">
+															<int key="NSCellFlags">67239488</int>
+															<int key="NSCellFlags2">134219776</int>
+															<string key="NSContents">TecJew</string>
+															<reference key="NSSupport" ref="333335360"/>
+															<string key="NSRepresentedObject">TecJew</string>
+															<reference key="NSTextColor" ref="552919332"/>
+														</object>
+														<reference key="NS.delegate" ref="922378431"/>
+													</object>
+													<reference key="NSColor" ref="552919332"/>
+													<reference key="NSFont" ref="333335360"/>
+													<reference key="NSOriginalFont" ref="333335360"/>
+													<object class="NSMutableParagraphStyle" key="NSParagraphStyle">
+														<int key="NSLineBreakMode">4</int>
+														<nil key="NSTabStops"/>
+													</object>
+												</dictionary>
+											</object>
+											<reference key="NSSupport" ref="333335360"/>
+											<reference key="NSControlView" ref="909944675"/>
+											<reference key="NSBackgroundColor" ref="345160299"/>
+											<reference key="NSTextColor" ref="552919332"/>
+											<reference key="NSDelegate" ref="909944675"/>
+											<double key="NSCompletionDelay">0.0</double>
+											<int key="NSTokenStyle">0</int>
+											<array key="NS.representedObjects">
+												<string>TecJew</string>
+											</array>
+										</object>
+										<int key="NSTokenFieldVersion">2</int>
+									</object>
+								</array>
+								<string key="NSFrame">{{1, 1}, {368, 61}}</string>
+								<reference key="NSSuperview" ref="49347676"/>
+								<reference key="NSWindow"/>
+								<reference key="NSNextKeyView" ref="23064184"/>
+							</object>
+						</array>
+						<string key="NSFrame">{{18, 189}, {370, 77}}</string>
+						<reference key="NSSuperview" ref="1056980084"/>
+						<reference key="NSWindow"/>
+						<reference key="NSNextKeyView" ref="636212990"/>
+						<string key="NSOffsets">{0, 0}</string>
+						<object class="NSTextFieldCell" key="NSTitleCell">
+							<int key="NSCellFlags">67239424</int>
+							<int key="NSCellFlags2">0</int>
+							<string key="NSContents">Name elements</string>
+							<object class="NSFont" key="NSSupport" id="26">
+								<string key="NSName">LucidaGrande</string>
+								<double key="NSSize">11</double>
+								<int key="NSfFlags">3100</int>
+							</object>
+							<reference key="NSBackgroundColor" ref="345160299"/>
+							<object class="NSColor" key="NSTextColor">
+								<int key="NSColorSpace">3</int>
+								<bytes key="NSWhite">MCAwLjgwMDAwMDAxMTkAA</bytes>
+							</object>
+						</object>
+						<reference key="NSContentView" ref="636212990"/>
+						<int key="NSBorderType">1</int>
+						<int key="NSBoxType">0</int>
+						<int key="NSTitlePosition">2</int>
+						<bool key="NSTransparent">NO</bool>
+					</object>
+					<object class="NSTokenField" id="365339894">
+						<reference key="NSNextResponder" ref="1056980084"/>
+						<int key="NSvFlags">268</int>
+						<set class="NSMutableSet" key="NSDragTypes">
+							<string>NSStringPboardType</string>
+						</set>
+						<string key="NSFrame">{{120, 275}, {264, 21}}</string>
+						<reference key="NSSuperview" ref="1056980084"/>
+						<reference key="NSWindow"/>
+						<reference key="NSNextKeyView" ref="49347676"/>
+						<bool key="NSEnabled">YES</bool>
+						<object class="NSTokenFieldCell" key="NSCell" id="798460398">
+							<int key="NSCellFlags">342490689</int>
+							<int key="NSCellFlags2">1077938240</int>
+							<object class="NSFont" key="NSSupport">
+								<string key="NSName">LucidaGrande</string>
+								<double key="NSSize">12</double>
+								<int key="NSfFlags">16</int>
+							</object>
+							<reference key="NSControlView" ref="365339894"/>
+							<bool key="NSDrawsBackground">YES</bool>
+							<reference key="NSBackgroundColor" ref="345160299"/>
+							<reference key="NSTextColor" ref="552919332"/>
+							<reference key="NSDelegate" ref="365339894"/>
+							<double key="NSCompletionDelay">0.0</double>
+							<int key="NSTokenStyle">0</int>
+						</object>
+						<int key="NSTokenFieldVersion">2</int>
+					</object>
+					<object class="NSTextField" id="951279381">
+						<reference key="NSNextResponder" ref="1056980084"/>
+						<int key="NSvFlags">268</int>
+						<string key="NSFrame">{{17, 278}, {99, 14}}</string>
+						<reference key="NSSuperview" ref="1056980084"/>
+						<reference key="NSWindow"/>
+						<reference key="NSNextKeyView" ref="365339894"/>
+						<bool key="NSEnabled">YES</bool>
+						<object class="NSTextFieldCell" key="NSCell" id="504239461">
+							<int key="NSCellFlags">67239424</int>
+							<int key="NSCellFlags2">71303168</int>
+							<string key="NSContents">Format names as:</string>
+							<reference key="NSSupport" ref="26"/>
+							<reference key="NSControlView" ref="951279381"/>
+							<reference key="NSBackgroundColor" ref="314505115"/>
+							<reference key="NSTextColor" ref="552919332"/>
+						</object>
+					</object>
+					<object class="NSButton" id="485817221">
+						<reference key="NSNextResponder" ref="1056980084"/>
+						<int key="NSvFlags">268</int>
+						<string key="NSFrame">{{0, 304}, {306, 18}}</string>
+						<reference key="NSSuperview" ref="1056980084"/>
+						<reference key="NSWindow"/>
+						<reference key="NSNextKeyView" ref="951279381"/>
+						<bool key="NSEnabled">YES</bool>
+						<object class="NSButtonCell" key="NSCell" id="758199240">
+							<int key="NSCellFlags">67239424</int>
+							<int key="NSCellFlags2">131072</int>
+							<string key="NSContents">Import my contacts’ names from the Address Book</string>
+							<reference key="NSSupport" ref="26"/>
+							<reference key="NSControlView" ref="485817221"/>
+							<int key="NSButtonFlags">1211912703</int>
+							<int key="NSButtonFlags2">2</int>
+							<reference key="NSNormalImage" ref="544096904"/>
+							<reference key="NSAlternateImage" ref="935110434"/>
+							<string key="NSAlternateContents"/>
+							<string key="NSKeyEquivalent"/>
+							<int key="NSPeriodicDelay">200</int>
+							<int key="NSPeriodicInterval">25</int>
+						</object>
+					</object>
+					<object class="NSTextField" id="293344676">
+						<reference key="NSNextResponder" ref="1056980084"/>
+						<int key="NSvFlags">268</int>
+						<string key="NSFrame">{{0, 326}, {307, 14}}</string>
+						<reference key="NSSuperview" ref="1056980084"/>
+						<reference key="NSWindow"/>
+						<reference key="NSNextKeyView" ref="908619062"/>
+						<bool key="NSEnabled">YES</bool>
+						<object class="NSTextFieldCell" key="NSCell" id="420548907">
+							<int key="NSCellFlags">67239424</int>
+							<int key="NSCellFlags2">4194304</int>
+							<string key="NSContents">Names</string>
+							<object class="NSFont" key="NSSupport" id="27">
+								<string key="NSName">LucidaGrande-Bold</string>
+								<double key="NSSize">11</double>
+								<int key="NSfFlags">3357</int>
+							</object>
+							<reference key="NSControlView" ref="293344676"/>
+							<reference key="NSBackgroundColor" ref="314505115"/>
+							<reference key="NSTextColor" ref="552919332"/>
+						</object>
+					</object>
+					<object class="NSTextField" id="401818986">
+						<reference key="NSNextResponder" ref="1056980084"/>
+						<int key="NSvFlags">268</int>
+						<string key="NSFrame">{{0, 127}, {307, 14}}</string>
+						<reference key="NSSuperview" ref="1056980084"/>
+						<reference key="NSWindow"/>
+						<reference key="NSNextKeyView" ref="274895758"/>
+						<bool key="NSEnabled">YES</bool>
+						<object class="NSTextFieldCell" key="NSCell" id="906057447">
+							<int key="NSCellFlags">67239424</int>
+							<int key="NSCellFlags2">4194304</int>
+							<string key="NSContents">Images</string>
+							<reference key="NSSupport" ref="27"/>
+							<reference key="NSControlView" ref="401818986"/>
+							<reference key="NSBackgroundColor" ref="314505115"/>




More information about the commits mailing list