diff --git a/Commands/PBCommandFactory.h b/Commands/PBCommandFactory.h index 477a52b..1a4a084 100644 --- a/Commands/PBCommandFactory.h +++ b/Commands/PBCommandFactory.h @@ -7,6 +7,7 @@ // #import "PBGitRepository.h" +#import "PBPresentable.h" @protocol PBCommandFactory + (NSArray *) commandsForObject:(id) object repository:(PBGitRepository *) repository; diff --git a/GitX.xcodeproj/project.pbxproj b/GitX.xcodeproj/project.pbxproj index 7cb0c81..cf4a4af 100644 --- a/GitX.xcodeproj/project.pbxproj +++ b/GitX.xcodeproj/project.pbxproj @@ -138,6 +138,8 @@ D8FDDA6F114335E8005647F6 /* PBGitSVStageItem.m in Sources */ = {isa = PBXBuildFile; fileRef = D8FDDA67114335E8005647F6 /* PBGitSVStageItem.m */; }; D8FDDA70114335E8005647F6 /* PBGitSVTagItem.m in Sources */ = {isa = PBXBuildFile; fileRef = D8FDDA69114335E8005647F6 /* PBGitSVTagItem.m */; }; D8FDDBF41143F318005647F6 /* AddRemote.png in Resources */ = {isa = PBXBuildFile; fileRef = D8FDDBF31143F318005647F6 /* AddRemote.png */; }; + DDB8FE0113998CE2001A9EE2 /* PBStashContentController.m in Sources */ = {isa = PBXBuildFile; fileRef = DDB8FE0013998CE2001A9EE2 /* PBStashContentController.m */; }; + DDB8FEC413999C24001A9EE2 /* PBStashContentView.xib in Resources */ = {isa = PBXBuildFile; fileRef = DDB8FEC313999C24001A9EE2 /* PBStashContentView.xib */; }; F50FE0E30E07BE9600854FCD /* PBGitRevisionCell.m in Sources */ = {isa = PBXBuildFile; fileRef = F50FE0E20E07BE9600854FCD /* PBGitRevisionCell.m */; }; F513085B0E0740F2000C8BCD /* PBQLOutlineView.m in Sources */ = {isa = PBXBuildFile; fileRef = F513085A0E0740F2000C8BCD /* PBQLOutlineView.m */; }; F5140DC90E8A8EB20091E9F3 /* RoundedRectangle.m in Sources */ = {isa = PBXBuildFile; fileRef = F5140DC80E8A8EB20091E9F3 /* RoundedRectangle.m */; }; @@ -425,6 +427,9 @@ D8FDDA69114335E8005647F6 /* PBGitSVTagItem.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PBGitSVTagItem.m; sourceTree = ""; }; D8FDDA7311433634005647F6 /* PBSourceViewItems.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PBSourceViewItems.h; sourceTree = ""; }; D8FDDBF31143F318005647F6 /* AddRemote.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = AddRemote.png; path = Images/AddRemote.png; sourceTree = ""; }; + DDB8FDFF13998CE2001A9EE2 /* PBStashContentController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PBStashContentController.h; sourceTree = ""; }; + DDB8FE0013998CE2001A9EE2 /* PBStashContentController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PBStashContentController.m; sourceTree = ""; }; + DDB8FEC313999C24001A9EE2 /* PBStashContentView.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = PBStashContentView.xib; sourceTree = ""; }; F50FE0E10E07BE9600854FCD /* PBGitRevisionCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PBGitRevisionCell.h; sourceTree = ""; }; F50FE0E20E07BE9600854FCD /* PBGitRevisionCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PBGitRevisionCell.m; sourceTree = ""; }; F51308590E0740F2000C8BCD /* PBQLOutlineView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PBQLOutlineView.h; sourceTree = ""; }; @@ -765,6 +770,7 @@ F5E424100EA3E4D60046E362 /* PBDiffWindow.xib */, F52BCE020E84208300AA3741 /* PBGitHistoryView.xib */, F59116E50E843BB50072CCB1 /* PBGitCommitView.xib */, + DDB8FEC313999C24001A9EE2 /* PBStashContentView.xib */, D85B939210E3D8B4007F3C28 /* PBCreateBranchSheet.xib */, D889EB3010E6BCBB00F08413 /* PBCreateTagSheet.xib */, D8C1B77110E875CF009B7F8B /* PBRemoteProgressSheet.xib */, @@ -939,6 +945,8 @@ 77C8280C06725ACE000B614F /* ApplicationController.m */, 93CB42C00EAB7B2200530609 /* PBGitDefaults.h */, 93CB42C10EAB7B2200530609 /* PBGitDefaults.m */, + DDB8FDFF13998CE2001A9EE2 /* PBStashContentController.h */, + DDB8FE0013998CE2001A9EE2 /* PBStashContentController.m */, F57CC43F0E05E496000472E2 /* PBGitWindowController.h */, F57CC4400E05E496000472E2 /* PBGitWindowController.m */, 911111F60E594F3F00BF76B4 /* PBRepositoryDocumentController.h */, @@ -1286,6 +1294,7 @@ 316E7202131EE9C600AFBB36 /* list_Template.png in Resources */, 316E7203131EE9C600AFBB36 /* sidebar_Template.png in Resources */, 65D58BC4132D27A8003F7290 /* PBResetSheet.xib in Resources */, + DDB8FEC413999C24001A9EE2 /* PBStashContentView.xib in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -1447,6 +1456,7 @@ 217FF0BE12A1CB3E00785A65 /* PBRevealWithFinderCommand.m in Sources */, 65D58BC7132D48C2003F7290 /* PBResetSheet.m in Sources */, 31776089133569350025876E /* SearchWebView.m in Sources */, + DDB8FE0113998CE2001A9EE2 /* PBStashContentController.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; diff --git a/PBGitHistoryController.h b/PBGitHistoryController.h index 840d8c4..228e2a2 100644 --- a/PBGitHistoryController.h +++ b/PBGitHistoryController.h @@ -33,7 +33,7 @@ IBOutlet PBCommitList* commitList; IBOutlet NSSplitView *historySplitView; IBOutlet PBWebHistoryController *webHistoryController; - QLPreviewPanel* previewPanel; + QLPreviewPanel* previewPanel; IBOutlet PBHistorySearchController *searchController; IBOutlet GLFileView *fileView; diff --git a/PBGitHistoryController.m b/PBGitHistoryController.m index 4d1a787..64630e1 100644 --- a/PBGitHistoryController.m +++ b/PBGitHistoryController.m @@ -94,7 +94,7 @@ [super awakeFromNib]; - [fileBrowser setDelegate:self]; + [fileBrowser setDelegate:self]; } - (void)updateKeys @@ -414,7 +414,7 @@ - (void) updateView { - [self refresh: nil]; + [self refresh: nil]; [self updateKeys]; } diff --git a/PBGitRepository.h b/PBGitRepository.h index f709f42..62fd7bc 100644 --- a/PBGitRepository.h +++ b/PBGitRepository.h @@ -12,10 +12,6 @@ #import "PBGitConfig.h" #import "PBGitRefish.h" -#import "PBStashController.h" -#import "PBGitResetController.h" -#import "PBSubmoduleController.h" - extern NSString* PBGitRepositoryErrorDomain; typedef enum branchFilterTypes { kGitXAllBranchesFilter = 0, @@ -42,7 +38,9 @@ static NSString * PBStringFromBranchFilterType(PBGitXBranchFilterType type) { @class PBGitWindowController; @class PBGitCommit; -@class NSString; +@class PBGitResetController; +@class PBStashController; +@class PBSubmoduleController; @interface PBGitRepository : NSDocument { PBGitHistoryList* revisionList; diff --git a/PBGitRepository.m b/PBGitRepository.m index 90444e1..4011387 100644 --- a/PBGitRepository.m +++ b/PBGitRepository.m @@ -12,14 +12,17 @@ #import "PBGitBinary.h" #import "NSFileHandleExt.h" -#import "PBEasyPipe.h" -#import "PBGitRef.h" -#import "PBGitRevSpecifier.h" -#import "PBRemoteProgressSheet.h" -#import "PBGitRevList.h" -#import "PBGitDefaults.h" #import "GitXScriptingConstants.h" +#import "PBEasyPipe.h" +#import "PBGitDefaults.h" +#import "PBGitRef.h" +#import "PBGitResetController.h" +#import "PBGitRevList.h" +#import "PBGitRevSpecifier.h" #import "PBHistorySearchController.h" +#import "PBRemoteProgressSheet.h" +#import "PBStashController.h" +#import "PBSubmoduleController.h" #import "PBGitStash.h" #import "PBGitSubmodule.h" diff --git a/PBGitSidebarController.h b/PBGitSidebarController.h index 59b9b9d..a2eb106 100644 --- a/PBGitSidebarController.h +++ b/PBGitSidebarController.h @@ -12,6 +12,7 @@ @class PBSourceViewItem; @class PBGitHistoryController; @class PBGitCommitController; +@class PBStashContentController; @interface PBGitSidebarController : PBViewController PROTOCOL_10_6(NSOutlineViewDelegate, NSMenuDelegate){ IBOutlet NSWindow *window; @@ -33,6 +34,7 @@ PBGitHistoryController *historyViewController; PBGitCommitController *commitViewController; + PBStashContentController *stashViewController; } - (void) selectStage; @@ -54,5 +56,6 @@ @property(readonly) NSView *sourceListControlsView; @property(readonly) PBGitHistoryController *historyViewController; @property(readonly) PBGitCommitController *commitViewController; +@property(readonly) PBStashContentController *stashViewController; @end diff --git a/PBGitSidebarController.m b/PBGitSidebarController.m index 276fa75..14dd91d 100644 --- a/PBGitSidebarController.m +++ b/PBGitSidebarController.m @@ -23,6 +23,8 @@ #import "PBCommandMenuItem.h" #import "PBGitStash.h" #import "PBGitSubmodule.h" +#import "PBSubmoduleController.h" +#import "PBStashContentController.h" static NSString * const kObservingContextStashes = @"stashesChanged"; static NSString * const kObservingContextSubmodules = @"submodulesChanged"; @@ -42,6 +44,7 @@ static NSString * const kObservingContextSubmodules = @"submodulesChanged"; @synthesize sourceListControlsView; @synthesize historyViewController; @synthesize commitViewController; +@synthesize stashViewController; - (id)initWithRepository:(PBGitRepository *)theRepository superController:(PBGitWindowController *)controller { @@ -60,6 +63,9 @@ static NSString * const kObservingContextSubmodules = @"submodulesChanged"; historyViewController = [[PBGitHistoryController alloc] initWithRepository:repository superController:superController]; commitViewController = [[PBGitCommitController alloc] initWithRepository:repository superController:superController]; + stashViewController = [[PBStashContentController alloc] initWithRepository:repository superController:superController]; + + [stashViewController loadView]; [repository addObserver:self forKeyPath:@"refs" options:0 context:@"updateRefs"]; [repository addObserver:self forKeyPath:@"currentBranch" options:0 context:@"currentBranchChange"]; @@ -83,6 +89,7 @@ static NSString * const kObservingContextSubmodules = @"submodulesChanged"; { [historyViewController closeView]; [commitViewController closeView]; + [stashViewController closeView]; [repository removeObserver:self forKeyPath:@"currentBranch"]; [repository removeObserver:self forKeyPath:@"branches"]; @@ -318,6 +325,12 @@ static NSString * const kObservingContextSubmodules = @"submodulesChanged"; [PBGitDefaults setShowStageView:YES]; } + if ([item parent] == stashes) { + [superController changeContentController:stashViewController]; + [PBGitDefaults setShowStageView:NO]; + [stashViewController showStash:(PBGitStash*)[(PBGitMenuItem*)item sourceObject]]; + } + [self updateActionMenu]; [self updateRemoteControls]; } diff --git a/PBRefController.m b/PBRefController.m index 34e22da..c12a18f 100644 --- a/PBRefController.m +++ b/PBRefController.m @@ -13,6 +13,7 @@ #import "PBCreateTagSheet.h" #import "PBGitDefaults.h" #import "PBDiffWindowController.h" +#import "PBGitResetController.h" #import "PBArgumentPickerController.h" diff --git a/PBStashContentController.h b/PBStashContentController.h new file mode 100644 index 0000000..3ec6061 --- /dev/null +++ b/PBStashContentController.h @@ -0,0 +1,23 @@ +// +// PBStashContentController.h +// GitX +// +// Created by David Catmull on 20-06-11. +// Copyright 2011. All rights reserved. +// + +#import "PBViewController.h" +#import "PBWebHistoryController.h" + +@class PBGitStash; +@class PBWebStashController; + +// Controls the view displaying a stash diff +@interface PBStashContentController : PBViewController { + IBOutlet id webView; + IBOutlet PBWebHistoryController *webController; +} + +- (void) showStash:(PBGitStash*)stash; + +@end diff --git a/PBStashContentController.m b/PBStashContentController.m new file mode 100644 index 0000000..8432872 --- /dev/null +++ b/PBStashContentController.m @@ -0,0 +1,29 @@ +// +// PBStashContentController.h +// GitX +// +// Created by David Catmull on 20-06-11. +// Copyright 2011. All rights reserved. +// + +#import "PBStashContentController.h" +#import "PBGitDefaults.h" +#import "PBGitStash.h" + +@implementation PBStashContentController + +- (void) awakeFromNib +{ + [webController setRepository:repository]; +} + +- (void) showStash:(PBGitStash*)stash +{ + NSString *stashRef = [NSString stringWithFormat:@"refs/%@", [stash name]]; + NSString *stashSha = [repository shaForRef:[PBGitRef refFromString:stashRef]]; + PBGitCommit *commit = [PBGitCommit commitWithRepository:repository andSha:stashSha]; + + [webController changeContentTo:commit]; +} + +@end diff --git a/PBStashContentView.xib b/PBStashContentView.xib new file mode 100644 index 0000000..5dfb786 --- /dev/null +++ b/PBStashContentView.xib @@ -0,0 +1,1307 @@ + + + + 1060 + 10J869 + 851 + 1038.35 + 461.00 + + YES + + YES + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.WebKitIBPlugin + + + YES + 851 + 851 + + + + YES + + + + YES + com.apple.WebKitIBPlugin + com.apple.InterfaceBuilder.CocoaPlugin + + + YES + + YES + + + YES + + + + YES + + PBStashContentController + + + FirstResponder + + + NSApplication + + + + 274 + + YES + + + 274 + + YES + + YES + Apple HTML pasteboard type + Apple PDF pasteboard type + Apple PICT pasteboard type + Apple URL pasteboard type + Apple Web Archive pasteboard type + NSColor pasteboard type + NSFilenamesPboardType + NSStringPboardType + NeXT RTFD pasteboard type + NeXT Rich Text Format v1.0 pasteboard type + NeXT TIFF v4.0 pasteboard type + WebURLsWithTitlesPboardType + public.png + public.url + public.url-name + + + {480, 272} + + + + + + + + YES + + YES + WebKitDefaultFixedFontSize + WebKitDefaultFontSize + WebKitMinimumFontSize + + + YES + + + + + + + YES + YES + + + {480, 272} + + NSView + + + PBWebHistoryController + + + + + YES + + + view + + + + 4 + + + + frameLoadDelegate + + + + 5 + + + + policyDelegate + + + + 6 + + + + UIDelegate + + + + 7 + + + + webController + + + + 8 + + + + view + + + + 9 + + + + webView + + + + 10 + + + + + YES + + 0 + + + + + + -2 + + + File's Owner + + + -1 + + + First Responder + + + -3 + + + Application + + + 1 + + + YES + + + + Stash + + + 2 + + + + + 3 + + + + + + + YES + + YES + -1.IBPluginDependency + -2.IBPluginDependency + -3.IBPluginDependency + 1.IBEditorWindowLastContentRect + 1.IBPluginDependency + 1.WindowOrigin + 1.editorWindowContentRectSynchronizationRect + 2.IBPluginDependency + 2.IBViewBoundsToFrameTransform + 3.IBPluginDependency + + + YES + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + {{14, 862}, {480, 272}} + com.apple.InterfaceBuilder.CocoaPlugin + {628, 654} + {{357, 416}, {480, 272}} + com.apple.WebKitIBPlugin + + AUJwAABCFAAAA + + com.apple.InterfaceBuilder.CocoaPlugin + + + + YES + + + YES + + + + + YES + + + YES + + + + 10 + + + + YES + + NSApplication + + IBProjectSource + NSApplication+GitXScripting.h + + + + PBGitHistoryController + PBViewController + + YES + + YES + cherryPick: + createBranch: + createTag: + merge: + openFilesAction: + openSelectedFile: + rebase: + refresh: + selectNext: + selectPrevious: + setBranchFilter: + setDetailedView: + setTreeView: + showAddRemoteSheet: + showCommitsFromTree: + showInFinderAction: + toggleQLPreviewPanel: + updateSearch: + + + YES + id + id + id + id + id + id + id + id + id + id + id + id + id + id + id + id + id + id + + + + YES + + YES + cherryPick: + createBranch: + createTag: + merge: + openFilesAction: + openSelectedFile: + rebase: + refresh: + selectNext: + selectPrevious: + setBranchFilter: + setDetailedView: + setTreeView: + showAddRemoteSheet: + showCommitsFromTree: + showInFinderAction: + toggleQLPreviewPanel: + updateSearch: + + + YES + + cherryPick: + id + + + createBranch: + id + + + createTag: + id + + + merge: + id + + + openFilesAction: + id + + + openSelectedFile: + id + + + rebase: + id + + + refresh: + id + + + selectNext: + id + + + selectPrevious: + id + + + setBranchFilter: + id + + + setDetailedView: + id + + + setTreeView: + id + + + showAddRemoteSheet: + id + + + showCommitsFromTree: + id + + + showInFinderAction: + id + + + toggleQLPreviewPanel: + id + + + updateSearch: + id + + + + + IBProjectSource + PBGitHistoryController.h + + + + PBGitRepository + NSDocument + + IBProjectSource + PBGitRepository.h + + + + PBStashContentController + PBViewController + + YES + + YES + webController + webView + + + YES + PBWebHistoryController + id + + + + YES + + YES + webController + webView + + + YES + + webController + PBWebHistoryController + + + webView + id + + + + + IBProjectSource + PBStashContentController.h + + + + PBViewController + NSViewController + + refresh: + id + + + refresh: + + refresh: + id + + + + IBProjectSource + PBViewController.h + + + + PBWebController + NSObject + + YES + + YES + repository + view + + + YES + PBGitRepository + WebView + + + + YES + + YES + repository + view + + + YES + + repository + PBGitRepository + + + view + WebView + + + + + IBProjectSource + PBWebController.h + + + + PBWebHistoryController + PBWebController + + YES + + YES + contextMenuDelegate + historyController + + + YES + id + PBGitHistoryController + + + + YES + + YES + contextMenuDelegate + historyController + + + YES + + contextMenuDelegate + id + + + historyController + PBGitHistoryController + + + + + IBProjectSource + PBWebHistoryController.h + + + + WebView + + updateSearch: + NSSearchField + + + updateSearch: + + updateSearch: + NSSearchField + + + + IBProjectSource + SearchWebView.h + + + + + YES + + NSApplication + NSResponder + + IBFrameworkSource + AppKit.framework/Headers/NSApplication.h + + + + NSApplication + + IBFrameworkSource + AppKit.framework/Headers/NSApplicationScripting.h + + + + NSApplication + + IBFrameworkSource + AppKit.framework/Headers/NSColorPanel.h + + + + NSApplication + + IBFrameworkSource + AppKit.framework/Headers/NSHelpManager.h + + + + NSApplication + + IBFrameworkSource + AppKit.framework/Headers/NSPageLayout.h + + + + NSApplication + + IBFrameworkSource + AppKit.framework/Headers/NSUserInterfaceItemSearching.h + + + + NSControl + NSView + + IBFrameworkSource + AppKit.framework/Headers/NSControl.h + + + + NSDocument + NSObject + + YES + + YES + printDocument: + revertDocumentToSaved: + runPageLayout: + saveDocument: + saveDocumentAs: + saveDocumentTo: + + + YES + id + id + id + id + id + id + + + + YES + + YES + printDocument: + revertDocumentToSaved: + runPageLayout: + saveDocument: + saveDocumentAs: + saveDocumentTo: + + + YES + + printDocument: + id + + + revertDocumentToSaved: + id + + + runPageLayout: + id + + + saveDocument: + id + + + saveDocumentAs: + id + + + saveDocumentTo: + id + + + + + IBFrameworkSource + AppKit.framework/Headers/NSDocument.h + + + + NSDocument + + IBFrameworkSource + AppKit.framework/Headers/NSDocumentScripting.h + + + + NSFormatter + NSObject + + IBFrameworkSource + Foundation.framework/Headers/NSFormatter.h + + + + NSMenu + NSObject + + IBFrameworkSource + AppKit.framework/Headers/NSMenu.h + + + + NSObject + + IBFrameworkSource + AppKit.framework/Headers/NSAccessibility.h + + + + NSObject + + + + NSObject + + + + NSObject + + + + NSObject + + + + NSObject + + IBFrameworkSource + AppKit.framework/Headers/NSDictionaryController.h + + + + NSObject + + IBFrameworkSource + AppKit.framework/Headers/NSDragging.h + + + + NSObject + + IBFrameworkSource + AppKit.framework/Headers/NSFontManager.h + + + + NSObject + + IBFrameworkSource + AppKit.framework/Headers/NSFontPanel.h + + + + NSObject + + IBFrameworkSource + AppKit.framework/Headers/NSKeyValueBinding.h + + + + NSObject + + + + NSObject + + IBFrameworkSource + AppKit.framework/Headers/NSNibLoading.h + + + + NSObject + + IBFrameworkSource + AppKit.framework/Headers/NSOutlineView.h + + + + NSObject + + IBFrameworkSource + AppKit.framework/Headers/NSPasteboard.h + + + + NSObject + + IBFrameworkSource + AppKit.framework/Headers/NSSavePanel.h + + + + NSObject + + IBFrameworkSource + AppKit.framework/Headers/NSTableView.h + + + + NSObject + + IBFrameworkSource + AppKit.framework/Headers/NSToolbarItem.h + + + + NSObject + + IBFrameworkSource + AppKit.framework/Headers/NSView.h + + + + NSObject + + IBFrameworkSource + Foundation.framework/Headers/NSArchiver.h + + + + NSObject + + IBFrameworkSource + Foundation.framework/Headers/NSClassDescription.h + + + + NSObject + + IBFrameworkSource + Foundation.framework/Headers/NSError.h + + + + NSObject + + IBFrameworkSource + Foundation.framework/Headers/NSFileManager.h + + + + NSObject + + IBFrameworkSource + Foundation.framework/Headers/NSKeyValueCoding.h + + + + NSObject + + IBFrameworkSource + Foundation.framework/Headers/NSKeyValueObserving.h + + + + NSObject + + IBFrameworkSource + Foundation.framework/Headers/NSKeyedArchiver.h + + + + NSObject + + IBFrameworkSource + Foundation.framework/Headers/NSObject.h + + + + NSObject + + IBFrameworkSource + Foundation.framework/Headers/NSObjectScripting.h + + + + NSObject + + IBFrameworkSource + Foundation.framework/Headers/NSPortCoder.h + + + + NSObject + + IBFrameworkSource + Foundation.framework/Headers/NSRunLoop.h + + + + NSObject + + IBFrameworkSource + Foundation.framework/Headers/NSScriptClassDescription.h + + + + NSObject + + IBFrameworkSource + Foundation.framework/Headers/NSScriptKeyValueCoding.h + + + + NSObject + + IBFrameworkSource + Foundation.framework/Headers/NSScriptObjectSpecifiers.h + + + + NSObject + + IBFrameworkSource + Foundation.framework/Headers/NSScriptWhoseTests.h + + + + NSObject + + IBFrameworkSource + Foundation.framework/Headers/NSThread.h + + + + NSObject + + IBFrameworkSource + Foundation.framework/Headers/NSURL.h + + + + NSObject + + IBFrameworkSource + Foundation.framework/Headers/NSURLConnection.h + + + + NSObject + + IBFrameworkSource + Foundation.framework/Headers/NSURLDownload.h + + + + NSObject + + IBFrameworkSource + QuartzCore.framework/Headers/CAAnimation.h + + + + NSObject + + IBFrameworkSource + QuartzCore.framework/Headers/CALayer.h + + + + NSObject + + IBFrameworkSource + QuartzCore.framework/Headers/CIImageProvider.h + + + + NSObject + + IBFrameworkSource + Sparkle.framework/Headers/SUAppcast.h + + + + NSObject + + IBFrameworkSource + Sparkle.framework/Headers/SUUpdater.h + + + + NSObject + + IBFrameworkSource + WebKit.framework/Headers/WebDownload.h + + + + NSObject + + IBFrameworkSource + WebKit.framework/Headers/WebEditingDelegate.h + + + + NSObject + + IBFrameworkSource + WebKit.framework/Headers/WebFrameLoadDelegate.h + + + + NSObject + + IBFrameworkSource + WebKit.framework/Headers/WebJavaPlugIn.h + + + + NSObject + + IBFrameworkSource + WebKit.framework/Headers/WebPlugin.h + + + + NSObject + + IBFrameworkSource + WebKit.framework/Headers/WebPluginContainer.h + + + + NSObject + + IBFrameworkSource + WebKit.framework/Headers/WebPolicyDelegate.h + + + + NSObject + + IBFrameworkSource + WebKit.framework/Headers/WebResourceLoadDelegate.h + + + + NSObject + + IBFrameworkSource + WebKit.framework/Headers/WebScriptObject.h + + + + NSObject + + IBFrameworkSource + WebKit.framework/Headers/WebUIDelegate.h + + + + NSResponder + + IBFrameworkSource + AppKit.framework/Headers/NSInterfaceStyle.h + + + + NSResponder + NSObject + + IBFrameworkSource + AppKit.framework/Headers/NSResponder.h + + + + NSSearchField + NSTextField + + IBFrameworkSource + AppKit.framework/Headers/NSSearchField.h + + + + NSTextField + NSControl + + IBFrameworkSource + AppKit.framework/Headers/NSTextField.h + + + + NSView + + IBFrameworkSource + AppKit.framework/Headers/NSClipView.h + + + + NSView + + IBFrameworkSource + AppKit.framework/Headers/NSMenuItem.h + + + + NSView + + IBFrameworkSource + AppKit.framework/Headers/NSRulerView.h + + + + NSView + NSResponder + + + + NSViewController + NSResponder + + view + NSView + + + view + + view + NSView + + + + IBFrameworkSource + AppKit.framework/Headers/NSViewController.h + + + + NSWindow + + IBFrameworkSource + AppKit.framework/Headers/NSDrawer.h + + + + NSWindow + NSResponder + + IBFrameworkSource + AppKit.framework/Headers/NSWindow.h + + + + NSWindow + + IBFrameworkSource + AppKit.framework/Headers/NSWindowScripting.h + + + + WebView + NSView + + YES + + YES + goBack: + goForward: + makeTextLarger: + makeTextSmaller: + makeTextStandardSize: + reload: + reloadFromOrigin: + stopLoading: + takeStringURLFrom: + toggleContinuousSpellChecking: + toggleSmartInsertDelete: + + + YES + id + id + id + id + id + id + id + id + id + id + id + + + + YES + + YES + goBack: + goForward: + makeTextLarger: + makeTextSmaller: + makeTextStandardSize: + reload: + reloadFromOrigin: + stopLoading: + takeStringURLFrom: + toggleContinuousSpellChecking: + toggleSmartInsertDelete: + + + YES + + goBack: + id + + + goForward: + id + + + makeTextLarger: + id + + + makeTextSmaller: + id + + + makeTextStandardSize: + id + + + reload: + id + + + reloadFromOrigin: + id + + + stopLoading: + id + + + takeStringURLFrom: + id + + + toggleContinuousSpellChecking: + id + + + toggleSmartInsertDelete: + id + + + + + IBFrameworkSource + WebKit.framework/Headers/WebView.h + + + + + 0 + IBCocoaFramework + + com.apple.InterfaceBuilder.CocoaPlugin.InterfaceBuilder3 + + + YES + GitX.xcodeproj + 3 + + diff --git a/PBWebHistoryController.m b/PBWebHistoryController.m index 5d1bd47..f8ccead 100644 --- a/PBWebHistoryController.m +++ b/PBWebHistoryController.m @@ -39,7 +39,7 @@ - (void) observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context { - if ([(NSString *)context isEqualToString: @"ChangedCommit"]) + if ([(NSString *)context isEqualToString: @"ChangedCommit"]) [self changeContentTo: historyController.webCommit]; else [super observeValueForKeyPath:keyPath ofObject:object change:change context:context]; @@ -84,45 +84,43 @@ return; - NSMutableString *refs=[NSMutableString string]; - NSArray *refsA=[historyController.webCommit refs]; - NSString *currentRef=[[[historyController repository] headRef] simpleRef]; - NSString *style=@""; - int r=0; - for(r=0;r<[refsA count];r++){ - PBGitRef *ref=[refsA objectAtIndex:r]; + NSMutableString *refs = [NSMutableString string]; + NSArray *refsA = [historyController.webCommit refs]; + NSString *currentRef = [[[historyController repository] headRef] simpleRef]; + NSString *style = @""; + for(PBGitRef *ref in refsA){ if([currentRef isEqualToString:[ref ref]]){ - style=[NSString stringWithFormat:@"currentBranch refs %@",[ref type]]; + style = [NSString stringWithFormat:@"currentBranch refs %@",[ref type]]; }else{ - style=[NSString stringWithFormat:@"refs %@",[ref type]]; + style = [NSString stringWithFormat:@"refs %@",[ref type]]; } [refs appendString:[NSString stringWithFormat:@"%@",style,[ref shortName]]]; } // Header - NSString *header=[self parseHeader:details withRefs:refs]; + NSString *header = [self parseHeader:details withRefs:refs]; // File Stats - NSMutableDictionary *stats=[self parseStats:details]; + NSMutableDictionary *stats = [self parseStats:details]; // File list - NSString *dt=[repository outputInWorkdirForArguments:[NSArray arrayWithObjects:@"diff-tree", @"--root", @"-r", @"-C90%", @"-M90%", currentSha, nil]]; - NSString *fileList=[GLFileView parseDiffTree:dt withStats:stats]; + NSString *dt = [repository outputInWorkdirForArguments:[NSArray arrayWithObjects:@"diff-tree", @"--root", @"-r", @"-C90%", @"-M90%", currentSha, nil]]; + NSString *fileList = [GLFileView parseDiffTree:dt withStats:stats]; // Diffs list - NSString *d=[repository outputInWorkdirForArguments:[NSArray arrayWithObjects:@"diff-tree", @"--root", @"--cc", @"-C90%", @"-M90%", currentSha, nil]]; - NSString *diffs=[GLFileView parseDiff:d]; + NSString *d = [repository outputInWorkdirForArguments:[NSArray arrayWithObjects:@"diff-tree", @"--root", @"--cc", @"-C90%", @"-M90%", currentSha, nil]]; + NSString *diffs = [GLFileView parseDiff:d]; - NSString *html=[NSString stringWithFormat:@"%@%@
%@
",header,fileList,diffs]; + NSString *html = [NSString stringWithFormat:@"%@%@
%@
",header,fileList,diffs]; - html=[html stringByReplacingOccurrencesOfString:@"{SHA_PREV}" withString:[NSString stringWithFormat:@"%@^",currentSha]]; - html=[html stringByReplacingOccurrencesOfString:@"{SHA}" withString:currentSha]; + html = [html stringByReplacingOccurrencesOfString:@"{SHA_PREV}" withString:[NSString stringWithFormat:@"%@^",currentSha]]; + html = [html stringByReplacingOccurrencesOfString:@"{SHA}" withString:currentSha]; [[view windowScriptObject] callWebScriptMethod:@"showCommit" withArguments:[NSArray arrayWithObject:html]]; #ifdef DEBUG_BUILD - NSString *dom=[(DOMHTMLElement*)[[[view mainFrame] DOMDocument] documentElement] outerHTML]; - NSString *tmpFile=@"~/tmp/test2.html"; + NSString *dom = [(DOMHTMLElement*)[[[view mainFrame] DOMDocument] documentElement] outerHTML]; + NSString *tmpFile = @"~/tmp/test2.html"; [dom writeToFile:[tmpFile stringByExpandingTildeInPath] atomically:true encoding:NSUTF8StringEncoding error:nil]; #endif }