From 6beb754a537c6f7037dc6d003774c92bd2610313 Mon Sep 17 00:00:00 2001 From: German Laullon Date: Tue, 1 Mar 2011 23:12:18 -0800 Subject: [PATCH 01/15] GUI for filtering on File Browser --- PBGitHistoryView.xib | 445 ++++++++++++++++++++++++------------------- 1 file changed, 254 insertions(+), 191 deletions(-) diff --git a/PBGitHistoryView.xib b/PBGitHistoryView.xib index 3d02796..90d1e1b 100644 --- a/PBGitHistoryView.xib +++ b/PBGitHistoryView.xib @@ -2,10 +2,10 @@ 1050 - 10H574 - 804 + 10J567 + 788 1038.35 - 461.00 + 462.00 YES @@ -15,13 +15,13 @@ YES - 804 - 804 + 788 + 788 YES - + YES @@ -113,7 +113,6 @@ 292 {{267, 3}, {71, 25}} - YES -2080244224 @@ -156,7 +155,6 @@ 268 {{206, 3}, {37, 25}} - YES -2080244224 @@ -181,7 +179,6 @@ 268 {{161, 3}, {37, 25}} - YES -2080244224 @@ -206,7 +203,6 @@ 268 {{116, 3}, {37, 25}} - YES -2080244224 @@ -231,7 +227,6 @@ 268 {{55, 3}, {37, 25}} - YES -2080244224 @@ -256,7 +251,6 @@ 268 {{10, 3}, {37, 25}} - YES -2080244224 @@ -281,7 +275,6 @@ 10 {{0, -2}, {955, 5}} - {0, 0} 67239424 @@ -310,7 +303,6 @@ {{0, 404}, {955, 30}} - PBGitGradientBarView @@ -328,7 +320,6 @@ 10 {{0, 144}, {955, 5}} - {0, 0} 67239424 @@ -361,14 +352,12 @@ 4352 {955, 130} - YES 256 {955, 17} - @@ -376,7 +365,6 @@ -2147483392 {{-26, 0}, {16, 17}} - YES @@ -503,7 +491,7 @@ - d MMMM yyyy HH:mm + d 'de' MMMM 'de' yyyy HH:mm NO @@ -632,7 +620,6 @@ {{0, 17}, {955, 130}} - @@ -643,7 +630,6 @@ -2147483392 {{837, 17}, {15, 179}} - _doScroller: 0.87603306770324707 @@ -653,7 +639,6 @@ -2147483392 {{0, 123}, {852, 15}} - 1 _doScroller: @@ -669,7 +654,6 @@ {955, 17} - @@ -679,7 +663,6 @@ {955, 147} - 560 @@ -700,7 +683,6 @@ {{740, 3}, {16, 16}} - 20746 100 @@ -709,7 +691,6 @@ 265 {{765, 2}, {180, 19}} - YES 343014976 @@ -771,7 +752,6 @@ 265 {{714, 3}, {43, 18}} - YES 67239424 @@ -808,7 +788,6 @@ 265 {{630, 5}, {80, 14}} - YES 68288064 @@ -830,7 +809,6 @@ 268 {{49, 2}, {57, 17}} - 1 YES @@ -856,7 +834,6 @@ 268 {{114, 2}, {103, 17}} - 2 YES @@ -878,7 +855,6 @@ 268 {{11, 2}, {30, 17}} - YES 67239424 @@ -897,13 +873,11 @@ {{0, 147}, {955, 24}} - PBGitGradientBarView {955, 171} - NSView @@ -916,7 +890,6 @@ 18 {955, 233} - YES @@ -995,114 +968,184 @@ 4370 YES - + - 4372 + 274 YES - - - 2304 - - YES - - - 4368 - {216, 233} - - - YES - - - 256 - {{223, 0}, {16, 17}} - - + + + 266 + {{5, 212.5}, {196, 19}} + + YES + + 343014976 + 268698688 + + + LucidaGrande + 9 + 3614 + + + YES + 1 + + + + 130560 + 0 + search + + _searchFieldSearch: + + 138690815 + 0 + + 400 + 75 + + + 130560 + 0 + clear + YES - - 213 - 16 - 1000 - - 75628096 - 2048 - - - - 3 - MC4zMzMzMzI5ODU2AA - - + + YES + + YES + AXDescription + NSAccessibilityEncodedAttributesValueType - - 337772096 - 2048 - Text Cell - - - - + + YES + cancel + - 3 - YES - - 3 - 2 - - - 17 - -624951296 - - - 4 - 15 - 0 - YES - 0 + + _searchFieldCancel: + + 138690815 + 0 + + 400 + 75 + + 255 + + + + + 4370 + + YES + + + 2304 + + YES + + + 4368 + {190, 208} + + YES + + + 256 + {{223, 0}, {16, 17}} + + + YES + + 187 + 16 + 1000 + + 75628096 + 2048 + + + + 3 + MC4zMzMzMzI5ODU2AA + + + + + 337772096 + 2048 + Text Cell + + + + + + 3 + YES + + + + 3 + 2 + + + 17 + -624951296 + + + 4 + 15 + 0 + YES + 0 + + + {{1, 1}, {190, 208}} + + + + + 4 + + + + 256 + {{191, 1}, {15, 208}} + + + _doScroller: + 0.98701298701298701 + + + + -2147483392 + {{-100, -100}, {502, 15}} + + 1 + + _doScroller: + 0.0045045050792396069 + 0.99801188707351685 - {{1, 1}, {216, 233}} - - - - - - 4 - - - - 256 - {{217, 1}, {15, 233}} - - - - _doScroller: - 0.99481862783432007 - - - - -2147483392 - {{-100, -100}, {502, 15}} - - - 1 - - _doScroller: - 0.0045045050792396069 - 0.99801188707351685 + {{0, 0.5}, {207, 210}} + + + 18 + + + + QSAAAEEgAABBmAAAQZgAAA - {233, 235} + {207, 235} - - - 18 - - - - QSAAAEEgAABBmAAAQZgAAA + NSView @@ -1124,7 +1167,6 @@ 289 {{41, 1.5}, {29, 19}} - YES -2080244224 @@ -1149,15 +1191,13 @@ - {{639, 0}, {84, 24}} + {{665, 0}, {84, 24}} - NSView - {{0, 211}, {723, 24}} + {{0, 211}, {749, 24}} - MGScopeBar @@ -1184,9 +1224,8 @@ public.url-name - {723, 210} + {749, 210} - @@ -1195,22 +1234,19 @@ YES - {{234, 0}, {723, 235}} + {{208, 0}, {749, 235}} - NSView {{-1, -1}, {957, 235}} - YES 2 {955, 233} - Tree @@ -1230,19 +1266,16 @@ {{0, 172}, {955, 233}} - NSView {955, 405} - 2 {955, 434} - NSView @@ -2299,56 +2332,11 @@ YES - + - - 10 - - - YES - - - - - - File List Scroll View - - - 17 - - - - - 16 - - - - - 15 - - - YES - - - - - - 18 - - - YES - - - - - - 19 - - - 311 @@ -2662,6 +2650,75 @@ + + 491 + + + YES + + + + + + + 10 + + + YES + + + + + + File List Scroll View + + + 17 + + + + + 16 + + + + + 15 + + + YES + + + + + + 18 + + + YES + + + + + + 19 + + + + + 492 + + + YES + + + + + + 493 + + + @@ -2777,6 +2834,9 @@ 486.IBPluginDependency 49.IBAttributePlaceholdersKey 49.IBPluginDependency + 491.IBPluginDependency + 492.IBPluginDependency + 493.IBPluginDependency 50.IBPluginDependency 51.IBPluginDependency 6.IBPluginDependency @@ -2958,7 +3018,7 @@ com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin com.apple.WebKitIBPlugin - {{1084, 241}, {955, 434}} + {{1702, 241}, {955, 434}} com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin @@ -2978,6 +3038,9 @@ com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin @@ -2996,7 +3059,7 @@ - 490 + 493 From ff53bcd3e750a534a3185b037a6a5af9d596067f Mon Sep 17 00:00:00 2001 From: German Laullon Date: Tue, 1 Mar 2011 23:28:28 -0800 Subject: [PATCH 02/15] Added filtering to File Browser Conflicts: GitX.xcodeproj/project.pbxproj PBGitHistoryView.xib --- GitX.xcodeproj/project.pbxproj | 69 +- PBFileTree.xib | 2127 ++++++++++++++++++++++++++++++++ PBGitHistoryController.h | 2 + PBGitHistoryController.m | 26 + PBGitHistoryView.xib | 403 +++--- PBGitTree.h | 6 + PBGitTree.m | 50 + 7 files changed, 2409 insertions(+), 274 deletions(-) create mode 100644 PBFileTree.xib diff --git a/GitX.xcodeproj/project.pbxproj b/GitX.xcodeproj/project.pbxproj index 01e79e9..054febf 100644 --- a/GitX.xcodeproj/project.pbxproj +++ b/GitX.xcodeproj/project.pbxproj @@ -49,6 +49,12 @@ 212A49AB12A31328009DAFAD /* deleted_file.png in Resources */ = {isa = PBXBuildFile; fileRef = 212A49A912A31328009DAFAD /* deleted_file.png */; }; 212A49AD12A31350009DAFAD /* ignored_file.png in Resources */ = {isa = PBXBuildFile; fileRef = 212A49AC12A31350009DAFAD /* ignored_file.png */; }; 212A49AF12A3135C009DAFAD /* modified_file.png in Resources */ = {isa = PBXBuildFile; fileRef = 212A49AE12A3135C009DAFAD /* modified_file.png */; }; + 213C598D12EB8BEB006F0CAE /* PBResetSheet.xib in Resources */ = {isa = PBXBuildFile; fileRef = 213C598C12EB8BEB006F0CAE /* PBResetSheet.xib */; }; + 213C599012EB8BFC006F0CAE /* PBResetSheet.m in Sources */ = {isa = PBXBuildFile; fileRef = 213C598F12EB8BFC006F0CAE /* PBResetSheet.m */; }; + 213C5A6812EB8E95006F0CAE /* GTTopBlackGradientView.m in Sources */ = {isa = PBXBuildFile; fileRef = 213C5A6712EB8E95006F0CAE /* GTTopBlackGradientView.m */; }; + 213C5A6B12EB8EC5006F0CAE /* GTGradientView.m in Sources */ = {isa = PBXBuildFile; fileRef = 213C5A6A12EB8EC5006F0CAE /* GTGradientView.m */; }; + 213C5AC512EB91F5006F0CAE /* GTSheetWindow.m in Sources */ = {isa = PBXBuildFile; fileRef = 213C5AC112EB91F5006F0CAE /* GTSheetWindow.m */; }; + 213C5AC612EB91F5006F0CAE /* GTWindow.m in Sources */ = {isa = PBXBuildFile; fileRef = 213C5AC312EB91F5006F0CAE /* GTWindow.m */; }; 217FF0B912A1CB3300785A65 /* PBStashController.m in Sources */ = {isa = PBXBuildFile; fileRef = 217FF0B312A1CB3300785A65 /* PBStashController.m */; }; 217FF0BA12A1CB3300785A65 /* PBSubmoduleController.m in Sources */ = {isa = PBXBuildFile; fileRef = 217FF0B512A1CB3300785A65 /* PBSubmoduleController.m */; }; 217FF0BB12A1CB3300785A65 /* PBGitResetController.m in Sources */ = {isa = PBXBuildFile; fileRef = 217FF0B712A1CB3300785A65 /* PBGitResetController.m */; }; @@ -60,7 +66,6 @@ 31460CD4124185BA00B90AED /* ReadMe.txt in Resources */ = {isa = PBXBuildFile; fileRef = 31460CAF124185BA00B90AED /* ReadMe.txt */; }; 31460CD5124185BA00B90AED /* Source Code License.rtf in Resources */ = {isa = PBXBuildFile; fileRef = 31460CB0124185BA00B90AED /* Source Code License.rtf */; }; 31460CD6124185BA00B90AED /* TODO in Resources */ = {isa = PBXBuildFile; fileRef = 31460CB1124185BA00B90AED /* TODO */; }; - 31DAA7ED1317737100463846 /* gitx_l_pub.pem in Resources */ = {isa = PBXBuildFile; fileRef = 31DAA7EC1317737100463846 /* gitx_l_pub.pem */; }; 3BC07F4C0ED5A5C5009A7768 /* HistoryViewTemplate.png in Resources */ = {isa = PBXBuildFile; fileRef = 3BC07F4A0ED5A5C5009A7768 /* HistoryViewTemplate.png */; }; 3BC07F4D0ED5A5C5009A7768 /* CommitViewTemplate.png in Resources */ = {isa = PBXBuildFile; fileRef = 3BC07F4B0ED5A5C5009A7768 /* CommitViewTemplate.png */; }; 47DBDB580E94EDE700671A1E /* DBPrefsWindowController.m in Sources */ = {isa = PBXBuildFile; fileRef = 47DBDB570E94EDE700671A1E /* DBPrefsWindowController.m */; }; @@ -83,9 +88,6 @@ 91B103CC0E898EC300C84364 /* PBIconAndTextCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 91B103CB0E898EC300C84364 /* PBIconAndTextCell.m */; }; 93CB42C20EAB7B2200530609 /* PBGitDefaults.m in Sources */ = {isa = PBXBuildFile; fileRef = 93CB42C10EAB7B2200530609 /* PBGitDefaults.m */; }; 93F7857F0EA3ABF100C1F443 /* PBCommitMessageView.m in Sources */ = {isa = PBXBuildFile; fileRef = 93F7857E0EA3ABF100C1F443 /* PBCommitMessageView.m */; }; - C3B13DD812F3A89D0045437C /* SecurityFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = C3B13DD712F3A89D0045437C /* SecurityFoundation.framework */; }; - C3B13DE412F3A8D70045437C /* Security.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = C3B13DE312F3A8D70045437C /* Security.framework */; }; - C3B13E2312F3A9130045437C /* Security.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = C3B13DE312F3A8D70045437C /* Security.framework */; }; D26DC6450E782C9000C777B2 /* gitx.icns in Resources */ = {isa = PBXBuildFile; fileRef = D26DC6440E782C9000C777B2 /* gitx.icns */; }; D8022FE811E124A0003C21F6 /* PBGitXMessageSheet.xib in Resources */ = {isa = PBXBuildFile; fileRef = D8022FE711E124A0003C21F6 /* PBGitXMessageSheet.xib */; }; D8022FED11E124C8003C21F6 /* PBGitXMessageSheet.m in Sources */ = {isa = PBXBuildFile; fileRef = D8022FEC11E124C8003C21F6 /* PBGitXMessageSheet.m */; }; @@ -322,6 +324,17 @@ 212A49A912A31328009DAFAD /* deleted_file.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = deleted_file.png; sourceTree = ""; }; 212A49AC12A31350009DAFAD /* ignored_file.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = ignored_file.png; sourceTree = ""; }; 212A49AE12A3135C009DAFAD /* modified_file.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = modified_file.png; sourceTree = ""; }; + 213C598C12EB8BEB006F0CAE /* PBResetSheet.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = PBResetSheet.xib; sourceTree = ""; }; + 213C598E12EB8BFC006F0CAE /* PBResetSheet.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PBResetSheet.h; sourceTree = ""; }; + 213C598F12EB8BFC006F0CAE /* PBResetSheet.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PBResetSheet.m; sourceTree = ""; }; + 213C5A6612EB8E95006F0CAE /* GTTopBlackGradientView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GTTopBlackGradientView.h; sourceTree = ""; }; + 213C5A6712EB8E95006F0CAE /* GTTopBlackGradientView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GTTopBlackGradientView.m; sourceTree = ""; }; + 213C5A6912EB8EB3006F0CAE /* GTGradientView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GTGradientView.h; sourceTree = ""; }; + 213C5A6A12EB8EC5006F0CAE /* GTGradientView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GTGradientView.m; sourceTree = ""; }; + 213C5AC112EB91F5006F0CAE /* GTSheetWindow.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GTSheetWindow.m; sourceTree = ""; }; + 213C5AC212EB91F5006F0CAE /* GTWindow.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GTWindow.h; sourceTree = ""; }; + 213C5AC312EB91F5006F0CAE /* GTWindow.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GTWindow.m; sourceTree = ""; }; + 213C5AC412EB91F5006F0CAE /* GTSheetWindow.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GTSheetWindow.h; sourceTree = ""; }; 217FF0B312A1CB3300785A65 /* PBStashController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PBStashController.m; sourceTree = SOURCE_ROOT; }; 217FF0B412A1CB3300785A65 /* PBStashController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PBStashController.h; sourceTree = SOURCE_ROOT; }; 217FF0B512A1CB3300785A65 /* PBSubmoduleController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PBSubmoduleController.m; sourceTree = ""; }; @@ -347,7 +360,6 @@ 31460CAF124185BA00B90AED /* ReadMe.txt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = ReadMe.txt; sourceTree = ""; }; 31460CB0124185BA00B90AED /* Source Code License.rtf */ = {isa = PBXFileReference; lastKnownFileType = text.rtf; path = "Source Code License.rtf"; sourceTree = ""; }; 31460CB1124185BA00B90AED /* TODO */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = TODO; sourceTree = ""; }; - 31DAA7EC1317737100463846 /* gitx_l_pub.pem */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = gitx_l_pub.pem; sourceTree = ""; }; 32CA4F630368D1EE00C91783 /* GitX_Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GitX_Prefix.pch; sourceTree = ""; }; 3BC07F4A0ED5A5C5009A7768 /* HistoryViewTemplate.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = HistoryViewTemplate.png; path = Images/HistoryViewTemplate.png; sourceTree = ""; }; 3BC07F4B0ED5A5C5009A7768 /* CommitViewTemplate.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = CommitViewTemplate.png; path = Images/CommitViewTemplate.png; sourceTree = ""; }; @@ -380,8 +392,6 @@ 93F7857D0EA3ABF100C1F443 /* PBCommitMessageView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PBCommitMessageView.h; sourceTree = ""; }; 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 = ""; }; - C3B13DD712F3A89D0045437C /* SecurityFoundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SecurityFoundation.framework; path = System/Library/Frameworks/SecurityFoundation.framework; sourceTree = SDKROOT; }; - C3B13DE312F3A8D70045437C /* Security.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Security.framework; path = System/Library/Frameworks/Security.framework; sourceTree = SDKROOT; }; D26DC6440E782C9000C777B2 /* gitx.icns */ = {isa = PBXFileReference; lastKnownFileType = image.icns; path = gitx.icns; sourceTree = ""; }; D8022A3411DFCCA5003C21F6 /* build_libgit2.sh */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; path = build_libgit2.sh; sourceTree = ""; }; D8022FE711E124A0003C21F6 /* PBGitXMessageSheet.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = PBGitXMessageSheet.xib; sourceTree = ""; }; @@ -580,7 +590,6 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - C3B13E2312F3A9130045437C /* Security.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -596,8 +605,6 @@ F5C580E50EDA250900995434 /* libgit2.a in Frameworks */, D8E3B2B810DC9FB2001096A3 /* ScriptingBridge.framework in Frameworks */, D87127011229A21C00012334 /* QuartzCore.framework in Frameworks */, - C3B13DD812F3A89D0045437C /* SecurityFoundation.framework in Frameworks */, - C3B13DE412F3A8D70045437C /* Security.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -711,6 +718,8 @@ 21230ED41285ED760046E5A1 /* View */ = { isa = PBXGroup; children = ( + 213C5AC012EB91F5006F0CAE /* Window */, + 213C5A5D12EB8E72006F0CAE /* Gradient */, 21230ED71285EDAF0046E5A1 /* PBArgumentPicker.h */, 21230ED81285EDAF0046E5A1 /* PBArgumentPicker.m */, 21CF0B22129C7ED90065B37C /* TrackableOutlineView.h */, @@ -749,6 +758,28 @@ path = "File Markers"; sourceTree = ""; }; + 213C5A5D12EB8E72006F0CAE /* Gradient */ = { + isa = PBXGroup; + children = ( + 213C5A6612EB8E95006F0CAE /* GTTopBlackGradientView.h */, + 213C5A6712EB8E95006F0CAE /* GTTopBlackGradientView.m */, + 213C5A6912EB8EB3006F0CAE /* GTGradientView.h */, + 213C5A6A12EB8EC5006F0CAE /* GTGradientView.m */, + ); + path = Gradient; + sourceTree = ""; + }; + 213C5AC012EB91F5006F0CAE /* Window */ = { + isa = PBXGroup; + children = ( + 213C5AC412EB91F5006F0CAE /* GTSheetWindow.h */, + 213C5AC112EB91F5006F0CAE /* GTSheetWindow.m */, + 213C5AC212EB91F5006F0CAE /* GTWindow.h */, + 213C5AC312EB91F5006F0CAE /* GTWindow.m */, + ); + path = Window; + sourceTree = ""; + }; 29B97314FDCFA39411CA2CEA /* GitTest */ = { isa = PBXGroup; children = ( @@ -769,7 +800,6 @@ F5886A120ED5D33D0066E74C /* SpeedTest-Info.plist */, F567CC3A106E6B910059BB9D /* GitXTesting-Info.plist */, D89E9AB21218A9DA0097A90B /* ScriptingBridge.framework */, - C3B13DD712F3A89D0045437C /* SecurityFoundation.framework */, ); name = GitTest; sourceTree = ""; @@ -817,7 +847,6 @@ 21025C1112947AB200D87200 /* sourceListActionOver.png */, 02B41A5F123E307F00DFC531 /* PBCommitHookFailedSheet.xib */, F5F7D0641062E7940072C81C /* UpdateKey.pem */, - 31DAA7EC1317737100463846 /* gitx_l_pub.pem */, F50A41130EBB872D00208746 /* Widgets */, 47DBDB920E94F47200671A1E /* Preference Icons */, D26DC6440E782C9000C777B2 /* gitx.icns */, @@ -840,6 +869,7 @@ 21230ED11285EB5A0046E5A1 /* PBArgumentPicker.xib */, F58DB55F10566E3900CFDF4A /* PBGitSidebarView.xib */, D8022FE711E124A0003C21F6 /* PBGitXMessageSheet.xib */, + 213C598C12EB8BEB006F0CAE /* PBResetSheet.xib */, ); name = Resources; sourceTree = ""; @@ -850,7 +880,6 @@ F5C580E40EDA250900995434 /* libgit2.a */, 1058C7A0FEA54F0111CA2CBB /* Linked Frameworks */, 1058C7A2FEA54F0111CA2CBB /* Other Frameworks */, - C3B13DE312F3A8D70045437C /* Security.framework */, ); name = Frameworks; sourceTree = ""; @@ -931,6 +960,8 @@ D8083E02111FA33700337480 /* PBCloneRepositoryPanel.m */, D8022FEB11E124C8003C21F6 /* PBGitXMessageSheet.h */, D8022FEC11E124C8003C21F6 /* PBGitXMessageSheet.m */, + 213C598E12EB8BFC006F0CAE /* PBResetSheet.h */, + 213C598F12EB8BFC006F0CAE /* PBResetSheet.m */, ); name = Sheets; sourceTree = ""; @@ -1338,6 +1369,7 @@ isa = PBXProject; buildConfigurationList = 26FC0A880875C7B200E6366F /* Build configuration list for PBXProject "GitX" */; compatibilityVersion = "Xcode 3.1"; + developmentRegion = English; hasScannedForEncodings = 1; knownRegions = ( English, @@ -1427,7 +1459,7 @@ 212A49AB12A31328009DAFAD /* deleted_file.png in Resources */, 212A49AD12A31350009DAFAD /* ignored_file.png in Resources */, 212A49AF12A3135C009DAFAD /* modified_file.png in Resources */, - 31DAA7ED1317737100463846 /* gitx_l_pub.pem in Resources */, + 213C598D12EB8BEB006F0CAE /* PBResetSheet.xib in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -1597,6 +1629,11 @@ 217FF0BA12A1CB3300785A65 /* PBSubmoduleController.m in Sources */, 217FF0BB12A1CB3300785A65 /* PBGitResetController.m in Sources */, 217FF0BE12A1CB3E00785A65 /* PBRevealWithFinderCommand.m in Sources */, + 213C599012EB8BFC006F0CAE /* PBResetSheet.m in Sources */, + 213C5A6812EB8E95006F0CAE /* GTTopBlackGradientView.m in Sources */, + 213C5A6B12EB8EC5006F0CAE /* GTGradientView.m in Sources */, + 213C5AC512EB91F5006F0CAE /* GTSheetWindow.m in Sources */, + 213C5AC612EB91F5006F0CAE /* GTWindow.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -1818,12 +1855,10 @@ GCC_ENABLE_OBJC_GC = required; GCC_PREPROCESSOR_DEFINITIONS = DEBUG; GCC_PREPROCESSOR_DEFINITIONS_NOT_USED_IN_PRECOMPS = DEBUG_BUILD; - GCC_VERSION = com.apple.compilers.llvm.clang.1_0; GCC_WARN_ABOUT_RETURN_TYPE = YES; GCC_WARN_UNUSED_VARIABLE = YES; INFOPLIST_PREPROCESS = YES; PREBINDING = NO; - RUN_CLANG_STATIC_ANALYZER = YES; SDKROOT = "$(DEVELOPER_SDK_DIR)/MacOSX10.5.sdk"; }; name = Debug; @@ -1837,13 +1872,11 @@ x86_64, ); GCC_ENABLE_OBJC_GC = required; - GCC_VERSION = com.apple.compilers.llvm.clang.1_0; GCC_WARN_ABOUT_RETURN_TYPE = YES; GCC_WARN_UNUSED_VARIABLE = YES; INFOPLIST_PREFIX_HEADER = $PROJECT_TEMP_DIR/revision; INFOPLIST_PREPROCESS = YES; PREBINDING = NO; - RUN_CLANG_STATIC_ANALYZER = YES; SDKROOT = "$(DEVELOPER_SDK_DIR)/MacOSX10.5.sdk"; }; name = Release; diff --git a/PBFileTree.xib b/PBFileTree.xib new file mode 100644 index 0000000..6728aef --- /dev/null +++ b/PBFileTree.xib @@ -0,0 +1,2127 @@ + + + + 1050 + 10H574 + 823 + 1038.35 + 461.00 + + com.apple.InterfaceBuilder.CocoaPlugin + 823 + + + YES + + + + YES + com.apple.InterfaceBuilder.CocoaPlugin + + + YES + + YES + + + YES + + + + YES + + NSObject + + + FirstResponder + + + NSApplication + + + + 319 + + YES + + + 4370 + + YES + + + 2304 + + YES + + + 4368 + {224, 335} + + YES + + + 256 + {{223, 0}, {16, 17}} + + + YES + + 221 + 16 + 1000 + + 75628096 + 2048 + + + LucidaGrande + 11 + 3100 + + + 3 + MC4zMzMzMzI5ODU2AA + + + 6 + System + headerTextColor + + 3 + MAA + + + + + 337772096 + 2048 + Text Cell + + LucidaGrande + 13 + 1044 + + + + 6 + System + controlBackgroundColor + + 3 + MC42NjY2NjY2NjY3AA + + + + 6 + System + controlTextColor + + + + 3 + YES + + + + 3 + 2 + + 3 + MQA + + + 6 + System + gridColor + + 3 + MC41AA + + + 17 + -624951296 + + + 4 + 15 + 0 + YES + 0 + + + {{1, 1}, {224, 335}} + + + + + 4 + + + + 256 + {{225, 1}, {15, 321}} + + + _doScroller: + 0.94830659536541895 + + + + -2147483392 + {{-100, -100}, {502, 15}} + + 1 + + _doScroller: + 0.0045045050792396069 + 0.99801188707351685 + + + {241, 337} + + + 18 + + + + QSAAAEEgAABBmAAAQZgAAA + + + + 266 + + YES + + + 258 + {{5, 4}, {230, 22}} + + YES + + 343014976 + 268436544 + + + + YES + 1 + + 6 + System + textBackgroundColor + + + + + 130560 + 0 + search + + _searchFieldSearch: + + 138690815 + 0 + + 400 + 75 + + + 130560 + 0 + clear + + YES + + YES + + YES + AXDescription + NSAccessibilityEncodedAttributesValueType + + + YES + cancel + + + + + + _searchFieldCancel: + + 138690815 + 0 + + 400 + 75 + + 255 + + + + {{0, 337}, {241, 29}} + + PBGitGradientBarView + + + {241, 366} + + NSView + + + + + YES + + + + YES + + 0 + + + + + + -2 + + + File's Owner + + + -1 + + + First Responder + + + -3 + + + Application + + + 1 + + + YES + + + + + + + 2 + + + YES + + + + + + 3 + + + YES + + + + + + 4 + + + + + 5 + + + YES + + + + + + File List Scroll View + + + 6 + + + YES + + + + + + 7 + + + + + 8 + + + + + 9 + + + YES + + + + + + 10 + + + + + + + YES + + YES + 1.IBEditorWindowLastContentRect + 1.IBPluginDependency + 1.WindowOrigin + 1.editorWindowContentRectSynchronizationRect + 10.CustomClassName + 10.IBPluginDependency + 2.IBPluginDependency + 2.IBViewBoundsToFrameTransform + 3.IBPluginDependency + 4.IBPluginDependency + 5.IBPluginDependency + 5.IBViewBoundsToFrameTransform + 6.CustomClassName + 6.IBPluginDependency + 7.IBPluginDependency + 8.IBPluginDependency + 9.IBPluginDependency + + + YES + {{538, 508}, {241, 366}} + com.apple.InterfaceBuilder.CocoaPlugin + {628, 654} + {{217, 442}, {480, 272}} + PBIconAndTextCell + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + + AUKKAABDIgAAA + + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + + P4AAAL+AAABBQAAAw3EAAA + + PBQLOutlineView + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + + + + YES + + + YES + + + + + YES + + + YES + + + + 10 + + + + YES + + GLFileView + PBWebController + + YES + + YES + accessoryView + fileListSplitView + historyController + typeBar + + + YES + NSView + NSSplitView + PBGitHistoryController + MGScopeBar + + + + YES + + YES + accessoryView + fileListSplitView + historyController + typeBar + + + YES + + accessoryView + NSView + + + fileListSplitView + NSSplitView + + + historyController + PBGitHistoryController + + + typeBar + MGScopeBar + + + + + IBProjectSource + GLFileView.h + + + + MGScopeBar + NSView + + delegate + id + + + delegate + + delegate + id + + + + IBProjectSource + MGScopeBar/MGScopeBar.h + + + + NSApplication + + IBProjectSource + NSApplication+GitXScripting.h + + + + NSCell + + IBProjectSource + View/CellTrackingRect.h + + + + NSOutlineView + + IBProjectSource + NSOutlineViewExt.h + + + + PBCollapsibleSplitView + PBNiceSplitView + + IBProjectSource + PBCollapsibleSplitView.h + + + + PBCommitList + NSTableView + + YES + + YES + controller + searchController + webController + webView + + + YES + PBGitHistoryController + PBHistorySearchController + PBWebHistoryController + WebView + + + + YES + + YES + controller + searchController + webController + webView + + + YES + + controller + PBGitHistoryController + + + searchController + PBHistorySearchController + + + webController + PBWebHistoryController + + + webView + WebView + + + + + IBProjectSource + PBCommitList.h + + + + PBGitGradientBarView + NSView + + IBProjectSource + PBGitGradientBarView.h + + + + PBGitHistoryController + PBViewController + + YES + + YES + cherryPick: + createBranch: + createTag: + merge: + openFilesAction: + openSelectedFile: + rebase: + refresh: + selectNext: + selectPrevious: + setBranchFilter: + setDetailedView: + setTreeView: + showAddRemoteSheet: + showCommitsFromTree: + showInFinderAction: + toggleQLPreviewPanel: + + + YES + 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: + + + 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 + + + + + YES + + YES + allBranchesFilterItem + cherryPickButton + commitController + commitList + fileBrowser + fileView + historySplitView + localRemoteBranchesFilterItem + mergeButton + rebaseButton + refController + scopeBarView + searchController + searchField + selectedBranchFilterItem + treeController + upperToolbarView + webHistoryController + webView + + + YES + NSButton + NSButton + NSArrayController + PBCommitList + NSOutlineView + GLFileView + PBCollapsibleSplitView + NSButton + NSButton + NSButton + PBRefController + PBGitGradientBarView + PBHistorySearchController + NSSearchField + NSButton + NSTreeController + PBGitGradientBarView + PBWebHistoryController + id + + + + YES + + YES + allBranchesFilterItem + cherryPickButton + commitController + commitList + fileBrowser + fileView + historySplitView + localRemoteBranchesFilterItem + mergeButton + rebaseButton + refController + scopeBarView + searchController + searchField + selectedBranchFilterItem + treeController + upperToolbarView + webHistoryController + webView + + + YES + + allBranchesFilterItem + NSButton + + + cherryPickButton + NSButton + + + commitController + NSArrayController + + + commitList + PBCommitList + + + fileBrowser + NSOutlineView + + + fileView + GLFileView + + + historySplitView + PBCollapsibleSplitView + + + localRemoteBranchesFilterItem + NSButton + + + mergeButton + NSButton + + + rebaseButton + NSButton + + + refController + PBRefController + + + scopeBarView + PBGitGradientBarView + + + searchController + PBHistorySearchController + + + searchField + NSSearchField + + + selectedBranchFilterItem + NSButton + + + treeController + NSTreeController + + + upperToolbarView + PBGitGradientBarView + + + webHistoryController + PBWebHistoryController + + + webView + id + + + + + IBProjectSource + PBGitHistoryController.h + + + + PBHistorySearchController + NSObject + + YES + + YES + selectSearchMode: + stepperPressed: + updateSearch: + + + YES + id + id + id + + + + YES + + YES + selectSearchMode: + stepperPressed: + updateSearch: + + + YES + + selectSearchMode: + id + + + stepperPressed: + id + + + updateSearch: + id + + + + + YES + + YES + commitController + historyController + numberOfMatchesField + progressIndicator + searchField + stepper + + + YES + NSArrayController + PBGitHistoryController + NSTextField + NSProgressIndicator + NSSearchField + NSSegmentedControl + + + + YES + + YES + commitController + historyController + numberOfMatchesField + progressIndicator + searchField + stepper + + + YES + + commitController + NSArrayController + + + historyController + PBGitHistoryController + + + numberOfMatchesField + NSTextField + + + progressIndicator + NSProgressIndicator + + + searchField + NSSearchField + + + stepper + NSSegmentedControl + + + + + IBProjectSource + PBHistorySearchController.h + + + + PBIconAndTextCell + NSTextFieldCell + + IBProjectSource + PBIconAndTextCell.h + + + + PBNiceSplitView + NSSplitView + + IBProjectSource + PBNiceSplitView.h + + + + PBQLOutlineView + NSOutlineView + + controller + PBGitHistoryController + + + controller + + controller + PBGitHistoryController + + + + IBProjectSource + PBQLOutlineView.h + + + + PBRefController + NSObject + + YES + + YES + checkout: + cherryPick: + copyPatch: + copySHA: + createBranch: + createTag: + diffWithHEAD: + fetchRemote: + merge: + pullRemote: + pushDefaultRemoteForRef: + pushToRemote: + pushUpdatesToRemote: + rebaseHeadBranch: + reset: + showTagInfoSheet: + + + YES + PBRefMenuItem + PBRefMenuItem + PBRefMenuItem + PBRefMenuItem + PBRefMenuItem + PBRefMenuItem + PBRefMenuItem + PBRefMenuItem + PBRefMenuItem + PBRefMenuItem + PBRefMenuItem + PBRefMenuItem + PBRefMenuItem + PBRefMenuItem + PBRefMenuItem + PBRefMenuItem + + + + YES + + YES + checkout: + cherryPick: + copyPatch: + copySHA: + createBranch: + createTag: + diffWithHEAD: + fetchRemote: + merge: + pullRemote: + pushDefaultRemoteForRef: + pushToRemote: + pushUpdatesToRemote: + rebaseHeadBranch: + reset: + showTagInfoSheet: + + + YES + + checkout: + PBRefMenuItem + + + cherryPick: + PBRefMenuItem + + + copyPatch: + PBRefMenuItem + + + copySHA: + PBRefMenuItem + + + createBranch: + PBRefMenuItem + + + createTag: + PBRefMenuItem + + + diffWithHEAD: + PBRefMenuItem + + + fetchRemote: + PBRefMenuItem + + + merge: + PBRefMenuItem + + + pullRemote: + PBRefMenuItem + + + pushDefaultRemoteForRef: + PBRefMenuItem + + + pushToRemote: + PBRefMenuItem + + + pushUpdatesToRemote: + PBRefMenuItem + + + rebaseHeadBranch: + PBRefMenuItem + + + reset: + PBRefMenuItem + + + showTagInfoSheet: + PBRefMenuItem + + + + + YES + + YES + branchPopUp + commitController + commitList + historyController + + + YES + NSPopUpButton + NSArrayController + PBCommitList + PBGitHistoryController + + + + YES + + YES + branchPopUp + commitController + commitList + historyController + + + YES + + branchPopUp + NSPopUpButton + + + commitController + NSArrayController + + + commitList + PBCommitList + + + historyController + PBGitHistoryController + + + + + IBProjectSource + PBRefController.h + + + + PBRefMenuItem + NSMenuItem + + refish + id + + + refish + + refish + id + + + + IBProjectSource + PBRefMenuItem.h + + + + PBViewController + NSViewController + + refresh: + id + + + refresh: + + refresh: + id + + + + IBProjectSource + PBViewController.h + + + + PBWebController + NSObject + + YES + + YES + repository + view + + + YES + id + WebView + + + + YES + + YES + repository + view + + + YES + + repository + id + + + 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 + + + + + YES + + NSActionCell + NSCell + + IBFrameworkSource + AppKit.framework/Headers/NSActionCell.h + + + + 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 + + + + NSArrayController + NSObjectController + + IBFrameworkSource + AppKit.framework/Headers/NSArrayController.h + + + + NSButton + NSControl + + IBFrameworkSource + AppKit.framework/Headers/NSButton.h + + + + NSCell + NSObject + + IBFrameworkSource + AppKit.framework/Headers/NSCell.h + + + + NSControl + NSView + + IBFrameworkSource + AppKit.framework/Headers/NSControl.h + + + + NSController + NSObject + + IBFrameworkSource + AppKit.framework/Headers/NSController.h + + + + NSFormatter + NSObject + + IBFrameworkSource + Foundation.framework/Headers/NSFormatter.h + + + + NSManagedObjectContext + NSObject + + IBFrameworkSource + CoreData.framework/Headers/NSManagedObjectContext.h + + + + NSMenu + NSObject + + IBFrameworkSource + AppKit.framework/Headers/NSMenu.h + + + + NSMenuItem + NSObject + + IBFrameworkSource + AppKit.framework/Headers/NSMenuItem.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 + ScriptingBridge.framework/Headers/SBApplication.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 + + + + NSObjectController + NSController + + IBFrameworkSource + AppKit.framework/Headers/NSObjectController.h + + + + NSOutlineView + NSTableView + + + + NSPopUpButton + NSButton + + IBFrameworkSource + AppKit.framework/Headers/NSPopUpButton.h + + + + NSProgressIndicator + NSView + + IBFrameworkSource + AppKit.framework/Headers/NSProgressIndicator.h + + + + NSResponder + + IBFrameworkSource + AppKit.framework/Headers/NSInterfaceStyle.h + + + + NSResponder + NSObject + + IBFrameworkSource + AppKit.framework/Headers/NSResponder.h + + + + NSScrollView + NSView + + IBFrameworkSource + AppKit.framework/Headers/NSScrollView.h + + + + NSScroller + NSControl + + IBFrameworkSource + AppKit.framework/Headers/NSScroller.h + + + + NSSearchField + NSTextField + + IBFrameworkSource + AppKit.framework/Headers/NSSearchField.h + + + + NSSearchFieldCell + NSTextFieldCell + + IBFrameworkSource + AppKit.framework/Headers/NSSearchFieldCell.h + + + + NSSegmentedControl + NSControl + + IBFrameworkSource + AppKit.framework/Headers/NSSegmentedControl.h + + + + NSSplitView + NSView + + IBFrameworkSource + AppKit.framework/Headers/NSSplitView.h + + + + NSTableColumn + NSObject + + IBFrameworkSource + AppKit.framework/Headers/NSTableColumn.h + + + + NSTableView + NSControl + + + + NSTextField + NSControl + + IBFrameworkSource + AppKit.framework/Headers/NSTextField.h + + + + NSTextFieldCell + NSActionCell + + IBFrameworkSource + AppKit.framework/Headers/NSTextFieldCell.h + + + + NSTreeController + NSObjectController + + IBFrameworkSource + AppKit.framework/Headers/NSTreeController.h + + + + NSView + + IBFrameworkSource + AppKit.framework/Headers/NSClipView.h + + + + NSView + + + + NSView + + IBFrameworkSource + AppKit.framework/Headers/NSRulerView.h + + + + NSView + NSResponder + + + + NSViewController + NSResponder + + view + NSView + + + view + + view + NSView + + + + IBFrameworkSource + AppKit.framework/Headers/NSViewController.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.macosx + + + + com.apple.InterfaceBuilder.CocoaPlugin.InterfaceBuilder3 + + + YES + GitX.xcodeproj + 3 + + diff --git a/PBGitHistoryController.h b/PBGitHistoryController.h index 93bfea0..3023fbb 100644 --- a/PBGitHistoryController.h +++ b/PBGitHistoryController.h @@ -27,6 +27,7 @@ IBOutlet PBRefController *refController; IBOutlet NSSearchField *searchField; IBOutlet NSArrayController* commitController; + IBOutlet NSSearchField *filesSearchField; IBOutlet NSTreeController* treeController; IBOutlet NSOutlineView* fileBrowser; NSArray *currentFileBrowserSelectionPath; @@ -93,6 +94,7 @@ // Find/Search methods - (IBAction)selectNext:(id)sender; - (IBAction)selectPrevious:(id)sender; +- (IBAction) updateSearch:(id) sender; - (void) copyCommitInfo; - (void) copyCommitSHA; diff --git a/PBGitHistoryController.m b/PBGitHistoryController.m index e3be741..a76a254 100644 --- a/PBGitHistoryController.m +++ b/PBGitHistoryController.m @@ -810,6 +810,32 @@ NSImage *image = [workspace iconForFile:path]; [image setSize:NSMakeSize(15, 15)]; [cell setImage:image]; + + NSColor *textColor = [NSColor blackColor]; + if ([object filterPredicate] && !([[filesSearchField stringValue] length] > 0 && [[object filterPredicate] evaluateWithObject:object])) { + textColor = [NSColor lightGrayColor]; + } + + + [cell setTextColor:textColor]; +} + +#pragma mark - + +- (IBAction) updateSearch:(NSSearchField *) sender { + static NSPredicate *predicateTemplate = nil; + if (!predicateTemplate) { + predicateTemplate = [NSPredicate predicateWithFormat:@"path CONTAINS[c] $SEARCH_STRING"]; + } + + NSString *searchString = [sender stringValue]; + NSPredicate *predicate = nil; + if ([searchString length] > 0) { + predicate = [predicateTemplate predicateWithSubstitutionVariables: + [NSDictionary dictionaryWithObject:searchString forKey:@"SEARCH_STRING"]]; + } + [gitTree setFilterPredicate:predicate]; + [treeController setContent:gitTree.filteredChildren]; } @end diff --git a/PBGitHistoryView.xib b/PBGitHistoryView.xib index 90d1e1b..8d7e9fc 100644 --- a/PBGitHistoryView.xib +++ b/PBGitHistoryView.xib @@ -2,10 +2,10 @@ 1050 - 10J567 - 788 + 10H574 + 804 1038.35 - 462.00 + 461.00 YES @@ -15,13 +15,13 @@ YES - 788 - 788 + 804 + 804 YES - + YES @@ -491,7 +491,7 @@ - d 'de' MMMM 'de' yyyy HH:mm + d MMMM yyyy HH:mm NO @@ -968,184 +968,109 @@ 4370 YES - + - 274 + 4372 YES - - - 266 - {{5, 212.5}, {196, 19}} - - YES - - 343014976 - 268698688 - - - LucidaGrande - 9 - 3614 - - - YES - 1 - - - - 130560 - 0 - search - - _searchFieldSearch: - - 138690815 - 0 - - 400 - 75 - - - 130560 - 0 - clear - - YES - - YES - - YES - AXDescription - NSAccessibilityEncodedAttributesValueType - - - YES - cancel - - - - - - _searchFieldCancel: - - 138690815 - 0 - - 400 - 75 - - 255 - - - - - 4370 + + + 2304 YES - - - 2304 - + + + 4368 + {216, 233} + + YES + + + 256 + {{223, 0}, {16, 17}} + + YES - - - 4368 - {190, 208} - - YES - - - 256 - {{223, 0}, {16, 17}} - - - YES - - 187 - 16 - 1000 - - 75628096 - 2048 - - - - 3 - MC4zMzMzMzI5ODU2AA - - - - - 337772096 - 2048 - Text Cell - - - - - - 3 - YES - + + 213 + 16 + 1000 + + 75628096 + 2048 + + + + 3 + MC4zMzMzMzI5ODU2AA + - 3 - 2 - - - 17 - -624951296 - - - 4 - 15 - 0 - YES - 0 + + 337772096 + 2048 + Text Cell + + + + + + 3 + YES + - {{1, 1}, {190, 208}} - - - - - 4 - - - - 256 - {{191, 1}, {15, 208}} - - - _doScroller: - 0.98701298701298701 - - - - -2147483392 - {{-100, -100}, {502, 15}} - - 1 - - _doScroller: - 0.0045045050792396069 - 0.99801188707351685 + 3 + 2 + + + 17 + -624951296 + + + 4 + 15 + 0 + YES + 0 - {{0, 0.5}, {207, 210}} - - - 18 - - - - QSAAAEEgAABBmAAAQZgAAA + {{1, 1}, {216, 233}} + + + + + 4 + + + + 256 + {{217, 1}, {15, 233}} + + + _doScroller: + 0.99481862783432007 + + + + -2147483392 + {{-100, -100}, {502, 15}} + + 1 + + _doScroller: + 0.0045045050792396069 + 0.99801188707351685 - {207, 235} + {233, 235} - NSView + + 18 + + + + QSAAAEEgAABBmAAAQZgAAA @@ -1191,12 +1116,12 @@ - {{665, 0}, {84, 24}} + {{639, 0}, {84, 24}} NSView - {{0, 211}, {749, 24}} + {{0, 211}, {723, 24}} MGScopeBar @@ -1224,7 +1149,7 @@ public.url-name - {749, 210} + {723, 210} @@ -1234,7 +1159,7 @@ YES - {{208, 0}, {749, 235}} + {{234, 0}, {723, 235}} NSView @@ -2332,11 +2257,56 @@ YES + - + + 10 + + + YES + + + + + + File List Scroll View + + + 17 + + + + + 16 + + + + + 15 + + + YES + + + + + + 18 + + + YES + + + + + + 19 + + + 311 @@ -2650,75 +2620,6 @@ - - 491 - - - YES - - - - - - - 10 - - - YES - - - - - - File List Scroll View - - - 17 - - - - - 16 - - - - - 15 - - - YES - - - - - - 18 - - - YES - - - - - - 19 - - - - - 492 - - - YES - - - - - - 493 - - - @@ -2781,7 +2682,6 @@ 333.IBPluginDependency 337.IBAttributePlaceholdersKey 337.IBPluginDependency - 337.IBViewBoundsToFrameTransform 338.IBPluginDependency 34.CustomClassName 34.IBPluginDependency @@ -2834,9 +2734,6 @@ 486.IBPluginDependency 49.IBAttributePlaceholdersKey 49.IBPluginDependency - 491.IBPluginDependency - 492.IBPluginDependency - 493.IBPluginDependency 50.IBPluginDependency 51.IBPluginDependency 6.IBPluginDependency @@ -2929,9 +2826,6 @@ com.apple.InterfaceBuilder.CocoaPlugin - - P4AAAL+AAABC6AAAwdAAAA - com.apple.InterfaceBuilder.CocoaPlugin GitXTextFieldCell com.apple.InterfaceBuilder.CocoaPlugin @@ -3018,7 +2912,7 @@ com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin com.apple.WebKitIBPlugin - {{1702, 241}, {955, 434}} + {{1084, 241}, {955, 434}} com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin @@ -3038,9 +2932,6 @@ com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin @@ -3059,7 +2950,7 @@ - 493 + 490 diff --git a/PBGitTree.h b/PBGitTree.h index 27cef62..72b7204 100644 --- a/PBGitTree.h +++ b/PBGitTree.h @@ -21,6 +21,9 @@ NSString* localFileName; NSDate* localMtime; + + NSPredicate *filterPredicate; + NSMutableArray *filteredChildren; } + (PBGitTree*) rootForCommit: (id) commit; @@ -41,6 +44,9 @@ @property(retain) PBGitRepository* repository; @property(assign) __weak PBGitTree* parent; +@property (nonatomic, copy) NSPredicate *filterPredicate; +@property(readonly) NSArray *filteredChildren; + @property(readonly) NSArray* children; @property(readonly) NSString* fullPath; @property(readonly) NSString* contents; diff --git a/PBGitTree.m b/PBGitTree.m index c966fa5..f1ba694 100644 --- a/PBGitTree.m +++ b/PBGitTree.m @@ -15,6 +15,55 @@ @implementation PBGitTree @synthesize sha, path, repository, leaf, parent; +@synthesize filterPredicate; +@synthesize filteredChildren; + +#pragma mark - +#pragma mark get/set + +- (NSArray *) filteredChildren { + if (!filteredChildren) { + filteredChildren = [[NSMutableArray alloc] init]; + [filteredChildren addObjectsFromArray:self.children]; + } + return filteredChildren; +} + +- (void) setFilterPredicate:(NSPredicate *) newPredicate { + if (newPredicate != filterPredicate) { + [filterPredicate release]; + filterPredicate = [newPredicate retain]; + + if (leaf) { + return; + } + + // initiate filtering + [filteredChildren removeAllObjects]; + filteredChildren = [[NSMutableArray alloc] init]; + + if (filterPredicate == nil) { + [filteredChildren addObjectsFromArray:self.children]; + } + + for (id item in self.children) { + [item setFilterPredicate:filterPredicate]; + if (filterPredicate) { + if ([item leaf]) { + if ([filterPredicate evaluateWithObject:item]) { + [filteredChildren addObject:item]; + } + } else { + if ([[item filteredChildren] count] > 0) { + [filteredChildren addObject:item]; + } + } + } + } + } +} + +#pragma mark - + (PBGitTree*) rootForCommit:(id) commit { @@ -40,6 +89,7 @@ - init { + filteredChildren = nil; children = nil; localFileName = nil; leaf = YES; From 503b389d0add0a575fa351b5798c6eec5958ac3c Mon Sep 17 00:00:00 2001 From: German Laullon Date: Tue, 1 Mar 2011 23:34:22 -0800 Subject: [PATCH 03/15] cleanup --- GitX.xcodeproj/project.pbxproj | 69 +- PBFileTree.xib | 2127 -------------------------------- PBGitHistoryView.xib | 407 +++--- 3 files changed, 276 insertions(+), 2327 deletions(-) delete mode 100644 PBFileTree.xib diff --git a/GitX.xcodeproj/project.pbxproj b/GitX.xcodeproj/project.pbxproj index 054febf..01e79e9 100644 --- a/GitX.xcodeproj/project.pbxproj +++ b/GitX.xcodeproj/project.pbxproj @@ -49,12 +49,6 @@ 212A49AB12A31328009DAFAD /* deleted_file.png in Resources */ = {isa = PBXBuildFile; fileRef = 212A49A912A31328009DAFAD /* deleted_file.png */; }; 212A49AD12A31350009DAFAD /* ignored_file.png in Resources */ = {isa = PBXBuildFile; fileRef = 212A49AC12A31350009DAFAD /* ignored_file.png */; }; 212A49AF12A3135C009DAFAD /* modified_file.png in Resources */ = {isa = PBXBuildFile; fileRef = 212A49AE12A3135C009DAFAD /* modified_file.png */; }; - 213C598D12EB8BEB006F0CAE /* PBResetSheet.xib in Resources */ = {isa = PBXBuildFile; fileRef = 213C598C12EB8BEB006F0CAE /* PBResetSheet.xib */; }; - 213C599012EB8BFC006F0CAE /* PBResetSheet.m in Sources */ = {isa = PBXBuildFile; fileRef = 213C598F12EB8BFC006F0CAE /* PBResetSheet.m */; }; - 213C5A6812EB8E95006F0CAE /* GTTopBlackGradientView.m in Sources */ = {isa = PBXBuildFile; fileRef = 213C5A6712EB8E95006F0CAE /* GTTopBlackGradientView.m */; }; - 213C5A6B12EB8EC5006F0CAE /* GTGradientView.m in Sources */ = {isa = PBXBuildFile; fileRef = 213C5A6A12EB8EC5006F0CAE /* GTGradientView.m */; }; - 213C5AC512EB91F5006F0CAE /* GTSheetWindow.m in Sources */ = {isa = PBXBuildFile; fileRef = 213C5AC112EB91F5006F0CAE /* GTSheetWindow.m */; }; - 213C5AC612EB91F5006F0CAE /* GTWindow.m in Sources */ = {isa = PBXBuildFile; fileRef = 213C5AC312EB91F5006F0CAE /* GTWindow.m */; }; 217FF0B912A1CB3300785A65 /* PBStashController.m in Sources */ = {isa = PBXBuildFile; fileRef = 217FF0B312A1CB3300785A65 /* PBStashController.m */; }; 217FF0BA12A1CB3300785A65 /* PBSubmoduleController.m in Sources */ = {isa = PBXBuildFile; fileRef = 217FF0B512A1CB3300785A65 /* PBSubmoduleController.m */; }; 217FF0BB12A1CB3300785A65 /* PBGitResetController.m in Sources */ = {isa = PBXBuildFile; fileRef = 217FF0B712A1CB3300785A65 /* PBGitResetController.m */; }; @@ -66,6 +60,7 @@ 31460CD4124185BA00B90AED /* ReadMe.txt in Resources */ = {isa = PBXBuildFile; fileRef = 31460CAF124185BA00B90AED /* ReadMe.txt */; }; 31460CD5124185BA00B90AED /* Source Code License.rtf in Resources */ = {isa = PBXBuildFile; fileRef = 31460CB0124185BA00B90AED /* Source Code License.rtf */; }; 31460CD6124185BA00B90AED /* TODO in Resources */ = {isa = PBXBuildFile; fileRef = 31460CB1124185BA00B90AED /* TODO */; }; + 31DAA7ED1317737100463846 /* gitx_l_pub.pem in Resources */ = {isa = PBXBuildFile; fileRef = 31DAA7EC1317737100463846 /* gitx_l_pub.pem */; }; 3BC07F4C0ED5A5C5009A7768 /* HistoryViewTemplate.png in Resources */ = {isa = PBXBuildFile; fileRef = 3BC07F4A0ED5A5C5009A7768 /* HistoryViewTemplate.png */; }; 3BC07F4D0ED5A5C5009A7768 /* CommitViewTemplate.png in Resources */ = {isa = PBXBuildFile; fileRef = 3BC07F4B0ED5A5C5009A7768 /* CommitViewTemplate.png */; }; 47DBDB580E94EDE700671A1E /* DBPrefsWindowController.m in Sources */ = {isa = PBXBuildFile; fileRef = 47DBDB570E94EDE700671A1E /* DBPrefsWindowController.m */; }; @@ -88,6 +83,9 @@ 91B103CC0E898EC300C84364 /* PBIconAndTextCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 91B103CB0E898EC300C84364 /* PBIconAndTextCell.m */; }; 93CB42C20EAB7B2200530609 /* PBGitDefaults.m in Sources */ = {isa = PBXBuildFile; fileRef = 93CB42C10EAB7B2200530609 /* PBGitDefaults.m */; }; 93F7857F0EA3ABF100C1F443 /* PBCommitMessageView.m in Sources */ = {isa = PBXBuildFile; fileRef = 93F7857E0EA3ABF100C1F443 /* PBCommitMessageView.m */; }; + C3B13DD812F3A89D0045437C /* SecurityFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = C3B13DD712F3A89D0045437C /* SecurityFoundation.framework */; }; + C3B13DE412F3A8D70045437C /* Security.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = C3B13DE312F3A8D70045437C /* Security.framework */; }; + C3B13E2312F3A9130045437C /* Security.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = C3B13DE312F3A8D70045437C /* Security.framework */; }; D26DC6450E782C9000C777B2 /* gitx.icns in Resources */ = {isa = PBXBuildFile; fileRef = D26DC6440E782C9000C777B2 /* gitx.icns */; }; D8022FE811E124A0003C21F6 /* PBGitXMessageSheet.xib in Resources */ = {isa = PBXBuildFile; fileRef = D8022FE711E124A0003C21F6 /* PBGitXMessageSheet.xib */; }; D8022FED11E124C8003C21F6 /* PBGitXMessageSheet.m in Sources */ = {isa = PBXBuildFile; fileRef = D8022FEC11E124C8003C21F6 /* PBGitXMessageSheet.m */; }; @@ -324,17 +322,6 @@ 212A49A912A31328009DAFAD /* deleted_file.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = deleted_file.png; sourceTree = ""; }; 212A49AC12A31350009DAFAD /* ignored_file.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = ignored_file.png; sourceTree = ""; }; 212A49AE12A3135C009DAFAD /* modified_file.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = modified_file.png; sourceTree = ""; }; - 213C598C12EB8BEB006F0CAE /* PBResetSheet.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = PBResetSheet.xib; sourceTree = ""; }; - 213C598E12EB8BFC006F0CAE /* PBResetSheet.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PBResetSheet.h; sourceTree = ""; }; - 213C598F12EB8BFC006F0CAE /* PBResetSheet.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PBResetSheet.m; sourceTree = ""; }; - 213C5A6612EB8E95006F0CAE /* GTTopBlackGradientView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GTTopBlackGradientView.h; sourceTree = ""; }; - 213C5A6712EB8E95006F0CAE /* GTTopBlackGradientView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GTTopBlackGradientView.m; sourceTree = ""; }; - 213C5A6912EB8EB3006F0CAE /* GTGradientView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GTGradientView.h; sourceTree = ""; }; - 213C5A6A12EB8EC5006F0CAE /* GTGradientView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GTGradientView.m; sourceTree = ""; }; - 213C5AC112EB91F5006F0CAE /* GTSheetWindow.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GTSheetWindow.m; sourceTree = ""; }; - 213C5AC212EB91F5006F0CAE /* GTWindow.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GTWindow.h; sourceTree = ""; }; - 213C5AC312EB91F5006F0CAE /* GTWindow.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GTWindow.m; sourceTree = ""; }; - 213C5AC412EB91F5006F0CAE /* GTSheetWindow.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GTSheetWindow.h; sourceTree = ""; }; 217FF0B312A1CB3300785A65 /* PBStashController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PBStashController.m; sourceTree = SOURCE_ROOT; }; 217FF0B412A1CB3300785A65 /* PBStashController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PBStashController.h; sourceTree = SOURCE_ROOT; }; 217FF0B512A1CB3300785A65 /* PBSubmoduleController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PBSubmoduleController.m; sourceTree = ""; }; @@ -360,6 +347,7 @@ 31460CAF124185BA00B90AED /* ReadMe.txt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = ReadMe.txt; sourceTree = ""; }; 31460CB0124185BA00B90AED /* Source Code License.rtf */ = {isa = PBXFileReference; lastKnownFileType = text.rtf; path = "Source Code License.rtf"; sourceTree = ""; }; 31460CB1124185BA00B90AED /* TODO */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = TODO; sourceTree = ""; }; + 31DAA7EC1317737100463846 /* gitx_l_pub.pem */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = gitx_l_pub.pem; sourceTree = ""; }; 32CA4F630368D1EE00C91783 /* GitX_Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GitX_Prefix.pch; sourceTree = ""; }; 3BC07F4A0ED5A5C5009A7768 /* HistoryViewTemplate.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = HistoryViewTemplate.png; path = Images/HistoryViewTemplate.png; sourceTree = ""; }; 3BC07F4B0ED5A5C5009A7768 /* CommitViewTemplate.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = CommitViewTemplate.png; path = Images/CommitViewTemplate.png; sourceTree = ""; }; @@ -392,6 +380,8 @@ 93F7857D0EA3ABF100C1F443 /* PBCommitMessageView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PBCommitMessageView.h; sourceTree = ""; }; 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 = ""; }; + C3B13DD712F3A89D0045437C /* SecurityFoundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SecurityFoundation.framework; path = System/Library/Frameworks/SecurityFoundation.framework; sourceTree = SDKROOT; }; + C3B13DE312F3A8D70045437C /* Security.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Security.framework; path = System/Library/Frameworks/Security.framework; sourceTree = SDKROOT; }; D26DC6440E782C9000C777B2 /* gitx.icns */ = {isa = PBXFileReference; lastKnownFileType = image.icns; path = gitx.icns; sourceTree = ""; }; D8022A3411DFCCA5003C21F6 /* build_libgit2.sh */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; path = build_libgit2.sh; sourceTree = ""; }; D8022FE711E124A0003C21F6 /* PBGitXMessageSheet.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = PBGitXMessageSheet.xib; sourceTree = ""; }; @@ -590,6 +580,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + C3B13E2312F3A9130045437C /* Security.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -605,6 +596,8 @@ F5C580E50EDA250900995434 /* libgit2.a in Frameworks */, D8E3B2B810DC9FB2001096A3 /* ScriptingBridge.framework in Frameworks */, D87127011229A21C00012334 /* QuartzCore.framework in Frameworks */, + C3B13DD812F3A89D0045437C /* SecurityFoundation.framework in Frameworks */, + C3B13DE412F3A8D70045437C /* Security.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -718,8 +711,6 @@ 21230ED41285ED760046E5A1 /* View */ = { isa = PBXGroup; children = ( - 213C5AC012EB91F5006F0CAE /* Window */, - 213C5A5D12EB8E72006F0CAE /* Gradient */, 21230ED71285EDAF0046E5A1 /* PBArgumentPicker.h */, 21230ED81285EDAF0046E5A1 /* PBArgumentPicker.m */, 21CF0B22129C7ED90065B37C /* TrackableOutlineView.h */, @@ -758,28 +749,6 @@ path = "File Markers"; sourceTree = ""; }; - 213C5A5D12EB8E72006F0CAE /* Gradient */ = { - isa = PBXGroup; - children = ( - 213C5A6612EB8E95006F0CAE /* GTTopBlackGradientView.h */, - 213C5A6712EB8E95006F0CAE /* GTTopBlackGradientView.m */, - 213C5A6912EB8EB3006F0CAE /* GTGradientView.h */, - 213C5A6A12EB8EC5006F0CAE /* GTGradientView.m */, - ); - path = Gradient; - sourceTree = ""; - }; - 213C5AC012EB91F5006F0CAE /* Window */ = { - isa = PBXGroup; - children = ( - 213C5AC412EB91F5006F0CAE /* GTSheetWindow.h */, - 213C5AC112EB91F5006F0CAE /* GTSheetWindow.m */, - 213C5AC212EB91F5006F0CAE /* GTWindow.h */, - 213C5AC312EB91F5006F0CAE /* GTWindow.m */, - ); - path = Window; - sourceTree = ""; - }; 29B97314FDCFA39411CA2CEA /* GitTest */ = { isa = PBXGroup; children = ( @@ -800,6 +769,7 @@ F5886A120ED5D33D0066E74C /* SpeedTest-Info.plist */, F567CC3A106E6B910059BB9D /* GitXTesting-Info.plist */, D89E9AB21218A9DA0097A90B /* ScriptingBridge.framework */, + C3B13DD712F3A89D0045437C /* SecurityFoundation.framework */, ); name = GitTest; sourceTree = ""; @@ -847,6 +817,7 @@ 21025C1112947AB200D87200 /* sourceListActionOver.png */, 02B41A5F123E307F00DFC531 /* PBCommitHookFailedSheet.xib */, F5F7D0641062E7940072C81C /* UpdateKey.pem */, + 31DAA7EC1317737100463846 /* gitx_l_pub.pem */, F50A41130EBB872D00208746 /* Widgets */, 47DBDB920E94F47200671A1E /* Preference Icons */, D26DC6440E782C9000C777B2 /* gitx.icns */, @@ -869,7 +840,6 @@ 21230ED11285EB5A0046E5A1 /* PBArgumentPicker.xib */, F58DB55F10566E3900CFDF4A /* PBGitSidebarView.xib */, D8022FE711E124A0003C21F6 /* PBGitXMessageSheet.xib */, - 213C598C12EB8BEB006F0CAE /* PBResetSheet.xib */, ); name = Resources; sourceTree = ""; @@ -880,6 +850,7 @@ F5C580E40EDA250900995434 /* libgit2.a */, 1058C7A0FEA54F0111CA2CBB /* Linked Frameworks */, 1058C7A2FEA54F0111CA2CBB /* Other Frameworks */, + C3B13DE312F3A8D70045437C /* Security.framework */, ); name = Frameworks; sourceTree = ""; @@ -960,8 +931,6 @@ D8083E02111FA33700337480 /* PBCloneRepositoryPanel.m */, D8022FEB11E124C8003C21F6 /* PBGitXMessageSheet.h */, D8022FEC11E124C8003C21F6 /* PBGitXMessageSheet.m */, - 213C598E12EB8BFC006F0CAE /* PBResetSheet.h */, - 213C598F12EB8BFC006F0CAE /* PBResetSheet.m */, ); name = Sheets; sourceTree = ""; @@ -1369,7 +1338,6 @@ isa = PBXProject; buildConfigurationList = 26FC0A880875C7B200E6366F /* Build configuration list for PBXProject "GitX" */; compatibilityVersion = "Xcode 3.1"; - developmentRegion = English; hasScannedForEncodings = 1; knownRegions = ( English, @@ -1459,7 +1427,7 @@ 212A49AB12A31328009DAFAD /* deleted_file.png in Resources */, 212A49AD12A31350009DAFAD /* ignored_file.png in Resources */, 212A49AF12A3135C009DAFAD /* modified_file.png in Resources */, - 213C598D12EB8BEB006F0CAE /* PBResetSheet.xib in Resources */, + 31DAA7ED1317737100463846 /* gitx_l_pub.pem in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -1629,11 +1597,6 @@ 217FF0BA12A1CB3300785A65 /* PBSubmoduleController.m in Sources */, 217FF0BB12A1CB3300785A65 /* PBGitResetController.m in Sources */, 217FF0BE12A1CB3E00785A65 /* PBRevealWithFinderCommand.m in Sources */, - 213C599012EB8BFC006F0CAE /* PBResetSheet.m in Sources */, - 213C5A6812EB8E95006F0CAE /* GTTopBlackGradientView.m in Sources */, - 213C5A6B12EB8EC5006F0CAE /* GTGradientView.m in Sources */, - 213C5AC512EB91F5006F0CAE /* GTSheetWindow.m in Sources */, - 213C5AC612EB91F5006F0CAE /* GTWindow.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -1855,10 +1818,12 @@ GCC_ENABLE_OBJC_GC = required; GCC_PREPROCESSOR_DEFINITIONS = DEBUG; GCC_PREPROCESSOR_DEFINITIONS_NOT_USED_IN_PRECOMPS = DEBUG_BUILD; + GCC_VERSION = com.apple.compilers.llvm.clang.1_0; GCC_WARN_ABOUT_RETURN_TYPE = YES; GCC_WARN_UNUSED_VARIABLE = YES; INFOPLIST_PREPROCESS = YES; PREBINDING = NO; + RUN_CLANG_STATIC_ANALYZER = YES; SDKROOT = "$(DEVELOPER_SDK_DIR)/MacOSX10.5.sdk"; }; name = Debug; @@ -1872,11 +1837,13 @@ x86_64, ); GCC_ENABLE_OBJC_GC = required; + GCC_VERSION = com.apple.compilers.llvm.clang.1_0; GCC_WARN_ABOUT_RETURN_TYPE = YES; GCC_WARN_UNUSED_VARIABLE = YES; INFOPLIST_PREFIX_HEADER = $PROJECT_TEMP_DIR/revision; INFOPLIST_PREPROCESS = YES; PREBINDING = NO; + RUN_CLANG_STATIC_ANALYZER = YES; SDKROOT = "$(DEVELOPER_SDK_DIR)/MacOSX10.5.sdk"; }; name = Release; diff --git a/PBFileTree.xib b/PBFileTree.xib deleted file mode 100644 index 6728aef..0000000 --- a/PBFileTree.xib +++ /dev/null @@ -1,2127 +0,0 @@ - - - - 1050 - 10H574 - 823 - 1038.35 - 461.00 - - com.apple.InterfaceBuilder.CocoaPlugin - 823 - - - YES - - - - YES - com.apple.InterfaceBuilder.CocoaPlugin - - - YES - - YES - - - YES - - - - YES - - NSObject - - - FirstResponder - - - NSApplication - - - - 319 - - YES - - - 4370 - - YES - - - 2304 - - YES - - - 4368 - {224, 335} - - YES - - - 256 - {{223, 0}, {16, 17}} - - - YES - - 221 - 16 - 1000 - - 75628096 - 2048 - - - LucidaGrande - 11 - 3100 - - - 3 - MC4zMzMzMzI5ODU2AA - - - 6 - System - headerTextColor - - 3 - MAA - - - - - 337772096 - 2048 - Text Cell - - LucidaGrande - 13 - 1044 - - - - 6 - System - controlBackgroundColor - - 3 - MC42NjY2NjY2NjY3AA - - - - 6 - System - controlTextColor - - - - 3 - YES - - - - 3 - 2 - - 3 - MQA - - - 6 - System - gridColor - - 3 - MC41AA - - - 17 - -624951296 - - - 4 - 15 - 0 - YES - 0 - - - {{1, 1}, {224, 335}} - - - - - 4 - - - - 256 - {{225, 1}, {15, 321}} - - - _doScroller: - 0.94830659536541895 - - - - -2147483392 - {{-100, -100}, {502, 15}} - - 1 - - _doScroller: - 0.0045045050792396069 - 0.99801188707351685 - - - {241, 337} - - - 18 - - - - QSAAAEEgAABBmAAAQZgAAA - - - - 266 - - YES - - - 258 - {{5, 4}, {230, 22}} - - YES - - 343014976 - 268436544 - - - - YES - 1 - - 6 - System - textBackgroundColor - - - - - 130560 - 0 - search - - _searchFieldSearch: - - 138690815 - 0 - - 400 - 75 - - - 130560 - 0 - clear - - YES - - YES - - YES - AXDescription - NSAccessibilityEncodedAttributesValueType - - - YES - cancel - - - - - - _searchFieldCancel: - - 138690815 - 0 - - 400 - 75 - - 255 - - - - {{0, 337}, {241, 29}} - - PBGitGradientBarView - - - {241, 366} - - NSView - - - - - YES - - - - YES - - 0 - - - - - - -2 - - - File's Owner - - - -1 - - - First Responder - - - -3 - - - Application - - - 1 - - - YES - - - - - - - 2 - - - YES - - - - - - 3 - - - YES - - - - - - 4 - - - - - 5 - - - YES - - - - - - File List Scroll View - - - 6 - - - YES - - - - - - 7 - - - - - 8 - - - - - 9 - - - YES - - - - - - 10 - - - - - - - YES - - YES - 1.IBEditorWindowLastContentRect - 1.IBPluginDependency - 1.WindowOrigin - 1.editorWindowContentRectSynchronizationRect - 10.CustomClassName - 10.IBPluginDependency - 2.IBPluginDependency - 2.IBViewBoundsToFrameTransform - 3.IBPluginDependency - 4.IBPluginDependency - 5.IBPluginDependency - 5.IBViewBoundsToFrameTransform - 6.CustomClassName - 6.IBPluginDependency - 7.IBPluginDependency - 8.IBPluginDependency - 9.IBPluginDependency - - - YES - {{538, 508}, {241, 366}} - com.apple.InterfaceBuilder.CocoaPlugin - {628, 654} - {{217, 442}, {480, 272}} - PBIconAndTextCell - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - - AUKKAABDIgAAA - - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - - P4AAAL+AAABBQAAAw3EAAA - - PBQLOutlineView - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - - - - YES - - - YES - - - - - YES - - - YES - - - - 10 - - - - YES - - GLFileView - PBWebController - - YES - - YES - accessoryView - fileListSplitView - historyController - typeBar - - - YES - NSView - NSSplitView - PBGitHistoryController - MGScopeBar - - - - YES - - YES - accessoryView - fileListSplitView - historyController - typeBar - - - YES - - accessoryView - NSView - - - fileListSplitView - NSSplitView - - - historyController - PBGitHistoryController - - - typeBar - MGScopeBar - - - - - IBProjectSource - GLFileView.h - - - - MGScopeBar - NSView - - delegate - id - - - delegate - - delegate - id - - - - IBProjectSource - MGScopeBar/MGScopeBar.h - - - - NSApplication - - IBProjectSource - NSApplication+GitXScripting.h - - - - NSCell - - IBProjectSource - View/CellTrackingRect.h - - - - NSOutlineView - - IBProjectSource - NSOutlineViewExt.h - - - - PBCollapsibleSplitView - PBNiceSplitView - - IBProjectSource - PBCollapsibleSplitView.h - - - - PBCommitList - NSTableView - - YES - - YES - controller - searchController - webController - webView - - - YES - PBGitHistoryController - PBHistorySearchController - PBWebHistoryController - WebView - - - - YES - - YES - controller - searchController - webController - webView - - - YES - - controller - PBGitHistoryController - - - searchController - PBHistorySearchController - - - webController - PBWebHistoryController - - - webView - WebView - - - - - IBProjectSource - PBCommitList.h - - - - PBGitGradientBarView - NSView - - IBProjectSource - PBGitGradientBarView.h - - - - PBGitHistoryController - PBViewController - - YES - - YES - cherryPick: - createBranch: - createTag: - merge: - openFilesAction: - openSelectedFile: - rebase: - refresh: - selectNext: - selectPrevious: - setBranchFilter: - setDetailedView: - setTreeView: - showAddRemoteSheet: - showCommitsFromTree: - showInFinderAction: - toggleQLPreviewPanel: - - - YES - 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: - - - 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 - - - - - YES - - YES - allBranchesFilterItem - cherryPickButton - commitController - commitList - fileBrowser - fileView - historySplitView - localRemoteBranchesFilterItem - mergeButton - rebaseButton - refController - scopeBarView - searchController - searchField - selectedBranchFilterItem - treeController - upperToolbarView - webHistoryController - webView - - - YES - NSButton - NSButton - NSArrayController - PBCommitList - NSOutlineView - GLFileView - PBCollapsibleSplitView - NSButton - NSButton - NSButton - PBRefController - PBGitGradientBarView - PBHistorySearchController - NSSearchField - NSButton - NSTreeController - PBGitGradientBarView - PBWebHistoryController - id - - - - YES - - YES - allBranchesFilterItem - cherryPickButton - commitController - commitList - fileBrowser - fileView - historySplitView - localRemoteBranchesFilterItem - mergeButton - rebaseButton - refController - scopeBarView - searchController - searchField - selectedBranchFilterItem - treeController - upperToolbarView - webHistoryController - webView - - - YES - - allBranchesFilterItem - NSButton - - - cherryPickButton - NSButton - - - commitController - NSArrayController - - - commitList - PBCommitList - - - fileBrowser - NSOutlineView - - - fileView - GLFileView - - - historySplitView - PBCollapsibleSplitView - - - localRemoteBranchesFilterItem - NSButton - - - mergeButton - NSButton - - - rebaseButton - NSButton - - - refController - PBRefController - - - scopeBarView - PBGitGradientBarView - - - searchController - PBHistorySearchController - - - searchField - NSSearchField - - - selectedBranchFilterItem - NSButton - - - treeController - NSTreeController - - - upperToolbarView - PBGitGradientBarView - - - webHistoryController - PBWebHistoryController - - - webView - id - - - - - IBProjectSource - PBGitHistoryController.h - - - - PBHistorySearchController - NSObject - - YES - - YES - selectSearchMode: - stepperPressed: - updateSearch: - - - YES - id - id - id - - - - YES - - YES - selectSearchMode: - stepperPressed: - updateSearch: - - - YES - - selectSearchMode: - id - - - stepperPressed: - id - - - updateSearch: - id - - - - - YES - - YES - commitController - historyController - numberOfMatchesField - progressIndicator - searchField - stepper - - - YES - NSArrayController - PBGitHistoryController - NSTextField - NSProgressIndicator - NSSearchField - NSSegmentedControl - - - - YES - - YES - commitController - historyController - numberOfMatchesField - progressIndicator - searchField - stepper - - - YES - - commitController - NSArrayController - - - historyController - PBGitHistoryController - - - numberOfMatchesField - NSTextField - - - progressIndicator - NSProgressIndicator - - - searchField - NSSearchField - - - stepper - NSSegmentedControl - - - - - IBProjectSource - PBHistorySearchController.h - - - - PBIconAndTextCell - NSTextFieldCell - - IBProjectSource - PBIconAndTextCell.h - - - - PBNiceSplitView - NSSplitView - - IBProjectSource - PBNiceSplitView.h - - - - PBQLOutlineView - NSOutlineView - - controller - PBGitHistoryController - - - controller - - controller - PBGitHistoryController - - - - IBProjectSource - PBQLOutlineView.h - - - - PBRefController - NSObject - - YES - - YES - checkout: - cherryPick: - copyPatch: - copySHA: - createBranch: - createTag: - diffWithHEAD: - fetchRemote: - merge: - pullRemote: - pushDefaultRemoteForRef: - pushToRemote: - pushUpdatesToRemote: - rebaseHeadBranch: - reset: - showTagInfoSheet: - - - YES - PBRefMenuItem - PBRefMenuItem - PBRefMenuItem - PBRefMenuItem - PBRefMenuItem - PBRefMenuItem - PBRefMenuItem - PBRefMenuItem - PBRefMenuItem - PBRefMenuItem - PBRefMenuItem - PBRefMenuItem - PBRefMenuItem - PBRefMenuItem - PBRefMenuItem - PBRefMenuItem - - - - YES - - YES - checkout: - cherryPick: - copyPatch: - copySHA: - createBranch: - createTag: - diffWithHEAD: - fetchRemote: - merge: - pullRemote: - pushDefaultRemoteForRef: - pushToRemote: - pushUpdatesToRemote: - rebaseHeadBranch: - reset: - showTagInfoSheet: - - - YES - - checkout: - PBRefMenuItem - - - cherryPick: - PBRefMenuItem - - - copyPatch: - PBRefMenuItem - - - copySHA: - PBRefMenuItem - - - createBranch: - PBRefMenuItem - - - createTag: - PBRefMenuItem - - - diffWithHEAD: - PBRefMenuItem - - - fetchRemote: - PBRefMenuItem - - - merge: - PBRefMenuItem - - - pullRemote: - PBRefMenuItem - - - pushDefaultRemoteForRef: - PBRefMenuItem - - - pushToRemote: - PBRefMenuItem - - - pushUpdatesToRemote: - PBRefMenuItem - - - rebaseHeadBranch: - PBRefMenuItem - - - reset: - PBRefMenuItem - - - showTagInfoSheet: - PBRefMenuItem - - - - - YES - - YES - branchPopUp - commitController - commitList - historyController - - - YES - NSPopUpButton - NSArrayController - PBCommitList - PBGitHistoryController - - - - YES - - YES - branchPopUp - commitController - commitList - historyController - - - YES - - branchPopUp - NSPopUpButton - - - commitController - NSArrayController - - - commitList - PBCommitList - - - historyController - PBGitHistoryController - - - - - IBProjectSource - PBRefController.h - - - - PBRefMenuItem - NSMenuItem - - refish - id - - - refish - - refish - id - - - - IBProjectSource - PBRefMenuItem.h - - - - PBViewController - NSViewController - - refresh: - id - - - refresh: - - refresh: - id - - - - IBProjectSource - PBViewController.h - - - - PBWebController - NSObject - - YES - - YES - repository - view - - - YES - id - WebView - - - - YES - - YES - repository - view - - - YES - - repository - id - - - 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 - - - - - YES - - NSActionCell - NSCell - - IBFrameworkSource - AppKit.framework/Headers/NSActionCell.h - - - - 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 - - - - NSArrayController - NSObjectController - - IBFrameworkSource - AppKit.framework/Headers/NSArrayController.h - - - - NSButton - NSControl - - IBFrameworkSource - AppKit.framework/Headers/NSButton.h - - - - NSCell - NSObject - - IBFrameworkSource - AppKit.framework/Headers/NSCell.h - - - - NSControl - NSView - - IBFrameworkSource - AppKit.framework/Headers/NSControl.h - - - - NSController - NSObject - - IBFrameworkSource - AppKit.framework/Headers/NSController.h - - - - NSFormatter - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSFormatter.h - - - - NSManagedObjectContext - NSObject - - IBFrameworkSource - CoreData.framework/Headers/NSManagedObjectContext.h - - - - NSMenu - NSObject - - IBFrameworkSource - AppKit.framework/Headers/NSMenu.h - - - - NSMenuItem - NSObject - - IBFrameworkSource - AppKit.framework/Headers/NSMenuItem.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 - ScriptingBridge.framework/Headers/SBApplication.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 - - - - NSObjectController - NSController - - IBFrameworkSource - AppKit.framework/Headers/NSObjectController.h - - - - NSOutlineView - NSTableView - - - - NSPopUpButton - NSButton - - IBFrameworkSource - AppKit.framework/Headers/NSPopUpButton.h - - - - NSProgressIndicator - NSView - - IBFrameworkSource - AppKit.framework/Headers/NSProgressIndicator.h - - - - NSResponder - - IBFrameworkSource - AppKit.framework/Headers/NSInterfaceStyle.h - - - - NSResponder - NSObject - - IBFrameworkSource - AppKit.framework/Headers/NSResponder.h - - - - NSScrollView - NSView - - IBFrameworkSource - AppKit.framework/Headers/NSScrollView.h - - - - NSScroller - NSControl - - IBFrameworkSource - AppKit.framework/Headers/NSScroller.h - - - - NSSearchField - NSTextField - - IBFrameworkSource - AppKit.framework/Headers/NSSearchField.h - - - - NSSearchFieldCell - NSTextFieldCell - - IBFrameworkSource - AppKit.framework/Headers/NSSearchFieldCell.h - - - - NSSegmentedControl - NSControl - - IBFrameworkSource - AppKit.framework/Headers/NSSegmentedControl.h - - - - NSSplitView - NSView - - IBFrameworkSource - AppKit.framework/Headers/NSSplitView.h - - - - NSTableColumn - NSObject - - IBFrameworkSource - AppKit.framework/Headers/NSTableColumn.h - - - - NSTableView - NSControl - - - - NSTextField - NSControl - - IBFrameworkSource - AppKit.framework/Headers/NSTextField.h - - - - NSTextFieldCell - NSActionCell - - IBFrameworkSource - AppKit.framework/Headers/NSTextFieldCell.h - - - - NSTreeController - NSObjectController - - IBFrameworkSource - AppKit.framework/Headers/NSTreeController.h - - - - NSView - - IBFrameworkSource - AppKit.framework/Headers/NSClipView.h - - - - NSView - - - - NSView - - IBFrameworkSource - AppKit.framework/Headers/NSRulerView.h - - - - NSView - NSResponder - - - - NSViewController - NSResponder - - view - NSView - - - view - - view - NSView - - - - IBFrameworkSource - AppKit.framework/Headers/NSViewController.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.macosx - - - - com.apple.InterfaceBuilder.CocoaPlugin.InterfaceBuilder3 - - - YES - GitX.xcodeproj - 3 - - diff --git a/PBGitHistoryView.xib b/PBGitHistoryView.xib index 8d7e9fc..90d1e1b 100644 --- a/PBGitHistoryView.xib +++ b/PBGitHistoryView.xib @@ -2,10 +2,10 @@ 1050 - 10H574 - 804 + 10J567 + 788 1038.35 - 461.00 + 462.00 YES @@ -15,13 +15,13 @@ YES - 804 - 804 + 788 + 788 YES - + YES @@ -491,7 +491,7 @@ - d MMMM yyyy HH:mm + d 'de' MMMM 'de' yyyy HH:mm NO @@ -968,109 +968,184 @@ 4370 YES - + - 4372 + 274 YES - - - 2304 - - YES - - - 4368 - {216, 233} - - YES - - - 256 - {{223, 0}, {16, 17}} - - + + + 266 + {{5, 212.5}, {196, 19}} + + YES + + 343014976 + 268698688 + + + LucidaGrande + 9 + 3614 + + + YES + 1 + + + + 130560 + 0 + search + + _searchFieldSearch: + + 138690815 + 0 + + 400 + 75 + + + 130560 + 0 + clear + YES - - 213 - 16 - 1000 - - 75628096 - 2048 - - - - 3 - MC4zMzMzMzI5ODU2AA - - + + YES + + YES + AXDescription + NSAccessibilityEncodedAttributesValueType - - 337772096 - 2048 - Text Cell - - - - + + YES + cancel + - 3 - YES - - 3 - 2 - - - 17 - -624951296 - - - 4 - 15 - 0 - YES - 0 + + _searchFieldCancel: + + 138690815 + 0 + + 400 + 75 + + 255 + + + + + 4370 + + YES + + + 2304 + + YES + + + 4368 + {190, 208} + + YES + + + 256 + {{223, 0}, {16, 17}} + + + YES + + 187 + 16 + 1000 + + 75628096 + 2048 + + + + 3 + MC4zMzMzMzI5ODU2AA + + + + + 337772096 + 2048 + Text Cell + + + + + + 3 + YES + + + + 3 + 2 + + + 17 + -624951296 + + + 4 + 15 + 0 + YES + 0 + + + {{1, 1}, {190, 208}} + + + + + 4 + + + + 256 + {{191, 1}, {15, 208}} + + + _doScroller: + 0.98701298701298701 + + + + -2147483392 + {{-100, -100}, {502, 15}} + + 1 + + _doScroller: + 0.0045045050792396069 + 0.99801188707351685 - {{1, 1}, {216, 233}} - - - - - 4 - - - - 256 - {{217, 1}, {15, 233}} - - - _doScroller: - 0.99481862783432007 - - - - -2147483392 - {{-100, -100}, {502, 15}} - - 1 - - _doScroller: - 0.0045045050792396069 - 0.99801188707351685 + {{0, 0.5}, {207, 210}} + + + 18 + + + + QSAAAEEgAABBmAAAQZgAAA - {233, 235} + {207, 235} - - 18 - - - - QSAAAEEgAABBmAAAQZgAAA + NSView @@ -1116,12 +1191,12 @@ - {{639, 0}, {84, 24}} + {{665, 0}, {84, 24}} NSView - {{0, 211}, {723, 24}} + {{0, 211}, {749, 24}} MGScopeBar @@ -1149,7 +1224,7 @@ public.url-name - {723, 210} + {749, 210} @@ -1159,7 +1234,7 @@ YES - {{234, 0}, {723, 235}} + {{208, 0}, {749, 235}} NSView @@ -2257,56 +2332,11 @@ YES - + - - 10 - - - YES - - - - - - File List Scroll View - - - 17 - - - - - 16 - - - - - 15 - - - YES - - - - - - 18 - - - YES - - - - - - 19 - - - 311 @@ -2620,6 +2650,75 @@ + + 491 + + + YES + + + + + + + 10 + + + YES + + + + + + File List Scroll View + + + 17 + + + + + 16 + + + + + 15 + + + YES + + + + + + 18 + + + YES + + + + + + 19 + + + + + 492 + + + YES + + + + + + 493 + + + @@ -2682,6 +2781,7 @@ 333.IBPluginDependency 337.IBAttributePlaceholdersKey 337.IBPluginDependency + 337.IBViewBoundsToFrameTransform 338.IBPluginDependency 34.CustomClassName 34.IBPluginDependency @@ -2734,6 +2834,9 @@ 486.IBPluginDependency 49.IBAttributePlaceholdersKey 49.IBPluginDependency + 491.IBPluginDependency + 492.IBPluginDependency + 493.IBPluginDependency 50.IBPluginDependency 51.IBPluginDependency 6.IBPluginDependency @@ -2826,6 +2929,9 @@ com.apple.InterfaceBuilder.CocoaPlugin + + P4AAAL+AAABC6AAAwdAAAA + com.apple.InterfaceBuilder.CocoaPlugin GitXTextFieldCell com.apple.InterfaceBuilder.CocoaPlugin @@ -2912,7 +3018,7 @@ com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin com.apple.WebKitIBPlugin - {{1084, 241}, {955, 434}} + {{1702, 241}, {955, 434}} com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin @@ -2932,6 +3038,9 @@ com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin @@ -2950,7 +3059,7 @@ - 490 + 493 From 574277f393b7413a187869d24a48f20893ea648a Mon Sep 17 00:00:00 2001 From: German Laullon Date: Tue, 1 Mar 2011 23:39:45 -0800 Subject: [PATCH 04/15] Connect GUI elements to controller --- PBGitHistoryView.xib | 32 +++++++++++++++++++++++++++++++- 1 file changed, 31 insertions(+), 1 deletion(-) diff --git a/PBGitHistoryView.xib b/PBGitHistoryView.xib index 90d1e1b..105f342 100644 --- a/PBGitHistoryView.xib +++ b/PBGitHistoryView.xib @@ -2075,6 +2075,22 @@ 490 + + + filesSearchField + + + + 494 + + + + updateSearch: + + + + 495 + @@ -3059,7 +3075,7 @@ - 493 + 495 @@ -3287,6 +3303,7 @@ showCommitsFromTree: showInFinderAction: toggleQLPreviewPanel: + updateSearch: YES @@ -3307,6 +3324,7 @@ id id id + id @@ -3330,6 +3348,7 @@ showCommitsFromTree: showInFinderAction: toggleQLPreviewPanel: + updateSearch: YES @@ -3401,6 +3420,10 @@ toggleQLPreviewPanel: id + + updateSearch: + id + @@ -3413,6 +3436,7 @@ commitList fileBrowser fileView + filesSearchField historySplitView localRemoteBranchesFilterItem mergeButton @@ -3435,6 +3459,7 @@ PBCommitList NSOutlineView GLFileView + NSSearchField PBCollapsibleSplitView NSButton NSButton @@ -3460,6 +3485,7 @@ commitList fileBrowser fileView + filesSearchField historySplitView localRemoteBranchesFilterItem mergeButton @@ -3500,6 +3526,10 @@ fileView GLFileView + + filesSearchField + NSSearchField + historySplitView PBCollapsibleSplitView From afc0fdd009f23f3b7ea6eab0f1e33dea32d5b75a Mon Sep 17 00:00:00 2001 From: German Laullon Date: Tue, 1 Mar 2011 23:43:07 -0800 Subject: [PATCH 05/15] Updating search of the files from current selected commit even though this commit changes Conflicts: PBGitHistoryController.m --- PBGitHistoryController.m | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/PBGitHistoryController.m b/PBGitHistoryController.m index a76a254..fafa7c4 100644 --- a/PBGitHistoryController.m +++ b/PBGitHistoryController.m @@ -231,7 +231,8 @@ { if ([(NSString *)context isEqualToString: @"commitChange"]) { [self updateKeys]; - //[self restoreFileBrowserSelection]; + [self restoreFileBrowserSelection]; + [self updateSearch:filesSearchField]; }else if ([(NSString *)context isEqualToString: @"treeChange"]) { [self updateQuicklookForce: NO]; [self saveFileBrowserSelection]; From fb956111f6f38d639ce0a2c8c3137ad44f1b3b56 Mon Sep 17 00:00:00 2001 From: German Laullon Date: Wed, 2 Mar 2011 13:33:07 -0800 Subject: [PATCH 06/15] ToolBar, icons and selector. --- English.lproj/RepositoryWindow.xib | 172 +++++++++++++++++++++++++++-- GitX.xcodeproj/project.pbxproj | 8 ++ PBGitWindowController.h | 1 + PBGitWindowController.m | 4 + list_Template.png | Bin 0 -> 517 bytes sidebar_Template.png | Bin 0 -> 503 bytes 6 files changed, 175 insertions(+), 10 deletions(-) create mode 100644 list_Template.png create mode 100644 sidebar_Template.png diff --git a/English.lproj/RepositoryWindow.xib b/English.lproj/RepositoryWindow.xib index 9b1d7f1..9baf874 100644 --- a/English.lproj/RepositoryWindow.xib +++ b/English.lproj/RepositoryWindow.xib @@ -2,17 +2,17 @@ 1050 - 10F569 - 804 - 1038.29 - 461.00 + 10J567 + 788 + 1038.35 + 462.00 com.apple.InterfaceBuilder.CocoaPlugin - 804 + 788 YES - + YES @@ -58,6 +58,7 @@ 41FA1145-D953-446F-B6DF-0230885AB433 7A8FEE7B-B273-4AF3-8A22-53A9DAF786FA B15C57F2-985F-4446-9A29-34C76DBA9042 + D43D38AE-6110-463C-8514-FC8ACC0F327C FF15EAEC-D5AB-4C6F-9E13-4B62C6692BFC NSToolbarFlexibleSpaceItem NSToolbarSeparatorItem @@ -92,9 +93,10 @@ Clone Repository To - + 268 {{38, 14}, {40, 25}} + YES -2080244224 @@ -137,9 +139,10 @@ Refresh - + 268 {{8, 14}, {32, 25}} + YES -2080244224 @@ -170,6 +173,67 @@ YES 0 + + + D43D38AE-6110-463C-8514-FC8ACC0F327C + + View + View + + + + 268 + {{0, 14}, {94, 25}} + + YES + + 67239424 + 0 + + LucidaGrande + 13 + 16 + + + + YES + + 44 + + NSImage + sidebar_Template + + + YES + 2 + + + 43 + + NSImage + list_Template + + + 1 + YES + 0 + + + 1 + 2 + + + + + + {94, 25} + {94, 25} + YES + YES + 0 + YES + 0 + FF15EAEC-D5AB-4C6F-9E13-4B62C6692BFC @@ -287,11 +351,14 @@ + YES + + @@ -520,6 +587,14 @@ 419 + + + changeLayout: + + + + 423 + @@ -603,6 +678,7 @@ + @@ -719,6 +795,29 @@ Content SplitView + + 422 + + + YES + + + + + + 420 + + + YES + + + + + + 421 + + + @@ -757,6 +856,12 @@ 415.IBPluginDependency 416.IBPluginDependency 417.IBPluginDependency + 420.IBPluginDependency + 420.IBSegmentedControlTracker.RoundRobinState + 420.IBSegmentedControlTracker.WasGrowing + 421.IBPluginDependency + 421.IBSegmentedControlInspectorSelectedSegmentMetadataKey + 422.toolbarItem.selectable 5.IBPluginDependency 5.ImportedFromIB2 @@ -779,7 +884,7 @@ AUM5AAAAAAAAA com.apple.InterfaceBuilder.CocoaPlugin - {{347, 1169}, {616, 0}} + {{207, 573}, {616, 227}} com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin @@ -801,6 +906,12 @@ com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin + + + com.apple.InterfaceBuilder.CocoaPlugin + + + com.apple.InterfaceBuilder.CocoaPlugin @@ -820,7 +931,7 @@ - 419 + 423 @@ -832,6 +943,13 @@ NSApplication+GitXScripting.h + + NSCell + + IBProjectSource + View/CellTrackingRect.h + + PBGitWindowController NSWindowController @@ -839,6 +957,7 @@ YES YES + changeLayout: cloneTo: openInTerminal: refresh: @@ -854,12 +973,14 @@ id id id + id YES YES + changeLayout: cloneTo: openInTerminal: refresh: @@ -869,6 +990,10 @@ YES + + changeLayout: + id + cloneTo: id @@ -1349,6 +1474,13 @@ QuartzCore.framework/Headers/CIImageProvider.h + + NSObject + + IBFrameworkSource + ScriptingBridge.framework/Headers/SBApplication.h + + NSObject @@ -1456,6 +1588,22 @@ AppKit.framework/Headers/NSResponder.h + + NSSegmentedCell + NSActionCell + + IBFrameworkSource + AppKit.framework/Headers/NSSegmentedCell.h + + + + NSSegmentedControl + NSControl + + IBFrameworkSource + AppKit.framework/Headers/NSSegmentedControl.h + + NSSplitView NSView @@ -1587,6 +1735,8 @@ NSMenuCheckmark NSMenuMixedState NSRefreshTemplate + list_Template + sidebar_Template YES @@ -1594,6 +1744,8 @@ {9, 8} {7, 2} {10, 12} + {16, 16} + {16, 16} diff --git a/GitX.xcodeproj/project.pbxproj b/GitX.xcodeproj/project.pbxproj index 01e79e9..4ccb7e9 100644 --- a/GitX.xcodeproj/project.pbxproj +++ b/GitX.xcodeproj/project.pbxproj @@ -60,6 +60,8 @@ 31460CD4124185BA00B90AED /* ReadMe.txt in Resources */ = {isa = PBXBuildFile; fileRef = 31460CAF124185BA00B90AED /* ReadMe.txt */; }; 31460CD5124185BA00B90AED /* Source Code License.rtf in Resources */ = {isa = PBXBuildFile; fileRef = 31460CB0124185BA00B90AED /* Source Code License.rtf */; }; 31460CD6124185BA00B90AED /* TODO in Resources */ = {isa = PBXBuildFile; fileRef = 31460CB1124185BA00B90AED /* TODO */; }; + 316E7202131EE9C600AFBB36 /* list_Template.png in Resources */ = {isa = PBXBuildFile; fileRef = 316E7200131EE9C600AFBB36 /* list_Template.png */; }; + 316E7203131EE9C600AFBB36 /* sidebar_Template.png in Resources */ = {isa = PBXBuildFile; fileRef = 316E7201131EE9C600AFBB36 /* sidebar_Template.png */; }; 31DAA7ED1317737100463846 /* gitx_l_pub.pem in Resources */ = {isa = PBXBuildFile; fileRef = 31DAA7EC1317737100463846 /* gitx_l_pub.pem */; }; 3BC07F4C0ED5A5C5009A7768 /* HistoryViewTemplate.png in Resources */ = {isa = PBXBuildFile; fileRef = 3BC07F4A0ED5A5C5009A7768 /* HistoryViewTemplate.png */; }; 3BC07F4D0ED5A5C5009A7768 /* CommitViewTemplate.png in Resources */ = {isa = PBXBuildFile; fileRef = 3BC07F4B0ED5A5C5009A7768 /* CommitViewTemplate.png */; }; @@ -347,6 +349,8 @@ 31460CAF124185BA00B90AED /* ReadMe.txt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = ReadMe.txt; sourceTree = ""; }; 31460CB0124185BA00B90AED /* Source Code License.rtf */ = {isa = PBXFileReference; lastKnownFileType = text.rtf; path = "Source Code License.rtf"; sourceTree = ""; }; 31460CB1124185BA00B90AED /* TODO */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = TODO; sourceTree = ""; }; + 316E7200131EE9C600AFBB36 /* list_Template.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = list_Template.png; sourceTree = ""; }; + 316E7201131EE9C600AFBB36 /* sidebar_Template.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = sidebar_Template.png; sourceTree = ""; }; 31DAA7EC1317737100463846 /* gitx_l_pub.pem */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = gitx_l_pub.pem; sourceTree = ""; }; 32CA4F630368D1EE00C91783 /* GitX_Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GitX_Prefix.pch; sourceTree = ""; }; 3BC07F4A0ED5A5C5009A7768 /* HistoryViewTemplate.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = HistoryViewTemplate.png; path = Images/HistoryViewTemplate.png; sourceTree = ""; }; @@ -813,6 +817,8 @@ 29B97317FDCFA39411CA2CEA /* Resources */ = { isa = PBXGroup; children = ( + 316E7200131EE9C600AFBB36 /* list_Template.png */, + 316E7201131EE9C600AFBB36 /* sidebar_Template.png */, 21025C1012947AB200D87200 /* sourceListAction.png */, 21025C1112947AB200D87200 /* sourceListActionOver.png */, 02B41A5F123E307F00DFC531 /* PBCommitHookFailedSheet.xib */, @@ -1428,6 +1434,8 @@ 212A49AD12A31350009DAFAD /* ignored_file.png in Resources */, 212A49AF12A3135C009DAFAD /* modified_file.png in Resources */, 31DAA7ED1317737100463846 /* gitx_l_pub.pem in Resources */, + 316E7202131EE9C600AFBB36 /* list_Template.png in Resources */, + 316E7203131EE9C600AFBB36 /* sidebar_Template.png in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; diff --git a/PBGitWindowController.h b/PBGitWindowController.h index 9b008fc..1cd193c 100644 --- a/PBGitWindowController.h +++ b/PBGitWindowController.h @@ -46,6 +46,7 @@ - (IBAction) openInTerminal:(id)sender; - (IBAction) cloneTo:(id)sender; - (IBAction) refresh:(id)sender; +- (IBAction) changeLayout:(id)sender; - (void)setHistorySearch:(NSString *)searchString mode:(NSInteger)mode; diff --git a/PBGitWindowController.m b/PBGitWindowController.m index b08dfc2..8a2ce1e 100644 --- a/PBGitWindowController.m +++ b/PBGitWindowController.m @@ -215,6 +215,10 @@ [sidebarController setHistorySearch:searchString mode:mode]; } +- (IBAction) changeLayout:(id)sender{ + NSLog(@"selectedSegment=%ld (%d)",[sender selectedSegment],[sender isSelectedForSegment:[sender selectedSegment]]); +} + #pragma mark - diff --git a/list_Template.png b/list_Template.png new file mode 100644 index 0000000000000000000000000000000000000000..690ace16f946248730350862282e94b831f48660 GIT binary patch literal 517 zcmV+g0{Z=lP)KLZ*U+=)p!fv7f#TG` zAxLl%!EgG`&*5<32cu%worY0{L9A7~=}6b}76Isk~1IN~P)K3@?4 z&zpALY4A7Z!>t0&I7qECf*j`WHIYAjW_h^ivJu4lvb8y9VL`DD`rG0ZKvcZ$L@8 zo)6*!Fng}&gE0q~LGCMnsiR8`P)pL0I_sTkS+y)n+TA3GKLZ*U+=)p!fv7f#TG` zAxLl%!EgG`&*5<32cu%worY0{L9A7~=}6b}76Isk~1IN~P)K3@?4 z&zpALY4A7Z!>t0&I7qECf*j`WHIYAjW_h^ivJu4lvb8y9VL`DD`rG0ZKvcZ$L@8 zo)6*!Fng}&gE0q~LGCMnsiR8`P)pL0I_sTkS+y)n+TA3G Date: Wed, 2 Mar 2011 14:40:08 -0800 Subject: [PATCH 07/15] working --- PBGitHistoryController.h | 1 + PBGitHistoryController.m | 1 + PBGitWindowController.h | 4 ++++ PBGitWindowController.m | 28 +++++++++++++++++++++++++--- 4 files changed, 31 insertions(+), 3 deletions(-) diff --git a/PBGitHistoryController.h b/PBGitHistoryController.h index 93bfea0..a456d90 100644 --- a/PBGitHistoryController.h +++ b/PBGitHistoryController.h @@ -57,6 +57,7 @@ } @property (readonly) NSTreeController* treeController; +@property (readonly) PBCollapsibleSplitView *historySplitView; @property (assign) int selectedCommitDetailsIndex; @property (retain) PBGitCommit *webCommit; @property (retain) PBGitTree* gitTree; diff --git a/PBGitHistoryController.m b/PBGitHistoryController.m index e3be741..bc955cb 100644 --- a/PBGitHistoryController.m +++ b/PBGitHistoryController.m @@ -48,6 +48,7 @@ @synthesize searchController; @synthesize commitList; @synthesize treeController; +@synthesize historySplitView; - (void)awakeFromNib { diff --git a/PBGitWindowController.h b/PBGitWindowController.h index 1cd193c..70b268d 100644 --- a/PBGitWindowController.h +++ b/PBGitWindowController.h @@ -9,6 +9,9 @@ #import #import "PBGitRepository.h" +#define kGitSplitViewMinWidth 150.0f +#define kGitSplitViewMaxWidth 300.0f + @class PBViewController, PBGitSidebarController, PBGitCommitController; @interface PBGitWindowController : NSWindowController { @@ -39,6 +42,7 @@ - (void)showMessageSheet:(NSString *)messageText infoText:(NSString *)infoText; - (void)showErrorSheet:(NSError *)error; - (void)showErrorSheetTitle:(NSString *)title message:(NSString *)message arguments:(NSArray *)arguments output:(NSString *)output; +- (void)collapseSplitView:(NSSplitView *)sp show:(BOOL)show; - (IBAction) showCommitView:(id)sender; - (IBAction) showHistoryView:(id)sender; diff --git a/PBGitWindowController.m b/PBGitWindowController.m index 8a2ce1e..b2d6b77 100644 --- a/PBGitWindowController.m +++ b/PBGitWindowController.m @@ -217,16 +217,38 @@ - (IBAction) changeLayout:(id)sender{ NSLog(@"selectedSegment=%ld (%d)",[sender selectedSegment],[sender isSelectedForSegment:[sender selectedSegment]]); + NSSplitView *sp=nil; + switch ([sender selectedSegment]) { + case 0: + sp=splitView; + break; + case 1: + sp=[[sidebarController historyViewController] historySplitView]; + break; + } + NSLog(@"sp=%@",sp); + if(sp!=nil) { + [self collapseSplitView:sp show:[sender isSelectedForSegment:[sender selectedSegment]]]; + } } +- (void)collapseSplitView:(NSSplitView *)sp show:(BOOL)show{ + NSView *clipview = [[sp subviews] objectAtIndex:0]; + NSRect clipFrame = [clipview frame]; + + if ([sp isVertical]) { + clipFrame.size.width = kGitSplitViewMinWidth * show; + }else{ + clipFrame.size.height = kGitSplitViewMinWidth * show; + } + [clipview setFrame:clipFrame]; + [sp adjustSubviews]; +} #pragma mark - #pragma mark SplitView Delegates -#define kGitSplitViewMinWidth 150.0f -#define kGitSplitViewMaxWidth 300.0f - #pragma mark min/max widths while moving the divider - (CGFloat)splitView:(NSSplitView *)view constrainMinCoordinate:(CGFloat)proposedMin ofSubviewAt:(NSInteger)dividerIndex From a60dfa3d99fbb5604afad5a304d8343ff5a937f5 Mon Sep 17 00:00:00 2001 From: German Laullon Date: Wed, 2 Mar 2011 16:12:12 -0800 Subject: [PATCH 08/15] Animation --- PBGitWindowController.m | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/PBGitWindowController.m b/PBGitWindowController.m index b2d6b77..498ddec 100644 --- a/PBGitWindowController.m +++ b/PBGitWindowController.m @@ -241,11 +241,11 @@ }else{ clipFrame.size.height = kGitSplitViewMinWidth * show; } - [clipview setFrame:clipFrame]; + + [[clipview animator] setFrame:clipFrame]; [sp adjustSubviews]; } - #pragma mark - #pragma mark SplitView Delegates From 8896dc993c73c704d54b44ecbe2d025d0fc8ec16 Mon Sep 17 00:00:00 2001 From: German Laullon Date: Fri, 4 Mar 2011 13:38:55 -0800 Subject: [PATCH 09/15] basic FileMerge support --- GLFileView.m | 1 + PBGitXProtocol.m | 51 ++++++++++++++++++++++------------ PBWebController.m | 5 ++++ PBWebHistoryController.h | 1 + PBWebHistoryController.m | 7 +++++ html/views/history/history.css | 5 ++++ html/views/history/history.js | 6 ++++ 7 files changed, 58 insertions(+), 18 deletions(-) diff --git a/GLFileView.m b/GLFileView.m index 4999df4..27e8ac1 100644 --- a/GLFileView.m +++ b/GLFileView.m @@ -324,6 +324,7 @@ inDiff=TRUE; NSString *fileName=[self getFileName:line]; [res appendString:[NSString stringWithFormat:@""]; - inDiff=FALSE; - NSString *header=[line substringFromIndex:3]; - NSRange hr = NSMakeRange(0, [header rangeOfString:@" @@"].location); - header=[header substringWithRange:hr]; - - NSArray *pos=[header componentsSeparatedByString:@" "]; - NSArray *pos_l=[[pos objectAtIndex:0] componentsSeparatedByString:@","]; - NSArray *pos_r=[[pos objectAtIndex:1] componentsSeparatedByString:@","]; - - l_end=l_line=abs([[pos_l objectAtIndex:0]integerValue]); - if ([pos_l count]>1) { - l_end=l_line+[[pos_l objectAtIndex:1]integerValue]; - } - - r_end=r_line=[[pos_r objectAtIndex:0]integerValue]; - if ([pos_r count]>1) { - r_end=r_line+[[pos_r objectAtIndex:1]integerValue]; - } - - [res appendString:[NSString stringWithFormat:@"",line]]; - inBlock=TRUE; - }else if(inBlock){ - NSString *s=[line substringToIndex:1]; - if([s isEqualToString:@" "]){ - [res appendString:[NSString stringWithFormat:@"",l_line++,r_line++]]; - }else if([s isEqualToString:@"-"]){ - [res appendString:[NSString stringWithFormat:@"",l_line++]]; - }else if([s isEqualToString:@"+"]){ - [res appendString:[NSString stringWithFormat:@"",r_line++]]; - } - [res appendString:[NSString stringWithFormat:@"",[line substringFromIndex:1]]]; - if(!(l_line
",fileName]]; + [res appendString:[NSString stringWithFormat:@"",fileName]]; [res appendString:[NSString stringWithFormat:@"

%@

",line]]; }else if(inDiff){ [res appendString:[NSString stringWithFormat:@"

%@

",line]]; diff --git a/PBGitXProtocol.m b/PBGitXProtocol.m index 7d1e1bc..5fe8194 100644 --- a/PBGitXProtocol.m +++ b/PBGitXProtocol.m @@ -31,25 +31,40 @@ return; } - NSString *path=[[url path] substringFromIndex:1]; - NSString *v=@""; - if ([[path substringToIndex:5] isEqualToString:@"prev/"]) { - path=[path substringFromIndex:5]; - v=@"^"; + if ([[url host] isEqualToString:@"app"]) { + NSString *app=[[url path] substringFromIndex:1]; + NSString *appPath=[[NSWorkspace sharedWorkspace] fullPathForApplication:app]; + NSLog(@"app=%@ appPath=%@",app,appPath); + if(appPath){ + NSImage *icon = [[NSWorkspace sharedWorkspace] iconForFile:appPath]; + NSLog(@"icon=%@",icon); + [[self client] URLProtocol:self didLoadData:[icon TIFFRepresentation]]; + [[self client] URLProtocolDidFinishLoading:self]; + }else{ + [[self client] URLProtocol:self didFailWithError:[NSError errorWithDomain:@"gitx" code:404 userInfo:nil]]; + } + }else { + + NSString *path=[[url path] substringFromIndex:1]; + NSString *v=@""; + if ([[path substringToIndex:5] isEqualToString:@"prev/"]) { + path=[path substringFromIndex:5]; + v=@"^"; + } + NSString *specifier = [NSString stringWithFormat:@"%@%@:%@", [url host], v,path]; + handle = [repo handleInWorkDirForArguments:[NSArray arrayWithObjects:@"cat-file", @"blob", specifier, nil]]; + [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(didFinishFileLoad:) name:NSFileHandleReadToEndOfFileCompletionNotification object:handle]; + [handle readToEndOfFileInBackgroundAndNotify]; + + NSURLResponse *response = [[NSURLResponse alloc] initWithURL:[[self request] URL] + MIMEType:nil + expectedContentLength:-1 + textEncodingName:nil]; + + [[self client] URLProtocol:self + didReceiveResponse:response + cacheStoragePolicy:NSURLCacheStorageNotAllowed]; } - NSString *specifier = [NSString stringWithFormat:@"%@%@:%@", [url host], v,path]; - handle = [repo handleInWorkDirForArguments:[NSArray arrayWithObjects:@"cat-file", @"blob", specifier, nil]]; - [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(didFinishFileLoad:) name:NSFileHandleReadToEndOfFileCompletionNotification object:handle]; - [handle readToEndOfFileInBackgroundAndNotify]; - - NSURLResponse *response = [[NSURLResponse alloc] initWithURL:[[self request] URL] - MIMEType:nil - expectedContentLength:-1 - textEncodingName:nil]; - - [[self client] URLProtocol:self - didReceiveResponse:response - cacheStoragePolicy:NSURLCacheStorageNotAllowed]; } - (void) didFinishFileLoad:(NSNotification *)notification diff --git a/PBWebController.m b/PBWebController.m index ab890fb..7c18db8 100644 --- a/PBWebController.m +++ b/PBWebController.m @@ -76,6 +76,11 @@ NSLog(@"Error from webkit: %@", dictionary); } +- (void)webView:(WebView *)sender runJavaScriptAlertPanelWithMessage:(NSString *)message initiatedByFrame:(WebFrame *)frame +{ + NSLog(@"Message from webkit: %@", message); +} + - (NSURLRequest *)webView:(WebView *)sender resource:(id)identifier willSendRequest:(NSURLRequest *)request diff --git a/PBWebHistoryController.h b/PBWebHistoryController.h index 0d887be..7f4fc4a 100644 --- a/PBWebHistoryController.h +++ b/PBWebHistoryController.h @@ -29,6 +29,7 @@ - (NSString *)parseHeader:(NSString *)txt withRefs:(NSString *)badges; - (NSMutableDictionary *)parseStats:(NSString *)txt; - (NSString *) someMethodThatReturnsSomeHashForSomeString:(NSString*)concat; +- (void) openFileMerge:(NSString*)file sha:(NSString *)sha; @property (readonly) NSString* diff; @end diff --git a/PBWebHistoryController.m b/PBWebHistoryController.m index d38a180..75d69ce 100644 --- a/PBWebHistoryController.m +++ b/PBWebHistoryController.m @@ -224,6 +224,13 @@ [historyController selectCommit:[PBGitSHA shaWithString:sha]]; } +- (void) openFileMerge:(NSString*)file sha:(NSString *)sha +{ + NSArray *args=[NSArray arrayWithObjects:@"difftool",@"--no-prompt",@"--tool=opendiff",[NSString stringWithFormat:@"%@^",sha],sha,file,nil]; + [historyController.repository handleForArguments:args]; +} + + - (void) sendKey: (NSString*) key { id script = [view windowScriptObject]; diff --git a/html/views/history/history.css b/html/views/history/history.css index 6ac1cda..8c073d4 100644 --- a/html/views/history/history.css +++ b/html/views/history/history.css @@ -317,4 +317,9 @@ a.showdiff { -webkit-box-shadow: 5px 5px 5px #ccc; width: 98%; margin: auto auto 20px 1%; +} + +.filemerge { + float: right; + text-align: center; } \ No newline at end of file diff --git a/html/views/history/history.js b/html/views/history/history.js index e37baee..6a3b3e1 100644 --- a/html/views/history/history.js +++ b/html/views/history/history.js @@ -2,6 +2,12 @@ var selectCommit = function(a) { Controller.selectCommit_(a); } +var openFileMerge = function(file,sha) { + alert(file); + alert(sha); + Controller.openFileMerge_sha_(file,sha); +} + var showImage = function(element, filename) { element.outerHTML = ''; From a098c4038a176c99341a76070ef0e3ce3bc7b933 Mon Sep 17 00:00:00 2001 From: German Laullon Date: Fri, 4 Mar 2011 13:56:01 -0800 Subject: [PATCH 10/15] workaround _NSCFURLProtocolBridge BUG!!! --- PBGitXProtocol.m | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/PBGitXProtocol.m b/PBGitXProtocol.m index 5fe8194..052a667 100644 --- a/PBGitXProtocol.m +++ b/PBGitXProtocol.m @@ -11,6 +11,19 @@ @implementation PBGitXProtocol +- (id)initWithRequest:(NSURLRequest *)request cachedResponse:(NSCachedURLResponse *)cachedResponse client:(id )client +{ + // work around for NSURLProtocol bug + // note that this leaks! + CFRetain(client); + + if (self = [super initWithRequest:request cachedResponse:cachedResponse client:client]) + { + } + + return self; +} + + (BOOL) canInitWithRequest:(NSURLRequest *)request { return [[[request URL] scheme] isEqualToString:@"GitX"]; From 5f85c8269cb236ffcec5190abf9ad8b046fed7db Mon Sep 17 00:00:00 2001 From: German Laullon Date: Fri, 4 Mar 2011 23:54:34 -0800 Subject: [PATCH 11/15] diff parser refactoring --- GLFileView.h | 1 + GLFileView.m | 118 ++++++++++++++++++++++++++++----------------------- 2 files changed, 65 insertions(+), 54 deletions(-) diff --git a/GLFileView.h b/GLFileView.h index 7dd9125..a734dd0 100644 --- a/GLFileView.h +++ b/GLFileView.h @@ -40,6 +40,7 @@ +(BOOL)isBinaryFile:(NSString *)line; +(NSString*)mimeTypeForFileName:(NSString*)file; +(BOOL)isImage:(NSString*)file; ++(BOOL)isDiffHeader:(NSString*)line; @property(retain) NSMutableArray *groups; @property(retain) NSString *logFormat; diff --git a/GLFileView.m b/GLFileView.m index 27e8ac1..1ff1ded 100644 --- a/GLFileView.m +++ b/GLFileView.m @@ -274,62 +274,27 @@ NSArray *lines = [txt componentsSeparatedByString:@"\n"]; NSString *line; NSMutableString *res=[NSMutableString string]; - BOOL inDiff=FALSE; - BOOL inBlock=FALSE; - + int l_line,l_end; int r_line,r_end; - int i; - for (i=0; i<[lines count]; i++) { + + int i=0; + do { line=[lines objectAtIndex:i]; - - if([GLFileView isStartBlock:line]){ - [res appendString:@"
%@
%d%d
%d
%d%@
"]; - inDiff=TRUE; + if([GLFileView isStartDiff:line]){ NSString *fileName=[self getFileName:line]; - [res appendString:[NSString stringWithFormat:@"
",fileName]]; - [res appendString:[NSString stringWithFormat:@"",fileName]]; - [res appendString:[NSString stringWithFormat:@"

%@

",line]]; - }else if(inDiff){ - [res appendString:[NSString stringWithFormat:@"

%@

",line]]; + [res appendString:[NSString stringWithFormat:@""]; + if([self isBinaryFile:line]){ - [res appendString:@""]; NSArray *files=[self getFilesNames:line]; if(![[files objectAtIndex:0] isAbsolutePath]){ [res appendString:[NSString stringWithFormat:@"",[files objectAtIndex:0]]]; @@ -343,11 +308,50 @@ [res appendString:[NSString stringWithFormat:@"",[files objectAtIndex:1]]]; } } + }else{ + do{ + NSString *header=[line substringFromIndex:3]; + NSRange hr = NSMakeRange(0, [header rangeOfString:@" @@"].location); + header=[header substringWithRange:hr]; + + NSArray *pos=[header componentsSeparatedByString:@" "]; + NSArray *pos_l=[[pos objectAtIndex:0] componentsSeparatedByString:@","]; + NSArray *pos_r=[[pos objectAtIndex:1] componentsSeparatedByString:@","]; + + l_end=l_line=abs([[pos_l objectAtIndex:0]integerValue]); + if ([pos_l count]>1) { + l_end=l_line+[[pos_l objectAtIndex:1]integerValue]; + } + + r_end=r_line=[[pos_r objectAtIndex:0]integerValue]; + if ([pos_r count]>1) { + r_end=r_line+[[pos_r objectAtIndex:1]integerValue]; + } + + [res appendString:[NSString stringWithFormat:@"",line]]; + do{ + line=[lines objectAtIndex:++i]; + NSString *s=[line substringToIndex:1]; + if([s isEqualToString:@" "]){ + [res appendString:[NSString stringWithFormat:@"",l_line++,r_line++]]; + }else if([s isEqualToString:@"-"]){ + [res appendString:[NSString stringWithFormat:@"",l_line++]]; + }else if([s isEqualToString:@"+"]){ + [res appendString:[NSString stringWithFormat:@"",r_line++]]; + } + [res appendString:[NSString stringWithFormat:@"",[line substringFromIndex:1]]]; + }while((l_line
",fileName]]; + do{ + [res appendString:[NSString stringWithFormat:@"

%@

",line]]; + line=[lines objectAtIndex:++i]; + }while([GLFileView isDiffHeader:line]); + [res appendString:@"
"]; + if(![self isBinaryFile:line]){ + [res appendString:[NSString stringWithFormat:@"",fileName]]; + } + [res appendString:@"
%@
%@
%d%d
%d
%d%@
"]; + }else { + i++; } - } - if(inDiff) - [res appendString:@"
"]; + }while(i<[lines count]); + return res; } @@ -396,6 +400,12 @@ return mimeType; } ++(BOOL)isDiffHeader:(NSString*)line +{ + unichar c=[line characterAtIndex:0]; + return (c=='i') || (c=='m') || (c=='n') || (c=='d') || (c=='-') || (c=='+'); +} + +(BOOL)isImage:(NSString*)file { NSString *mimeType=[GLFileView mimeTypeForFileName:file]; From 89c59c6322576752197581203ce9c0ac837eed01 Mon Sep 17 00:00:00 2001 From: German Laullon Date: Sat, 5 Mar 2011 00:28:57 -0800 Subject: [PATCH 12/15] [1] Stage view very slow (solved) --- PBGitSidebarController.m | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/PBGitSidebarController.m b/PBGitSidebarController.m index 7be189d..0d968dc 100644 --- a/PBGitSidebarController.m +++ b/PBGitSidebarController.m @@ -150,8 +150,7 @@ static NSString * const kObservingContextSubmodules = @"submodulesChanged"; [sourceView reloadData]; }else if ([@"updateRefs" isEqualToString:context]) { for(PBGitSVRemoteItem* remote in [remotes children]){ - NSLog(@"remote.title=%@",[remote title]); - [remote setAlert:[self remoteNeedFetch:[remote title]]]; + [self performSelectorInBackground:@selector(evaluateRemoteBadge:) withObject:remote]; } for(PBGitSVBranchItem* branch in [branches children]){ @@ -168,6 +167,12 @@ static NSString * const kObservingContextSubmodules = @"submodulesChanged"; #pragma mark Badges Methods +-(void)evaluateRemoteBadge:(PBGitSVRemoteItem *)remote +{ + NSLog(@"remote.title=%@",[remote title]); + [remote setAlert:[self remoteNeedFetch:[remote title]]]; +} + -(NSNumber *)countCommintsOf:(NSString *)range { NSArray *args = [NSArray arrayWithObjects:@"rev-list", range, nil]; From 57abefe51a788549b5ca9692372143acaa2406a1 Mon Sep 17 00:00:00 2001 From: German Laullon Date: Mon, 7 Mar 2011 14:35:35 -0800 Subject: [PATCH 13/15] [4] branch names with slash --- PBGitSidebarController.m | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/PBGitSidebarController.m b/PBGitSidebarController.m index 0d968dc..eee30ea 100644 --- a/PBGitSidebarController.m +++ b/PBGitSidebarController.m @@ -154,12 +154,13 @@ static NSString * const kObservingContextSubmodules = @"submodulesChanged"; } for(PBGitSVBranchItem* branch in [branches children]){ - NSString *bName=[branch title]; - [branch setAhead:[self countCommintsOf:[NSString stringWithFormat:@"origin/%@..%@",bName,bName]]]; - [branch setBehind:[self countCommintsOf:[NSString stringWithFormat:@"%@..origin/%@",bName,bName]]]; - [branch setIsCheckedOut:[branch.revSpecifier isEqual:[repository headRef]]]; + if([branch isKindOfClass:[PBGitSVBranchItem class]]){ + NSString *bName=[branch title]; + [branch setAhead:[self countCommintsOf:[NSString stringWithFormat:@"origin/%@..%@",bName,bName]]]; + [branch setBehind:[self countCommintsOf:[NSString stringWithFormat:@"%@..origin/%@",bName,bName]]]; + [branch setIsCheckedOut:[branch.revSpecifier isEqual:[repository headRef]]]; + } } - }else{ [super observeValueForKeyPath:keyPath ofObject:object change:change context:context]; } From dbbc7dfafa994fb7673e68965c2e8c8b2c88661f Mon Sep 17 00:00:00 2001 From: German Laullon Date: Tue, 8 Mar 2011 17:40:02 -0800 Subject: [PATCH 14/15] correct parameters --- PBWebHistoryController.m | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/PBWebHistoryController.m b/PBWebHistoryController.m index 75d69ce..f782a30 100644 --- a/PBWebHistoryController.m +++ b/PBWebHistoryController.m @@ -226,7 +226,7 @@ - (void) openFileMerge:(NSString*)file sha:(NSString *)sha { - NSArray *args=[NSArray arrayWithObjects:@"difftool",@"--no-prompt",@"--tool=opendiff",[NSString stringWithFormat:@"%@^",sha],sha,file,nil]; + NSArray *args=[NSArray arrayWithObjects:@"difftool",@"--no-prompt",@"--tool=opendiff",[NSString stringWithFormat:@"%@^",sha],sha,@"--",file,nil]; [historyController.repository handleForArguments:args]; } From 82f69a7ec3d9ab37c2149d475113468cb8f5bdcc Mon Sep 17 00:00:00 2001 From: German Laullon Date: Tue, 8 Mar 2011 17:59:37 -0800 Subject: [PATCH 15/15] minor details --- GLFileView.m | 2 +- PBGitHistoryView.xib | 631 +-------------------------------------- PBGitRepository.h | 1 - PBWebHistoryController.m | 2 +- gitx_askpasswd_main.m | 2 +- 5 files changed, 9 insertions(+), 629 deletions(-) diff --git a/GLFileView.m b/GLFileView.m index 1ff1ded..a35b3bf 100644 --- a/GLFileView.m +++ b/GLFileView.m @@ -125,7 +125,7 @@ } } -#if 1 +#ifdef DEBUG_BUILD NSString *dom=[[[[view mainFrame] DOMDocument] documentElement] outerHTML]; NSString *tmpFile=@"~/tmp/test.html"; [dom writeToFile:[tmpFile stringByExpandingTildeInPath] atomically:true encoding:NSUTF8StringEncoding error:nil]; diff --git a/PBGitHistoryView.xib b/PBGitHistoryView.xib index 105f342..1671ac9 100644 --- a/PBGitHistoryView.xib +++ b/PBGitHistoryView.xib @@ -3,7 +3,7 @@ 1050 10J567 - 788 + 762 1038.35 462.00 @@ -15,8 +15,8 @@ YES - 788 - 788 + 762 + 762 @@ -491,7 +491,7 @@ - d 'de' MMMM 'de' yyyy HH:mm + MMMM d, yyyy h:mm a NO @@ -981,7 +981,7 @@ YES 343014976 - 268698688 + 268698624 LucidaGrande @@ -3034,7 +3034,7 @@ com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin com.apple.WebKitIBPlugin - {{1702, 241}, {955, 434}} + {{256, 24}, {955, 434}} com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin @@ -3100,35 +3100,6 @@ MGScopeBar - - YES - - YES - accessoryView - fileListSplitView - historyController - typeBar - - - YES - - accessoryView - NSView - - - fileListSplitView - NSSplitView - - - historyController - PBGitHistoryController - - - typeBar - MGScopeBar - - - IBProjectSource GLFileView.h @@ -3149,13 +3120,6 @@ contextMenuDelegate id - - contextMenuDelegate - - contextMenuDelegate - id - - IBProjectSource GitXTextFieldCell.h @@ -3168,13 +3132,6 @@ delegate id - - delegate - - delegate - id - - IBProjectSource MGScopeBar/MGScopeBar.h @@ -3229,35 +3186,6 @@ WebView - - YES - - YES - controller - searchController - webController - webView - - - YES - - controller - PBGitHistoryController - - - searchController - PBHistorySearchController - - - webController - PBWebHistoryController - - - webView - WebView - - - IBProjectSource PBCommitList.h @@ -3327,105 +3255,6 @@ 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 - - - YES @@ -3475,115 +3304,6 @@ id - - YES - - YES - allBranchesFilterItem - cherryPickButton - commitController - commitList - fileBrowser - fileView - filesSearchField - historySplitView - localRemoteBranchesFilterItem - mergeButton - rebaseButton - refController - scopeBarView - searchController - searchField - selectedBranchFilterItem - treeController - upperToolbarView - webHistoryController - webView - - - YES - - allBranchesFilterItem - NSButton - - - cherryPickButton - NSButton - - - commitController - NSArrayController - - - commitList - PBCommitList - - - fileBrowser - NSOutlineView - - - fileView - GLFileView - - - filesSearchField - NSSearchField - - - historySplitView - PBCollapsibleSplitView - - - localRemoteBranchesFilterItem - NSButton - - - mergeButton - NSButton - - - rebaseButton - NSButton - - - refController - PBRefController - - - scopeBarView - PBGitGradientBarView - - - searchController - PBHistorySearchController - - - searchField - NSSearchField - - - selectedBranchFilterItem - NSButton - - - treeController - NSTreeController - - - upperToolbarView - PBGitGradientBarView - - - webHistoryController - PBWebHistoryController - - - webView - id - - - IBProjectSource PBGitHistoryController.h @@ -3613,25 +3333,6 @@ PBGitHistoryController - - YES - - YES - contextMenuDelegate - controller - - - YES - - contextMenuDelegate - id - - - controller - PBGitHistoryController - - - IBProjectSource PBGitRevisionCell.h @@ -3655,30 +3356,6 @@ id - - YES - - YES - selectSearchMode: - stepperPressed: - updateSearch: - - - YES - - selectSearchMode: - id - - - stepperPressed: - id - - - updateSearch: - id - - - YES @@ -3700,45 +3377,6 @@ NSSegmentedControl - - YES - - YES - commitController - historyController - numberOfMatchesField - progressIndicator - searchField - stepper - - - YES - - commitController - NSArrayController - - - historyController - PBGitHistoryController - - - numberOfMatchesField - NSTextField - - - progressIndicator - NSProgressIndicator - - - searchField - NSSearchField - - - stepper - NSSegmentedControl - - - IBProjectSource PBHistorySearchController.h @@ -3767,13 +3405,6 @@ controller PBGitHistoryController - - controller - - controller - PBGitHistoryController - - IBProjectSource PBQLOutlineView.h @@ -3821,90 +3452,6 @@ PBRefMenuItem - - YES - - YES - checkout: - cherryPick: - copyPatch: - copySHA: - createBranch: - createTag: - diffWithHEAD: - fetchRemote: - merge: - pullRemote: - pushDefaultRemoteForRef: - pushToRemote: - pushUpdatesToRemote: - rebaseHeadBranch: - showTagInfoSheet: - - - YES - - checkout: - PBRefMenuItem - - - cherryPick: - PBRefMenuItem - - - copyPatch: - PBRefMenuItem - - - copySHA: - PBRefMenuItem - - - createBranch: - PBRefMenuItem - - - createTag: - PBRefMenuItem - - - diffWithHEAD: - PBRefMenuItem - - - fetchRemote: - PBRefMenuItem - - - merge: - PBRefMenuItem - - - pullRemote: - PBRefMenuItem - - - pushDefaultRemoteForRef: - PBRefMenuItem - - - pushToRemote: - PBRefMenuItem - - - pushUpdatesToRemote: - PBRefMenuItem - - - rebaseHeadBranch: - PBRefMenuItem - - - showTagInfoSheet: - PBRefMenuItem - - - YES @@ -3922,35 +3469,6 @@ PBGitHistoryController - - YES - - YES - branchPopUp - commitController - commitList - historyController - - - YES - - branchPopUp - NSPopUpButton - - - commitController - NSArrayController - - - commitList - PBCommitList - - - historyController - PBGitHistoryController - - - IBProjectSource PBRefController.h @@ -3963,13 +3481,6 @@ refish id - - refish - - refish - id - - IBProjectSource PBRefMenuItem.h @@ -3982,13 +3493,6 @@ controller NSArrayController - - controller - - controller - NSArrayController - - IBProjectSource PBUnsortableTableHeader.h @@ -4001,13 +3505,6 @@ refresh: id - - refresh: - - refresh: - id - - IBProjectSource PBViewController.h @@ -4029,25 +3526,6 @@ WebView - - YES - - YES - repository - view - - - YES - - repository - id - - - view - WebView - - - IBProjectSource PBWebController.h @@ -4069,25 +3547,6 @@ PBGitHistoryController - - YES - - YES - contextMenuDelegate - historyController - - - YES - - contextMenuDelegate - id - - - historyController - PBGitHistoryController - - - IBProjectSource PBWebHistoryController.h @@ -4100,13 +3559,6 @@ view WebView - - view - - view - WebView - - IBUserSource @@ -4809,13 +4261,6 @@ view NSView - - view - - view - NSView - - IBFrameworkSource AppKit.framework/Headers/NSViewController.h @@ -4855,70 +4300,6 @@ 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 diff --git a/PBGitRepository.h b/PBGitRepository.h index 63fb753..fe5369d 100644 --- a/PBGitRepository.h +++ b/PBGitRepository.h @@ -145,7 +145,6 @@ static NSString * PBStringFromBranchFilterType(PBGitXBranchFilterType type) { // for the scripting bridge - (void)findInModeScriptCommand:(NSScriptCommand *)command; --(NSNumber *)countCommintsOf:(NSString *)branchs; - (NSMenu *) menu; +(bool)isLocalBranch:(NSString *)branch branchNameInto:(NSString **)name; diff --git a/PBWebHistoryController.m b/PBWebHistoryController.m index f782a30..45ab3c4 100644 --- a/PBWebHistoryController.m +++ b/PBWebHistoryController.m @@ -120,7 +120,7 @@ [[view windowScriptObject] callWebScriptMethod:@"showCommit" withArguments:[NSArray arrayWithObject:html]]; -#if 1 +#ifdef DEBUG_BUILD NSString *dom=[[[[view mainFrame] DOMDocument] documentElement] outerHTML]; NSString *tmpFile=@"~/tmp/test2.html"; [dom writeToFile:[tmpFile stringByExpandingTildeInPath] atomically:true encoding:NSUTF8StringEncoding error:nil]; diff --git a/gitx_askpasswd_main.m b/gitx_askpasswd_main.m index 9c3a44f..b6a63ce 100644 --- a/gitx_askpasswd_main.m +++ b/gitx_askpasswd_main.m @@ -37,7 +37,7 @@ NSButton* rememberCheck; } --(NSPanel*) passwordPanel; +-(NSPanel*)passwordPanel:(NSString *)prompt remember:(BOOL)remember; -(IBAction) doOKButton: (id)sender; -(IBAction) doCancelButton: (id)sender;