Sidebar: display a custom icon

These are based on a contribution by Vincent Esche,
but we'll probably have to change them a bit.
This commit is contained in:
Pieter de Bie
2009-09-08 14:50:20 +02:00
parent bff93631d5
commit ca479c79e9
8 changed files with 40 additions and 6 deletions
+16
View File
@@ -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 = "<group>"; };
F58DB5E6105671B600CFDF4A /* PBSourceViewItem.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PBSourceViewItem.h; sourceTree = "<group>"; };
F58DB5E7105671B600CFDF4A /* PBSourceViewItem.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PBSourceViewItem.m; sourceTree = "<group>"; };
F58DB76D1056860900CFDF4A /* branch.tiff */ = {isa = PBXFileReference; lastKnownFileType = image.tiff; name = branch.tiff; path = Images/branch.tiff; sourceTree = "<group>"; };
F58DB76E1056860900CFDF4A /* remote.tiff */ = {isa = PBXFileReference; lastKnownFileType = image.tiff; name = remote.tiff; path = Images/remote.tiff; sourceTree = "<group>"; };
F58DB76F1056860900CFDF4A /* folder.tiff */ = {isa = PBXFileReference; lastKnownFileType = image.tiff; name = folder.tiff; path = Images/folder.tiff; sourceTree = "<group>"; };
F58DB7701056860900CFDF4A /* tag.tiff */ = {isa = PBXFileReference; lastKnownFileType = image.tiff; name = tag.tiff; path = Images/tag.tiff; sourceTree = "<group>"; };
F59116E50E843BB50072CCB1 /* PBGitCommitView.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = PBGitCommitView.xib; sourceTree = "<group>"; };
F59116E70E843BCB0072CCB1 /* PBGitCommitController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PBGitCommitController.h; sourceTree = "<group>"; };
F59116E80E843BCB0072CCB1 /* PBGitCommitController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PBGitCommitController.m; sourceTree = "<group>"; };
@@ -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;
};
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
View File
Binary file not shown.
+1 -4
View File
@@ -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
+4 -1
View File
@@ -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
+19 -1
View File
@@ -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