diff --git a/PBGitSidebarController.m b/PBGitSidebarController.m index 87f7a7a..171359a 100644 --- a/PBGitSidebarController.m +++ b/PBGitSidebarController.m @@ -71,6 +71,9 @@ static NSString * const kObservingContextSubmodules = @"submodulesChanged"; [self selectStage]; else [self selectCurrentBranch]; + + [sourceView setDoubleAction:@selector(outlineDoubleClicked)]; + [sourceView setTarget:self]; } - (void)closeView @@ -190,6 +193,17 @@ static NSString * const kObservingContextSubmodules = @"submodulesChanged"; [sourceView selectRowIndexes:index byExtendingSelection:NO]; } +- (void) outlineDoubleClicked { + PBSourceViewItem *item = [self selectedItem]; + if ([item isKindOfClass:[PBGitMenuItem class]]) { + PBGitMenuItem *sidebarItem = (PBGitMenuItem *) item; + NSObject *sourceObject = [sidebarItem sourceObject]; + if ([sourceObject isKindOfClass:[PBGitSubmodule class]]) { + [[repository.submoduleController defaultCommandForSubmodule:(id)sourceObject] invoke]; + } + } +} + - (PBSourceViewItem *) itemForRev:(PBGitRevSpecifier *)rev { PBSourceViewItem *foundItem = nil; @@ -396,7 +410,7 @@ static NSString * const kObservingContextSubmodules = @"submodulesChanged"; return [historyViewController.repository menu]; } PBSourceViewItem *viewItem = [sourceView itemAtRow:row]; - if ([viewItem isKindOfClass:[PBGitMenuItem class]] || [[viewItem title] isEqualToString:@"STASHES"]) { + if ([viewItem isKindOfClass:[PBGitMenuItem class]]) { PBGitMenuItem *stashItem = (PBGitMenuItem *) viewItem; NSMutableArray *commands = [[NSMutableArray alloc] init]; [commands addObjectsFromArray:[PBStashCommandFactory commandsForObject:[stashItem sourceObject] repository:historyViewController.repository]];