diff --git a/PBDetailController.h b/PBDetailController.h index 4717160..0880da1 100644 --- a/PBDetailController.h +++ b/PBDetailController.h @@ -39,6 +39,7 @@ - (IBAction) setRawView: sender; - (IBAction) setTreeView: sender; +- (void) selectCommit: (NSString*) commit; - (IBAction) refresh: sender; - (IBAction) toggleQuickView: sender; - (IBAction) openSelectedFile: sender; diff --git a/PBDetailController.m b/PBDetailController.m index 7c57a5b..3128105 100644 --- a/PBDetailController.m +++ b/PBDetailController.m @@ -152,6 +152,14 @@ repository.currentBranch = repository.currentBranch; } +- (void) selectCommit: (NSString*) commit +{ + NSPredicate* selection = [NSPredicate predicateWithFormat:@"sha == %@", commit]; + NSArray* selectedCommits = [repository.revisionList.commits filteredArrayUsingPredicate:selection]; + [commitController setSelectedObjects: selectedCommits]; + int index = [[commitController selectionIndexes] firstIndex]; + [commitList scrollRowToVisible: index]; +} - (void)tableView:(NSTableView *)aTableView willDisplayCell:(id)aCell forTableColumn:(NSTableColumn *)aTableColumn row:(int)rowIndex { diff --git a/PBWebGitController.m b/PBWebGitController.m index a6a5d80..5fd55c7 100644 --- a/PBWebGitController.m +++ b/PBWebGitController.m @@ -64,9 +64,7 @@ - (void) selectCommit: (NSString*) sha { - NSPredicate* selection = [NSPredicate predicateWithFormat:@"sha == %@", sha]; - NSArray* selectedCommits = [detailController.repository.revisionList.commits filteredArrayUsingPredicate:selection]; - // TODO: reimplement this. How can we set the new commit? Our detailscontroller is read-only + [detailController selectCommit:sha]; } + (BOOL)isSelectorExcludedFromWebScript:(SEL)aSelector