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
703
703
704
704
- (void ) updateSearch
705
705
{
706
- [view search: searchField update: YES direction: YES ];
706
+ [view search: searchField update: YES grabFocus: NO direction: YES ];
707
707
[self updateSearchUI ];
708
708
}
709
709
@@ -725,7 +725,7 @@ - (IBAction)searchFieldChanged:(id)sender
725
725
{
726
726
BOOL update=[[searchField stringValue ] isEqualToString: searchString]? NO : YES ;
727
727
searchString=[searchField stringValue ];
728
- [view search: searchField update: update direction: YES ];
728
+ [view search: searchField update: update grabFocus: YES direction: YES ];
729
729
[self updateSearchUI ];
730
730
}
731
731
@@ -734,9 +734,9 @@ - (IBAction)stepperPressed:(id)sender {
734
734
NSInteger selectedSegment = [sender selectedSegment ];
735
735
736
736
if (selectedSegment == 0 )
737
- [view search: searchField update: NO direction: NO ];
737
+ [view search: searchField update: NO grabFocus: YES direction: NO ];
738
738
else
739
- [view search: searchField update: NO direction: YES ];
739
+ [view search: searchField update: NO grabFocus: YES direction: YES ];
740
740
}
741
741
742
742
@end
Original file line number Diff line number Diff line change 16
16
- (void )highlightAllOccurencesOfString : (NSString *)str direction : (BOOL )forward ;
17
17
- (void )highlightAllOccurencesOfString : (NSString *)str inNode : (DOMNode *)node ;
18
18
- (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 ;
20
20
21
21
@end
Original file line number Diff line number Diff line change @@ -68,21 +68,26 @@ - (void)highlightAllOccurencesOfString:(NSString*)str update:(BOOL)update direct
68
68
}
69
69
}
70
70
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
72
72
{
73
73
NSString *searchString = [sender stringValue ];
74
74
75
75
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
+ }
79
82
80
83
if ([searchString length ]>0 ){
81
84
[self highlightAllOccurencesOfString: searchString update: update direction: forward];
82
85
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
+ }
86
91
87
92
if (result!=nil ) {
88
93
[self setSelectedDOMRange: result affinity: NSSelectionAffinityDownstream];
You can’t perform that action at this time.
0 commit comments