From ada73a16ce4d69a79bf27ec99b36851073acd84a Mon Sep 17 00:00:00 2001 From: Blair Duncan Date: Fri, 24 Aug 2012 16:01:31 -0400 Subject: [PATCH] Fix for left/right cursors in CPBrowser --- AppKit/CPBrowser.j | 45 ++++++++++++++++++--------------------------- 1 file changed, 18 insertions(+), 27 deletions(-) diff --git a/AppKit/CPBrowser.j b/AppKit/CPBrowser.j index 31c21f7c8..59198c0aa 100644 --- a/AppKit/CPBrowser.j +++ b/AppKit/CPBrowser.j @@ -425,11 +425,26 @@ - (void)keyDown:(CPEvent)anEvent { - var column = [self selectedColumn]; - if (column === -1) + var key = [anEvent charactersIgnoringModifiers], + column = [self selectedColumn]; + + if (column === CPNotFound) return; - [_tableViews[column] keyDown:anEvent]; + if (key === CPLeftArrowFunctionKey || key === CPRightArrowFunctionKey) + { + if (key === CPLeftArrowFunctionKey) + { + var previousColumn = column - 1, + selectedRow = [self selectedRowInColumn:previousColumn]; + + [self selectRow:selectedRow inColumn:previousColumn]; + } + else + [self selectRow:0 inColumn:column + 1]; + } + else + [_tableViews[column] keyDown:anEvent]; } // SIZING @@ -838,30 +853,6 @@ var _CPBrowserResizeControlBackgroundImage = nil; [super dragViewForRowsWithIndexes:dragRows tableColumns:theTableColumns event:dragEvent offset:dragViewOffset]; } -- (void)moveUp:(id)sender -{ - [super moveUp:sender]; - [_browser selectRow:[self selectedRow] inColumn:[_browser selectedColumn]]; -} - -- (void)moveDown:(id)sender -{ - [super moveDown:sender]; - [_browser selectRow:[self selectedRow] inColumn:[_browser selectedColumn]]; -} - -- (void)moveLeft:(id)sender -{ - var previousColumn = [_browser selectedColumn] - 1, - selectedRow = [_browser selectedRowInColumn:previousColumn]; - - [_browser selectRow:selectedRow inColumn:previousColumn]; -} - -- (void)moveRight:(id)sender -{ - [_browser selectRow:0 inColumn:[_browser selectedColumn] + 1]; -} @end