adium 5272:767bcb7a5237: Reworked the XMPP account registration ...

commits at adium.im commits at adium.im
Wed Jan 23 14:41:13 UTC 2013


details:	http://hg.adium.im/adium/rev/767bcb7a5237
revision:	5272:767bcb7a5237
branch:		adium-1.6
author:		Thijs Alkemade <me at thijsalkema.de>
date:		Wed Jan 23 15:39:57 2013 +0100

Reworked the XMPP account registration method, because it was still confusing me after using it many times.

Picking a public server is now completely separate from enabling in-band registration. Enabling in-band registration now correctly has all account settings applied (e.g. proxy). Fixes #15957

The register and find server buttons are gone for existing accounts, as they only apply to new accounts.

diffs (truncated from 2004 to 1000 lines):

diff -r 6ce3247fff1c -r 767bcb7a5237 Frameworks/Adium Framework/Source/AIAccount.h
--- a/Frameworks/Adium Framework/Source/AIAccount.h	Sun Jan 20 21:58:57 2013 +0100
+++ b/Frameworks/Adium Framework/Source/AIAccount.h	Wed Jan 23 15:39:57 2013 +0100
@@ -30,12 +30,12 @@
 #define KEY_ACCOUNT_CHECK_MAIL		@"Check Mail"
 #define KEY_ENABLED					@"Enabled"
 #define KEY_AUTOCONNECT				@"AutoConnect"
+#define KEY_ACCOUNT_REGISTER_ON_CONNECT @"Register on Connect"
 
 //NSData archive of an NSAttributedString
 #define KEY_ACCOUNT_DISPLAY_NAME	@"FullNameAttr"
 
 #define	Adium_RequestImmediateDynamicContentUpdate			@"Adium_RequestImmediateDynamicContentUpdate"
-#define AIAccountUsernameAndPasswordRegisteredNotification	@"AIAccountUsernameAndPasswordRegisteredNotification"
 
 //Proxy
 #define KEY_ACCOUNT_PROXY_ENABLED		@"Proxy Enabled"
diff -r 6ce3247fff1c -r 767bcb7a5237 Frameworks/Adium Framework/Source/AIAccountViewController.h
--- a/Frameworks/Adium Framework/Source/AIAccountViewController.h	Sun Jan 20 21:58:57 2013 +0100
+++ b/Frameworks/Adium Framework/Source/AIAccountViewController.h	Wed Jan 23 15:39:57 2013 +0100
@@ -34,7 +34,7 @@
 	IBOutlet	NSTextField		*textField_accountUID;			//UID field
 	IBOutlet	NSTextField		*label_password;				//Label on the password field
 	IBOutlet	NSTextField		*textField_password;			//Password field
-	IBOutlet	NSButton		*button_SignUp;					//Sign up for account
+	IBOutlet	NSButton		*button_signUp;					//Sign up for account
 	IBOutlet	NSTextField		*textField_connectHost;			//Connect host
 	IBOutlet	NSTextField		*textField_connectPort;			//Connect port
 	IBOutlet	NSTextField		*textField_alias;				//User alias (or display name)
@@ -49,10 +49,7 @@
 	
 	IBOutlet	NSTextField		*label_encryption;				//Label for the encryption preference
 	IBOutlet	NSPopUpButton	*popUp_encryption;				//Encryption preference
-	
-	IBOutlet	NSProgressIndicator *progressIndicator_registering;
-	IBOutlet	NSTextField			*textField_registering;
-	
+		
 	//Instance variables
     AIAccount			*account;
 	NSMutableDictionary	*changedPrefDict;
@@ -70,9 +67,6 @@
 - (NSString *)nibName;
 - (void)saveConfiguration;
 
-- (void)didBeginRegistration;
-- (void)usernameAndPasswordRegistered:(NSNotification*)notification;
-
 @end
 
 @interface AIAccountViewController (ForSubclasses)
diff -r 6ce3247fff1c -r 767bcb7a5237 Frameworks/Adium Framework/Source/AIAccountViewController.m
--- a/Frameworks/Adium Framework/Source/AIAccountViewController.m	Sun Jan 20 21:58:57 2013 +0100
+++ b/Frameworks/Adium Framework/Source/AIAccountViewController.m	Wed Jan 23 15:39:57 2013 +0100
@@ -217,7 +217,7 @@
 		[textField_password setStringValue:[savedPassword length] ? savedPassword : @""];
 		
 		//Account sign up button text
-		[button_SignUp setTitle:[service accountSetupLabel]];
+		[button_signUp setTitle:[service accountSetupLabel]];
 		
 		//User alias (display name)
 		NSString *alias = [[[account preferenceForKey:KEY_ACCOUNT_DISPLAY_NAME group:GROUP_ACCOUNT_STATUS] attributedString] string];
@@ -247,14 +247,6 @@
 		//Encryption
 		[popUp_encryption selectItemWithTag:[[account preferenceForKey:KEY_ENCRYPTED_CHAT_PREFERENCE
 																		   group:GROUP_ENCRYPTION] intValue]];
-		
-		[[NSNotificationCenter defaultCenter] removeObserver:self
-											  name:AIAccountUsernameAndPasswordRegisteredNotification
-											object:nil];
-		[[NSNotificationCenter defaultCenter] addObserver:self
-									   selector:@selector(usernameAndPasswordRegistered:)
-										   name:AIAccountUsernameAndPasswordRegisteredNotification
-										 object:inAccount];
 	}
 }
 
@@ -395,31 +387,6 @@
 	}
 }
 
-#pragma mark Registration
-- (void)didBeginRegistration
-{
-	[progressIndicator_registering setHidden:NO];
-	[progressIndicator_registering startAnimation:self];
-	[textField_registering setHidden:NO];
-}
-
-- (void)usernameAndPasswordRegistered:(NSNotification*)notification
-{
-	[[textField_accountUID window] makeFirstResponder:nil];
-
-	id username = [[notification userInfo] objectForKey:@"username"];
-	id password = [[notification userInfo] objectForKey:@"password"];
-
-	if (username != [NSNull null])
-		[textField_accountUID setStringValue:username];
-	if (password != [NSNull null])
-		[textField_password setStringValue:password];
-	
-	[progressIndicator_registering stopAnimation:self];
-	[progressIndicator_registering setHidden:YES];
-	[textField_registering setHidden:YES];
-}
-
 #pragma mark Localization
 - (void)localizeStrings
 {
diff -r 6ce3247fff1c -r 767bcb7a5237 Plugins/Purple Service/AIPurpleGTalkAccountViewController.m
--- a/Plugins/Purple Service/AIPurpleGTalkAccountViewController.m	Sun Jan 20 21:58:57 2013 +0100
+++ b/Plugins/Purple Service/AIPurpleGTalkAccountViewController.m	Wed Jan 23 15:39:57 2013 +0100
@@ -24,7 +24,7 @@
 	[super awakeFromNib];
 	
 	//GTalk forces the use of TLS
-	[checkBox_useTLS setEnabled:NO];
+	[checkBox_requireTLS setEnabled:NO];
 	
 	[checkBox_checkMail setEnabled:YES];
 }
