From ad90b3390a396fd0551fbc66afd78853e7036de2 Mon Sep 17 00:00:00 2001 From: German Laullon Date: Thu, 30 Dec 2010 23:54:44 -0800 Subject: [PATCH] Initial file list stats on history view. Based on kelan work --- GLFileView.h | 2 +- GLFileView.m | 33 ++++++++++++++++++---- PBWebHistoryController.h | 3 +- PBWebHistoryController.m | 28 +++++++++++++++++-- html/views/history/history.css | 51 ++++++++++++++++++++++++++-------- 5 files changed, 95 insertions(+), 22 deletions(-) diff --git a/GLFileView.h b/GLFileView.h index 6d403b8..6cac193 100644 --- a/GLFileView.h +++ b/GLFileView.h @@ -30,7 +30,7 @@ - (NSString *)parseBlame:(NSString *)txt; + (NSString *)parseHTML:(NSString *)txt; + (NSString *)parseDiff:(NSString *)txt; -+ (NSString *)parseDiffTree:(NSString *)txt; ++ (NSString *)parseDiffTree:(NSString *)txt withStats:(NSMutableDictionary *)stats; +(BOOL)isStartDiff:(NSString *)line; +(BOOL)isStartBlock:(NSString *)line; diff --git a/GLFileView.m b/GLFileView.m index e9659d8..0a0154b 100644 --- a/GLFileView.m +++ b/GLFileView.m @@ -98,7 +98,7 @@ NSArray *files=[historyController.treeController selectedObjects]; if ([files count]>0) { PBGitTree *file=[files objectAtIndex:0]; - + NSString *fileTxt = @""; if(startFile==@"fileview"){ fileTxt=[file textContents:&theError]; @@ -223,11 +223,21 @@ return txt; } -+ (NSString *)parseDiffTree:(NSString *)txt ++ (NSString *)parseDiffTree:(NSString *)txt withStats:(NSMutableDictionary *)stats { + NSInteger granTotal=0; + for(NSArray *stat in [stats allValues]){ + NSInteger add=[[stat objectAtIndex:0] integerValue]; + NSInteger rem=[[stat objectAtIndex:1] integerValue]; + NSInteger tot=add+rem; + if(tot>granTotal) + granTotal=tot; + [stats setObject:[NSArray arrayWithObjects:[NSNumber numberWithInteger:add],[NSNumber numberWithInteger:rem],[NSNumber numberWithInteger:tot],nil] forKey:[stat objectAtIndex:2]]; + } + NSArray *lines = [txt componentsSeparatedByString:@"\n"]; NSMutableString *res=[NSMutableString string]; - [res appendString:@"