diff --git a/GitX.xcodeproj/project.pbxproj b/GitX.xcodeproj/project.pbxproj index 3293524..b7e1ed0 100644 --- a/GitX.xcodeproj/project.pbxproj +++ b/GitX.xcodeproj/project.pbxproj @@ -22,6 +22,9 @@ 93CB42C20EAB7B2200530609 /* PBGitDefaults.m in Sources */ = {isa = PBXBuildFile; fileRef = 93CB42C10EAB7B2200530609 /* PBGitDefaults.m */; }; 93F7857F0EA3ABF100C1F443 /* PBCommitMessageView.m in Sources */ = {isa = PBXBuildFile; fileRef = 93F7857E0EA3ABF100C1F443 /* PBCommitMessageView.m */; }; D26DC6450E782C9000C777B2 /* gitx.icns in Resources */ = {isa = PBXBuildFile; fileRef = D26DC6440E782C9000C777B2 /* gitx.icns */; }; + F50A411F0EBB874C00208746 /* mainSplitterBar.tiff in Resources */ = {isa = PBXBuildFile; fileRef = F50A411D0EBB874C00208746 /* mainSplitterBar.tiff */; }; + F50A41200EBB874C00208746 /* mainSplitterDimple.tiff in Resources */ = {isa = PBXBuildFile; fileRef = F50A411E0EBB874C00208746 /* mainSplitterDimple.tiff */; }; + F50A41230EBB875D00208746 /* PBNiceSplitView.m in Sources */ = {isa = PBXBuildFile; fileRef = F50A41220EBB875D00208746 /* PBNiceSplitView.m */; }; 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 */; }; @@ -122,6 +125,10 @@ 93F7857E0EA3ABF100C1F443 /* PBCommitMessageView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PBCommitMessageView.m; sourceTree = ""; }; 93FCCBA80EA8AF450061B02B /* PBGitConfig.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PBGitConfig.m; sourceTree = ""; }; D26DC6440E782C9000C777B2 /* gitx.icns */ = {isa = PBXFileReference; lastKnownFileType = image.icns; path = gitx.icns; sourceTree = ""; }; + F50A411D0EBB874C00208746 /* mainSplitterBar.tiff */ = {isa = PBXFileReference; lastKnownFileType = image.tiff; name = mainSplitterBar.tiff; path = Images/mainSplitterBar.tiff; sourceTree = ""; }; + F50A411E0EBB874C00208746 /* mainSplitterDimple.tiff */ = {isa = PBXFileReference; lastKnownFileType = image.tiff; name = mainSplitterDimple.tiff; path = Images/mainSplitterDimple.tiff; sourceTree = ""; }; + F50A41210EBB875D00208746 /* PBNiceSplitView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PBNiceSplitView.h; sourceTree = ""; }; + F50A41220EBB875D00208746 /* PBNiceSplitView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PBNiceSplitView.m; 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 = ""; }; @@ -295,6 +302,7 @@ 29B97317FDCFA39411CA2CEA /* Resources */ = { isa = PBXGroup; children = ( + F50A41130EBB872D00208746 /* Widgets */, D26DC6440E782C9000C777B2 /* gitx.icns */, 8D1107310486CEB800E47090 /* Info.plist */, 089C165CFE840E0CC02AAC07 /* InfoPlist.strings */, @@ -334,6 +342,15 @@ name = cli; sourceTree = ""; }; + F50A41130EBB872D00208746 /* Widgets */ = { + isa = PBXGroup; + children = ( + F50A411D0EBB874C00208746 /* mainSplitterBar.tiff */, + F50A411E0EBB874C00208746 /* mainSplitterDimple.tiff */, + ); + name = Widgets; + sourceTree = ""; + }; F56174540E05887E001DCD79 /* Git */ = { isa = PBXGroup; children = ( @@ -391,6 +408,8 @@ F5140DC80E8A8EB20091E9F3 /* RoundedRectangle.m */, F56244070E9684B0002B6C44 /* PBUnsortableTableHeader.h */, F56244080E9684B0002B6C44 /* PBUnsortableTableHeader.m */, + F50A41210EBB875D00208746 /* PBNiceSplitView.h */, + F50A41220EBB875D00208746 /* PBNiceSplitView.m */, ); name = Aux; sourceTree = ""; @@ -553,6 +572,8 @@ F5E92A230E88569500056E75 /* new_file.png in Resources */, F57240BB0E9678EA00D8EE66 /* deleted_file.png in Resources */, F5E424110EA3E4D60046E362 /* PBDiffWindow.xib in Resources */, + F50A411F0EBB874C00208746 /* mainSplitterBar.tiff in Resources */, + F50A41200EBB874C00208746 /* mainSplitterDimple.tiff in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -621,6 +642,7 @@ F5E424150EA3E4E10046E362 /* PBDiffWindowController.m in Sources */, F5E424180EA3E4EB0046E362 /* PBWebDiffController.m in Sources */, F5FE6C030EB13BC900F30D12 /* PBServicesController.m in Sources */, + F50A41230EBB875D00208746 /* PBNiceSplitView.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; diff --git a/Images/mainSplitterBar.tiff b/Images/mainSplitterBar.tiff new file mode 100644 index 0000000..0e7425d Binary files /dev/null and b/Images/mainSplitterBar.tiff differ diff --git a/Images/mainSplitterDimple.tiff b/Images/mainSplitterDimple.tiff new file mode 100644 index 0000000..8f69b30 Binary files /dev/null and b/Images/mainSplitterDimple.tiff differ diff --git a/PBGitCommitView.xib b/PBGitCommitView.xib index b0163e4..64e3858 100644 --- a/PBGitCommitView.xib +++ b/PBGitCommitView.xib @@ -8,7 +8,7 @@ 352.00 YES - + YES @@ -114,7 +114,7 @@ YES - + @@ -1424,6 +1424,7 @@ 133.IBPluginDependency 163.IBPluginDependency 164.IBPluginDependency + 186.CustomClassName 2.IBPluginDependency 217.IBPluginDependency 225.IBEditorWindowLastContentRect @@ -1467,6 +1468,7 @@ com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin + PBNiceSplitView com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin {{341, 837}, {616, 169}} @@ -1589,6 +1591,14 @@ PBIconAndTextCell.h + + PBNiceSplitView + NSSplitView + + IBProjectSource + PBNiceSplitView.h + + PBViewController NSViewController diff --git a/PBGitHistoryView.xib b/PBGitHistoryView.xib index eb87102..d350cfd 100644 --- a/PBGitHistoryView.xib +++ b/PBGitHistoryView.xib @@ -3,12 +3,12 @@ 1050 9F33 - 672 + 670 949.34 352.00 YES - + YES @@ -449,27 +449,27 @@ 256 - {835, 176} + {852, 194} YES 256 - {835, 17} + {852, 17} - 256 - {{836, 0}, {16, 17}} + -2147483392 + {{-26, 0}, {16, 17}} YES subject - 4.920000e+02 + 5.090000e+02 4.000000e+01 1.000000e+03 @@ -590,17 +590,17 @@ YES - {{1, 17}, {835, 176}} + {{0, 17}, {852, 194}} - 4 + 2 - 256 - {{836, 17}, {15, 176}} + -2147483392 + {{837, 17}, {15, 179}} _doScroller: @@ -609,8 +609,8 @@ - 256 - {{1, 193}, {835, 15}} + -2147483392 + {{0, 196}, {837, 15}} 1 @@ -624,7 +624,7 @@ YES - {{1, 0}, {835, 17}} + {852, 17} @@ -633,10 +633,10 @@ - {852, 209} + {852, 211} - 50 + 560 @@ -647,14 +647,14 @@ 18 - {{0, 210}, {852, 186}} + {{0, 212}, {852, 186}} YES 1 - + 274 YES @@ -708,7 +708,6 @@ {852, 0} - Details @@ -739,7 +738,7 @@ 2322 - {835, 70} + {835, 37} @@ -930,7 +929,7 @@ - {{1, 1}, {835, 218}} + {{1, 1}, {835, 185}} @@ -944,7 +943,7 @@ 256 - {{836, 1}, {15, 218}} + {{836, 1}, {15, 185}} _doScroller: @@ -962,7 +961,7 @@ 9.456522e-01 - {852, 220} + {852, 187} 18 @@ -971,7 +970,7 @@ - {852, 220} + {852, 186} Raw @@ -980,7 +979,7 @@ Item 2 - + 256 YES @@ -1002,7 +1001,7 @@ 256 - {191, 227} + {191, 186} YES @@ -1053,7 +1052,7 @@ YES - {{1, 1}, {191, 227}} + {{1, 1}, {191, 186}} @@ -1063,7 +1062,7 @@ 256 - {{192, 1}, {15, 227}} + {{192, 1}, {15, 186}} _doScroller: @@ -1081,7 +1080,7 @@ 9.980119e-01 - {208, 229} + {208, 188} 18 @@ -1103,7 +1102,30 @@ 2322 - {543, 112} + + YES + + YES + Apple HTML pasteboard type + Apple PDF pasteboard type + Apple PICT pasteboard type + Apple PNG pasteboard type + Apple URL pasteboard type + CorePasteboardFlavorType 0x6D6F6F76 + CorePasteboardFlavorType 0x75726C20 + NSColor pasteboard type + NSFilenamesPboardType + NSStringPboardType + NeXT Encapsulated PostScript v1.2 pasteboard type + NeXT RTFD pasteboard type + NeXT Rich Text Format v1.0 pasteboard type + NeXT TIFF v4.0 pasteboard type + NeXT font pasteboard type + NeXT ruler pasteboard type + WebURLsWithTitlesPboardType + + + {543, 71} @@ -1164,7 +1186,7 @@ - {{1, 1}, {626, 227}} + {{1, 1}, {626, 186}} @@ -1175,7 +1197,7 @@ 256 - {{627, 1}, {15, 227}} + {{627, 1}, {15, 186}} _doScroller: @@ -1193,7 +1215,7 @@ 9.456522e-01 - {{209, 0}, {643, 229}} + {{209, 0}, {643, 188}} 18 @@ -1202,31 +1224,32 @@ - {852, 229} + {852, 188} YES 2 - {852, 229} + {852, 186} + Tree - + 6 YES YES YES - + - {{0, 35}, {852, 396}} + {{0, 35}, {852, 398}} 2 @@ -2378,6 +2401,7 @@ 18.IBPluginDependency 19.IBPluginDependency 190.IBPluginDependency + 2.CustomClassName 2.IBEditorWindowLastContentRect 2.IBPluginDependency 2.ImportedFromIB2 @@ -2457,6 +2481,7 @@ com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin + PBNiceSplitView {{312, 577}, {852, 384}} com.apple.InterfaceBuilder.CocoaPlugin @@ -2512,7 +2537,7 @@ com.apple.InterfaceBuilder.CocoaPlugin - {{1359, 484}, {852, 432}} + {{387, 484}, {852, 432}} com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin @@ -2651,6 +2676,14 @@ PBGitRevisionCell.h + + PBNiceSplitView + NSSplitView + + IBProjectSource + PBNiceSplitView.h + + PBQLOutlineView NSOutlineView diff --git a/PBNiceSplitView.h b/PBNiceSplitView.h new file mode 100644 index 0000000..f5969e7 --- /dev/null +++ b/PBNiceSplitView.h @@ -0,0 +1,15 @@ +// +// PBNiceSplitView.h +// GitX +// +// Created by Pieter de Bie on 31-10-08. +// Copyright 2008 Pieter de Bie. All rights reserved. +// + +#import + +@interface PBNiceSplitView : NSSplitView { + +} + +@end diff --git a/PBNiceSplitView.m b/PBNiceSplitView.m new file mode 100644 index 0000000..994e6d4 --- /dev/null +++ b/PBNiceSplitView.m @@ -0,0 +1,45 @@ +// +// PBNiceSplitView.m +// GitX +// +// Created by Pieter de Bie on 31-10-08. +// Copyright 2008 Pieter de Bie. All rights reserved. +// + +#import "PBNiceSplitView.h" + +static NSImage *bar; +static NSImage *grip; + +@implementation PBNiceSplitView + ++(void) initialize +{ + NSString *barPath = [[NSBundle mainBundle] pathForResource:@"mainSplitterBar" ofType:@"tiff"]; + bar = [[NSImage alloc] initWithContentsOfFile: barPath]; + [bar setFlipped: YES]; + + NSString *gripPath = [[NSBundle mainBundle] pathForResource:@"mainSplitterDimple" ofType:@"tiff"]; + grip = [[NSImage alloc] initWithContentsOfFile: gripPath]; + [grip setFlipped: YES]; +} + +- (void)drawDividerInRect:(NSRect)aRect +{ + // Draw bar and grip onto the canvas + NSRect gripRect = aRect; + gripRect.origin.x = (NSMidX(aRect) - ([grip size].width/2)); + gripRect.size.width = 8; + + [self lockFocus]; + [bar drawInRect:aRect fromRect:NSZeroRect operation:NSCompositeCopy fraction:1.0]; + [grip drawInRect:gripRect fromRect:NSZeroRect operation:NSCompositeSourceOver fraction:1.0]; + [self unlockFocus]; +} + +- (CGFloat)dividerThickness +{ + return 10.0; +} + +@end