diff -r 6ce3247fff1c -r 767bcb7a5237 Plugins/Purple Service/CBPurpleAccount.m
--- a/Plugins/Purple Service/CBPurpleAccount.m	Sun Jan 20 21:58:57 2013 +0100
+++ b/Plugins/Purple Service/CBPurpleAccount.m	Wed Jan 23 15:39:57 2013 +0100
@@ -2249,55 +2249,6 @@
 	return reconnectDelayType;
 }
 
-#pragma mark Registering
-- (void)performRegisterWithPassword:(NSString *)inPassword
-{
-	//Save the new password
-	if (inPassword && ![password isEqualToString:inPassword]) {
-		[password release]; password = [inPassword retain];
-	}
-
-	//Ensure we have a purple account if one does not already exist
-	[self purpleAccount];
-	
-	//We are connecting
-	[self setValue:[NSNumber numberWithBool:YES] forProperty:@"isConnecting" notify:NotifyNow];
-	
-	//Make sure our settings are correct
-	[self configurePurpleAccountNotifyingTarget:self selector:@selector(continueRegisterWithConfiguredPurpleAccount)];
-}
-
-- (void)continueRegisterWithConfiguredProxy
-{
-	//Set password and connect
-	purple_account_set_password(account, [password UTF8String]);
-	
-	AILog(@"Adium: Register: %@ initiating connection.",self.UID);
-	
-	[purpleAdapter registerAccount:self];
-}
-
-- (void)continueRegisterWithConfiguredPurpleAccount
-{
-	//Configure libpurple's proxy settings; continueConnectWithConfiguredProxy will be called once we are ready
-	[self configureAccountProxyNotifyingTarget:self selector:@selector(continueRegisterWithConfiguredProxy)];
-}
-
-- (void)purpleAccountRegistered:(BOOL)success
-{
-	if (success && [self.service accountViewController]) {
-		NSString *username = (purple_account_get_username(account) ? [NSString stringWithUTF8String:purple_account_get_username(account)] : [NSNull null]);
-		NSString *pw = (purple_account_get_password(account) ? [NSString stringWithUTF8String:purple_account_get_password(account)] : [NSNull null]);
-
-		[[NSNotificationCenter defaultCenter] postNotificationName:AIAccountUsernameAndPasswordRegisteredNotification
-												  object:self
-												userInfo:[NSDictionary dictionaryWithObjectsAndKeys:
-													username, @"username",
-													pw, @"password",
-													nil]];
-	}
-}
-
 //Account Status ------------------------------------------------------------------------------------------------------
 #pragma mark Account Status
 //Properties this account supports
diff -r 6ce3247fff1c -r 767bcb7a5237 Plugins/Purple Service/ESJabberService.m
--- a/Plugins/Purple Service/ESJabberService.m	Sun Jan 20 21:58:57 2013 +0100
+++ b/Plugins/Purple Service/ESJabberService.m	Wed Jan 23 15:39:57 2013 +0100
@@ -97,6 +97,11 @@
 	return AILocalizedString(@"username at jabber.org","Sample name and server for new Jabber accounts");
 }
 
+- (NSString *)accountSetupLabel
+{
+	return AILocalizedString(@"Find public server", @"Default label for account registration button in account setup pane.");
+}
+
 /*!
  * @brief Allowed characters in node of jid
  *
diff -r 6ce3247fff1c -r 767bcb7a5237 Plugins/Purple Service/ESPurpleJabberAccount.h
--- a/Plugins/Purple Service/ESPurpleJabberAccount.h	Sun Jan 20 21:58:57 2013 +0100
+++ b/Plugins/Purple Service/ESPurpleJabberAccount.h	Wed Jan 23 15:39:57 2013 +0100
@@ -26,6 +26,7 @@
 #define KEY_JABBER_REQUIRE_TLS			@"Jabber:Require TLS"
 #define KEY_JABBER_ALLOW_PLAINTEXT		@"Jabber:Allow Plaintext Authentication"
 #define KEY_JABBER_SUBSCRIPTION_BEHAVIOR @"Jabber:Subscription Behavior"
+#define KEY_JABBER_REGISTER_ON_CONNECT @"Jabber:Register on Connect"
 #define KEY_JABBER_SUBSCRIPTION_GROUP	@"Jabber:Default Subscription Group"
 #define KEY_JABBER_VERIFY_CERTS         @"Jabber:Verify Certificates"
 #define KEY_JABBER_FT_PROXIES			@"Jabber:File Transfer Proxies"
diff -r 6ce3247fff1c -r 767bcb7a5237 Plugins/Purple Service/ESPurpleJabberAccount.m
--- a/Plugins/Purple Service/ESPurpleJabberAccount.m	Sun Jan 20 21:58:57 2013 +0100
+++ b/Plugins/Purple Service/ESPurpleJabberAccount.m	Wed Jan 23 15:39:57 2013 +0100
@@ -362,32 +362,6 @@
 	return NULL;
 }
 
-- (void)purpleAccountRegistered:(BOOL)success
-{
-	if(success && [self.service accountViewController]) {
-		const char *usernamestr = purple_account_get_username(account);
-		NSString *username;
-		if (usernamestr) {
-			NSString *userWithResource = [NSString stringWithUTF8String:usernamestr];
-			NSRange slashrange = [userWithResource rangeOfString:@"/"];
-			if(slashrange.location != NSNotFound)
-				username = [userWithResource substringToIndex:slashrange.location];
-			else
-				username = userWithResource;
-		} else
-			username = (id)[NSNull null];
-
-		NSString *pw = (purple_account_get_password(account) ? [NSString stringWithUTF8String:purple_account_get_password(account)] : [NSNull null]);
-		
-		[[NSNotificationCenter defaultCenter] postNotificationName:AIAccountUsernameAndPasswordRegisteredNotification
-												  object:self
-												userInfo:[NSDictionary dictionaryWithObjectsAndKeys:
-													username, @"username",
-													pw, @"password",
-													nil]];
-	}
-}
-
 /*!
  * @brief Re-create the chat's join options.
  */
diff -r 6ce3247fff1c -r 767bcb7a5237 Plugins/Purple Service/ESPurpleJabberAccountViewController.h
--- a/Plugins/Purple Service/ESPurpleJabberAccountViewController.h	Sun Jan 20 21:58:57 2013 +0100
+++ b/Plugins/Purple Service/ESPurpleJabberAccountViewController.h	Wed Jan 23 15:39:57 2013 +0100
@@ -24,7 +24,6 @@
 	IBOutlet	NSTextField		*textField_priorityAvailable;
 	IBOutlet	NSTextField		*textField_priorityAway;
 	IBOutlet	NSTextField		*textField_ftProxies;
