diff --git a/GitX.xcodeproj/project.pbxproj b/GitX.xcodeproj/project.pbxproj index 45591e4..83032e2 100644 --- a/GitX.xcodeproj/project.pbxproj +++ b/GitX.xcodeproj/project.pbxproj @@ -801,7 +801,7 @@ /* Begin PBXProject section */ 29B97313FDCFA39411CA2CEA /* Project object */ = { isa = PBXProject; - buildConfigurationList = 26FC0A880875C7B200E6366F /* Build configuration list for PBXProject "GitX" */; + buildConfigurationList = 26FC0A880875C7B200E6366F /* Build configuration list for PBXProject "gitx" */; compatibilityVersion = "Xcode 3.1"; hasScannedForEncodings = 1; mainGroup = 29B97314FDCFA39411CA2CEA /* GitTest */; @@ -1507,7 +1507,7 @@ defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 26FC0A880875C7B200E6366F /* Build configuration list for PBXProject "GitX" */ = { + 26FC0A880875C7B200E6366F /* Build configuration list for PBXProject "gitx" */ = { isa = XCConfigurationList; buildConfigurations = ( 26FC0A890875C7B200E6366F /* Debug */, diff --git a/PBGitHistoryController.h b/PBGitHistoryController.h index 76e322f..2440804 100644 --- a/PBGitHistoryController.h +++ b/PBGitHistoryController.h @@ -13,15 +13,17 @@ #import "PBCollapsibleSplitView.h" #import /* for the QLPreviewPanelDataSource et al. stuff */ +@class PBQLOutlineView; + @interface PBGitHistoryController : PBViewController { IBOutlet NSSearchField *searchField; IBOutlet NSArrayController* commitController; IBOutlet NSTreeController* treeController; - IBOutlet NSOutlineView* fileBrowser; IBOutlet NSTableView* commitList; + IBOutlet PBQLOutlineView* fileBrowser; IBOutlet PBCollapsibleSplitView *historySplitView; - IBOutlet id webView; + int selectedTab; PBGitTree* gitTree; diff --git a/PBGitHistoryController.m b/PBGitHistoryController.m index 177262b..bad534e 100644 --- a/PBGitHistoryController.m +++ b/PBGitHistoryController.m @@ -11,6 +11,7 @@ #import "PBGitRevisionCell.h" #import "PBCommitList.h" #import "ApplicationController.h" +#import "PBQLOutlineView.h" @implementation PBGitHistoryController @synthesize selectedTab, webCommit, rawCommit, gitTree, commitController; @@ -67,20 +68,20 @@ // This delegate method provides the rect on screen from which the panel will zoom. - (NSRect)previewPanel:(QLPreviewPanel *)panel sourceFrameOnScreenForPreviewItem:(id )item { - NSInteger index = [[treeController selectedObjects] indexOfObject:item]; + NSInteger index = [fileBrowser rowForItem:[[treeController selectedNodes] objectAtIndex:0]]; if (index == NSNotFound) { return NSZeroRect; } - NSRect iconRect = [fileBrowser frameOfOutlineCellAtRow:index]; + NSRect iconRect = [fileBrowser frameOfCellAtColumn:0 row:index]; // check that the icon rect is visible on screen -// NSRect visibleRect = [fileBrowser visibleRect]; -// -// if (!NSIntersectsRect(visibleRect, iconRect)) { -// return NSZeroRect; -// } + NSRect visibleRect = [fileBrowser visibleRect]; + if (!NSIntersectsRect(visibleRect, iconRect)) { + return NSZeroRect; + } + // convert icon rect to screen coordinates iconRect = [fileBrowser convertRectToBase:iconRect]; iconRect.origin = [[fileBrowser window] convertBaseToScreen:iconRect.origin];