Plugins/Purple Service/ESPurpleQQAccountViewController.m
changeset 2726 da360535713d
parent 0 e22ad6bc8b46
child 3679 f4294bb53b0f
     1.1 --- a/Plugins/Purple Service/ESPurpleQQAccountViewController.m	Wed Aug 06 09:24:25 2008 +0000
     1.2 +++ b/Plugins/Purple Service/ESPurpleQQAccountViewController.m	Fri Oct 16 10:43:15 2009 -0400
     1.3 @@ -8,11 +8,28 @@
     1.4  #import "ESPurpleQQAccountViewController.h"
     1.5  #import "ESPurpleQQAccount.h"
     1.6  
     1.7 +#import <AIUtilities/AIMenuAdditions.h>
     1.8 +#import <AIUtilities/AIPopUpButtonAdditions.h>
     1.9 +
    1.10 +@interface ESPurpleQQAccountViewController()
    1.11 +- (NSMenu *)clientVersionMenu;
    1.12 +@end
    1.13 +
    1.14  @implementation ESPurpleQQAccountViewController
    1.15  - (NSString *)nibName{
    1.16      return @"PurpleQQAccountView";
    1.17  }
    1.18  
    1.19 +/*!
    1.20 + * @brief Awake from nib
    1.21 + */
    1.22 +- (void)awakeFromNib
    1.23 +{
    1.24 +	[super awakeFromNib];
    1.25 +	[popUp_clientVersion setMenu:[self clientVersionMenu]];
    1.26 +}
    1.27 +
    1.28 +
    1.29  //Configure controls
    1.30  - (void)configureForAccount:(AIAccount *)inAccount
    1.31  {
    1.32 @@ -23,6 +40,11 @@
    1.33  	[checkBox_useTCP setLocalizedString:AILocalizedString(@"Connect using TCP", nil)];
    1.34  
    1.35  	[label_connection setLocalizedString:AILocalizedString(@"Connection:", nil)];
    1.36 +	
    1.37 +	[label_clientVersion setLocalizedString:AILocalizedString(@"Client Version:", nil)];
    1.38 +	
    1.39 +	[popUp_clientVersion selectItemWithRepresentedObject:[inAccount preferenceForKey:KEY_QQ_CLIENT_VERSION
    1.40 +																			   group:GROUP_ACCOUNT_STATUS]];
    1.41  }
    1.42  
    1.43  //Save controls
    1.44 @@ -30,8 +52,32 @@
    1.45  {
    1.46  	[account setPreference:[NSNumber numberWithBool:[checkBox_useTCP state]] 
    1.47  					forKey:KEY_QQ_USE_TCP group:GROUP_ACCOUNT_STATUS];
    1.48 +	
    1.49 +	[account setPreference:[[popUp_clientVersion selectedItem] representedObject]
    1.50 +					forKey:KEY_QQ_CLIENT_VERSION
    1.51 +					 group:GROUP_ACCOUNT_STATUS];
    1.52  
    1.53  	[super saveConfiguration];
    1.54  }
    1.55  
    1.56 +- (NSMenu *)clientVersionMenu
    1.57 +{
    1.58 +	NSMenu			*clientVersionMenu = [[NSMenu allocWithZone:[NSMenu zone]] init];
    1.59 +	NSDictionary	*clientVersionDict = [NSDictionary dictionaryWithObjectsAndKeys:
    1.60 +										  @"2008", @"qq2008",
    1.61 +										  @"2007", @"qq2007",
    1.62 +										  @"2005", @"qq2005",
    1.63 +										  nil];
    1.64 +	
    1.65 +	for (NSString *prefix in clientVersionDict.allKeys) {
    1.66 +		[clientVersionMenu addItemWithTitle:[clientVersionDict objectForKey:prefix]
    1.67 +									 target:nil
    1.68 +									 action:nil
    1.69 +							  keyEquivalent:@""
    1.70 +						  representedObject:prefix];
    1.71 +	}
    1.72 +
    1.73 +	return [clientVersionMenu autorelease];
    1.74 +}
    1.75 +
    1.76  @end