-	IBOutlet	NSButton		*checkBox_useTLS;
 	IBOutlet	NSButton		*checkBox_forceOldSSL;
 	IBOutlet	NSButton		*checkBox_requireTLS;
 	IBOutlet	NSButton		*checkBox_checkCertificates;
@@ -33,21 +32,19 @@
 	IBOutlet	NSTextField		*textField_subscriptionModeLabel;
 	IBOutlet	NSComboBox		*comboBox_subscriptionGroup;
 
-	IBOutlet	NSButton		*button_register;
+	IBOutlet	NSButton		*checkBox_register;
 
 	IBOutlet	NSPanel			*window_registerServer;
 	IBOutlet	NSTableView		*tableview_servers;
-	IBOutlet	NSTextField		*textField_registerServerName;
-	IBOutlet	NSTextField		*textField_registerServerPort;
 	IBOutlet	NSTextView		*textView_serverDescription;
 	IBOutlet	NSButton		*button_serverHomepage;
 
 	NSArray *servers;
 }
 
-- (IBAction)registerNewAccount:(id)sender;
-- (IBAction)registerCancel:(id)sender;
-- (IBAction)registerRequestAccount:(id)sender;
+- (IBAction)findServer:(id)sender;
+- (IBAction)findServerCancel:(id)sender;
+- (IBAction)findServerAccept:(id)sender;
 
 - (IBAction)subscriptionModeDidChange:(id)sender;
 
diff -r 6ce3247fff1c -r 767bcb7a5237 Plugins/Purple Service/ESPurpleJabberAccountViewController.m
--- a/Plugins/Purple Service/ESPurpleJabberAccountViewController.m	Sun Jan 20 21:58:57 2013 +0100
+++ b/Plugins/Purple Service/ESPurpleJabberAccountViewController.m	Wed Jan 23 15:39:57 2013 +0100
@@ -90,9 +90,11 @@
 	NSString *defaultGroup = [account preferenceForKey:KEY_JABBER_SUBSCRIPTION_GROUP group:GROUP_ACCOUNT_STATUS];
 	[comboBox_subscriptionGroup setStringValue:(defaultGroup ? defaultGroup : @"")];
 	
-	//Change the register button into sign up if the account can't register new accounts
-	if (![account.service canRegisterNewAccounts])
-		[button_register setAction:@selector(signUpAccount:)];
+	if (inAccount.UID.length > 0) {
+		[checkBox_register setHidden:TRUE];
+		[checkBox_register setState:NSOffState];
+		[button_signUp setHidden:TRUE];
+	}
 	
 	//Set hidden flag of the default group combobox
 	[self subscriptionModeDidChange:nil];
@@ -104,15 +106,15 @@
     [super saveConfiguration];
 	
 	//Connection security
