---
 PBGitDefaults.h          |    2 ++
 PBGitDefaults.m          |   13 +++++++++++++
 PBGitHistoryController.h |    3 +++
 PBGitHistoryController.m |   11 +++++++++--
 PBGitRevisionCell.h      |    1 +
 PBGitRevisionCell.m      |   12 +++++++++---
 6 files changed, 37 insertions(+), 5 deletions(-)

diff --git a/PBGitDefaults.h b/PBGitDefaults.h
index fec2430..8660e51 100644
--- a/PBGitDefaults.h
+++ b/PBGitDefaults.h
@@ -19,5 +19,7 @@
 + (BOOL)showWhitespaceDifferences;
 + (BOOL)openCurDirOnLaunch;
 + (BOOL)showOpenPanelOnLaunch;
++ (CGFloat)historyFontSize;
++ (void)setHistoryFontSize:(CGFloat)newSize;

 @end
diff --git a/PBGitDefaults.m b/PBGitDefaults.m
index dc9cfd1..c7738fe 100644
--- a/PBGitDefaults.m
+++ b/PBGitDefaults.m
@@ -17,6 +17,7 @@
 #define kShowWhitespaceDifferences @"PBShowWhitespaceDifferences"
 #define kOpenCurDirOnLaunch @"PBOpenCurDirOnLaunch"
 #define kShowOpenPanelOnLaunch @"PBShowOpenPanelOnLaunch"
+#define kHistoryFontSize @"PBHistoryFontSize"

 @implementation PBGitDefaults

@@ -39,6 +40,8 @@ + (void)initialize
                          forKey:kOpenCurDirOnLaunch];
        [defaultValues setObject:[NSNumber numberWithBool:YES]
                          forKey:kShowOpenPanelOnLaunch];
+       [defaultValues setObject:[NSNumber numberWithFloat:[NSFont 
systemFontSize]]
+                         forKey:kHistoryFontSize];
        [[NSUserDefaults standardUserDefaults] registerDefaults:defaultValues];
 }

@@ -82,4 +85,14 @@ + (BOOL)showOpenPanelOnLaunch
        return [[NSUserDefaults standardUserDefaults]
boolForKey:kShowOpenPanelOnLaunch];
 }

++ (CGFloat)historyFontSize
+{
+       return [[NSUserDefaults standardUserDefaults] 
floatForKey:kHistoryFontSize];
+}
+
++ (void)setHistoryFontSize:(CGFloat)newSize
+{
+       [[NSUserDefaults standardUserDefaults] setFloat:newSize
forKey:kHistoryFontSize];
+}
+
 @end
diff --git a/PBGitHistoryController.h b/PBGitHistoryController.h
index fadb6cd..de44e18 100644
--- a/PBGitHistoryController.h
+++ b/PBGitHistoryController.h
@@ -27,12 +27,15 @@
        PBGitCommit* webCommit;
        PBGitCommit* rawCommit;
        PBGitCommit* realCommit;
+
+       CGFloat fontSize;
 }

 @property (assign) int selectedTab;
 @property (retain) PBGitCommit *webCommit, *rawCommit;
 @property (retain) PBGitTree* gitTree;
 @property (readonly) NSArrayController *commitController;
+...@property (assign) CGFloat fontSize;

 - (IBAction) setDetailedView: sender;
 - (IBAction) setRawView: sender;
diff --git a/PBGitHistoryController.m b/PBGitHistoryController.m
index a9fde36..0488b65 100644
--- a/PBGitHistoryController.m
+++ b/PBGitHistoryController.m
@@ -11,14 +11,16 @@
 #import "PBGitGrapher.h"
 #import "PBGitRevisionCell.h"
 #import "PBCommitList.h"
+#import "PBGitDefaults.h"
 #define QLPreviewPanel NSClassFromString(@"QLPreviewPanel")

-
 @implementation PBGitHistoryController
