adium 4022:1bc4d73e1c05: Authorization Request window now auto-s...
commits at adium.im
commits at adium.im
Sun Jun 26 16:27:37 UTC 2011
details: http://hg.adium.im/adium/rev/1bc4d73e1c05
revision: 4022:1bc4d73e1c05
branch: (none)
author: Patrick Steinhardt <steinhardt.p at me.com>
date: Sun Jun 26 18:12:55 2011 +0200
Authorization Request window now auto-selects first entry and disables toolbar buttons if nothing is selected.
Subject: adium 4023:bfce6775ab4c: Fixed Target errors for AIStatusDefines and AIFontAdditions introduced in r4021 (f5412548f2f3).
details: http://hg.adium.im/adium/rev/bfce6775ab4c
revision: 4023:bfce6775ab4c
branch: (none)
author: Patrick Steinhardt <steinhardt.p at me.com>
date: Sun Jun 26 18:27:18 2011 +0200
Fixed Target errors for AIStatusDefines and AIFontAdditions introduced in r4021 (f5412548f2f3).
diffs (219 lines):
diff -r f5412548f2f3 -r bfce6775ab4c Adium.xcodeproj/project.pbxproj
--- a/Adium.xcodeproj/project.pbxproj Sun Jun 26 10:13:19 2011 -0500
+++ b/Adium.xcodeproj/project.pbxproj Sun Jun 26 18:27:18 2011 +0200
@@ -840,7 +840,7 @@
34DC8A6B0A7EEEF7003E1636 /* AIEmoticon.m in Sources */ = {isa = PBXBuildFile; fileRef = 34503C7E058F96C400FB7AD1 /* AIEmoticon.m */; };
34DC8A6C0A7EEEF7003E1636 /* AIEmoticonPack.h in Headers */ = {isa = PBXBuildFile; fileRef = 3C73F83E04D62A2900A80106 /* AIEmoticonPack.h */; settings = {ATTRIBUTES = (Public, ); }; };
34DC8A6D0A7EEEF7003E1636 /* AIEmoticonPack.m in Sources */ = {isa = PBXBuildFile; fileRef = 3C73F83F04D62A2900A80106 /* AIEmoticonPack.m */; };
- 34DC8A6E0A7EEEF7003E1636 /* AIStatusDefines.h in Headers */ = {isa = PBXBuildFile; fileRef = 07B87D760A3A9FCF00A38283 /* AIStatusDefines.h */; };
+ 34DC8A6E0A7EEEF7003E1636 /* AIStatusDefines.h in Headers */ = {isa = PBXBuildFile; fileRef = 07B87D760A3A9FCF00A38283 /* AIStatusDefines.h */; settings = {ATTRIBUTES = (Public, ); }; };
34DC8A6F0A7EEEF7003E1636 /* AIStatusItem.h in Headers */ = {isa = PBXBuildFile; fileRef = 348F50C00935317C00288E41 /* AIStatusItem.h */; settings = {ATTRIBUTES = (Public, ); }; };
34DC8A700A7EEEF7003E1636 /* AIStatusItem.m in Sources */ = {isa = PBXBuildFile; fileRef = 348F50C10935317C00288E41 /* AIStatusItem.m */; };
34DC8A710A7EEEF7003E1636 /* AIStatus.h in Headers */ = {isa = PBXBuildFile; fileRef = 34AC36B907B5C51400145239 /* AIStatus.h */; settings = {ATTRIBUTES = (Public, ); }; };
@@ -1299,7 +1299,7 @@
633400900F9C14C2003C77A9 /* AIEventAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = 6334FFC50F9C14C1003C77A9 /* AIEventAdditions.m */; };
633400910F9C14C2003C77A9 /* AIFileManagerAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = 6334FFC60F9C14C1003C77A9 /* AIFileManagerAdditions.h */; settings = {ATTRIBUTES = (Public, ); }; };
633400920F9C14C2003C77A9 /* AIFileManagerAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = 6334FFC70F9C14C1003C77A9 /* AIFileManagerAdditions.m */; };
- 633400930F9C14C2003C77A9 /* AIFontAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = 6334FFC80F9C14C1003C77A9 /* AIFontAdditions.h */; };
+ 633400930F9C14C2003C77A9 /* AIFontAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = 6334FFC80F9C14C1003C77A9 /* AIFontAdditions.h */; settings = {ATTRIBUTES = (Public, ); }; };
633400940F9C14C2003C77A9 /* AIFontAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = 6334FFC90F9C14C1003C77A9 /* AIFontAdditions.m */; };
633400950F9C14C2003C77A9 /* AIFontManagerAdditions.h in Headers */ = {isa = PBXBuildFile; fileRef = 6334FFCA0F9C14C1003C77A9 /* AIFontManagerAdditions.h */; settings = {ATTRIBUTES = (Public, ); }; };
633400960F9C14C2003C77A9 /* AIFontManagerAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = 6334FFCB0F9C14C1003C77A9 /* AIFontManagerAdditions.m */; };
diff -r f5412548f2f3 -r bfce6775ab4c Frameworks/Adium Framework/Source/AIAuthorizationRequestsWindowController.m
--- a/Frameworks/Adium Framework/Source/AIAuthorizationRequestsWindowController.m Sun Jun 26 10:13:19 2011 -0500
+++ b/Frameworks/Adium Framework/Source/AIAuthorizationRequestsWindowController.m Sun Jun 26 18:27:18 2011 +0200
@@ -33,6 +33,30 @@
#define MAXIMUM_ROW_HEIGHT 300.0f
#define MINIMUM_CELL_SPACING 4
+ at interface AIValidatingToolbarItem : NSToolbarItem {
+}
+ at end
+
+ at implementation AIValidatingToolbarItem
+
+- (void)validate {
+ if ([self view]) {
+ BOOL enabled = YES;
+
+ if ([[self toolbar] delegate]) {
+ if ([[[self toolbar] delegate] respondsToSelector:@selector(validateToolbarItem:)]) {
+ enabled = [(id)[[self toolbar] delegate] validateToolbarItem:self];
+ }
+ }
+
+ [self setEnabled:enabled];
+ } else {
+ [super validate];
+ }
+}
+
+ at end
+
@interface AIAuthorizationRequestsWindowController()
- (void)reloadData;
- (void)rebuildHeights;
@@ -85,6 +109,7 @@
[tableView accessibilitySetOverrideValue:AILocalizedString(@"Authorization Requests", nil)
forAttribute:NSAccessibilityRoleDescriptionAttribute];
+ [tableView selectRowIndexes:[NSIndexSet indexSetWithIndex:0] byExtendingSelection:NO];
[self.window setTitle:AUTHORIZATION_REQUESTS];
}
@@ -131,29 +156,27 @@
toolbarItems = [[NSMutableDictionary alloc] init];
+ AIValidatingToolbarItem *toolbarItem;
+ MVMenuButton *button;
+
// Authorize
-
- MVMenuButton *button = [[[MVMenuButton alloc] initWithFrame:NSMakeRect(0, 0, 32, 32)] autorelease];
-
+ button = [[[MVMenuButton alloc] initWithFrame:NSMakeRect(0, 0, 32, 32)] autorelease];
[button setImage:[NSImage imageNamed:@"Authorize" forClass:[self class]]];
- [AIToolbarUtilities addToolbarItemToDictionary:toolbarItems
- withIdentifier:@"authorize"
- label:AUTHORIZE
- paletteLabel:AUTHORIZE
- toolTip:AILocalizedString(@"Authorize Selected",nil)
- target:self
- settingSelector:@selector(setView:)
- itemContent:button
- action:@selector(authorize:)
- menu:nil];
-
- NSToolbarItem *toolbarItem = [AIToolbarUtilities toolbarItemFromDictionary:toolbarItems withIdentifier:@"authorize"];
-
+ toolbarItem = [[[AIValidatingToolbarItem alloc] initWithItemIdentifier:AUTHORIZE] autorelease];
+ [toolbarItem setLabel:AUTHORIZE];
+ [toolbarItem setPaletteLabel:AUTHORIZE];
+ [toolbarItem setToolTip:AILocalizedString(@"Authorize Selected",nil)];
+ [toolbarItem setTarget:self];
+ [toolbarItem performSelector:@selector(setView:) withObject:button];
+ [toolbarItem setAction:@selector(authorize:)];
[button setToolbarItem:toolbarItem];
+ [toolbarItems setObject:toolbarItem forKey:AUTHORIZE];
+
+ // Get Info
[AIToolbarUtilities addToolbarItemToDictionary:toolbarItems
- withIdentifier:@"getInfo"
+ withIdentifier:GET_INFO
label:GET_INFO
paletteLabel:GET_INFO
toolTip:AILocalizedString(@"Get Info",nil)
@@ -164,45 +187,35 @@
menu:nil];
// Deny
+ button = [[[MVMenuButton alloc] initWithFrame:NSMakeRect(0, 0, 32, 32)] autorelease];
+ [button setImage:[NSImage imageNamed:@"Deny" forClass:[self class]]];
+
+ toolbarItem = [[[AIValidatingToolbarItem alloc] initWithItemIdentifier:DENY] autorelease];
+ [toolbarItem setLabel:DENY];
+ [toolbarItem setPaletteLabel:DENY];
+ [toolbarItem setToolTip:AILocalizedString(@"Deny Selected",nil)];
+ [toolbarItem setTarget:self];
+ [toolbarItem performSelector:@selector(setView:) withObject:button];
+ [toolbarItem setAction:@selector(deny:)];
+ [button setToolbarItem:toolbarItem];
- button = [[[MVMenuButton alloc] initWithFrame:NSMakeRect(0, 0, 32, 32)] autorelease];
-
- [button setImage:[NSImage imageNamed:@"Deny" forClass:[self class]]];
-
- [AIToolbarUtilities addToolbarItemToDictionary:toolbarItems
- withIdentifier:@"deny"
- label:DENY
- paletteLabel:DENY
- toolTip:AILocalizedString(@"Deny Selected",nil)
- target:self
- settingSelector:@selector(setView:)
- itemContent:button
- action:@selector(deny:)
- menu:nil];
-
- toolbarItem = [AIToolbarUtilities toolbarItemFromDictionary:toolbarItems withIdentifier:@"deny"];
-
- [button setToolbarItem:toolbarItem];
+ [toolbarItems setObject:toolbarItem forKey:DENY];
// Ignore
button = [[[MVMenuButton alloc] initWithFrame:NSMakeRect(0, 0, 32, 32)] autorelease];
-
[button setImage:[NSImage imageNamed:@"Ignore" forClass:[self class]]];
-
- [AIToolbarUtilities addToolbarItemToDictionary:toolbarItems
- withIdentifier:@"ignore"
- label:IGNORE
- paletteLabel:IGNORE
- toolTip:AILocalizedString(@"Ignore Selected",nil)
- target:self
- settingSelector:@selector(setView:)
- itemContent:button
- action:@selector(ignore:)
- menu:nil];
-
- toolbarItem = [AIToolbarUtilities toolbarItemFromDictionary:toolbarItems withIdentifier:@"ignore"];
-
+
+ toolbarItem = [[[AIValidatingToolbarItem alloc] initWithItemIdentifier:IGNORE] autorelease];
+ [toolbarItem setLabel:IGNORE];
+ [toolbarItem setPaletteLabel:IGNORE];
+ [toolbarItem setToolTip:AILocalizedString(@"Ignore Selected",nil)];
+ [toolbarItem setTarget:self];
+ [toolbarItem performSelector:@selector(setView:) withObject:button];
+ [toolbarItem setAction:@selector(ignore:)];
[button setToolbarItem:toolbarItem];
+
+ [toolbarItems setObject:toolbarItem forKey:IGNORE];
+
[[self window] setToolbar:toolbar];
}
@@ -211,7 +224,7 @@
{
NSToolbarItem *item = [[notification userInfo] objectForKey:@"item"];
- if ([[item itemIdentifier] isEqualToString:@"authorize"]) {
+ if ([[item itemIdentifier] isEqualToString:AUTHORIZE]) {
NSMenu *menu = [[NSMenu alloc] init];
[menu addItemWithTitle:AUTHORIZE
@@ -226,7 +239,7 @@
[[item view] setMenu:menu];
[menu release];
- } else if ([[item itemIdentifier] isEqualToString:@"deny"]) {
+ } else if ([[item itemIdentifier] isEqualToString:DENY]) {
NSMenu *menu = [[NSMenu alloc] init];
[menu addItemWithTitle:DENY
@@ -241,7 +254,7 @@
[[item view] setMenu:menu];
[menu release];
- } else if ([[item itemIdentifier] isEqualToString:@"ignore"]) {
+ } else if ([[item itemIdentifier] isEqualToString:IGNORE]) {
NSMenu *menu = [[NSMenu alloc] init];
[menu addItemWithTitle:IGNORE
@@ -267,11 +280,11 @@
- (NSArray *)toolbarDefaultItemIdentifiers:(NSToolbar*)toolbar
{
return [NSArray arrayWithObjects:
- @"authorize",
+ AUTHORIZE,
NSToolbarSeparatorItemIdentifier,
- @"getInfo",
+ GET_INFO,
NSToolbarFlexibleSpaceItemIdentifier,
- @"ignore", @"deny", nil];
+ IGNORE, DENY, nil];
}
- (NSArray *)toolbarAllowedItemIdentifiers:(NSToolbar*)toolbar
More information about the commits
mailing list