Skip to content

Commit 32c9c01

Browse files
committed
kit: advanced commit view controller commit button has been disable during search. Tooltip has been added.
1 parent 97485cb commit 32c9c01

File tree

1 file changed

+32
-10
lines changed

1 file changed

+32
-10
lines changed

GitUpKit/Views/GIAdvancedCommitViewController.m

Lines changed: 32 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)