-	[account setPreference:[NSNumber numberWithBool:[checkBox_forceOldSSL state]]
+	[account setPreference:@([checkBox_forceOldSSL state])
 					forKey:KEY_JABBER_FORCE_OLD_SSL group:GROUP_ACCOUNT_STATUS];
-	[account setPreference:[NSNumber numberWithBool:[checkBox_requireTLS state]]
-								   forKey:KEY_JABBER_REQUIRE_TLS group:GROUP_ACCOUNT_STATUS];
-	[account setPreference:[NSNumber numberWithBool:[checkBox_checkCertificates state]]
+	[account setPreference:@([checkBox_requireTLS state])
+					forKey:KEY_JABBER_REQUIRE_TLS group:GROUP_ACCOUNT_STATUS];
+	[account setPreference:@([checkBox_checkCertificates state])
 					forKey:KEY_JABBER_VERIFY_CERTS group:GROUP_ACCOUNT_STATUS];
-	[account setPreference:[NSNumber numberWithBool:[checkBox_allowPlaintext state]]
+	[account setPreference:@([checkBox_allowPlaintext state])
 					forKey:KEY_JABBER_ALLOW_PLAINTEXT group:GROUP_ACCOUNT_STATUS];
-
+	
 	//Resource
 	[account setPreference:([[textField_resource stringValue] length] ? [textField_resource stringValue] : nil)
 					forKey:KEY_JABBER_RESOURCE group:GROUP_ACCOUNT_STATUS];
@@ -130,19 +132,23 @@
 					forKey:KEY_JABBER_FT_PROXIES group:GROUP_ACCOUNT_STATUS];
 	
 	//Priority
-	[account setPreference:([textField_priorityAvailable integerValue] ? [NSNumber numberWithInteger:[textField_priorityAvailable integerValue]] : nil)
+	[account setPreference:([textField_priorityAvailable integerValue] ? @([textField_priorityAvailable integerValue]) : nil)
 					forKey:KEY_JABBER_PRIORITY_AVAILABLE
 					 group:GROUP_ACCOUNT_STATUS];
-	[account setPreference:([textField_priorityAway integerValue] ? [NSNumber numberWithInteger:[textField_priorityAway integerValue]] : nil)
+	[account setPreference:([textField_priorityAway integerValue] ? @([textField_priorityAway integerValue]) : nil)
 					forKey:KEY_JABBER_PRIORITY_AWAY
 					 group:GROUP_ACCOUNT_STATUS];
 
 	//Subscription Behavior
-	[account setPreference:([[popup_subscriptionBehavior selectedItem] tag] ? [NSNumber numberWithInteger:[[popup_subscriptionBehavior selectedItem] tag]] : nil)
+	[account setPreference:([[popup_subscriptionBehavior selectedItem] tag] ? @([[popup_subscriptionBehavior selectedItem] tag]) : nil)
 					forKey:KEY_JABBER_SUBSCRIPTION_BEHAVIOR
 					 group:GROUP_ACCOUNT_STATUS];
 	[account setPreference:([[comboBox_subscriptionGroup stringValue] length] ? [comboBox_subscriptionGroup stringValue] : nil)
 					forKey:KEY_JABBER_SUBSCRIPTION_GROUP group:GROUP_ACCOUNT_STATUS];
+	
+	[account setPreference:@([checkBox_register state])
+					forKey:KEY_ACCOUNT_REGISTER_ON_CONNECT
+					 group:GROUP_ACCOUNT_STATUS];
 }
 
 - (IBAction)subscriptionModeDidChange:(id)sender {
@@ -218,9 +224,10 @@
 	return NSOrderedAscending;
 }
 
-- (IBAction)registerNewAccount:(id)sender {
+- (IBAction)findServer:(id)sender {
 	if(!servers) {
 		NSError *err = NULL;
+#warning Should not be synchronous. Bad.
 		NSXMLDocument *serverfeed = [[[NSXMLDocument alloc] initWithContentsOfURL:[NSURL URLWithString:SERVERFEEDRSSURL]
 																		 options:0
 																		   error:&err] autorelease];
@@ -276,13 +283,12 @@
 						distance = [NSNumber numberWithDouble:d];
 					}
 					
-					[(NSMutableArray*)servers addObject:[NSDictionary dictionaryWithObjectsAndKeys:
-						[title stringValue], @"servername",
-						(description ? (id)[description stringValue] : (id)[NSNull null]), @"description",
-						distance, @"distance",
-						domain, @"domain",
-						homepage, @"homepage", // might be nil
-						nil]];
+					[(NSMutableArray*)servers addObject:
+					 @{ @"servername" : [title stringValue],
+					 @"description" : (description ? (id)[description stringValue] : (id)[NSNull null]),
+					 @"distance" : distance,
+					 @"domain" : domain,
+					 @"homepage" : (homepage ?: (id)[NSNull null]) }];
 				}
 				
 				[(NSMutableArray*)servers sortUsingFunction:compareByDistance context:nil];
@@ -315,12 +321,10 @@
 
 - (void)tableViewSelectionDidChange:(NSNotification *)notification {
 	NSDictionary *serverInfo = [servers objectAtIndex:[tableview_servers selectedRow]];
-	NSString *servername = [serverInfo objectForKey:@"domain"];
-	[textField_registerServerName setStringValue:servername];
-	[textField_registerServerPort setStringValue:@""];
+
 	[textView_serverDescription setString:[serverInfo objectForKey:@"description"]];
 	
-	[button_serverHomepage setEnabled:[serverInfo objectForKey:@"homepage"] != nil];
+	[button_serverHomepage setEnabled:[serverInfo objectForKey:@"homepage"] != [NSNull null]];
 }
 
 - (IBAction)visitServerHomepage:(id)sender {
@@ -329,40 +333,48 @@
 	[[NSWorkspace sharedWorkspace] openURL:[serverInfo objectForKey:@"homepage"]];
 }
 
-- (IBAction)registerCancel:(id)sender {
+- (IBAction)findServerCancel:(id)sender {
 	[window_registerServer orderOut:nil];
 	[NSApp endSheet:window_registerServer];
 }
 
-- (IBAction)registerRequestAccount:(id)sender {
+- (IBAction)findServerAccept:(id)sender {
+	NSDictionary *serverInfo = [servers objectAtIndex:[tableview_servers selectedRow]];
+	
 	[[sender window] makeFirstResponder:nil]; // apply all changes
 	
-	if([[textField_registerServerName stringValue] length] == 0) {
-		NSBeep();
-		return;
-	}
-	
-	[account setPreference:[NSNumber numberWithInteger:[textField_registerServerPort integerValue]]
-					forKey:KEY_CONNECT_PORT group:GROUP_ACCOUNT_STATUS];
-
-	NSString *newUID;
-	if ([[textField_accountUID stringValue] length]) {
-		NSRange atLocation = [[textField_accountUID stringValue] rangeOfString:@"@" options:NSLiteralSearch];
-		if (atLocation.location == NSNotFound)
-			newUID = [NSString stringWithFormat:@"%@@%@",[textField_accountUID stringValue], [textField_registerServerName stringValue]];
-		else
-			newUID = [NSString stringWithFormat:@"%@@%@",[[textField_accountUID stringValue] substringToIndex:atLocation.location], [textField_registerServerName stringValue]];
-	} else {
-		newUID = [NSString stringWithFormat:@"nobody@%@",[textField_registerServerName stringValue]];
-	}
-
-	[account filterAndSetUID:newUID];
-	
 	[window_registerServer orderOut:nil];
 	[NSApp endSheet:window_registerServer];
 	
-	[account performRegisterWithPassword:[textField_password stringValue]];
-	[self didBeginRegistration];
+	[account setPreference:@(5222)
+					forKey:KEY_CONNECT_PORT
+					 group:GROUP_ACCOUNT_STATUS];
+	
+	NSString *newUID;
+	
+	if ([[textField_accountUID stringValue] length]) {
+		NSRange atLocation = [[textField_accountUID stringValue] rangeOfString:@"@" options:NSLiteralSearch];
+		if (atLocation.location == NSNotFound)
+			newUID = [NSString stringWithFormat:@"%@@%@", [textField_accountUID stringValue],
+					  [serverInfo objectForKey:@"domain"]];
+		else
+			newUID = [NSString stringWithFormat:@"%@@%@", [[textField_accountUID stringValue] substringToIndex:atLocation.location],
+					  [serverInfo objectForKey:@"domain"]];
+		
+		[account filterAndSetUID:newUID];
+		[textField_accountUID setStringValue:account.UID];
+	} else {
+		NSString *nobody = AILocalizedString(@"nobody", nil);
+		newUID = [NSString stringWithFormat:@"%@@%@", nobody, [serverInfo objectForKey:@"domain"]];
+		
+		[account filterAndSetUID:newUID];
+		[textField_accountUID setStringValue:account.UID];
+		[textField_accountUID selectText:self];
+		NSText *fieldEditor = [textField_accountUID.window fieldEditor:YES forObject:textField_accountUID];
+		[fieldEditor setSelectedRange:NSMakeRange(0, [nobody length])];
+	}
+	
+	[checkBox_register setState:NSOnState];
 }
 
 @end
diff -r 6ce3247fff1c -r 767bcb7a5237 Plugins/Purple Service/Resources/en.lproj/ESPurpleJabberAccountView.xib
--- a/Plugins/Purple Service/Resources/en.lproj/ESPurpleJabberAccountView.xib	Sun Jan 20 21:58:57 2013 +0100
+++ b/Plugins/Purple Service/Resources/en.lproj/ESPurpleJabberAccountView.xib	Wed Jan 23 15:39:57 2013 +0100
@@ -2,13 +2,13 @@
 <archive type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="8.00">
 	<data>
 		<int key="IBDocument.SystemTarget">1060</int>
-		<string key="IBDocument.SystemVersion">12A269</string>
-		<string key="IBDocument.InterfaceBuilderVersion">2549</string>
-		<string key="IBDocument.AppKitVersion">1187</string>
-		<string key="IBDocument.HIToolboxVersion">624.00</string>
+		<string key="IBDocument.SystemVersion">12C60</string>
+		<string key="IBDocument.InterfaceBuilderVersion">2844</string>
+		<string key="IBDocument.AppKitVersion">1187.34</string>
+		<string key="IBDocument.HIToolboxVersion">625.00</string>
 		<object class="NSMutableDictionary" key="IBDocument.PluginVersions">
 			<string key="NS.key.0">com.apple.InterfaceBuilder.CocoaPlugin</string>
-			<string key="NS.object.0">2549</string>
+			<string key="NS.object.0">2844</string>
 		</object>
 		<array key="IBDocument.IntegratedClassDependencies">
 			<string>NSButton</string>
@@ -19,10 +19,8 @@
 			<string>NSCustomView</string>
 			<string>NSMenu</string>
 			<string>NSMenuItem</string>
-			<string>NSNumberFormatter</string>
 			<string>NSPopUpButton</string>
 			<string>NSPopUpButtonCell</string>
-			<string>NSProgressIndicator</string>
 			<string>NSScrollView</string>
 			<string>NSScroller</string>
 			<string>NSTableColumn</string>
@@ -54,21 +52,48 @@
 				<reference key="NSNextResponder"/>
 				<int key="NSvFlags">256</int>
 				<array class="NSMutableArray" key="NSSubviews">
+					<object class="NSButton" id="676542400">
+						<reference key="NSNextResponder" ref="837853317"/>
+						<int key="NSvFlags">268</int>
+						<string key="NSFrame">{{152, 24}, {153, 32}}</string>
+						<reference key="NSSuperview" ref="837853317"/>
+						<reference key="NSWindow"/>
+						<reference key="NSNextKeyView"/>
+						<string key="NSReuseIdentifierKey">_NS:9</string>
+						<bool key="NSEnabled">YES</bool>
+						<object class="NSButtonCell" key="NSCell" id="123148848">
+							<int key="NSCellFlags">67108864</int>
+							<int key="NSCellFlags2">134217728</int>
+							<string key="NSContents">Find public server</string>
+							<object class="NSFont" key="NSSupport" id="745543233">
+								<string key="NSName">LucidaGrande</string>
+								<double key="NSSize">13</double>
+								<int key="NSfFlags">1044</int>
+							</object>
+							<string key="NSCellIdentifier">_NS:9</string>
+							<reference key="NSControlView" ref="676542400"/>
+							<int key="NSButtonFlags">-2038284288</int>
+							<int key="NSButtonFlags2">129</int>
+							<string key="NSAlternateContents"/>
+							<string key="NSKeyEquivalent"/>
+							<int key="NSPeriodicDelay">200</int>
+							<int key="NSPeriodicInterval">25</int>
+						</object>
+						<bool key="NSAllowsLogicalLayoutDirection">NO</bool>
+					</object>
 					<object class="NSTextField" id="779272059">
 						<reference key="NSNextResponder" ref="837853317"/>
 						<int key="NSvFlags">264</int>
-						<string key="NSFrame">{{53, 65}, {68, 17}}</string>
+						<string key="NSFrame">{{53, 113}, {68, 17}}</string>
 						<reference key="NSSuperview" ref="837853317"/>
+						<reference key="NSWindow"/>
+						<reference key="NSNextKeyView" ref="286029264"/>
 						<bool key="NSEnabled">YES</bool>
 						<object class="NSTextFieldCell" key="NSCell" id="763478478">
 							<int key="NSCellFlags">67108864</int>
 							<int key="NSCellFlags2">71303168</int>
 							<string key="NSContents">Password:</string>
-							<object class="NSFont" key="NSSupport" id="745543233">
-								<string key="NSName">LucidaGrande</string>
-								<double key="NSSize">13</double>
-								<int key="NSfFlags">1044</int>
-							</object>
+							<reference key="NSSupport" ref="745543233"/>
 							<reference key="NSControlView" ref="779272059"/>
 							<object class="NSColor" key="NSBackgroundColor" id="701108434">
 								<int key="NSColorSpace">6</int>
@@ -94,8 +119,10 @@
 					<object class="NSTextField" id="385654329">
 						<reference key="NSNextResponder" ref="837853317"/>
 						<int key="NSvFlags">264</int>
-						<string key="NSFrame">{{44, 90}, {77, 17}}</string>
+						<string key="NSFrame">{{44, 138}, {77, 17}}</string>
 						<reference key="NSSuperview" ref="837853317"/>
+						<reference key="NSWindow"/>
+						<reference key="NSNextKeyView" ref="812273374"/>
 						<bool key="NSEnabled">YES</bool>
 						<object class="NSTextFieldCell" key="NSCell" id="1072137665">
 							<int key="NSCellFlags">67108864</int>
@@ -111,8 +138,10 @@
 					<object class="NSTextField" id="812273374">
 						<reference key="NSNextResponder" ref="837853317"/>
 						<int key="NSvFlags">264</int>
-						<string key="NSFrame">{{126, 88}, {240, 22}}</string>
+						<string key="NSFrame">{{126, 136}, {240, 22}}</string>
 						<reference key="NSSuperview" ref="837853317"/>
+						<reference key="NSWindow"/>
+						<reference key="NSNextKeyView" ref="779272059"/>
 						<bool key="NSEnabled">YES</bool>
 						<object class="NSTextFieldCell" key="NSCell" id="819061816">
 							<int key="NSCellFlags">-1804599231</int>
@@ -143,8 +172,10 @@
 					<object class="NSTextField" id="286029264">
 						<reference key="NSNextResponder" ref="837853317"/>
 						<int key="NSvFlags">264</int>
-						<string key="NSFrame">{{126, 60}, {240, 22}}</string>
+						<string key="NSFrame">{{126, 108}, {240, 22}}</string>
 						<reference key="NSSuperview" ref="837853317"/>
+						<reference key="NSWindow"/>
+						<reference key="NSNextKeyView" ref="272517914"/>
 						<bool key="NSEnabled">YES</bool>
 						<object class="NSTextFieldCell" key="NSCell" id="619892709">
 							<int key="NSCellFlags">-1804599231</int>
@@ -161,18 +192,26 @@
 					<object class="NSButton" id="272517914">
 						<reference key="NSNextResponder" ref="837853317"/>
 						<int key="NSvFlags">256</int>
-						<string key="NSFrame">{{150, 12}, {200, 32}}</string>
+						<string key="NSFrame">{{124, 70}, {245, 32}}</string>
 						<reference key="NSSuperview" ref="837853317"/>
+						<reference key="NSWindow"/>
+						<reference key="NSNextKeyView" ref="676542400"/>
 						<bool key="NSEnabled">YES</bool>
 						<object class="NSButtonCell" key="NSCell" id="712274320">
 							<int key="NSCellFlags">67108864</int>
-							<int key="NSCellFlags2">134217728</int>
-							<string key="NSContents">Register New Account</string>
+							<int key="NSCellFlags2">0</int>
+							<string key="NSContents">Create a new account on the server</string>
 							<reference key="NSSupport" ref="745543233"/>
 							<reference key="NSControlView" ref="272517914"/>
-							<int key="NSButtonFlags">-2038284288</int>
-							<int key="NSButtonFlags2">1</int>
-							<reference key="NSAlternateImage" ref="745543233"/>
+							<int key="NSButtonFlags">1211912448</int>
+							<int key="NSButtonFlags2">2</int>
+							<object class="NSCustomResource" key="NSNormalImage" id="948923301">
+								<string key="NSClassName">NSImage</string>
+								<string key="NSResourceName">NSSwitch</string>
+							</object>
+							<object class="NSButtonImageSource" key="NSAlternateImage" id="10299655">
+								<string key="NSImageName">NSSwitch</string>
+							</object>
 							<string key="NSAlternateContents"/>
 							<object class="NSMutableString" key="NSKeyEquivalent">
 								<characters key="NS.bytes"/>
@@ -182,38 +221,11 @@
 						</object>
 						<bool key="NSAllowsLogicalLayoutDirection">NO</bool>
 					</object>
-					<object class="NSProgressIndicator" id="850011028">
-						<reference key="NSNextResponder" ref="837853317"/>
-						<int key="NSvFlags">-2147482368</int>
-						<string key="NSFrame">{{20, 22}, {16, 16}}</string>
-						<reference key="NSSuperview" ref="837853317"/>
-						<int key="NSpiFlags">28938</int>
-						<double key="NSMaxValue">100</double>
-					</object>
-					<object class="NSTextField" id="688169103">
-						<reference key="NSNextResponder" ref="837853317"/>
-						<int key="NSvFlags">-2147483392</int>
-						<string key="NSFrame">{{41, 23}, {76, 14}}</string>
-						<reference key="NSSuperview" ref="837853317"/>
-						<bool key="NSEnabled">YES</bool>
-						<object class="NSTextFieldCell" key="NSCell" id="924854234">
-							<int key="NSCellFlags">67108864</int>
-							<int key="NSCellFlags2">272629760</int>
-							<string key="NSContents">Registering…</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="NSControlView" ref="688169103"/>
-							<reference key="NSBackgroundColor" ref="701108434"/>
-							<reference key="NSTextColor" ref="564835922"/>
-						</object>
-						<bool key="NSAllowsLogicalLayoutDirection">NO</bool>
-					</object>
 				</array>
-				<string key="NSFrameSize">{457, 127}</string>
+				<string key="NSFrameSize">{457, 175}</string>
 				<reference key="NSSuperview"/>
+				<reference key="NSWindow"/>
+				<reference key="NSNextKeyView" ref="385654329"/>
 				<string key="NSClassName">NSView</string>
 				<string key="NSExtension">NSResponder</string>
 			</object>
@@ -235,13 +247,8 @@
 							<reference key="NSControlView" ref="611926856"/>
 							<int key="NSButtonFlags">1211912448</int>
 							<int key="NSButtonFlags2">2</int>
-							<object class="NSCustomResource" key="NSNormalImage" id="634818190">
-								<string key="NSClassName">NSImage</string>
-								<string key="NSResourceName">NSSwitch</string>
-							</object>
-							<object class="NSButtonImageSource" key="NSAlternateImage" id="10299655">
-								<string key="NSImageName">NSSwitch</string>
-							</object>
+							<reference key="NSNormalImage" ref="948923301"/>
+							<reference key="NSAlternateImage" ref="10299655"/>
 							<string key="NSAlternateContents"/>
 							<string key="NSKeyEquivalent"/>
 							<int key="NSPeriodicDelay">200</int>
@@ -263,7 +270,7 @@
 							<reference key="NSControlView" ref="1069823102"/>
 							<int key="NSButtonFlags">1211912448</int>
 							<int key="NSButtonFlags2">2</int>
-							<reference key="NSNormalImage" ref="634818190"/>
+							<reference key="NSNormalImage" ref="948923301"/>
 							<reference key="NSAlternateImage" ref="10299655"/>
 							<string key="NSAlternateContents"/>
 							<string key="NSKeyEquivalent"/>
@@ -286,7 +293,7 @@
 							<reference key="NSControlView" ref="767871570"/>
 							<int key="NSButtonFlags">1211912448</int>
 							<int key="NSButtonFlags2">2</int>
-							<reference key="NSNormalImage" ref="634818190"/>
+							<reference key="NSNormalImage" ref="948923301"/>
 							<reference key="NSAlternateImage" ref="10299655"/>
 							<string key="NSAlternateContents"/>
 							<string key="NSKeyEquivalent"/>
@@ -811,7 +818,7 @@
 							<reference key="NSControlView" ref="755212957"/>
 							<int key="NSButtonFlags">1211912448</int>
 							<int key="NSButtonFlags2">2</int>
-							<reference key="NSNormalImage" ref="634818190"/>
+							<reference key="NSNormalImage" ref="948923301"/>
 							<reference key="NSAlternateImage" ref="10299655"/>
 							<string key="NSAlternateContents"/>
 							<string key="NSKeyEquivalent"/>
@@ -834,7 +841,7 @@
 							<reference key="NSControlView" ref="1011876758"/>
 							<int key="NSButtonFlags">1211912448</int>
 							<int key="NSButtonFlags2">2</int>
-							<reference key="NSNormalImage" ref="634818190"/>
+							<reference key="NSNormalImage" ref="948923301"/>
 							<reference key="NSAlternateImage" ref="10299655"/>
 							<string key="NSAlternateContents"/>
 							<string key="NSKeyEquivalent"/>
@@ -874,7 +881,7 @@
 							<reference key="NSControlView" ref="753162121"/>
 							<int key="NSButtonFlags">1211912448</int>
 							<int key="NSButtonFlags2">2</int>
-							<reference key="NSNormalImage" ref="634818190"/>
+							<reference key="NSNormalImage" ref="948923301"/>
 							<reference key="NSAlternateImage" ref="10299655"/>
 							<string key="NSAlternateContents"/>
 							<string key="NSKeyEquivalent"/>
@@ -889,7 +896,7 @@
 				<string key="NSExtension">NSResponder</string>
 			</object>
 			<object class="NSCustomView" id="809544060">
-				<nil key="NSNextResponder"/>
+				<reference key="NSNextResponder"/>
 				<int key="NSvFlags">256</int>
 				<array class="NSMutableArray" key="NSSubviews">
 					<object class="NSButton" id="8487197">
@@ -897,6 +904,8 @@
 						<int key="NSvFlags">264</int>
 						<string key="NSFrame">{{90, 24}, {309, 18}}</string>
 						<reference key="NSSuperview" ref="809544060"/>
+						<reference key="NSWindow"/>
+						<reference key="NSNextKeyView" ref="609337263"/>
 						<bool key="NSEnabled">YES</bool>
 						<object class="NSButtonCell" key="NSCell" id="767290510">
 							<int key="NSCellFlags">67108864</int>
@@ -906,7 +915,7 @@
 							<reference key="NSControlView" ref="8487197"/>
 							<int key="NSButtonFlags">1211912448</int>
 							<int key="NSButtonFlags2">2</int>
-							<reference key="NSNormalImage" ref="634818190"/>
+							<reference key="NSNormalImage" ref="948923301"/>
 							<reference key="NSAlternateImage" ref="10299655"/>
 							<string key="NSAlternateContents"/>
 							<string key="NSKeyEquivalent"/>
@@ -920,6 +929,8 @@
 						<int key="NSvFlags">264</int>
 						<string key="NSFrame">{{35, 25}, {52, 17}}</string>
 						<reference key="NSSuperview" ref="809544060"/>
+						<reference key="NSWindow"/>
+						<reference key="NSNextKeyView" ref="8487197"/>
 						<bool key="NSEnabled">YES</bool>
 						<object class="NSTextFieldCell" key="NSCell" id="492202865">
 							<int key="NSCellFlags">67108864</int>
@@ -937,6 +948,8 @@
 						<int key="NSvFlags">264</int>
 						<string key="NSFrame">{{12, 54}, {75, 17}}</string>
 						<reference key="NSSuperview" ref="809544060"/>
+						<reference key="NSWindow"/>
+						<reference key="NSNextKeyView" ref="918185157"/>
 						<bool key="NSEnabled">YES</bool>
 						<object class="NSTextFieldCell" key="NSCell" id="632016050">
 							<int key="NSCellFlags">67108864</int>
@@ -954,6 +967,8 @@
 						<int key="NSvFlags">264</int>
 						<string key="NSFrame">{{89, 48}, {307, 26}}</string>
 						<reference key="NSSuperview" ref="809544060"/>
+						<reference key="NSWindow"/>
+						<reference key="NSNextKeyView" ref="174273451"/>
 						<bool key="NSEnabled">YES</bool>
 						<object class="NSPopUpButtonCell" key="NSCell" id="1034471844">
 							<int key="NSCellFlags">-2080374720</int>
@@ -1002,6 +1017,8 @@
 						<int key="NSvFlags">264</int>
 						<string key="NSFrame">{{42, 0}, {45, 17}}</string>
 						<reference key="NSSuperview" ref="809544060"/>
+						<reference key="NSWindow"/>
+						<reference key="NSNextKeyView" ref="462740945"/>
 						<bool key="NSEnabled">YES</bool>
 						<object class="NSTextFieldCell" key="NSCell" id="457025165">
 							<int key="NSCellFlags">67108864</int>
@@ -1019,6 +1036,8 @@
 						<int key="NSvFlags">264</int>
 						<string key="NSFrame">{{90, -1}, {312, 18}}</string>
 						<reference key="NSSuperview" ref="809544060"/>
+						<reference key="NSWindow"/>
+						<reference key="NSNextKeyView"/>
 						<bool key="NSEnabled">YES</bool>
 						<object class="NSButtonCell" key="NSCell" id="490598706">
 							<int key="NSCellFlags">67108864</int>
@@ -1028,7 +1047,7 @@
 							<reference key="NSControlView" ref="462740945"/>
 							<int key="NSButtonFlags">1211912448</int>
 							<int key="NSButtonFlags2">2</int>
-							<reference key="NSNormalImage" ref="634818190"/>
+							<reference key="NSNormalImage" ref="948923301"/>
 							<reference key="NSAlternateImage" ref="10299655"/>
 							<string key="NSAlternateContents"/>
 							<string key="NSKeyEquivalent"/>
@@ -1039,6 +1058,9 @@
 					</object>
 				</array>
 				<string key="NSFrameSize">{393, 75}</string>
+				<reference key="NSSuperview"/>
+				<reference key="NSWindow"/>
+				<reference key="NSNextKeyView" ref="571454235"/>
 				<object class="NSMutableString" key="NSClassName">
 					<characters key="NS.bytes">NSView</characters>
 				</object>
@@ -1057,157 +1079,21 @@
 				<nil key="NSUserInterfaceItemIdentifier"/>
 				<string key="NSWindowContentMinSize">{213, 107}</string>
 				<object class="NSView" key="NSWindowView" id="76601519">
-					<nil key="NSNextResponder"/>
+					<reference key="NSNextResponder"/>
 					<int key="NSvFlags">256</int>
 					<array class="NSMutableArray" key="NSSubviews">
-						<object class="NSTextField" id="817647129">
-							<reference key="NSNextResponder" ref="76601519"/>
-							<int key="NSvFlags">268</int>
-							<string key="NSFrame">{{17, 307}, {280, 17}}</string>
-							<reference key="NSSuperview" ref="76601519"/>
-							<bool key="NSEnabled">YES</bool>
-							<object class="NSTextFieldCell" key="NSCell" id="377334044">
-								<int key="NSCellFlags">67108864</int>
-								<int key="NSCellFlags2">272629760</int>
-								<string key="NSContents">Either enter your XMPP server address here:</string>
-								<reference key="NSSupport" ref="745543233"/>
-								<reference key="NSControlView" ref="817647129"/>
-								<reference key="NSBackgroundColor" ref="701108434"/>
-								<reference key="NSTextColor" ref="564835922"/>
-							</object>
-							<bool key="NSAllowsLogicalLayoutDirection">NO</bool>
-						</object>
-						<object class="NSTextField" id="179284965">
-							<reference key="NSNextResponder" ref="76601519"/>
-							<int key="NSvFlags">266</int>
-							<string key="NSFrame">{{101, 277}, {193, 22}}</string>
-							<reference key="NSSuperview" ref="76601519"/>
-							<bool key="NSEnabled">YES</bool>
-							<object class="NSTextFieldCell" key="NSCell" id="3174051">
-								<int key="NSCellFlags">-1804599231</int>
-								<int key="NSCellFlags2">272630784</int>
-								<string key="NSContents"/>
-								<reference key="NSSupport" ref="745543233"/>
-								<reference key="NSControlView" ref="179284965"/>
-								<bool key="NSDrawsBackground">YES</bool>
-								<reference key="NSBackgroundColor" ref="427835941"/>
-								<reference key="NSTextColor" ref="185594471"/>
-							</object>
-							<bool key="NSAllowsLogicalLayoutDirection">NO</bool>
-						</object>
-						<object class="NSTextField" id="596837261">
-							<reference key="NSNextResponder" ref="76601519"/>
-							<int key="NSvFlags">268</int>
-							<string key="NSFrame">{{17, 280}, {79, 17}}</string>
-							<reference key="NSSuperview" ref="76601519"/>
-							<bool key="NSEnabled">YES</bool>
-							<object class="NSTextFieldCell" key="NSCell" id="129129203">
-								<int key="NSCellFlags">67108864</int>
-								<int key="NSCellFlags2">71303168</int>
-								<string key="NSContents">Server:</string>
-								<reference key="NSSupport" ref="745543233"/>
-								<reference key="NSControlView" ref="596837261"/>
-								<reference key="NSBackgroundColor" ref="701108434"/>
-								<reference key="NSTextColor" ref="564835922"/>
-							</object>
-							<bool key="NSAllowsLogicalLayoutDirection">NO</bool>
-						</object>
-						<object class="NSTextField" id="687226273">
-							<reference key="NSNextResponder" ref="76601519"/>
-							<int key="NSvFlags">265</int>
-							<string key="NSFrame">{{338, 278}, {60, 22}}</string>
-							<reference key="NSSuperview" ref="76601519"/>
-							<bool key="NSEnabled">YES</bool>
-							<object class="NSTextFieldCell" key="NSCell" id="228444455">
-								<int key="NSCellFlags">-1804599231</int>
-								<int key="NSCellFlags2">272630784</int>
-								<reference key="NSSupport" ref="745543233"/>
-								<object class="NSNumberFormatter" key="NSFormatter" id="143337838">
-									<dictionary class="NSMutableDictionary" key="NS.attributes">
-										<boolean value="YES" key="allowsFloats"/>
-										<object class="NSAttributedString" key="attributedStringForZero" id="888700306">
-											<string key="NSString">0</string>
-											<dictionary key="NSAttributes" id="248562360"/>
-										</object>
-										<string key="decimalSeparator">.</string>
-										<integer value="1000" key="formatterBehavior"/>
-										<string key="groupingSeparator">,</string>
-										<object class="NSDecimalNumberPlaceholder" key="maximum" id="955832763">
-											<int key="NS.exponent">0</int>
-											<int key="NS.length">1</int>
-											<bool key="NS.negative">NO</bool>
-											<bool key="NS.compact">YES</bool>
-											<int key="NS.mantissa.bo">1</int>
-											<bytes key="NS.mantissa">//8AAAAAAAAAAAAAAAAAAA</bytes>
-										</object>
-										<object class="NSDecimalNumberPlaceholder" key="minimum" id="655256037">
-											<int key="NS.exponent">0</int>
-											<int key="NS.length">1</int>
-											<bool key="NS.negative">NO</bool>
-											<bool key="NS.compact">YES</bool>
-											<int key="NS.mantissa.bo">1</int>
-											<bytes key="NS.mantissa">AQAAAAAAAAAAAAAAAAAAAA</bytes>
-										</object>
-										<string key="negativeFormat">-0</string>
-										<string key="positiveFormat">0</string>
-										<boolean value="NO" key="usesGroupingSeparator"/>
-									</dictionary>
-									<string key="NS.positiveformat">0</string>
-									<string key="NS.negativeformat">-0</string>
-									<nil key="NS.positiveattrs"/>
-									<nil key="NS.negativeattrs"/>
-									<reference key="NS.zero" ref="888700306"/>
-									<object class="NSAttributedString" key="NS.nil">
-										<string key="NSString"/>
-									</object>
-									<object class="NSAttributedString" key="NS.nan">
-										<string key="NSString">NaN</string>
-										<reference key="NSAttributes" ref="248562360"/>
-									</object>
-									<reference key="NS.min" ref="655256037"/>
-									<reference key="NS.max" ref="955832763"/>
-									<nil key="NS.rounding"/>
-									<string key="NS.decimal">.</string>
-									<string key="NS.thousand">,</string>
-									<bool key="NS.hasthousands">NO</bool>
-									<bool key="NS.localized">YES</bool>
-									<bool key="NS.allowsfloats">YES</bool>
-								</object>
-								<string key="NSPlaceholderString">5222</string>
-								<reference key="NSControlView" ref="687226273"/>
-								<bool key="NSDrawsBackground">YES</bool>
-								<reference key="NSBackgroundColor" ref="427835941"/>
-								<reference key="NSTextColor" ref="185594471"/>
-							</object>
-							<bool key="NSAllowsLogicalLayoutDirection">NO</bool>
-						</object>
-						<object class="NSTextField" id="723971470">
-							<reference key="NSNextResponder" ref="76601519"/>
-							<int key="NSvFlags">265</int>
-							<string key="NSFrame">{{299, 280}, {34, 17}}</string>
-							<reference key="NSSuperview" ref="76601519"/>
-							<bool key="NSEnabled">YES</bool>
-							<object class="NSTextFieldCell" key="NSCell" id="688292495">
-								<int key="NSCellFlags">67108864</int>
-								<int key="NSCellFlags2">71303168</int>
-								<string key="NSContents">Port:</string>
-								<reference key="NSSupport" ref="745543233"/>
-								<reference key="NSControlView" ref="723971470"/>
-								<reference key="NSBackgroundColor" ref="701108434"/>
-								<reference key="NSTextColor" ref="564835922"/>
-							</object>
-							<bool key="NSAllowsLogicalLayoutDirection">NO</bool>
-						</object>
 						<object class="NSTextField" id="717094965">
 							<reference key="NSNextResponder" ref="76601519"/>
 							<int key="NSvFlags">268</int>
-							<string key="NSFrame">{{17, 252}, {242, 17}}</string>
+							<string key="NSFrame">{{17, 307}, {242, 17}}</string>
 							<reference key="NSSuperview" ref="76601519"/>
+							<reference key="NSWindow"/>
+							<reference key="NSNextKeyView" ref="208815502"/>
 							<bool key="NSEnabled">YES</bool>
 							<object class="NSTextFieldCell" key="NSCell" id="995640262">
 								<int key="NSCellFlags">67108864</int>
 								<int key="NSCellFlags2">272629760</int>
-								<string key="NSContents">or select a public server from the list:</string>
+								<string key="NSContents">Select a public server from the list:</string>
 								<reference key="NSSupport" ref="745543233"/>
 								<reference key="NSControlView" ref="717094965"/>
 								<reference key="NSBackgroundColor" ref="701108434"/>
@@ -1226,8 +1112,10 @@
 										<object class="NSTableView" id="398564099">
 											<reference key="NSNextResponder" ref="514102083"/>
 											<int key="NSvFlags">256</int>
-											<string key="NSFrameSize">{243, 157}</string>
+											<string key="NSFrameSize">{243, 212}</string>
 											<reference key="NSSuperview" ref="514102083"/>
+											<reference key="NSWindow"/>
+											<reference key="NSNextKeyView" ref="77982398"/>
 											<bool key="NSEnabled">YES</bool>
 											<bool key="NSAllowsLogicalLayoutDirection">NO</bool>
 											<bool key="NSControlAllowsExpansionToolTips">YES</bool>
@@ -1246,7 +1134,11 @@
 														<int key="NSCellFlags">75497536</int>
 														<int key="NSCellFlags2">2048</int>
 														<string key="NSContents">Server Name</string>
-														<reference key="NSSupport" ref="26"/>
+														<object class="NSFont" key="NSSupport">


More information about the commits mailing list