Skip to content

Commit 93803ce

Browse files
committed
Better diff display
1 parent c73d759 commit 93803ce

File tree

4 files changed

+47
-9
lines changed

4 files changed

+47
-9
lines changed

FileViewer/FileViewerController.m

Lines changed: 17 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88

99
#import "FileViewerController.h"
1010
#import "PBGitHistoryController.h"
11+
#import "PBGitDefaults.h"
1112

1213
#define GROUP_LABEL @"Label" // string
1314
#define GROUP_SEPARATOR @"HasSeparator" // BOOL as NSNumber
@@ -33,6 +34,10 @@ - (void)awakeFromNib
3334
self.groups = [NSMutableArray arrayWithCapacity:0];
3435
scopeBar.delegate = self;
3536
NSArray *items = [NSArray arrayWithObjects:
37+
[NSDictionary dictionaryWithObjectsAndKeys:
38+
(commit)?@"commit":@"diff", ITEM_IDENTIFIER,
39+
@"Diff", ITEM_NAME,
40+
nil],
3641
[NSDictionary dictionaryWithObjectsAndKeys:
3742
@"source", ITEM_IDENTIFIER,
3843
@"Source", ITEM_NAME,
@@ -41,10 +46,6 @@ - (void)awakeFromNib
4146
@"blame", ITEM_IDENTIFIER,
4247
@"Blame", ITEM_NAME,
4348
nil],
44-
[NSDictionary dictionaryWithObjectsAndKeys:
45-
(commit)?@"commit":@"diff", ITEM_IDENTIFIER,
46-
@"Diff", ITEM_NAME,
47-
nil],
4849
[NSDictionary dictionaryWithObjectsAndKeys:
4950
@"log", ITEM_IDENTIFIER,
5051
@"History", ITEM_NAME,
@@ -78,6 +79,7 @@ - (void) selectCommit:(NSString*)c
7879
NSLog(@"[FileViewerController selectCommit:%@]",c);
7980
}
8081

82+
8183
#pragma mark MGScopeBarDelegate methods
8284

8385

@@ -145,13 +147,16 @@ - (void)webView:(WebView *)sender runJavaScriptAlertPanelWithMessage:(NSString *
145147

146148
+ (BOOL)isSelectorExcludedFromWebScript:(SEL)sel
147149
{
148-
return YES;
150+
NSLog(@"[%@ %s]: self = %@ (%i)", [self class], _cmd, self,[self respondsToSelector:sel]);
151+
return NO;
149152
}
150153

151154
- (void)webView:(WebView *)sender didClearWindowObject:(WebScriptObject *)windowObject forFrame:(WebFrame *)frame
152155
{
153156
id script = [sender windowScriptObject];
157+
NSLog(@"Controller: %@", controller);
154158
[script setValue:controller forKey:@"Controller"];
159+
[script setValue:[PBGitDefaults alloc] forKey:@"Config"];
155160
}
156161

157162
- (void)webView:(WebView *)webView addMessageToConsole:(NSDictionary *)dictionary
@@ -175,8 +180,13 @@ - (void)webView:(WebView *)sender didFinishLoadForFrame:(WebFrame *)frame
175180
txt=[repository outputForArguments:[NSArray arrayWithObjects:@"show", [self refSpec], nil]];
176181
else if(show==@"blame")
177182
txt=[self parseBlame:[repository outputInWorkdirForArguments:[NSArray arrayWithObjects:@"blame", @"-p", file, sha, nil]]];
178-
else if((show==@"diff") || (show==@"commit"))
179-
txt=[repository outputInWorkdirForArguments:[NSArray arrayWithObjects:@"diff", (sha!=nil)?sha:file , (sha!=nil)?file:nil, nil]];
183+
else if(show==@"diff"){
184+
NSString *diff_p=[repository outputInWorkdirForArguments:[NSArray arrayWithObjects:@"show", @"--pretty=format:", sha, file, nil]];
185+
NSString *diff_l=[repository outputInWorkdirForArguments:[NSArray arrayWithObjects:@"diff", file, nil]];
186+
txt=[NSString stringWithFormat:@"%@\n%@",diff_p,diff_l];
187+
}
188+
else if(show==@"commit")
189+
txt=[repository outputInWorkdirForArguments:[NSArray arrayWithObjects:@"diff", (sha!=nil)?sha:file, (sha!=nil)?file:nil, nil]];
180190
else if(show==@"log")
181191
txt=[self parseLog:[repository outputInWorkdirForArguments:[NSArray arrayWithObjects:@"log", [NSString stringWithFormat:@"--pretty=format:%@",format], @"--", file, nil]]];
182192
else

PBGitDefaults.m

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -202,4 +202,27 @@ + (void) setBranchFilter:(NSInteger)state
202202
[[NSUserDefaults standardUserDefaults] setInteger:state forKey:kBranchFilterState];
203203
}
204204

205+
- (BOOL) isFeatureEnabled:(NSString *)feature
206+
{
207+
if([feature isEqualToString:@"gravatar"])
208+
return [PBGitDefaults isGravatarEnabled];
209+
else if([feature isEqualToString:@"gist"])
210+
return [PBGitDefaults isGistEnabled];
211+
else if([feature isEqualToString:@"confirmGist"])
212+
return [PBGitDefaults confirmPublicGists];
213+
else if([feature isEqualToString:@"publicGist"])
214+
return [PBGitDefaults isGistPublic];
215+
else if ([feature isEqualToString:@"showWhitespaceDifferences"])
216+
return [PBGitDefaults showWhitespaceDifferences];
217+
else
218+
return YES;
219+
}
220+
221+
+ (BOOL)isSelectorExcludedFromWebScript:(SEL)sel
222+
{
223+
NSLog(@"[%@ %s]: self = %@ (%i)", [self class], _cmd, self,[self respondsToSelector:sel]);
224+
return NO;
225+
}
226+
227+
205228
@end

PBGitHistoryController.m

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -848,7 +848,7 @@ - (NSRect)previewPanel:(id)panel sourceFrameOnScreenForPreviewItem:(id <QLPrevie
848848

849849
+ (BOOL)isSelectorExcludedFromWebScript:(SEL)sel
850850
{
851-
//NSLog(@"[%@ %s]: controller = %@ (%i)", [self class], _cmd, self,[self respondsToSelector:sel]);
851+
NSLog(@"[%@ %s]: self = %@ (%i)", [self class], _cmd, self,[self respondsToSelector:sel]);
852852
//return NO; //![controller respondsToSelector:sel];
853853
if (sel == @selector(selectCommit:)) return NO;
854854
return YES;

html/lib/diffHighlighter.js

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,11 @@
33
// using the console
44

55
var highlightDiff = function(diff, element, callbacks) {
6+
7+
alert("window="+window);
8+
alert("window.Config="+window.Config);
9+
alert("window.Config.isFeatureEnabled_="+window.Config.isFeatureEnabled_);
10+
611
if (!diff || diff == "")
712
return;
813

@@ -184,7 +189,7 @@ var highlightDiff = function(diff, element, callbacks) {
184189

185190
sindex = "index=" + lindex.toString() + " ";
186191
if (firstChar == "+") {
187-
if (window.Controller.isFeatureEnabled_("showWhitespaceDifferences")) {
192+
if (window.Config.isFeatureEnabled_("showWhitespaceDifferences")) {
188193
// Highlight trailing whitespace
189194
if (m = l.match(/\s+$/))
190195
l = l.replace(/\s+$/, "<span class='whitespace'>" + m + "</span>");

0 commit comments

Comments
 (0)