Allow home/end in filter lists

This goes to the first/last item and can be reached with fn-←/→ on laptop keyboards.
This commit is contained in:
Allan Odgaard
2013-11-08 00:44:25 +01:00
parent d843225d81
commit f2d5d0c143

View File

@@ -38,6 +38,8 @@
- (void)pageDown:(id)sender { [self movePageDown:sender]; }
- (void)scrollPageUp:(id)sender { [self movePageUp:sender]; }
- (void)scrollPageDown:(id)sender { [self movePageDown:sender]; }
- (void)scrollToBeginningOfDocument:(id)sender { [self moveToBeginningOfDocument:sender]; }
- (void)scrollToEndOfDocument:(id)sender { [self moveToEndOfDocument:sender]; }
- (IBAction)insertNewline:(id)sender { [NSApp sendAction:@selector(accept:) to:nil from:sender]; }
- (IBAction)insertNewlineIgnoringFieldEditor:(id)sender { [NSApp sendAction:@selector(accept:) to:nil from:sender]; }
@@ -45,7 +47,7 @@
- (BOOL)control:(NSControl*)aControl textView:(NSTextView*)aTextView doCommandBySelector:(SEL)aCommand
{
static auto const forward = new std::set<SEL>{ @selector(moveUp:), @selector(moveDown:), @selector(moveUpAndModifySelection:), @selector(moveDownAndModifySelection:), @selector(pageUp:), @selector(pageDown:), @selector(movePageUp:), @selector(movePageDown:), @selector(scrollPageUp:), @selector(scrollPageDown:), @selector(moveToBeginningOfDocument:), @selector(moveToEndOfDocument:), @selector(insertNewline:), @selector(insertNewlineIgnoringFieldEditor:), @selector(cancelOperation:) };
static auto const forward = new std::set<SEL>{ @selector(moveUp:), @selector(moveDown:), @selector(moveUpAndModifySelection:), @selector(moveDownAndModifySelection:), @selector(pageUp:), @selector(pageDown:), @selector(movePageUp:), @selector(movePageDown:), @selector(scrollPageUp:), @selector(scrollPageDown:), @selector(moveToBeginningOfDocument:), @selector(moveToEndOfDocument:), @selector(scrollToBeginningOfDocument:), @selector(scrollToEndOfDocument:), @selector(insertNewline:), @selector(insertNewlineIgnoringFieldEditor:), @selector(cancelOperation:) };
if(forward->find(aCommand) != forward->end() && [self respondsToSelector:aCommand])
return [NSApp sendAction:aCommand to:self from:aControl];
return NO;