diff --git a/GitX.xcodeproj/project.pbxproj b/GitX.xcodeproj/project.pbxproj index a07e078..11fb6a7 100644 --- a/GitX.xcodeproj/project.pbxproj +++ b/GitX.xcodeproj/project.pbxproj @@ -96,6 +96,10 @@ F58DB55910566D3500CFDF4A /* PBGitSidebarController.m in Sources */ = {isa = PBXBuildFile; fileRef = F58DB55810566D3500CFDF4A /* PBGitSidebarController.m */; }; F58DB56010566E3900CFDF4A /* PBGitSidebarView.xib in Resources */ = {isa = PBXBuildFile; fileRef = F58DB55F10566E3900CFDF4A /* PBGitSidebarView.xib */; }; F58DB5E8105671B600CFDF4A /* PBSourceViewItem.m in Sources */ = {isa = PBXBuildFile; fileRef = F58DB5E7105671B600CFDF4A /* PBSourceViewItem.m */; }; + F58DB7711056860900CFDF4A /* branch.tiff in Resources */ = {isa = PBXBuildFile; fileRef = F58DB76D1056860900CFDF4A /* branch.tiff */; }; + F58DB7721056860900CFDF4A /* remote.tiff in Resources */ = {isa = PBXBuildFile; fileRef = F58DB76E1056860900CFDF4A /* remote.tiff */; }; + F58DB7731056860900CFDF4A /* folder.tiff in Resources */ = {isa = PBXBuildFile; fileRef = F58DB76F1056860900CFDF4A /* folder.tiff */; }; + F58DB7741056860900CFDF4A /* tag.tiff in Resources */ = {isa = PBXBuildFile; fileRef = F58DB7701056860900CFDF4A /* tag.tiff */; }; F59116E60E843BB50072CCB1 /* PBGitCommitView.xib in Resources */ = {isa = PBXBuildFile; fileRef = F59116E50E843BB50072CCB1 /* PBGitCommitView.xib */; }; F59116E90E843BCB0072CCB1 /* PBGitCommitController.m in Sources */ = {isa = PBXBuildFile; fileRef = F59116E80E843BCB0072CCB1 /* PBGitCommitController.m */; }; F593DF780E9E636C003A8559 /* PBFileChangesTableView.m in Sources */ = {isa = PBXBuildFile; fileRef = F593DF770E9E636C003A8559 /* PBFileChangesTableView.m */; }; @@ -251,6 +255,10 @@ F58DB55F10566E3900CFDF4A /* PBGitSidebarView.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = PBGitSidebarView.xib; sourceTree = ""; }; F58DB5E6105671B600CFDF4A /* PBSourceViewItem.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PBSourceViewItem.h; sourceTree = ""; }; F58DB5E7105671B600CFDF4A /* PBSourceViewItem.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PBSourceViewItem.m; sourceTree = ""; }; + F58DB76D1056860900CFDF4A /* branch.tiff */ = {isa = PBXFileReference; lastKnownFileType = image.tiff; name = branch.tiff; path = Images/branch.tiff; sourceTree = ""; }; + F58DB76E1056860900CFDF4A /* remote.tiff */ = {isa = PBXFileReference; lastKnownFileType = image.tiff; name = remote.tiff; path = Images/remote.tiff; sourceTree = ""; }; + F58DB76F1056860900CFDF4A /* folder.tiff */ = {isa = PBXFileReference; lastKnownFileType = image.tiff; name = folder.tiff; path = Images/folder.tiff; sourceTree = ""; }; + F58DB7701056860900CFDF4A /* tag.tiff */ = {isa = PBXFileReference; lastKnownFileType = image.tiff; name = tag.tiff; path = Images/tag.tiff; sourceTree = ""; }; F59116E50E843BB50072CCB1 /* PBGitCommitView.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = PBGitCommitView.xib; sourceTree = ""; }; F59116E70E843BCB0072CCB1 /* PBGitCommitController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PBGitCommitController.h; sourceTree = ""; }; F59116E80E843BCB0072CCB1 /* PBGitCommitController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PBGitCommitController.m; sourceTree = ""; }; @@ -394,6 +402,10 @@ 29B97315FDCFA39411CA2CEA /* Other Sources */ = { isa = PBXGroup; children = ( + F58DB76D1056860900CFDF4A /* branch.tiff */, + F58DB76E1056860900CFDF4A /* remote.tiff */, + F58DB76F1056860900CFDF4A /* folder.tiff */, + F58DB7701056860900CFDF4A /* tag.tiff */, 3BC07F4A0ED5A5C5009A7768 /* HistoryViewTemplate.png */, 3BC07F4B0ED5A5C5009A7768 /* CommitViewTemplate.png */, F56ADDD70ED19F9E002AC78F /* AddBranchTemplate.png */, @@ -765,6 +777,10 @@ 47DBDBB10E94F6CA00671A1E /* Updates.png in Resources */, F569AE930F2CBD7C00C2FFA7 /* Credits.html in Resources */, F58DB56010566E3900CFDF4A /* PBGitSidebarView.xib in Resources */, + F58DB7711056860900CFDF4A /* branch.tiff in Resources */, + F58DB7721056860900CFDF4A /* remote.tiff in Resources */, + F58DB7731056860900CFDF4A /* folder.tiff in Resources */, + F58DB7741056860900CFDF4A /* tag.tiff in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; diff --git a/Images/branch.tiff b/Images/branch.tiff new file mode 100644 index 0000000..dc35b5b Binary files /dev/null and b/Images/branch.tiff differ diff --git a/Images/folder.tiff b/Images/folder.tiff new file mode 100644 index 0000000..c6a7b14 Binary files /dev/null and b/Images/folder.tiff differ diff --git a/Images/remote.tiff b/Images/remote.tiff new file mode 100644 index 0000000..24f81d4 Binary files /dev/null and b/Images/remote.tiff differ diff --git a/Images/tag.tiff b/Images/tag.tiff new file mode 100644 index 0000000..0532a45 Binary files /dev/null and b/Images/tag.tiff differ diff --git a/PBGitSidebarController.m b/PBGitSidebarController.m index 5bb4854..097aade 100644 --- a/PBGitSidebarController.m +++ b/PBGitSidebarController.m @@ -42,10 +42,7 @@ - (void)outlineView:(NSOutlineView *)outlineView willDisplayCell:(id)cell forTableColumn:(NSTableColumn *)tableColumn item:(id)item { - if ([item isGroupItem]) - [cell setImage:nil]; - else - [cell setImage:[NSImage imageNamed:@"new_file"]]; + [cell setImage:[item icon]]; } - (BOOL)outlineView:(NSOutlineView *)outlineView shouldSelectItem:(id)item diff --git a/PBSourceViewItem.h b/PBSourceViewItem.h index c6d5f4e..8b1c160 100644 --- a/PBSourceViewItem.h +++ b/PBSourceViewItem.h @@ -15,6 +15,7 @@ NSString *title; PBGitRevSpecifier *revSpecifier; + PBSourceViewItem *parent; BOOL isGroupItem; } @@ -30,9 +31,11 @@ // to the 'local' branch thing - (void)addRev:(PBGitRevSpecifier *)revSpecifier toPath:(NSArray *)path; +- (NSImage *)icon; + @property(retain) NSString *title; @property(readonly) NSMutableArray *children; @property(assign) BOOL isGroupItem; @property(retain) PBGitRevSpecifier *revSpecifier; - +@property(retain) PBSourceViewItem *parent; @end diff --git a/PBSourceViewItem.m b/PBSourceViewItem.m index cd11084..2f3b416 100644 --- a/PBSourceViewItem.m +++ b/PBSourceViewItem.m @@ -10,7 +10,7 @@ #import "PBGitRevSpecifier.h" @implementation PBSourceViewItem -@synthesize title, isGroupItem, children, revSpecifier; +@synthesize parent, title, isGroupItem, children, revSpecifier; - (id)init { @@ -47,6 +47,7 @@ - (void)addChild:(PBSourceViewItem *)child { [self.children addObject:child]; + child.parent = self; } - (void)addRev:(PBGitRevSpecifier *)theRevSpecifier toPath:(NSArray *)path @@ -79,4 +80,21 @@ return [[revSpecifier description] lastPathComponent]; } +- (NSImage *)icon +{ + if ([self isGroupItem]) + return nil; + + if (self.parent && !self.parent.parent && [self.parent.title isEqualToString:@"Remotes"]) + return [NSImage imageNamed:@"remote"]; + + if (self.parent && !self.parent.parent && [self.parent.title isEqualToString:@"Tags"]) + return [NSImage imageNamed:@"tag"]; + + if ([[self children] count]) + return [NSImage imageNamed:@"folder"]; + + return [NSImage imageNamed:@"branch"]; +} + @end