-...@synthesize selectedTab, webCommit, rawCommit, gitTree, commitController;
+...@synthesize selectedTab, webCommit, rawCommit, gitTree,
commitController, fontSize;

 - (void)awakeFromNib
 {
+       self.fontSize = [PBGitDefaults historyFontSize];
+
        self.selectedTab = [[NSUserDefaults standardUserDefaults]
integerForKey:@"Repository Window Selected Tab Index"];;
        [commitController addObserver:self forKeyPath:@"selection"
options:(NSKeyValueObservingOptionNew,NSKeyValueObservingOptionOld)
context:@"commitChange"];
        [treeController addObserver:self forKeyPath:@"selection" options:0
context:@"treeChange"];
@@ -78,6 +80,11 @@ - (void) setSelectedTab: (int) number
        [self updateKeys];
 }

+-(void)setFontSize:(CGFloat)newSize {
+       fontSize = newSize;
+       [commitList setRowHeight:ceil(fontSize*1.3)];
+}
+
 - (void) observeValueForKeyPath:(NSString *)keyPath
ofObject:(id)object change:(NSDictionary *)change context:(void
*)context
 {
     if ([(NSString *)context isEqualToString: @"commitChange"]) {
diff --git a/PBGitRevisionCell.h b/PBGitRevisionCell.h
index d6aa4ed..f0072ab 100644
--- a/PBGitRevisionCell.h
+++ b/PBGitRevisionCell.h
@@ -16,6 +16,7 @@
        PBGitCommit *objectValue;
        PBGraphCellInfo *cellInfo;
        NSTextFieldCell *textCell;
+       CGFloat fontSize;
        IBOutlet PBGitHistoryController *controller;
        IBOutlet id<PBRefContextDelegate> contextMenuDelegate;
 }
diff --git a/PBGitRevisionCell.m b/PBGitRevisionCell.m
index 98f978b..87c187a 100644
--- a/PBGitRevisionCell.m
+++ b/PBGitRevisionCell.m
@@ -62,7 +62,8 @@ - (void) drawCircleInRect: (NSRect) r
        NSPoint origin = r.origin;
        NSPoint columnOrigin = { origin.x + columnWidth * c, origin.y};

-       NSRect oval = { columnOrigin.x - 5, columnOrigin.y + r.size.height *
0.5 - 5, 10, 10};
+       CGFloat radius = fontSize*0.4;
+       NSRect oval = { columnOrigin.x - radius, columnOrigin.y +
r.size.height * 0.5 - radius, radius*2, radius*2};

        
        NSBezierPath * path = [NSBezierPath bezierPathWithOvalInRect:oval];
@@ -70,7 +71,8 @@ - (void) drawCircleInRect: (NSRect) r
        [[NSColor blackColor] set];
        [path fill];
        
-       NSRect smallOval = { columnOrigin.x - 3, columnOrigin.y +
r.size.height * 0.5 - 3, 6, 6};
+       CGFloat smallRadius = radius*0.6;
+       NSRect smallOval = { columnOrigin.x - smallRadius, columnOrigin.y +
r.size.height * 0.5 - smallRadius, smallRadius*2, smallRadius*2};
        [[NSColor whiteColor] set];
        path = [NSBezierPath bezierPathWithOvalInRect:smallOval];
        [path fill];    
@@ -115,7 +117,7 @@ - (NSMutableDictionary*)
attributesForRefLabelSelected: (BOOL) selected
        
        [style setAlignment:NSCenterTextAlignment];
        [attributes setObject:style forKey:NSParagraphStyleAttributeName];
-       [attributes setObject:[NSFont fontWithName:@"Helvetica" size:9]
forKey:NSFontAttributeName];
+       [attributes setObject:[NSFont fontWithName:@"Helvetica"
size:ceil(fontSize*0.75)] forKey:NSFontAttributeName];

        //if (selected)
        //      [attributes setObject:[NSColor 
alternateSelectedControlTextColor]
forKey:NSForegroundColorAttributeName];
@@ -236,6 +238,10 @@ - (void) drawWithFrame: (NSRect) rect inView:(NSView *)view
        [textCell setHighlighted: [self isHighlighted]];
        [textCell drawWithFrame:rect inView: view];
 }
+-(void)setFont:(NSFont*)font {
+       fontSize = font.pointSize;
+       [textCell setFont:font];
+}

 - (void) setObjectValue: (PBGitCommit*)object {
        [super setObjectValue:[NSValue valueWithNonretainedObject:object]];
-- 
1.6.5.rc1.44.ga1675.dirty

Reply via email to