File tree Expand file tree Collapse file tree 3 files changed +17
-12
lines changed Expand file tree Collapse file tree 3 files changed +17
-12
lines changed Original file line number Diff line number Diff line change @@ -703,7 +703,7 @@ - (NSString *)numberOfMatchesString
703703
704704- (void ) updateSearch
705705{
706- [view search: searchField update: YES direction: YES ];
706+ [view search: searchField update: YES grabFocus: NO direction: YES ];
707707 [self updateSearchUI ];
708708}
709709
@@ -725,7 +725,7 @@ - (IBAction)searchFieldChanged:(id)sender
725725{
726726 BOOL update=[[searchField stringValue ] isEqualToString: searchString]? NO : YES ;
727727 searchString=[searchField stringValue ];
728- [view search: searchField update: update direction: YES ];
728+ [view search: searchField update: update grabFocus: YES direction: YES ];
729729 [self updateSearchUI ];
730730}
731731
@@ -734,9 +734,9 @@ - (IBAction)stepperPressed:(id)sender {
734734 NSInteger selectedSegment = [sender selectedSegment ];
735735
736736 if (selectedSegment == 0 )
737- [view search: searchField update: NO direction: NO ];
737+ [view search: searchField update: NO grabFocus: YES direction: NO ];
738738 else
739- [view search: searchField update: NO direction: YES ];
739+ [view search: searchField update: NO grabFocus: YES direction: YES ];
740740}
741741
742742@end
Original file line number Diff line number Diff line change 1616- (void )highlightAllOccurencesOfString : (NSString *)str direction : (BOOL )forward ;
1717- (void )highlightAllOccurencesOfString : (NSString *)str inNode : (DOMNode *)node ;
1818- (void )removeAllHighlights ;
19- - (void )search : (NSSearchField *)sender update : (BOOL )update direction : (BOOL )forward ;
19+ - (void )search : (NSSearchField *)sender update : (BOOL )update grabFocus : ( BOOL ) grabFocus direction : (BOOL )forward ;
2020
2121@end
Original file line number Diff line number Diff line change @@ -68,21 +68,26 @@ - (void)highlightAllOccurencesOfString:(NSString*)str update:(BOOL)update direct
6868 }
6969}
7070
71- - (void )search : (NSSearchField *)sender update : (BOOL )update direction : (BOOL )forward
71+ - (void )search : (NSSearchField *)sender update : (BOOL )update grabFocus : ( BOOL ) grabFocus direction : (BOOL )forward
7272{
7373 NSString *searchString = [sender stringValue ];
7474
7575 DLog (@" searchString:%@ " ,searchString);
76-
77- // Back-up the search field's caret position so we can restore it later
78- NSRange searchFieldSelectedRange = [[sender currentEditor ] selectedRange ];
76+
77+ NSRange searchFieldSelectedRange;
78+ if (grabFocus) {
79+ // Back-up the search field's caret position so we can restore it later
80+ searchFieldSelectedRange = [[sender currentEditor ] selectedRange ];
81+ }
7982
8083 if ([searchString length ]>0 ){
8184 [self highlightAllOccurencesOfString: searchString update: update direction: forward];
8285
83- // Bring the search field back in focus and restore its caret position
84- [[sender window ] makeFirstResponder: sender];
85- [[sender currentEditor ] setSelectedRange: searchFieldSelectedRange];
86+ if (grabFocus) {
87+ // Bring the search field back in focus and restore its caret position
88+ [[sender window ] makeFirstResponder: sender];
89+ [[sender currentEditor ] setSelectedRange: searchFieldSelectedRange];
90+ }
8691
8792 if (result!=nil ) {
8893 [self setSelectedDOMRange: result affinity: NSSelectionAffinityDownstream];
You can’t perform that action at this time.
0 commit comments