A better (but not perfect) way to handle the browser's first responder state.

This commit is contained in:
Ross Boucher
2010-03-27 11:27:44 -07:00
parent eae975652e
commit 896f36dffb
+20 -1
View File
@@ -213,6 +213,8 @@
[table setAllowsEmptySelection:_allowsEmptySelection];
[table registerForDraggedTypes:[self registeredDraggedTypes]];
[self setNextResponder:table];
[self _addTableColumnsToTableView:table forColumnIndex:index];
var delegate = [[_CPBrowserTableDelegate alloc] init];
@@ -548,7 +550,8 @@
[self setLastColumn:column];
[[self tableViewInColumn:column] selectRowIndexes:indexSet byExtendingSelection:NO];
[[self window] makeFirstResponder:[self tableViewInColumn:[self lastColumn]]];
[self setNextResponder:[self tableViewInColumn:[self lastColumn]]];
[self scrollColumnToVisible:column];
@@ -562,6 +565,11 @@
[_contentView setBackgroundColor:aColor];
}
- (BOOL)acceptsFirstResponder
{
return YES;
}
// DRAG AND DROP
- (void)registerForDraggedTypes:(CPArray)types
@@ -679,6 +687,17 @@ var _CPBrowserResizeControlBackgroundImage = nil;
return self;
}
- (BOOL)acceptsFirstResponder
{
return NO;
}
- (void)mouseDown:(CPEvent)anEvent
{
[super mouseDown:anEvent];
[[self window] makeFirstResponder:_browser];
}
- (CPView)browserView
{
return _browser;