Skip to content

Commit 7e8d79a

Browse files
committed
Merge pull request #187 from jphalip/master
Fix for branch badges and improvements to file search UI
2 parents 57dae2b + 5e58f51 commit 7e8d79a

11 files changed

+447
-381
lines changed

English.lproj/Preferences.xib

Lines changed: 142 additions & 154 deletions
Large diffs are not rendered by default.

GLFileView.h

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,8 @@
2626
IBOutlet NSView *accessoryView;
2727
IBOutlet NSSplitView *fileListSplitView;
2828
IBOutlet NSSearchField *searchField;
29+
IBOutlet NSSegmentedControl *stepper;
30+
IBOutlet NSTextField *numberOfMatches;
2931
PBGitTree *lastFile;
3032
}
3133

@@ -51,9 +53,13 @@
5153

5254
- (void) openFileMerge:(NSString*)file sha:(NSString *)sha sha2:(NSString *)sha2;
5355

54-
-(IBAction)updateSearch:(NSSearchField *)sender;
56+
- (IBAction)searchFieldChanged:(NSSearchField *)sender;
57+
- (IBAction)stepperPressed:(id)sender;
5558

5659
@property(strong) NSMutableArray *groups;
5760
@property(strong) NSString *logFormat;
5861

62+
@property (strong) IBOutlet NSSegmentedControl *stepper;
63+
@property (strong) IBOutlet NSSearchField *searchField;
64+
@property (strong) IBOutlet NSTextField *numberOfMatches;
5965
@end

GLFileView.m

Lines changed: 53 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ + (NSString *)parseBinaryDiff:(NSString *)txt;
3030

3131
@implementation GLFileView
3232

33-
@synthesize historyController, typeBar;
33+
@synthesize historyController, typeBar, stepper, searchField, numberOfMatches, groups, logFormat;
3434

3535
- (void) awakeFromNib
3636
{
@@ -140,7 +140,7 @@ - (void) showFile
140140
}else{
141141
[script callWebScriptMethod:@"setMessage" withArguments:[NSArray arrayWithObjects:[theError localizedDescription], nil]];
142142
}
143-
[self updateSearch:searchField];
143+
[self updateSearch];
144144
}
145145
}
146146

@@ -681,17 +681,62 @@ - (void)restoreSplitViewPositiion
681681
[fileListSplitView setHidden:NO];
682682
}
683683

684-
#pragma mark IBActions
684+
// -------------
685+
// File search
686+
// -------------
685687

686-
-(IBAction)updateSearch:(NSSearchField *)sender
688+
#pragma mark -
689+
#pragma mark Search
690+
691+
NSString *searchString;
692+
693+
- (NSString *)numberOfMatchesString
694+
{
695+
if ([view resultCount] == 0)
696+
return @"Not found";
697+
698+
if ([view resultCount] == 1)
699+
return @"1 match";
700+
701+
return [NSString stringWithFormat:@"%d matches", [view resultCount]];
702+
}
703+
704+
- (void) updateSearch
687705
{
688-
[view updateSearch:sender];
706+
[view search:searchField update:YES direction:YES];
707+
[self updateSearchUI];
689708
}
690709

691-
#pragma mark -
710+
- (void) updateSearchUI
711+
{
712+
if ([searchString length] == 0) {
713+
[numberOfMatches setHidden:YES];
714+
[stepper setHidden:YES];
715+
}
716+
else {
717+
[numberOfMatches setHidden:NO];
718+
[stepper setHidden:NO];
719+
[numberOfMatches setStringValue:[self numberOfMatchesString]];
720+
[stepper setEnabled:([view resultCount]>0)];
721+
}
722+
}
723+
724+
- (IBAction)searchFieldChanged:(id)sender
725+
{
726+
BOOL update=[[searchField stringValue] isEqualToString:searchString]? NO: YES;
727+
searchString=[searchField stringValue];
728+
[view search:searchField update:update direction:YES];
729+
[self updateSearchUI];
730+
}
692731

693732

694-
@synthesize groups;
695-
@synthesize logFormat;
733+
- (IBAction)stepperPressed:(id)sender {
734+
NSInteger selectedSegment = [sender selectedSegment];
735+
736+
if (selectedSegment == 0)
737+
[view search:searchField update:NO direction:NO];
738+
else
739+
[view search:searchField update:NO direction:YES];
740+
}
696741

697742
@end

PBCreateBranchSheet.m

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,7 @@ - (IBAction) createBranch:(id)sender
8888
}
8989

9090
NSString *refExistsReturnMessage;
91-
if([self.repository refExists:ref checkOnRemotesWithoutBranches:YES resultMessage:&refExistsReturnMessage])
91+
if([self.repository refExists:ref checkOnRemotesWithoutBranches:NO resultMessage:&refExistsReturnMessage])
9292
{
9393
NSError *error = [NSError errorWithDomain:PBGitRepositoryErrorDomain
9494
code:0

PBCreateTagSheet.m

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,7 @@ - (IBAction) createTag:(id)sender
6969
}
7070

7171
NSString *refExistsReturnMessage;
72-
if([self.repository refExists:ref checkOnRemotesWithoutBranches:YES resultMessage:&refExistsReturnMessage])
72+
if([self.repository refExists:ref checkOnRemotesWithoutBranches:NO resultMessage:&refExistsReturnMessage])
7373
{
7474
NSError *error = [NSError errorWithDomain:PBGitRepositoryErrorDomain
7575
code:0

0 commit comments

Comments
 (0)