@@ -56,20 +56,31 @@ - (void)setupSearch {
5656}
5757
5858- (void )resetSearch {
59- [self .searchTextField setStringValue: @" " ];
60- [self .repository updateFilePattern: nil ];
59+ self.searchTextField .stringValue = @" " ;
60+ [self onSearchTextDidChange: self .searchTextField.stringValue];
61+ }
62+
63+ - (void )onSearchTextDidChange : (NSString *)text {
64+ BOOL isSearchDisabled = [@" " isEqualToString: text];
65+ if (isSearchDisabled) {
66+ [self .repository updateFilePattern: nil ];
67+ self.commitButton .toolTip = nil ;
68+ }
69+ else {
70+ [self .repository updateFilePattern: text];
71+ self.commitButton .toolTip = NSLocalizedString(@" Search in progress" , nil );
72+ }
73+ [self _updateCommitButton ];
74+ }
75+
76+ - (BOOL )searchInProgress {
77+ return self.repository .filePattern != nil ;
6178}
6279
6380#pragma mark - NSControlTextEditingDelegate
6481- (void )controlTextDidChange : (NSNotification *)obj {
6582 if (obj.object == self.searchTextField ) {
66- NSString *text = self.searchTextField .stringValue ;
67- if ([@" " isEqualToString: text]) {
68- [self .repository updateFilePattern: nil ];
69- }
70- else {
71- [self .repository updateFilePattern: text];
72- }
83+ [self onSearchTextDidChange: self .searchTextField.stringValue];
7384 }
7485}
7586
@@ -140,7 +151,18 @@ - (void)repositoryStatusDidUpdate {
140151}
141152
142153- (void )_updateCommitButton {
143- _commitButton.enabled = _indexStatus.modified || (self.repository .state == kGCRepositoryState_Merge ) || self.amendButton .state ; // Creating an empty commit is OK for a merge or when amending
154+ _commitButton.enabled =
155+ _indexStatus.modified
156+ || (self.repository .state == kGCRepositoryState_Merge )
157+ || self.amendButton .state ; // Creating an empty commit is OK for a merge or when amending
158+ _commitButton.enabled = _commitButton.enabled && !self.searchInProgress ;
159+
160+ if (self.searchInProgress ) {
161+ _commitButton.toolTip = NSLocalizedString(@" Search in progress" , @" " );
162+ }
163+ else {
164+ _commitButton.toolTip = nil ;
165+ }
144166}
145167
146168- (void )_reloadContents {
0 commit comments