@@ -56,20 +56,31 @@ - (void)setupSearch {
56
56
}
57
57
58
58
- (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 ;
61
78
}
62
79
63
80
#pragma mark - NSControlTextEditingDelegate
64
81
- (void )controlTextDidChange : (NSNotification *)obj {
65
82
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];
73
84
}
74
85
}
75
86
@@ -140,7 +151,18 @@ - (void)repositoryStatusDidUpdate {
140
151
}
141
152
142
153
- (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
+ }
144
166
}
145
167
146
168
- (void )_reloadContents {
0 commit comments