adium-1.4 3435:07c90e956533: Disable the auth button if we're al...
commits at adium.im
commits at adium.im
Mon Mar 21 00:36:45 UTC 2011
details: http://hg.adium.im/adium-1.4/rev/07c90e956533
revision: 3435:07c90e956533
branch: facebook-xmpp
author: Frank Dowsett <wixardy at adium.im>
date: Sun Mar 20 20:12:57 2011 -0400
Disable the auth button if we're already authorized refs #15041
Subject: adium-1.4 3436:b61d7600f94e: Give a more meaningful title to the OAuth login window.
details: http://hg.adium.im/adium-1.4/rev/b61d7600f94e
revision: 3436:b61d7600f94e
branch: facebook-xmpp
author: Frank Dowsett <wixardy at adium.im>
date: Sun Mar 20 20:14:00 2011 -0400
Give a more meaningful title to the OAuth login window.
Subject: adium-1.4 3437:7e125be4fa80: Connecting after setup is handled elsewhere for us.
details: http://hg.adium.im/adium-1.4/rev/7e125be4fa80
revision: 3437:7e125be4fa80
branch: facebook-xmpp
author: Frank Dowsett <wixardy at adium.im>
date: Sun Mar 20 20:14:53 2011 -0400
Connecting after setup is handled elsewhere for us.
Subject: adium-1.4 3438:1ac6df526f60: The default statuses should be good enough.
details: http://hg.adium.im/adium-1.4/rev/1ac6df526f60
revision: 3438:1ac6df526f60
branch: facebook-xmpp
author: Frank Dowsett <wixardy at adium.im>
date: Sun Mar 20 20:15:43 2011 -0400
The default statuses should be good enough.
Subject: adium-1.4 3439:6c5ec0f20dcd: Switch to async requests for FB setup. Refs #15041
details: http://hg.adium.im/adium-1.4/rev/6c5ec0f20dcd
revision: 3439:6c5ec0f20dcd
branch: facebook-xmpp
author: Frank Dowsett <wixardy at adium.im>
date: Sun Mar 20 20:15:53 2011 -0400
Switch to async requests for FB setup. Refs #15041
diffs (truncated from 1497 to 1000 lines):
diff -r 6ffc02f14020 -r 6c5ec0f20dcd Plugins/Purple Service/AIFacebookXMPPAccount.h
--- a/Plugins/Purple Service/AIFacebookXMPPAccount.h Fri Mar 18 20:46:09 2011 -0400
+++ b/Plugins/Purple Service/AIFacebookXMPPAccount.h Sun Mar 20 20:15:53 2011 -0400
@@ -13,6 +13,10 @@
@interface AIFacebookXMPPAccount : CBPurpleAccount {
AIFacebookXMPPOAuthWebViewWindowController *oAuthWC;
AIAccount *migratingAccount;
+ NSString *sessionKey;
+
+ NSURLConnection *meConnection;
+ NSURLConnection *secretConnection;
}
@property (nonatomic, retain) AIFacebookXMPPOAuthWebViewWindowController *oAuthWC;
diff -r 6ffc02f14020 -r 6c5ec0f20dcd Plugins/Purple Service/AIFacebookXMPPAccount.m
--- a/Plugins/Purple Service/AIFacebookXMPPAccount.m Fri Mar 18 20:46:09 2011 -0400
+++ b/Plugins/Purple Service/AIFacebookXMPPAccount.m Sun Mar 20 20:15:53 2011 -0400
@@ -124,63 +124,6 @@
}
}
-#pragma mark Status
-
-- (const char *)purpleStatusIDForStatus:(AIStatus *)statusState
- arguments:(NSMutableDictionary *)arguments
-{
- const char *statusID = NULL;
- NSString *statusName = statusState.statusName;
- NSString *statusMessageString = [statusState statusMessageString];
- NSNumber *priority = nil;
-
- if (!statusMessageString) statusMessageString = @"";
-
- switch (statusState.statusType) {
- case AIAvailableStatusType:
- {
- if (([statusName isEqualToString:STATUS_NAME_FREE_FOR_CHAT]) ||
- ([statusMessageString caseInsensitiveCompare:[adium.statusController localizedDescriptionForCoreStatusName:STATUS_NAME_FREE_FOR_CHAT]] == NSOrderedSame))
- statusID = jabber_buddy_state_get_status_id(JABBER_BUDDY_STATE_CHAT);
- priority = [self preferenceForKey:KEY_JABBER_PRIORITY_AVAILABLE group:GROUP_ACCOUNT_STATUS];
- break;
- }
-
- case AIAwayStatusType:
- {
- if (([statusName isEqualToString:STATUS_NAME_DND]) ||
- ([statusMessageString caseInsensitiveCompare:[adium.statusController localizedDescriptionForCoreStatusName:STATUS_NAME_DND]] == NSOrderedSame) ||
- [statusName isEqualToString:STATUS_NAME_BUSY]) {
- //Note that Jabber doesn't actually support a 'busy' status; if we have it set because some other service supports it, treat it as DND
- statusID = jabber_buddy_state_get_status_id(JABBER_BUDDY_STATE_DND);
-
- } else if (([statusName isEqualToString:STATUS_NAME_EXTENDED_AWAY]) ||
- ([statusMessageString caseInsensitiveCompare:[adium.statusController localizedDescriptionForCoreStatusName:STATUS_NAME_EXTENDED_AWAY]] == NSOrderedSame))
- statusID = jabber_buddy_state_get_status_id(JABBER_BUDDY_STATE_XA);
- priority = [self preferenceForKey:KEY_JABBER_PRIORITY_AWAY group:GROUP_ACCOUNT_STATUS];
- break;
- }
-
- case AIInvisibleStatusType:
- AILog(@"Warning: Invisibility is not yet supported in libpurple 2.0.0 jabber");
- priority = [self preferenceForKey:KEY_JABBER_PRIORITY_AWAY group:GROUP_ACCOUNT_STATUS];
- statusID = jabber_buddy_state_get_status_id(JABBER_BUDDY_STATE_AWAY);
- break;
-
- case AIOfflineStatusType:
- break;
- }
-
- //Set our priority, which is actually set along with the status...Default is 0.
- [arguments setObject:(priority ? priority : [NSNumber numberWithInt:0])
- forKey:@"priority"];
-
- //If we didn't get a purple status ID, request one from super
- if (statusID == NULL) statusID = [super purpleStatusIDForStatus:statusState arguments:arguments];
-
- return statusID;
-}
-
#pragma mark Account configuration
- (void)setName:(NSString *)name UID:(NSString *)inUID
@@ -239,6 +182,7 @@
if (self.migratingAccount) {
self.oAuthWC.autoFillUsername = self.migratingAccount.UID;
self.oAuthWC.autoFillPassword = [adium.accountController passwordForAccount:self.migratingAccount];
+ [self.oAuthWC.window setTitle:[NSString stringWithFormat:AILocalizedString(@"Migrating %@", nil), self.migratingAccount.UID]];
}
[self.oAuthWC showWindow:self];
@@ -246,43 +190,52 @@
- (void)oAuthWebViewController:(AIFacebookXMPPOAuthWebViewWindowController *)wc didSucceedWithToken:(NSString *)token
{
+ //Look up the account's full name so that we have something more useful than their FB ID
NSString *urlstring = [NSString stringWithFormat:@"https://graph.facebook.com/me?access_token=%@", token];
NSURL *url = [NSURL URLWithString:[urlstring stringByAddingPercentEscapesUsingEncoding: NSUTF8StringEncoding]];
- NSURLRequest *request = [NSURLRequest requestWithURL:url];
- NSURLResponse *response;
- NSError *error;
+ meConnection = [NSURLConnection connectionWithRequest:[NSURLRequest requestWithURL:url] delegate:self];
- NSData *conn = [NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&error];
- NSDictionary *resp = [conn objectFromJSONDataWithParseOptions:JKParseOptionNone error:&error];
- NSString *uuid = [resp objectForKey:@"id"];
- NSString *name = [resp objectForKey:@"name"];
-
- NSString *sessionKey = [[token componentsSeparatedByString:@"|"] objectAtIndex:1];
-
+ sessionKey = [[[token componentsSeparatedByString:@"|"] objectAtIndex:1] retain];
+
+ //This is a deprecated api that doesn't have a replacement yet
+ //Need to call this in order to be able to login
NSString *secretURLString = [NSString stringWithFormat:@"https://api.facebook.com/method/auth.promoteSession?access_token=%@&format=JSON", token];
NSURL *secretURL = [NSURL URLWithString:[secretURLString stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]];
- NSURLRequest *secretRequest = [NSURLRequest requestWithURL:secretURL];
- NSData *secretData = [NSURLConnection sendSynchronousRequest:secretRequest returningResponse:&response error:&error];
- NSString *secret = [[[NSString alloc] initWithData:secretData encoding:NSUTF8StringEncoding] autorelease];
- secret = [secret substringWithRange:NSMakeRange(1, [secret length] - 2)]; // strip off the quotes
-
- /* Passwords are keyed by UID, so we need to make this change before storing the password */
- [self setName:name UID:uuid];
+ secretConnection = [NSURLConnection connectionWithRequest:[NSURLRequest requestWithURL:secretURL] delegate:self];
- [[adium accountController] setPassword:sessionKey forAccount:self];
- [self setPasswordTemporarily:sessionKey];
-
- [self setPreference:secret
- forKey:@"FBSessionSecret"
- group:GROUP_ACCOUNT_STATUS];
+ self.oAuthWC = nil;
+}
- self.oAuthWC = nil;
-
- /* When we're newly authorized, connect! */
- [self connect];
-
- if (self.migratingAccount)
- [self finishMigration];
+- (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data
+{
+ if (connection == meConnection) {
+ NSDictionary *resp = [data objectFromJSONDataWithParseOptions:JKParseOptionNone];
+ NSString *uuid = [resp objectForKey:@"id"];
+ NSString *name = [resp objectForKey:@"name"];
+
+ if (uuid && name) {
+ /* Passwords are keyed by UID, so we need to make this change before storing the password */
+ [self setName:name UID:uuid];
+
+ [[adium accountController] setPassword:sessionKey forAccount:self];
+ [self setPasswordTemporarily:sessionKey];
+
+ if (self.migratingAccount)
+ [self finishMigration];
+ }
+
+ [sessionKey release];
+ meConnection = nil;
+ } else if (connection == secretConnection) {
+ NSString *secret = [[[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding] autorelease];
+ secret = [secret substringWithRange:NSMakeRange(1, [secret length] - 2)]; // strip off the quotes
+
+ [self setPreference:secret
+ forKey:@"FBSessionSecret"
+ group:GROUP_ACCOUNT_STATUS];
+
+ secretConnection = nil;
+ }
}
#pragma mark Migration
diff -r 6ffc02f14020 -r 6c5ec0f20dcd Plugins/Purple Service/AIFacebookXMPPAccountViewController.m
--- a/Plugins/Purple Service/AIFacebookXMPPAccountViewController.m Fri Mar 18 20:46:09 2011 -0400
+++ b/Plugins/Purple Service/AIFacebookXMPPAccountViewController.m Sun Mar 20 20:15:53 2011 -0400
@@ -9,6 +9,7 @@
#import "AIFacebookXMPPAccount.h"
#import "AIFacebookXMPPAccountViewController.h"
#import <Adium/AIAccount.h>
+#import <Adium/AIAccountControllerProtocol.h>
@implementation AIFacebookXMPPAccountViewController
@synthesize view_migration, textField_migrationStatus, button_migrationHelp, button_migrationOAuthStart, migrationSpinner;
@@ -43,6 +44,19 @@
}
/*!
+ * @brief Configure controls
+ */
+- (void)configureForAccount:(AIAccount *)inAccount
+{
+ [super configureForAccount:inAccount];
+
+ if (account.UID && [[adium.accountController passwordForAccount:account] length]) {
+ [textField_OAuthStatus setStringValue:AILocalizedString(@"Adium currently has access to your account.", nil)];
+ [button_OAuthStart setEnabled:NO];
+ }
+}
+
+/*!
* @brief A preference was changed
*
* Don't save here; merely update controls as necessary.
diff -r 6ffc02f14020 -r 6c5ec0f20dcd Plugins/Purple Service/AIFacebookXMPPOauthWebViewWindow.xib
--- a/Plugins/Purple Service/AIFacebookXMPPOauthWebViewWindow.xib Fri Mar 18 20:46:09 2011 -0400
+++ b/Plugins/Purple Service/AIFacebookXMPPOauthWebViewWindow.xib Sun Mar 20 20:15:53 2011 -0400
@@ -3,7 +3,7 @@
<data>
<int key="IBDocument.SystemTarget">1050</int>
<string key="IBDocument.SystemVersion">10J567</string>
- <string key="IBDocument.InterfaceBuilderVersion">788</string>
+ <string key="IBDocument.InterfaceBuilderVersion">1305</string>
<string key="IBDocument.AppKitVersion">1038.35</string>
<string key="IBDocument.HIToolboxVersion">462.00</string>
<object class="NSMutableDictionary" key="IBDocument.PluginVersions">
@@ -15,13 +15,17 @@
</object>
<object class="NSMutableArray" key="dict.values">
<bool key="EncodedWithXMLCoder">YES</bool>
- <string>788</string>
- <string>788</string>
+ <string>1305</string>
+ <string>30</string>
</object>
</object>
- <object class="NSMutableArray" key="IBDocument.EditedObjectIDs">
+ <object class="NSArray" key="IBDocument.IntegratedClassDependencies">
<bool key="EncodedWithXMLCoder">YES</bool>
- <integer value="1"/>
+ <string>NSWindowTemplate</string>
+ <string>NSView</string>
+ <string>NSProgressIndicator</string>
+ <string>NSCustomObject</string>
+ <string>WebView</string>
</object>
<object class="NSArray" key="IBDocument.PluginDependencies">
<bool key="EncodedWithXMLCoder">YES</bool>
@@ -33,9 +37,7 @@
<object class="NSArray" key="dict.sortedKeys" id="0">
<bool key="EncodedWithXMLCoder">YES</bool>
</object>
- <object class="NSMutableArray" key="dict.values">
- <bool key="EncodedWithXMLCoder">YES</bool>
- </object>
+ <reference key="dict.values" ref="0"/>
</object>
<object class="NSMutableArray" key="IBDocument.RootObjects" id="1000">
<bool key="EncodedWithXMLCoder">YES</bool>
@@ -53,10 +55,9 @@
<int key="NSWindowBacking">2</int>
<string key="NSWindowRect">{{196, 130}, {640, 380}}</string>
<int key="NSWTFlags">544735232</int>
- <string key="NSWindowTitle">Window</string>
+ <string key="NSWindowTitle">Facebook Account Setup</string>
<string key="NSWindowClass">NSWindow</string>
<nil key="NSViewClass"/>
- <string key="NSWindowContentMaxSize">{1.79769e+308, 1.79769e+308}</string>
<object class="NSView" key="NSWindowView" id="1006">
<reference key="NSNextResponder"/>
<int key="NSvFlags">256</int>
@@ -88,6 +89,7 @@
</object>
<string key="NSFrameSize">{640, 380}</string>
<reference key="NSSuperview" ref="1006"/>
+ <reference key="NSWindow"/>
<reference key="NSNextKeyView"/>
<string key="FrameName"/>
<string key="GroupName"/>
@@ -118,16 +120,19 @@
<object class="NSPSMatrix" key="NSDrawMatrix"/>
<string key="NSFrame">{{304, 174}, {32, 32}}</string>
<reference key="NSSuperview" ref="1006"/>
+ <reference key="NSWindow"/>
+ <reference key="NSNextKeyView"/>
<int key="NSpiFlags">28682</int>
<double key="NSMaxValue">100</double>
</object>
</object>
- <string key="NSFrameSize">{640, 380}</string>
+ <string key="NSFrame">{{7, 11}, {640, 380}}</string>
<reference key="NSSuperview"/>
+ <reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="950810926"/>
</object>
<string key="NSScreenRect">{{0, 0}, {1680, 1028}}</string>
- <string key="NSMaxSize">{1.79769e+308, 1.79769e+308}</string>
+ <string key="NSMaxSize">{1e+13, 1e+13}</string>
<string key="NSFrameAutosaveName">FBXMPPOAUTH</string>
</object>
</object>
@@ -267,17 +272,13 @@
<object class="NSMutableDictionary" key="unlocalizedProperties">
<bool key="EncodedWithXMLCoder">YES</bool>
<reference key="dict.sortedKeys" ref="0"/>
- <object class="NSMutableArray" key="dict.values">
- <bool key="EncodedWithXMLCoder">YES</bool>
- </object>
+ <reference key="dict.values" ref="0"/>
</object>
<nil key="activeLocalization"/>
<object class="NSMutableDictionary" key="localizations">
<bool key="EncodedWithXMLCoder">YES</bool>
<reference key="dict.sortedKeys" ref="0"/>
- <object class="NSMutableArray" key="dict.values">
- <bool key="EncodedWithXMLCoder">YES</bool>
- </object>
+ <reference key="dict.values" ref="0"/>
</object>
<nil key="sourceID"/>
<int key="maxID">9</int>
@@ -322,7 +323,7 @@
</object>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBProjectSource</string>
- <string key="minorKey">Plugins/Purple Service/AIFacebookXMPPOAuthWebViewWindowController.h</string>
+ <string key="minorKey">./Classes/AIFacebookXMPPOAuthWebViewWindowController.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
@@ -341,1163 +342,25 @@
</object>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBProjectSource</string>
- <string key="minorKey">Frameworks/Adium Framework/Source/AIWindowController.h</string>
+ <string key="minorKey">./Classes/AIWindowController.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
- <string key="className">NSApplication</string>
- <object class="IBClassDescriptionSource" key="sourceIdentifier">
- <string key="majorKey">IBProjectSource</string>
- <string key="minorKey">Frameworks/AIUtilities Framework/Source/AIApplicationAdditions.h</string>
- </object>
- </object>
- <object class="IBPartialClassDescription">
- <string key="className">NSMenu</string>
- <object class="IBClassDescriptionSource" key="sourceIdentifier">
- <string key="majorKey">IBProjectSource</string>
- <string key="minorKey">Frameworks/AIUtilities Framework/Source/AIMenuAdditions.h</string>
- </object>
- </object>
- <object class="IBPartialClassDescription">
- <string key="className">NSObject</string>
- <object class="IBClassDescriptionSource" key="sourceIdentifier">
- <string key="majorKey">IBProjectSource</string>
- <string key="minorKey">Frameworks/AIUtilities Framework/Source/AIDividedAlternatingRowOutlineView.h</string>
- </object>
- </object>
- <object class="IBPartialClassDescription">
- <string key="className">NSObject</string>
- <object class="IBClassDescriptionSource" key="sourceIdentifier">
- <string key="majorKey">IBProjectSource</string>
- <string key="minorKey">Frameworks/AIUtilities Framework/Source/AIMultiCellOutlineView.h</string>
- </object>
- </object>
- <object class="IBPartialClassDescription">
- <string key="className">NSObject</string>
- <object class="IBClassDescriptionSource" key="sourceIdentifier">
- <string key="majorKey">IBProjectSource</string>
- <string key="minorKey">Frameworks/AIUtilities Framework/Source/AIObjectAdditions.h</string>
- </object>
- </object>
- <object class="IBPartialClassDescription">
- <string key="className">NSObject</string>
- <object class="IBClassDescriptionSource" key="sourceIdentifier">
- <string key="majorKey">IBProjectSource</string>
- <string key="minorKey">Frameworks/AIUtilities Framework/Source/AIToolbarTabView.h</string>
- </object>
- </object>
- <object class="IBPartialClassDescription">
- <string key="className">NSObject</string>
- <object class="IBClassDescriptionSource" key="sourceIdentifier">
- <string key="majorKey">IBProjectSource</string>
- <string key="minorKey">Frameworks/AIUtilities Framework/Source/AIToolbarUtilities.h</string>
- </object>
- </object>
- <object class="IBPartialClassDescription">
- <string key="className">NSObject</string>
- <object class="IBClassDescriptionSource" key="sourceIdentifier">
- <string key="majorKey">IBProjectSource</string>
- <string key="minorKey">Frameworks/AIUtilities Framework/Source/AIVariableHeightFlexibleColumnsOutlineView.h</string>
- </object>
- </object>
- <object class="IBPartialClassDescription">
- <string key="className">NSObject</string>
- <object class="IBClassDescriptionSource" key="sourceIdentifier">
- <string key="majorKey">IBProjectSource</string>
- <string key="minorKey">Frameworks/AIUtilities Framework/Source/AIVariableHeightOutlineView.h</string>
- </object>
- </object>
- <object class="IBPartialClassDescription">
- <string key="className">NSObject</string>
+ <string key="className">WebView</string>
<object class="NSMutableDictionary" key="actions">
- <string key="NS.key.0">toggleFindPanel:</string>
+ <string key="NS.key.0">reloadFromOrigin:</string>
<string key="NS.object.0">id</string>
</object>
<object class="NSMutableDictionary" key="actionInfosByName">
- <string key="NS.key.0">toggleFindPanel:</string>
+ <string key="NS.key.0">reloadFromOrigin:</string>
<object class="IBActionInfo" key="NS.object.0">
- <string key="name">toggleFindPanel:</string>
+ <string key="name">reloadFromOrigin:</string>
<string key="candidateClassName">id</string>
</object>
</object>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBProjectSource</string>
- <string key="minorKey">Frameworks/Adium Framework/Source/AIAbstractListController.h</string>
- </object>
- </object>
- <object class="IBPartialClassDescription">
- <string key="className">NSObject</string>
- <object class="IBClassDescriptionSource" key="sourceIdentifier">
- <string key="majorKey">IBProjectSource</string>
- <string key="minorKey">Frameworks/Adium Framework/Source/AIAccountControllerProtocol.h</string>
- </object>
- </object>
- <object class="IBPartialClassDescription">
- <string key="className">NSObject</string>
- <object class="IBClassDescriptionSource" key="sourceIdentifier">
- <string key="majorKey">IBProjectSource</string>
- <string key="minorKey">Frameworks/Adium Framework/Source/AICustomSocialNetworkingStatusWindowController.h</string>
- </object>
- </object>
- <object class="IBPartialClassDescription">
- <string key="className">NSObject</string>
- <object class="IBClassDescriptionSource" key="sourceIdentifier">
- <string key="majorKey">IBProjectSource</string>
- <string key="minorKey">Frameworks/Adium Framework/Source/AIEditStateWindowController.h</string>
- </object>
- </object>
- <object class="IBPartialClassDescription">
- <string key="className">NSObject</string>
- <object class="NSMutableDictionary" key="actions">
- <string key="NS.key.0">adiumPrint:</string>
- <string key="NS.object.0">id</string>
- </object>
- <object class="NSMutableDictionary" key="actionInfosByName">
- <string key="NS.key.0">adiumPrint:</string>
- <object class="IBActionInfo" key="NS.object.0">
- <string key="name">adiumPrint:</string>
- <string key="candidateClassName">id</string>
- </object>
- </object>
- <object class="IBClassDescriptionSource" key="sourceIdentifier" id="109735573">
- <string key="majorKey">IBProjectSource</string>
- <string key="minorKey">Frameworks/Adium Framework/Source/AIInterfaceControllerProtocol.h</string>
- </object>
- </object>
- <object class="IBPartialClassDescription">
- <string key="className">NSObject</string>
- <object class="IBClassDescriptionSource" key="sourceIdentifier">
- <string key="majorKey">IBProjectSource</string>
- <string key="minorKey">Frameworks/Adium Framework/Source/AILocalizationAssistance.h</string>
- </object>
- </object>
- <object class="IBPartialClassDescription">
- <string key="className">NSObject</string>
- <object class="IBClassDescriptionSource" key="sourceIdentifier">
- <string key="majorKey">IBProjectSource</string>
- <string key="minorKey">Frameworks/Adium Framework/Source/AIMenuControllerProtocol.h</string>
- </object>
- </object>
- <object class="IBPartialClassDescription">
- <string key="className">NSObject</string>
- <object class="IBClassDescriptionSource" key="sourceIdentifier">
- <string key="majorKey">IBProjectSource</string>
- <string key="minorKey">Frameworks/Adium Framework/Source/AIPreferenceControllerProtocol.h</string>
- </object>
- </object>
- <object class="IBPartialClassDescription">
- <string key="className">NSObject</string>
- <object class="IBClassDescriptionSource" key="sourceIdentifier">
- <string key="majorKey">IBProjectSource</string>
- <string key="minorKey">Frameworks/Adium Framework/Source/ESContactAlertsViewController.h</string>
- </object>
- </object>
- <object class="IBPartialClassDescription">
- <string key="className">NSObject</string>
- <object class="IBClassDescriptionSource" key="sourceIdentifier">
- <string key="majorKey">IBProjectSource</string>
- <string key="minorKey">Frameworks/Adium Framework/Source/ESPresetManagementController.h</string>
- </object>
- </object>
- <object class="IBPartialClassDescription">
- <string key="className">NSObject</string>
- <object class="IBClassDescriptionSource" key="sourceIdentifier">
- <string key="majorKey">IBProjectSource</string>
- <string key="minorKey">Frameworks/Adium Framework/Source/ESPresetNameSheetController.h</string>
- </object>
- </object>
- <object class="IBPartialClassDescription">
- <string key="className">NSObject</string>
- <object class="IBClassDescriptionSource" key="sourceIdentifier">
- <string key="majorKey">IBProjectSource</string>
- <string key="minorKey">Frameworks/Adium Framework/Source/ESTextAndButtonsWindowController.h</string>
- </object>
- </object>
- <object class="IBPartialClassDescription">
- <string key="className">NSObject</string>
- <object class="IBClassDescriptionSource" key="sourceIdentifier">
- <string key="majorKey">IBProjectSource</string>
- <string key="minorKey">Frameworks/Adium Framework/Source/JVFontPreviewField.h</string>
- </object>
- </object>
- <object class="IBPartialClassDescription">
- <string key="className">NSObject</string>
- <object class="NSMutableDictionary" key="actions">
- <string key="NS.key.0">prefsWindowWillClose:</string>
- <string key="NS.object.0">SS_PrefsController</string>
- </object>
- <object class="NSMutableDictionary" key="actionInfosByName">
- <string key="NS.key.0">prefsWindowWillClose:</string>
- <object class="IBActionInfo" key="NS.object.0">
- <string key="name">prefsWindowWillClose:</string>
- <string key="candidateClassName">SS_PrefsController</string>
- </object>
- </object>
- <object class="IBClassDescriptionSource" key="sourceIdentifier" id="1040092293">
- <string key="majorKey">IBProjectSource</string>
- <string key="minorKey">Frameworks/Adium Framework/Source/SS_PrefsController.h</string>
- </object>
- </object>
- <object class="IBPartialClassDescription">
- <string key="className">NSObject</string>
- <object class="NSMutableDictionary" key="actions">
- <bool key="EncodedWithXMLCoder">YES</bool>
- <object class="NSArray" key="dict.sortedKeys">
- <bool key="EncodedWithXMLCoder">YES</bool>
- <string>didAdjustSubviews:</string>
- <string>willAdjustSubviews:</string>
- </object>
- <object class="NSMutableArray" key="dict.values">
- <bool key="EncodedWithXMLCoder">YES</bool>
- <string>RBSplitView</string>
- <string>RBSplitView</string>
- </object>
- </object>
- <object class="NSMutableDictionary" key="actionInfosByName">
- <bool key="EncodedWithXMLCoder">YES</bool>
- <object class="NSArray" key="dict.sortedKeys">
- <bool key="EncodedWithXMLCoder">YES</bool>
- <string>didAdjustSubviews:</string>
- <string>willAdjustSubviews:</string>
- </object>
- <object class="NSMutableArray" key="dict.values">
- <bool key="EncodedWithXMLCoder">YES</bool>
- <object class="IBActionInfo">
- <string key="name">didAdjustSubviews:</string>
- <string key="candidateClassName">RBSplitView</string>
- </object>
- <object class="IBActionInfo">
- <string key="name">willAdjustSubviews:</string>
- <string key="candidateClassName">RBSplitView</string>
- </object>
- </object>
- </object>
- <object class="IBClassDescriptionSource" key="sourceIdentifier" id="73674137">
- <string key="majorKey">IBProjectSource</string>
- <string key="minorKey">Frameworks/RBSplitView/Source/RBSplitView.h</string>
- </object>
- </object>
- <object class="IBPartialClassDescription">
- <string key="className">NSObject</string>
- <object class="IBClassDescriptionSource" key="sourceIdentifier">
- <string key="majorKey">IBProjectSource</string>
- <string key="minorKey">Frameworks/ShortcutRecorder/Source/SRRecorderCell.h</string>
- </object>
- </object>
- <object class="IBPartialClassDescription">
- <string key="className">NSObject</string>
- <object class="IBClassDescriptionSource" key="sourceIdentifier">
- <string key="majorKey">IBProjectSource</string>
- <string key="minorKey">Frameworks/ShortcutRecorder/Source/SRRecorderControl.h</string>
- </object>
- </object>
- <object class="IBPartialClassDescription">
- <string key="className">NSObject</string>
- <object class="IBClassDescriptionSource" key="sourceIdentifier">
- <string key="majorKey">IBProjectSource</string>
- <string key="minorKey">Frameworks/ShortcutRecorder/Source/SRValidator.h</string>
- </object>
- </object>
- <object class="IBPartialClassDescription">
- <string key="className">NSObject</string>
- <object class="IBClassDescriptionSource" key="sourceIdentifier">
- <string key="majorKey">IBProjectSource</string>
- <string key="minorKey">Plugins/Bonjour/libezv/Simple HTTP Server/AsyncSocket.h</string>
- </object>
- </object>
- <object class="IBPartialClassDescription">
- <string key="className">NSObject</string>
- <object class="IBClassDescriptionSource" key="sourceIdentifier">
- <string key="majorKey">IBProjectSource</string>
- <string key="minorKey">Plugins/Purple Service/SLPurpleCocoaAdapter.h</string>
- </object>
- </object>
- <object class="IBPartialClassDescription">
- <string key="className">NSObject</string>
- <object class="IBClassDescriptionSource" key="sourceIdentifier">
- <string key="majorKey">IBProjectSource</string>
- <string key="minorKey">Plugins/WebKit Message View/ESWebView.h</string>
- </object>
- </object>
- <object class="IBPartialClassDescription">
- <string key="className">NSObject</string>
- <object class="IBClassDescriptionSource" key="sourceIdentifier">
- <string key="majorKey">IBProjectSource</string>
- <string key="minorKey">Source/AIListLayoutWindowController.h</string>
- </object>
- </object>
- <object class="IBPartialClassDescription">
- <string key="className">NSObject</string>
- <object class="IBClassDescriptionSource" key="sourceIdentifier">
- <string key="majorKey">IBProjectSource</string>
- <string key="minorKey">Source/AIListThemeWindowController.h</string>
- </object>
- </object>
- <object class="IBPartialClassDescription">
- <string key="className">NSObject</string>
- <object class="IBClassDescriptionSource" key="sourceIdentifier">
- <string key="majorKey">IBProjectSource</string>
- <string key="minorKey">Source/AIMenuItemView.h</string>
- </object>
- </object>
- <object class="IBPartialClassDescription">
- <string key="className">NSObject</string>
- <object class="IBClassDescriptionSource" key="sourceIdentifier">
- <string key="majorKey">IBProjectSource</string>
- <string key="minorKey">Source/AINewBookmarkWindowController.h</string>
- </object>
- </object>
- <object class="IBPartialClassDescription">
- <string key="className">NSObject</string>
- <object class="IBClassDescriptionSource" key="sourceIdentifier">
- <string key="majorKey">IBProjectSource</string>
- <string key="minorKey">Source/AIObjectDebug.h</string>
- </object>
- </object>
- <object class="IBPartialClassDescription">
- <string key="className">NSObject</string>
- <object class="IBClassDescriptionSource" key="sourceIdentifier">
- <string key="majorKey">IBProjectSource</string>
- <string key="minorKey">Source/AIServiceMenu.h</string>
- </object>
- </object>
- <object class="IBPartialClassDescription">
- <string key="className">NSObject</string>
- <object class="IBClassDescriptionSource" key="sourceIdentifier">
- <string key="majorKey">IBProjectSource</string>
- <string key="minorKey">Source/KNShelfSplitView.h</string>
- </object>
- </object>
- <object class="IBPartialClassDescription">
- <string key="className">NSObject</string>
- <object class="IBClassDescriptionSource" key="sourceIdentifier">
- <string key="majorKey">IBProjectSource</string>
- <string key="minorKey">Source/OWABSearchWindowController.h</string>
- </object>
- </object>
- <object class="IBPartialClassDescription">
- <string key="className">NSView</string>
- <object class="IBClassDescriptionSource" key="sourceIdentifier">
- <string key="majorKey">IBProjectSource</string>
- <string key="minorKey">Frameworks/AIUtilities Framework/Source/AIViewAdditions.h</string>
- </object>
- </object>
- <object class="IBPartialClassDescription">
- <string key="className">NSWindow</string>
- <object class="IBClassDescriptionSource" key="sourceIdentifier">
- <string key="majorKey">IBProjectSource</string>
- <string key="minorKey">Frameworks/AIUtilities Framework/Source/AIWindowAdditions.h</string>
- </object>
- </object>
- <object class="IBPartialClassDescription">
- <string key="className">NSWindow</string>
- <object class="IBClassDescriptionSource" key="sourceIdentifier">
- <string key="majorKey">IBProjectSource</string>
- <string key="minorKey">Source/NSWindowScriptingAdditions.h</string>
- </object>
- </object>
- <object class="IBPartialClassDescription">
- <string key="className">NSWindowController</string>
- <object class="IBClassDescriptionSource" key="sourceIdentifier">
- <string key="majorKey">IBProjectSource</string>
- <string key="minorKey">Frameworks/AIUtilities Framework/Source/AIWindowControllerAdditions.h</string>
- </object>
- </object>
- <object class="IBPartialClassDescription">
- <string key="className">NSWindowController</string>
- <reference key="sourceIdentifier" ref="109735573"/>
- </object>
- <object class="IBPartialClassDescription">
- <string key="className">RBSplitSubview</string>
- <string key="superclassName">NSView</string>
- <object class="IBClassDescriptionSource" key="sourceIdentifier">
- <string key="majorKey">IBProjectSource</string>
- <string key="minorKey">Frameworks/RBSplitView/Source/RBSplitSubview.h</string>
- </object>
- </object>
- <object class="IBPartialClassDescription">
- <string key="className">RBSplitView</string>
- <string key="superclassName">RBSplitSubview</string>
- <object class="NSMutableDictionary" key="outlets">
- <string key="NS.key.0">delegate</string>
- <string key="NS.object.0">id</string>
- </object>
- <object class="NSMutableDictionary" key="toOneOutletInfosByName">
- <string key="NS.key.0">delegate</string>
- <object class="IBToOneOutletInfo" key="NS.object.0">
- <string key="name">delegate</string>
- <string key="candidateClassName">id</string>
- </object>
- </object>
- <reference key="sourceIdentifier" ref="73674137"/>
- </object>
- <object class="IBPartialClassDescription">
- <string key="className">SS_PrefsController</string>
- <string key="superclassName">NSObject</string>
- <object class="NSMutableDictionary" key="outlets">
- <string key="NS.key.0">delegate</string>
- <string key="NS.object.0">id</string>
- </object>
- <object class="NSMutableDictionary" key="toOneOutletInfosByName">
- <string key="NS.key.0">delegate</string>
- <object class="IBToOneOutletInfo" key="NS.object.0">
- <string key="name">delegate</string>
- <string key="candidateClassName">id</string>
- </object>
- </object>
- <reference key="sourceIdentifier" ref="1040092293"/>
- </object>
- </object>
- <object class="NSMutableArray" key="referencedPartialClassDescriptionsV3.2+">
- <bool key="EncodedWithXMLCoder">YES</bool>
- <object class="IBPartialClassDescription">
- <string key="className">NSApplication</string>
- <string key="superclassName">NSResponder</string>
- <object class="IBClassDescriptionSource" key="sourceIdentifier" id="275189657">
- <string key="majorKey">IBFrameworkSource</string>
- <string key="minorKey">AppKit.framework/Headers/NSApplication.h</string>
- </object>
- </object>
- <object class="IBPartialClassDescription">
- <string key="className">NSApplication</string>
- <object class="IBClassDescriptionSource" key="sourceIdentifier" id="356639062">
- <string key="majorKey">IBFrameworkSource</string>
- <string key="minorKey">AppKit.framework/Headers/NSApplicationScripting.h</string>
- </object>
- </object>
- <object class="IBPartialClassDescription">
- <string key="className">NSApplication</string>
- <object class="IBClassDescriptionSource" key="sourceIdentifier" id="918129567">
- <string key="majorKey">IBFrameworkSource</string>
- <string key="minorKey">AppKit.framework/Headers/NSColorPanel.h</string>
- </object>
- </object>
- <object class="IBPartialClassDescription">
- <string key="className">NSApplication</string>
- <object class="IBClassDescriptionSource" key="sourceIdentifier">
- <string key="majorKey">IBFrameworkSource</string>
- <string key="minorKey">AppKit.framework/Headers/NSHelpManager.h</string>
- </object>
- </object>
- <object class="IBPartialClassDescription">
- <string key="className">NSApplication</string>
- <object class="IBClassDescriptionSource" key="sourceIdentifier">
- <string key="majorKey">IBFrameworkSource</string>
- <string key="minorKey">AppKit.framework/Headers/NSPageLayout.h</string>
- </object>
- </object>
- <object class="IBPartialClassDescription">
- <string key="className">NSApplication</string>
- <object class="IBClassDescriptionSource" key="sourceIdentifier">
- <string key="majorKey">IBFrameworkSource</string>
- <string key="minorKey">AppKit.framework/Headers/NSUserInterfaceItemSearching.h</string>
- </object>
- </object>
- <object class="IBPartialClassDescription">
- <string key="className">NSMenu</string>
- <string key="superclassName">NSObject</string>
- <object class="IBClassDescriptionSource" key="sourceIdentifier" id="513132299">
- <string key="majorKey">IBFrameworkSource</string>
- <string key="minorKey">AppKit.framework/Headers/NSMenu.h</string>
- </object>
- </object>
- <object class="IBPartialClassDescription">
- <string key="className">NSObject</string>
- <object class="IBClassDescriptionSource" key="sourceIdentifier">
- <string key="majorKey">IBFrameworkSource</string>
- <string key="minorKey">AddressBook.framework/Headers/ABActions.h</string>
- </object>
- </object>
- <object class="IBPartialClassDescription">
- <string key="className">NSObject</string>
- <object class="IBClassDescriptionSource" key="sourceIdentifier">
- <string key="majorKey">IBFrameworkSource</string>
- <string key="minorKey">AppKit.framework/Headers/NSAccessibility.h</string>
- </object>
- </object>
- <object class="IBPartialClassDescription">
- <string key="className">NSObject</string>
- <reference key="sourceIdentifier" ref="275189657"/>
- </object>
- <object class="IBPartialClassDescription">
- <string key="className">NSObject</string>
- <reference key="sourceIdentifier" ref="356639062"/>
- </object>
- <object class="IBPartialClassDescription">
- <string key="className">NSObject</string>
- <reference key="sourceIdentifier" ref="918129567"/>
- </object>
- <object class="IBPartialClassDescription">
- <string key="className">NSObject</string>
- <object class="IBClassDescriptionSource" key="sourceIdentifier">
- <string key="majorKey">IBFrameworkSource</string>
- <string key="minorKey">AppKit.framework/Headers/NSControl.h</string>
- </object>
- </object>
- <object class="IBPartialClassDescription">
- <string key="className">NSObject</string>
- <object class="IBClassDescriptionSource" key="sourceIdentifier">
- <string key="majorKey">IBFrameworkSource</string>
- <string key="minorKey">AppKit.framework/Headers/NSDictionaryController.h</string>
- </object>
- </object>
- <object class="IBPartialClassDescription">
- <string key="className">NSObject</string>
- <object class="IBClassDescriptionSource" key="sourceIdentifier">
- <string key="majorKey">IBFrameworkSource</string>
- <string key="minorKey">AppKit.framework/Headers/NSDragging.h</string>
- </object>
- </object>
- <object class="IBPartialClassDescription">
- <string key="className">NSObject</string>
- <object class="IBClassDescriptionSource" key="sourceIdentifier">
- <string key="majorKey">IBFrameworkSource</string>
- <string key="minorKey">AppKit.framework/Headers/NSFontManager.h</string>
- </object>
- </object>
- <object class="IBPartialClassDescription">
- <string key="className">NSObject</string>
- <object class="IBClassDescriptionSource" key="sourceIdentifier">
- <string key="majorKey">IBFrameworkSource</string>
- <string key="minorKey">AppKit.framework/Headers/NSFontPanel.h</string>
- </object>
- </object>
- <object class="IBPartialClassDescription">
- <string key="className">NSObject</string>
- <object class="IBClassDescriptionSource" key="sourceIdentifier">
- <string key="majorKey">IBFrameworkSource</string>
- <string key="minorKey">AppKit.framework/Headers/NSKeyValueBinding.h</string>
- </object>
- </object>
- <object class="IBPartialClassDescription">
- <string key="className">NSObject</string>
- <reference key="sourceIdentifier" ref="513132299"/>
- </object>
- <object class="IBPartialClassDescription">
- <string key="className">NSObject</string>
- <object class="IBClassDescriptionSource" key="sourceIdentifier">
- <string key="majorKey">IBFrameworkSource</string>
- <string key="minorKey">AppKit.framework/Headers/NSNibLoading.h</string>
- </object>
- </object>
- <object class="IBPartialClassDescription">
- <string key="className">NSObject</string>
- <object class="IBClassDescriptionSource" key="sourceIdentifier">
- <string key="majorKey">IBFrameworkSource</string>
- <string key="minorKey">AppKit.framework/Headers/NSOutlineView.h</string>
- </object>
- </object>
- <object class="IBPartialClassDescription">
- <string key="className">NSObject</string>
- <object class="IBClassDescriptionSource" key="sourceIdentifier">
- <string key="majorKey">IBFrameworkSource</string>
- <string key="minorKey">AppKit.framework/Headers/NSPasteboard.h</string>
- </object>
- </object>
- <object class="IBPartialClassDescription">
- <string key="className">NSObject</string>
- <object class="IBClassDescriptionSource" key="sourceIdentifier">
- <string key="majorKey">IBFrameworkSource</string>
- <string key="minorKey">AppKit.framework/Headers/NSSavePanel.h</string>
- </object>
- </object>
- <object class="IBPartialClassDescription">
- <string key="className">NSObject</string>
- <object class="IBClassDescriptionSource" key="sourceIdentifier">
- <string key="majorKey">IBFrameworkSource</string>
- <string key="minorKey">AppKit.framework/Headers/NSTableView.h</string>
- </object>
- </object>
- <object class="IBPartialClassDescription">
- <string key="className">NSObject</string>
- <object class="IBClassDescriptionSource" key="sourceIdentifier">
- <string key="majorKey">IBFrameworkSource</string>
- <string key="minorKey">AppKit.framework/Headers/NSToolbarItem.h</string>
- </object>
- </object>
- <object class="IBPartialClassDescription">
- <string key="className">NSObject</string>
- <object class="IBClassDescriptionSource" key="sourceIdentifier" id="172760318">
- <string key="majorKey">IBFrameworkSource</string>
- <string key="minorKey">AppKit.framework/Headers/NSView.h</string>
- </object>
- </object>
- <object class="IBPartialClassDescription">
- <string key="className">NSObject</string>
- <object class="IBClassDescriptionSource" key="sourceIdentifier">
- <string key="majorKey">IBFrameworkSource</string>
- <string key="minorKey">ExceptionHandling.framework/Headers/NSExceptionHandler.h</string>
- </object>
- </object>
- <object class="IBPartialClassDescription">
- <string key="className">NSObject</string>
- <object class="IBClassDescriptionSource" key="sourceIdentifier">
- <string key="majorKey">IBFrameworkSource</string>
- <string key="minorKey">Foundation.framework/Headers/NSArchiver.h</string>
- </object>
- </object>
- <object class="IBPartialClassDescription">
- <string key="className">NSObject</string>
- <object class="IBClassDescriptionSource" key="sourceIdentifier">
- <string key="majorKey">IBFrameworkSource</string>
- <string key="minorKey">Foundation.framework/Headers/NSClassDescription.h</string>
- </object>
- </object>
- <object class="IBPartialClassDescription">
- <string key="className">NSObject</string>
- <object class="IBClassDescriptionSource" key="sourceIdentifier">
- <string key="majorKey">IBFrameworkSource</string>
- <string key="minorKey">Foundation.framework/Headers/NSError.h</string>
- </object>
- </object>
- <object class="IBPartialClassDescription">
- <string key="className">NSObject</string>
- <object class="IBClassDescriptionSource" key="sourceIdentifier">
- <string key="majorKey">IBFrameworkSource</string>
- <string key="minorKey">Foundation.framework/Headers/NSFileManager.h</string>
- </object>
- </object>
- <object class="IBPartialClassDescription">
- <string key="className">NSObject</string>
- <object class="IBClassDescriptionSource" key="sourceIdentifier">
- <string key="majorKey">IBFrameworkSource</string>
- <string key="minorKey">Foundation.framework/Headers/NSKeyValueCoding.h</string>
- </object>
- </object>
- <object class="IBPartialClassDescription">
- <string key="className">NSObject</string>
- <object class="IBClassDescriptionSource" key="sourceIdentifier">
- <string key="majorKey">IBFrameworkSource</string>
- <string key="minorKey">Foundation.framework/Headers/NSKeyValueObserving.h</string>
- </object>
- </object>
- <object class="IBPartialClassDescription">
- <string key="className">NSObject</string>
- <object class="IBClassDescriptionSource" key="sourceIdentifier">
- <string key="majorKey">IBFrameworkSource</string>
- <string key="minorKey">Foundation.framework/Headers/NSKeyedArchiver.h</string>
- </object>
- </object>
- <object class="IBPartialClassDescription">
- <string key="className">NSObject</string>
- <object class="IBClassDescriptionSource" key="sourceIdentifier">
- <string key="majorKey">IBFrameworkSource</string>
- <string key="minorKey">Foundation.framework/Headers/NSObject.h</string>
- </object>
- </object>
- <object class="IBPartialClassDescription">
- <string key="className">NSObject</string>
- <object class="IBClassDescriptionSource" key="sourceIdentifier">
- <string key="majorKey">IBFrameworkSource</string>
- <string key="minorKey">Foundation.framework/Headers/NSObjectScripting.h</string>
- </object>
- </object>
- <object class="IBPartialClassDescription">
- <string key="className">NSObject</string>
- <object class="IBClassDescriptionSource" key="sourceIdentifier">
- <string key="majorKey">IBFrameworkSource</string>
- <string key="minorKey">Foundation.framework/Headers/NSPortCoder.h</string>
- </object>
- </object>
- <object class="IBPartialClassDescription">
- <string key="className">NSObject</string>
- <object class="IBClassDescriptionSource" key="sourceIdentifier">
- <string key="majorKey">IBFrameworkSource</string>
- <string key="minorKey">Foundation.framework/Headers/NSRunLoop.h</string>
- </object>
- </object>
- <object class="IBPartialClassDescription">
- <string key="className">NSObject</string>
- <object class="IBClassDescriptionSource" key="sourceIdentifier">
- <string key="majorKey">IBFrameworkSource</string>
- <string key="minorKey">Foundation.framework/Headers/NSScriptClassDescription.h</string>
- </object>
- </object>
More information about the commits
mailing list