adium 2145:7f1b445ddd0f: Remove some unused variables, prevent i...
commits at adium.im
commits at adium.im
Mon May 11 04:45:29 UTC 2009
details: http://hg.adium.im/adium/rev/7f1b445ddd0f
revision: 2145:7f1b445ddd0f
author: Zachary West <zacw at adium.im>
date: Mon May 11 00:45:14 2009 -0400
Remove some unused variables, prevent infinite looping on self-changes, and simplify the account selection code.
diffstat:
Source/AIAdvancedInspectorPane.h | 2 --
Source/AIAdvancedInspectorPane.m | 41 ++++++++++++++++-------------------------
2 files changed, 16 insertions(+), 27 deletions(-)
diffs (90 lines):
diff -r aa365e2cb2f6 -r 7f1b445ddd0f Source/AIAdvancedInspectorPane.h
--- a/Source/AIAdvancedInspectorPane.h Mon May 11 00:27:46 2009 -0400
+++ b/Source/AIAdvancedInspectorPane.h Mon May 11 00:45:14 2009 -0400
@@ -39,8 +39,6 @@
AIListContact *currentSelectedContact;
AIListObject *displayedObject;
- NSArray *accounts;
- NSArray *contacts;
BOOL rebuildingContacts;
}
diff -r aa365e2cb2f6 -r 7f1b445ddd0f Source/AIAdvancedInspectorPane.m
--- a/Source/AIAdvancedInspectorPane.m Mon May 11 00:27:46 2009 -0400
+++ b/Source/AIAdvancedInspectorPane.m Mon May 11 00:45:14 2009 -0400
@@ -70,8 +70,6 @@
{
[accountMenu release]; accountMenu = nil;
[contactMenu release]; contactMenu = nil;
- [accounts release]; accounts = nil;
- [contacts release]; contacts = nil;
[displayedObject release]; displayedObject = nil;
[inspectorContentView release]; inspectorContentView = nil;
@@ -144,34 +142,14 @@
group:GROUP_LIST_BOOKMARK];
}
-#pragma mark Accounts Table View methods
-- (NSArray *)accountsForCurrentObject
-{
- if ([displayedObject isKindOfClass:[AIMetaContact class]]) {
- NSMutableSet *set = [NSMutableSet set];
- for (AIService *service in [((AIMetaContact *)displayedObject).uniqueContainedObjects valueForKey:@"service"]) {
- [set addObjectsFromArray:[adium.accountController accountsCompatibleWithService:service]];
- }
-
- return [set allObjects];
-
- } else if ([displayedObject isKindOfClass:[AIListContact class]]) {
- return [adium.accountController accountsCompatibleWithService:displayedObject.service];
-
- } else {
- return nil;
- }
-}
-
#pragma mark Menus
-(void)reloadPopup
{
+ rebuildingContacts = YES;
+
[contactMenu release]; contactMenu = nil;
contactMenu = [[AIContactMenu contactMenuWithDelegate:self forContactsInObject:displayedObject] retain];
- [accounts release]; accounts = nil;
- accounts = [[self accountsForCurrentObject] retain];
-
[accountMenu rebuildMenu];
[button_addGroup setMenu:[adium.contactController groupMenuWithTarget:self]];
@@ -188,7 +166,18 @@
- (BOOL)accountMenu:(AIAccountMenu *)inAccountMenu shouldIncludeAccount:(AIAccount *)inAccount
{
- return [accounts containsObject:inAccount];
+ if (!inAccount.online) {
+ return NO;
+ }
+
+ if ([displayedObject isKindOfClass:[AIMetaContact class]]) {
+ NSArray *services = [((AIMetaContact *)displayedObject).uniqueContainedObjects valueForKeyPath:@"service.serviceClass"];
+ return [services containsObject:inAccount.service.serviceClass];
+ } else if ([displayedObject isKindOfClass:[AIListContact class]]) {
+ return [displayedObject.service.serviceClass isEqualToString:inAccount.service.serviceClass];
+ }
+
+ return NO;
}
- (void)accountMenu:(AIAccountMenu *)inAccountMenu didRebuildMenuItems:(NSArray *)menuItems
@@ -215,6 +204,8 @@
account:currentSelectedAccount
UID:inContact.UID];
+ rebuildingContacts = NO;
+
// Update the groups.
[tableView_groups reloadData];
}
More information about the commits
mailing list