diff options
author | Max <post@wickenrode.com> | 2015-12-06 20:10:58 +0100 |
---|---|---|
committer | Max <post@wickenrode.com> | 2015-12-06 20:10:58 +0100 |
commit | 7364a3bad2807869566415ef5e9c28fb135415d9 (patch) | |
tree | 99b2aa84a3069d07865d7be80f124db496f4a119 | |
parent | 798786abe2677d01475ac738bb91bb057c3dc02c (diff) | |
download | sequelpro-7364a3bad2807869566415ef5e9c28fb135415d9.tar.gz sequelpro-7364a3bad2807869566415ef5e9c28fb135415d9.tar.bz2 sequelpro-7364a3bad2807869566415ef5e9c28fb135415d9.zip |
Go to database: change the way the arrow keys are forwarded, so the list will scroll (#2343)
-rw-r--r-- | Source/SPGotoDatabaseController.m | 19 |
1 files changed, 17 insertions, 2 deletions
diff --git a/Source/SPGotoDatabaseController.m b/Source/SPGotoDatabaseController.m index 54e4a22f..61ec8962 100644 --- a/Source/SPGotoDatabaseController.m +++ b/Source/SPGotoDatabaseController.m @@ -396,15 +396,30 @@ static BOOL StringQualifiesForWordSearch(NSString *s); [cancelButton performClick:control]; return YES; } + + // the keyboard event is the preferable choice as it will also scroll the window + // TODO: check if the other path is ever used + NSEvent *currentEvent = [NSApp currentEvent]; + BOOL isKeyDownEvent = ([currentEvent type] == NSKeyDown); // Arrow down/up will usually go to start/end of the text field. we want to change the selected table row. if (commandSelector == @selector(moveDown:)) { - [databaseListView selectRowIndexes:[NSIndexSet indexSetWithIndex:([databaseListView selectedRow]+1)] byExtendingSelection:NO]; + if(isKeyDownEvent) { + [databaseListView keyDown:currentEvent]; + } + else { + [databaseListView selectRowIndexes:[NSIndexSet indexSetWithIndex:([databaseListView selectedRow]+1)] byExtendingSelection:NO]; + } return YES; } if (commandSelector == @selector(moveUp:)) { - [databaseListView selectRowIndexes:[NSIndexSet indexSetWithIndex:([databaseListView selectedRow]-1)] byExtendingSelection:NO]; + if(isKeyDownEvent) { + [databaseListView keyDown:currentEvent]; + } + else { + [databaseListView selectRowIndexes:[NSIndexSet indexSetWithIndex:([databaseListView selectedRow]-1)] byExtendingSelection:NO]; + } return YES; } |