Skip to content

Commit

Permalink
Ticket #142: Add Show in Finder to Unstaged and Staged table views.
Browse files Browse the repository at this point in the history
  • Loading branch information
charlesorourke authored and pieter committed May 28, 2009
1 parent 4e4ffcc commit 3b6c2a3
Show file tree
Hide file tree
Showing 2 changed files with 23 additions and 1 deletion.
6 changes: 5 additions & 1 deletion PBFileChangesTableView.m
Original file line number Original file line Diff line number Diff line change
Expand Up @@ -14,8 +14,12 @@ @implementation PBFileChangesTableView
#pragma mark NSTableView overrides #pragma mark NSTableView overrides
- (NSMenu *)menuForEvent:(NSEvent *)theEvent - (NSMenu *)menuForEvent:(NSEvent *)theEvent
{ {
if ([self delegate]) if ([self delegate]) {
NSPoint eventLocation = [self convertPoint: [theEvent locationInWindow] fromView: nil];
NSInteger rowIndex = [self rowAtPoint:eventLocation];
[self selectRowIndexes:[NSIndexSet indexSetWithIndex:rowIndex] byExtendingSelection:TRUE];
return [[self delegate] menuForTable: self]; return [[self delegate] menuForTable: self];
}


return nil; return nil;
} }
Expand Down
18 changes: 18 additions & 0 deletions PBGitIndexController.m
Original file line number Original file line Diff line number Diff line change
Expand Up @@ -237,6 +237,13 @@ - (NSMenu *) menuForTable:(NSTableView *)table
[menu addItem:ignoreItem]; [menu addItem:ignoreItem];
} }


if ([selectedFiles count] == 1) {
NSMenuItem *showInFinderItem = [[NSMenuItem alloc] initWithTitle:@"Show in Finder" action:@selector(showInFinderAction:) keyEquivalent:@""];
[showInFinderItem setTarget:self];
[showInFinderItem setRepresentedObject:selectedFiles];
[menu addItem:showInFinderItem];
}

for (PBChangedFile *file in selectedFiles) for (PBChangedFile *file in selectedFiles)
if (!file.hasUnstagedChanges) if (!file.hasUnstagedChanges)
return menu; return menu;
Expand Down Expand Up @@ -299,6 +306,17 @@ - (void) forceRevertFilesAction:(id) sender
[self forceRevertChangesForFiles:selectedFiles]; [self forceRevertChangesForFiles:selectedFiles];
} }


- (void) showInFinderAction:(id) sender
{
NSArray *selectedFiles = [sender representedObject];
if ([selectedFiles count] == 0)
return;
NSString *workingDirectory = [[commitController.repository workingDirectory] stringByAppendingString:@"/"];
NSString *path = [workingDirectory stringByAppendingPathComponent:[[selectedFiles objectAtIndex:0] path]];
NSWorkspace *ws = [NSWorkspace sharedWorkspace];
[ws selectFile: path inFileViewerRootedAtPath:nil];
}



# pragma mark TableView icon delegate # pragma mark TableView icon delegate
- (void)tableView:(NSTableView*)tableView willDisplayCell:(id)cell forTableColumn:(NSTableColumn*)tableColumn row:(NSInteger)rowIndex - (void)tableView:(NSTableView*)tableView willDisplayCell:(id)cell forTableColumn:(NSTableColumn*)tableColumn row:(NSInteger)rowIndex
Expand Down

0 comments on commit 3b6c2a3

Please sign in to comment.