├── .gitignore ├── .gitmodules ├── CommitViewer.xcodeproj └── project.pbxproj ├── CommitViewer ├── AppDelegate.h ├── AppDelegate.m ├── Info.plist ├── Prefix.pch ├── en.lproj │ ├── Credits.rtf │ ├── InfoPlist.strings │ └── MainMenu.xib └── main.m └── README.mdown /.gitignore: -------------------------------------------------------------------------------- 1 | # Mac OS X 2 | *.DS_Store 3 | 4 | # Xcode 5 | *.pbxuser 6 | *.mode1v3 7 | *.mode2v3 8 | *.perspectivev3 9 | *.xcuserstate 10 | project.xcworkspace/ 11 | xcuserdata/ 12 | 13 | # Generated files 14 | *.[oa] 15 | 16 | # Backup files 17 | *~.nib 18 | \#*# 19 | -------------------------------------------------------------------------------- /.gitmodules: -------------------------------------------------------------------------------- 1 | [submodule "objective-git"] 2 | path = objective-git 3 | url = git://github.com/libgit2/objective-git.git 4 | -------------------------------------------------------------------------------- /CommitViewer.xcodeproj/project.pbxproj: -------------------------------------------------------------------------------- 1 | // !$*UTF8*$! 2 | { 3 | archiveVersion = 1; 4 | classes = { 5 | }; 6 | objectVersion = 46; 7 | objects = { 8 | 9 | /* Begin PBXBuildFile section */ 10 | EE22C33E14201226002E215F /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = EE22C33D14201226002E215F /* Cocoa.framework */; }; 11 | EE22C34814201226002E215F /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = EE22C34614201226002E215F /* InfoPlist.strings */; }; 12 | EE22C34A14201226002E215F /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = EE22C34914201226002E215F /* main.m */; }; 13 | EE22C34E14201226002E215F /* Credits.rtf in Resources */ = {isa = PBXBuildFile; fileRef = EE22C34C14201226002E215F /* Credits.rtf */; }; 14 | EE22C35114201226002E215F /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = EE22C35014201226002E215F /* AppDelegate.m */; }; 15 | EE22C35414201227002E215F /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = EE22C35214201227002E215F /* MainMenu.xib */; }; 16 | EE22C37B14201862002E215F /* ObjectiveGit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = EE22C36B14201769002E215F /* ObjectiveGit.framework */; }; 17 | EE22C37E1420188E002E215F /* ObjectiveGit.framework in CopyFiles */ = {isa = PBXBuildFile; fileRef = EE22C36B14201769002E215F /* ObjectiveGit.framework */; }; 18 | /* End PBXBuildFile section */ 19 | 20 | /* Begin PBXContainerItemProxy section */ 21 | AD51DD5116A2DCF6002BEEFA /* PBXContainerItemProxy */ = { 22 | isa = PBXContainerItemProxy; 23 | containerPortal = EE22C35B14201769002E215F /* ObjectiveGitFramework.xcodeproj */; 24 | proxyType = 2; 25 | remoteGlobalIDString = 88F05A6B16011E5400B7AD1D; 26 | remoteInfo = ObjectiveGitTests; 27 | }; 28 | EE22C36A14201769002E215F /* PBXContainerItemProxy */ = { 29 | isa = PBXContainerItemProxy; 30 | containerPortal = EE22C35B14201769002E215F /* ObjectiveGitFramework.xcodeproj */; 31 | proxyType = 2; 32 | remoteGlobalIDString = 8DC2EF5B0486A6940098B216; 33 | remoteInfo = ObjectiveGit; 34 | }; 35 | EE22C36E14201769002E215F /* PBXContainerItemProxy */ = { 36 | isa = PBXContainerItemProxy; 37 | containerPortal = EE22C35B14201769002E215F /* ObjectiveGitFramework.xcodeproj */; 38 | proxyType = 2; 39 | remoteGlobalIDString = 04DB4645133AB57600D9C624; 40 | remoteInfo = "ObjectiveGit-iOS"; 41 | }; 42 | EE22C3791420185B002E215F /* PBXContainerItemProxy */ = { 43 | isa = PBXContainerItemProxy; 44 | containerPortal = EE22C35B14201769002E215F /* ObjectiveGitFramework.xcodeproj */; 45 | proxyType = 1; 46 | remoteGlobalIDString = 8DC2EF4F0486A6940098B216; 47 | remoteInfo = ObjectiveGit; 48 | }; 49 | /* End PBXContainerItemProxy section */ 50 | 51 | /* Begin PBXCopyFilesBuildPhase section */ 52 | EE22C37C14201872002E215F /* CopyFiles */ = { 53 | isa = PBXCopyFilesBuildPhase; 54 | buildActionMask = 2147483647; 55 | dstPath = ""; 56 | dstSubfolderSpec = 10; 57 | files = ( 58 | EE22C37E1420188E002E215F /* ObjectiveGit.framework in CopyFiles */, 59 | ); 60 | runOnlyForDeploymentPostprocessing = 0; 61 | }; 62 | /* End PBXCopyFilesBuildPhase section */ 63 | 64 | /* Begin PBXFileReference section */ 65 | EE22C33914201226002E215F /* CommitViewer.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = CommitViewer.app; sourceTree = BUILT_PRODUCTS_DIR; }; 66 | EE22C33D14201226002E215F /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = System/Library/Frameworks/Cocoa.framework; sourceTree = SDKROOT; }; 67 | EE22C34014201226002E215F /* AppKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppKit.framework; path = System/Library/Frameworks/AppKit.framework; sourceTree = SDKROOT; }; 68 | EE22C34114201226002E215F /* CoreData.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreData.framework; path = System/Library/Frameworks/CoreData.framework; sourceTree = SDKROOT; }; 69 | EE22C34214201226002E215F /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; }; 70 | EE22C34514201226002E215F /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; 71 | EE22C34714201226002E215F /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = ""; }; 72 | EE22C34914201226002E215F /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = ""; }; 73 | EE22C34B14201226002E215F /* Prefix.pch */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = Prefix.pch; sourceTree = ""; }; 74 | EE22C34D14201226002E215F /* en */ = {isa = PBXFileReference; lastKnownFileType = text.rtf; name = en; path = en.lproj/Credits.rtf; sourceTree = ""; }; 75 | EE22C35014201226002E215F /* AppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = ""; }; 76 | EE22C35314201227002E215F /* en */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = en; path = en.lproj/MainMenu.xib; sourceTree = ""; }; 77 | EE22C35A14201343002E215F /* AppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = ""; }; 78 | EE22C35B14201769002E215F /* ObjectiveGitFramework.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = ObjectiveGitFramework.xcodeproj; path = "objective-git/ObjectiveGitFramework.xcodeproj"; sourceTree = ""; }; 79 | /* End PBXFileReference section */ 80 | 81 | /* Begin PBXFrameworksBuildPhase section */ 82 | EE22C33614201226002E215F /* Frameworks */ = { 83 | isa = PBXFrameworksBuildPhase; 84 | buildActionMask = 2147483647; 85 | files = ( 86 | EE22C37B14201862002E215F /* ObjectiveGit.framework in Frameworks */, 87 | EE22C33E14201226002E215F /* Cocoa.framework in Frameworks */, 88 | ); 89 | runOnlyForDeploymentPostprocessing = 0; 90 | }; 91 | /* End PBXFrameworksBuildPhase section */ 92 | 93 | /* Begin PBXGroup section */ 94 | EE22C32E14201226002E215F = { 95 | isa = PBXGroup; 96 | children = ( 97 | EE22C35B14201769002E215F /* ObjectiveGitFramework.xcodeproj */, 98 | EE22C34314201226002E215F /* CommitViewer */, 99 | EE22C33C14201226002E215F /* Frameworks */, 100 | EE22C33A14201226002E215F /* Products */, 101 | ); 102 | sourceTree = ""; 103 | }; 104 | EE22C33A14201226002E215F /* Products */ = { 105 | isa = PBXGroup; 106 | children = ( 107 | EE22C33914201226002E215F /* CommitViewer.app */, 108 | ); 109 | name = Products; 110 | sourceTree = ""; 111 | }; 112 | EE22C33C14201226002E215F /* Frameworks */ = { 113 | isa = PBXGroup; 114 | children = ( 115 | EE22C33D14201226002E215F /* Cocoa.framework */, 116 | EE22C33F14201226002E215F /* Other Frameworks */, 117 | ); 118 | name = Frameworks; 119 | sourceTree = ""; 120 | }; 121 | EE22C33F14201226002E215F /* Other Frameworks */ = { 122 | isa = PBXGroup; 123 | children = ( 124 | EE22C34014201226002E215F /* AppKit.framework */, 125 | EE22C34114201226002E215F /* CoreData.framework */, 126 | EE22C34214201226002E215F /* Foundation.framework */, 127 | ); 128 | name = "Other Frameworks"; 129 | sourceTree = ""; 130 | }; 131 | EE22C34314201226002E215F /* CommitViewer */ = { 132 | isa = PBXGroup; 133 | children = ( 134 | EE22C35A14201343002E215F /* AppDelegate.h */, 135 | EE22C35014201226002E215F /* AppDelegate.m */, 136 | EE22C35214201227002E215F /* MainMenu.xib */, 137 | EE22C34414201226002E215F /* Supporting Files */, 138 | ); 139 | path = CommitViewer; 140 | sourceTree = ""; 141 | }; 142 | EE22C34414201226002E215F /* Supporting Files */ = { 143 | isa = PBXGroup; 144 | children = ( 145 | EE22C34514201226002E215F /* Info.plist */, 146 | EE22C34614201226002E215F /* InfoPlist.strings */, 147 | EE22C34914201226002E215F /* main.m */, 148 | EE22C34B14201226002E215F /* Prefix.pch */, 149 | EE22C34C14201226002E215F /* Credits.rtf */, 150 | ); 151 | name = "Supporting Files"; 152 | sourceTree = ""; 153 | }; 154 | EE22C35C14201769002E215F /* Products */ = { 155 | isa = PBXGroup; 156 | children = ( 157 | EE22C36B14201769002E215F /* ObjectiveGit.framework */, 158 | EE22C36F14201769002E215F /* libObjectiveGit-iOS.a */, 159 | AD51DD5216A2DCF6002BEEFA /* ObjectiveGitTests.octest */, 160 | ); 161 | name = Products; 162 | sourceTree = ""; 163 | }; 164 | /* End PBXGroup section */ 165 | 166 | /* Begin PBXNativeTarget section */ 167 | EE22C33814201226002E215F /* CommitViewer */ = { 168 | isa = PBXNativeTarget; 169 | buildConfigurationList = EE22C35714201227002E215F /* Build configuration list for PBXNativeTarget "CommitViewer" */; 170 | buildPhases = ( 171 | EE22C33514201226002E215F /* Sources */, 172 | EE22C33614201226002E215F /* Frameworks */, 173 | EE22C33714201226002E215F /* Resources */, 174 | EE22C37C14201872002E215F /* CopyFiles */, 175 | ); 176 | buildRules = ( 177 | ); 178 | dependencies = ( 179 | EE22C37A1420185B002E215F /* PBXTargetDependency */, 180 | ); 181 | name = CommitViewer; 182 | productName = CommitViewer; 183 | productReference = EE22C33914201226002E215F /* CommitViewer.app */; 184 | productType = "com.apple.product-type.application"; 185 | }; 186 | /* End PBXNativeTarget section */ 187 | 188 | /* Begin PBXProject section */ 189 | EE22C33014201226002E215F /* Project object */ = { 190 | isa = PBXProject; 191 | attributes = { 192 | LastUpgradeCheck = 0450; 193 | ORGANIZATIONNAME = "Jungle Candy Software"; 194 | }; 195 | buildConfigurationList = EE22C33314201226002E215F /* Build configuration list for PBXProject "CommitViewer" */; 196 | compatibilityVersion = "Xcode 3.2"; 197 | developmentRegion = English; 198 | hasScannedForEncodings = 0; 199 | knownRegions = ( 200 | en, 201 | ); 202 | mainGroup = EE22C32E14201226002E215F; 203 | productRefGroup = EE22C33A14201226002E215F /* Products */; 204 | projectDirPath = ""; 205 | projectReferences = ( 206 | { 207 | ProductGroup = EE22C35C14201769002E215F /* Products */; 208 | ProjectRef = EE22C35B14201769002E215F /* ObjectiveGitFramework.xcodeproj */; 209 | }, 210 | ); 211 | projectRoot = ""; 212 | targets = ( 213 | EE22C33814201226002E215F /* CommitViewer */, 214 | ); 215 | }; 216 | /* End PBXProject section */ 217 | 218 | /* Begin PBXReferenceProxy section */ 219 | AD51DD5216A2DCF6002BEEFA /* ObjectiveGitTests.octest */ = { 220 | isa = PBXReferenceProxy; 221 | fileType = wrapper.cfbundle; 222 | path = ObjectiveGitTests.octest; 223 | remoteRef = AD51DD5116A2DCF6002BEEFA /* PBXContainerItemProxy */; 224 | sourceTree = BUILT_PRODUCTS_DIR; 225 | }; 226 | EE22C36B14201769002E215F /* ObjectiveGit.framework */ = { 227 | isa = PBXReferenceProxy; 228 | fileType = wrapper.framework; 229 | path = ObjectiveGit.framework; 230 | remoteRef = EE22C36A14201769002E215F /* PBXContainerItemProxy */; 231 | sourceTree = BUILT_PRODUCTS_DIR; 232 | }; 233 | EE22C36F14201769002E215F /* libObjectiveGit-iOS.a */ = { 234 | isa = PBXReferenceProxy; 235 | fileType = archive.ar; 236 | path = "libObjectiveGit-iOS.a"; 237 | remoteRef = EE22C36E14201769002E215F /* PBXContainerItemProxy */; 238 | sourceTree = BUILT_PRODUCTS_DIR; 239 | }; 240 | /* End PBXReferenceProxy section */ 241 | 242 | /* Begin PBXResourcesBuildPhase section */ 243 | EE22C33714201226002E215F /* Resources */ = { 244 | isa = PBXResourcesBuildPhase; 245 | buildActionMask = 2147483647; 246 | files = ( 247 | EE22C34814201226002E215F /* InfoPlist.strings in Resources */, 248 | EE22C34E14201226002E215F /* Credits.rtf in Resources */, 249 | EE22C35414201227002E215F /* MainMenu.xib in Resources */, 250 | ); 251 | runOnlyForDeploymentPostprocessing = 0; 252 | }; 253 | /* End PBXResourcesBuildPhase section */ 254 | 255 | /* Begin PBXSourcesBuildPhase section */ 256 | EE22C33514201226002E215F /* Sources */ = { 257 | isa = PBXSourcesBuildPhase; 258 | buildActionMask = 2147483647; 259 | files = ( 260 | EE22C34A14201226002E215F /* main.m in Sources */, 261 | EE22C35114201226002E215F /* AppDelegate.m in Sources */, 262 | ); 263 | runOnlyForDeploymentPostprocessing = 0; 264 | }; 265 | /* End PBXSourcesBuildPhase section */ 266 | 267 | /* Begin PBXTargetDependency section */ 268 | EE22C37A1420185B002E215F /* PBXTargetDependency */ = { 269 | isa = PBXTargetDependency; 270 | name = ObjectiveGit; 271 | targetProxy = EE22C3791420185B002E215F /* PBXContainerItemProxy */; 272 | }; 273 | /* End PBXTargetDependency section */ 274 | 275 | /* Begin PBXVariantGroup section */ 276 | EE22C34614201226002E215F /* InfoPlist.strings */ = { 277 | isa = PBXVariantGroup; 278 | children = ( 279 | EE22C34714201226002E215F /* en */, 280 | ); 281 | name = InfoPlist.strings; 282 | sourceTree = ""; 283 | }; 284 | EE22C34C14201226002E215F /* Credits.rtf */ = { 285 | isa = PBXVariantGroup; 286 | children = ( 287 | EE22C34D14201226002E215F /* en */, 288 | ); 289 | name = Credits.rtf; 290 | sourceTree = ""; 291 | }; 292 | EE22C35214201227002E215F /* MainMenu.xib */ = { 293 | isa = PBXVariantGroup; 294 | children = ( 295 | EE22C35314201227002E215F /* en */, 296 | ); 297 | name = MainMenu.xib; 298 | sourceTree = ""; 299 | }; 300 | /* End PBXVariantGroup section */ 301 | 302 | /* Begin XCBuildConfiguration section */ 303 | EE22C35514201227002E215F /* Debug */ = { 304 | isa = XCBuildConfiguration; 305 | buildSettings = { 306 | ALWAYS_SEARCH_USER_PATHS = NO; 307 | ARCHS = "$(ARCHS_STANDARD_64_BIT)"; 308 | COPY_PHASE_STRIP = NO; 309 | GCC_C_LANGUAGE_STANDARD = gnu99; 310 | GCC_DYNAMIC_NO_PIC = NO; 311 | GCC_ENABLE_OBJC_EXCEPTIONS = YES; 312 | GCC_ENABLE_OBJC_GC = unsupported; 313 | GCC_OPTIMIZATION_LEVEL = 0; 314 | GCC_PREPROCESSOR_DEFINITIONS = ( 315 | "DEBUG=1", 316 | "$(inherited)", 317 | ); 318 | GCC_SYMBOLS_PRIVATE_EXTERN = NO; 319 | GCC_VERSION = com.apple.compilers.llvm.clang.1_0; 320 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES; 321 | GCC_WARN_ABOUT_MISSING_PROTOTYPES = YES; 322 | GCC_WARN_ABOUT_RETURN_TYPE = YES; 323 | GCC_WARN_UNUSED_VARIABLE = YES; 324 | MACOSX_DEPLOYMENT_TARGET = 10.7; 325 | ONLY_ACTIVE_ARCH = YES; 326 | RUN_CLANG_STATIC_ANALYZER = YES; 327 | SDKROOT = macosx; 328 | }; 329 | name = Debug; 330 | }; 331 | EE22C35614201227002E215F /* Release */ = { 332 | isa = XCBuildConfiguration; 333 | buildSettings = { 334 | ALWAYS_SEARCH_USER_PATHS = NO; 335 | ARCHS = "$(ARCHS_STANDARD_64_BIT)"; 336 | COPY_PHASE_STRIP = YES; 337 | DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; 338 | GCC_C_LANGUAGE_STANDARD = gnu99; 339 | GCC_ENABLE_OBJC_EXCEPTIONS = YES; 340 | GCC_ENABLE_OBJC_GC = unsupported; 341 | GCC_VERSION = com.apple.compilers.llvm.clang.1_0; 342 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES; 343 | GCC_WARN_ABOUT_MISSING_PROTOTYPES = YES; 344 | GCC_WARN_ABOUT_RETURN_TYPE = YES; 345 | GCC_WARN_UNUSED_VARIABLE = YES; 346 | MACOSX_DEPLOYMENT_TARGET = 10.7; 347 | RUN_CLANG_STATIC_ANALYZER = YES; 348 | SDKROOT = macosx; 349 | }; 350 | name = Release; 351 | }; 352 | EE22C35814201227002E215F /* Debug */ = { 353 | isa = XCBuildConfiguration; 354 | buildSettings = { 355 | COMBINE_HIDPI_IMAGES = YES; 356 | GCC_PRECOMPILE_PREFIX_HEADER = YES; 357 | GCC_PREFIX_HEADER = CommitViewer/Prefix.pch; 358 | INFOPLIST_FILE = CommitViewer/Info.plist; 359 | PRODUCT_NAME = "$(TARGET_NAME)"; 360 | WRAPPER_EXTENSION = app; 361 | }; 362 | name = Debug; 363 | }; 364 | EE22C35914201227002E215F /* Release */ = { 365 | isa = XCBuildConfiguration; 366 | buildSettings = { 367 | COMBINE_HIDPI_IMAGES = YES; 368 | GCC_PRECOMPILE_PREFIX_HEADER = YES; 369 | GCC_PREFIX_HEADER = CommitViewer/Prefix.pch; 370 | INFOPLIST_FILE = CommitViewer/Info.plist; 371 | PRODUCT_NAME = "$(TARGET_NAME)"; 372 | WRAPPER_EXTENSION = app; 373 | }; 374 | name = Release; 375 | }; 376 | /* End XCBuildConfiguration section */ 377 | 378 | /* Begin XCConfigurationList section */ 379 | EE22C33314201226002E215F /* Build configuration list for PBXProject "CommitViewer" */ = { 380 | isa = XCConfigurationList; 381 | buildConfigurations = ( 382 | EE22C35514201227002E215F /* Debug */, 383 | EE22C35614201227002E215F /* Release */, 384 | ); 385 | defaultConfigurationIsVisible = 0; 386 | defaultConfigurationName = Release; 387 | }; 388 | EE22C35714201227002E215F /* Build configuration list for PBXNativeTarget "CommitViewer" */ = { 389 | isa = XCConfigurationList; 390 | buildConfigurations = ( 391 | EE22C35814201227002E215F /* Debug */, 392 | EE22C35914201227002E215F /* Release */, 393 | ); 394 | defaultConfigurationIsVisible = 0; 395 | defaultConfigurationName = Release; 396 | }; 397 | /* End XCConfigurationList section */ 398 | }; 399 | rootObject = EE22C33014201226002E215F /* Project object */; 400 | } 401 | -------------------------------------------------------------------------------- /CommitViewer/AppDelegate.h: -------------------------------------------------------------------------------- 1 | // 2 | // CommitViewerAppDelegate.h 3 | // CommitViewer 4 | // 5 | // Created by Abizer Nasir on 13/09/2011. 6 | // Copyright 2011 Jungle Candy Software. All rights reserved. 7 | // 8 | 9 | #import 10 | @class GTCommit; 11 | 12 | @interface AppDelegate : NSObject { 13 | NSWindow *window; 14 | } 15 | 16 | @property (assign) IBOutlet NSWindow *window; 17 | @property (nonatomic, readonly) NSString *messageTitle; 18 | @property (nonatomic, readonly) NSString *messageDetails; 19 | @property (nonatomic, readonly) NSString *author; 20 | @property (nonatomic, readonly) NSDate *date; 21 | 22 | 23 | - (IBAction)openNewRepository:(id)sender; 24 | 25 | @end 26 | -------------------------------------------------------------------------------- /CommitViewer/AppDelegate.m: -------------------------------------------------------------------------------- 1 | // 2 | // CommitViewerAppDelegate.m 3 | // CommitViewer 4 | // 5 | // Created by Abizer Nasir on 13/09/2011. 6 | // Copyright 2011 Jungle Candy Software. All rights reserved. 7 | // 8 | 9 | #import "AppDelegate.h" 10 | #import 11 | 12 | @interface AppDelegate () 13 | 14 | @property (nonatomic, retain) GTCommit *commit; 15 | 16 | - (NSURL *)repositoryURLForURL:(NSURL *)url; 17 | 18 | @end 19 | 20 | @implementation AppDelegate 21 | 22 | @synthesize window; 23 | @synthesize commit; 24 | 25 | + (NSSet *)keyPathsForValuesAffectingValueForKey:(NSString *)key { 26 | NSSet *keySet = [NSSet setWithObjects:@"commit", nil]; 27 | if ([key isEqualToString:@"messageTitle"] || [key isEqualToString:@"messageDetails"] || [key isEqualToString:@"author"] || [key isEqualToString:@"date"]) { 28 | return keySet; 29 | } 30 | return [super keyPathsForValuesAffectingValueForKey:key]; 31 | } 32 | 33 | - (void)applicationDidFinishLaunching:(NSNotification *)aNotification { 34 | // Insert code here to initialize your application 35 | } 36 | 37 | #pragma mark - non-synthesised accessors 38 | // Annoying that I have to do this - I'll have to change GTCommit to use properties at some later stage. 39 | 40 | - (NSString *)messageTitle { 41 | return [self.commit message]; 42 | } 43 | 44 | - (NSString *)messageDetails { 45 | return [self.commit messageDetails]; 46 | } 47 | 48 | - (NSString *)author { 49 | return [self.commit author].name; 50 | } 51 | 52 | - (NSDate *)date { 53 | return [self.commit commitDate]; 54 | } 55 | 56 | - (IBAction)openNewRepository:(id)sender { 57 | NSOpenPanel *panel = [NSOpenPanel openPanel]; 58 | panel.delegate = self; 59 | panel.canChooseDirectories = YES; 60 | panel.showsHiddenFiles = YES; 61 | 62 | [panel beginSheetModalForWindow:self.window completionHandler:^(NSInteger result) { 63 | if (result == NSFileHandlingPanelCancelButton) { 64 | return; 65 | } 66 | // I should do more error checking but thsi is only an example project ;) 67 | GTRepository *repo = [GTRepository repositoryWithURL:[self repositoryURLForURL:panel.URL] error:NULL]; 68 | GTReference *head = [repo headReferenceWithError:NULL]; 69 | self.commit = (GTCommit *)[repo lookupObjectBySha:[head target] error:NULL]; 70 | 71 | }]; 72 | 73 | } 74 | 75 | #pragma mark - OpenSavePanel Delegate methods 76 | 77 | - (BOOL)panel:(id)sender shouldEnableURL:(NSURL *)url { 78 | // Should do more here to enable and disable items - but I'm lazy. 79 | return YES; 80 | } 81 | 82 | - (BOOL)panel:(NSOpenPanel *)sender validateURL:(NSURL *)url error:(NSError **)outError { 83 | if (!([self repositoryURLForURL:url])) { 84 | return NO; 85 | } 86 | 87 | return YES; 88 | } 89 | 90 | #pragma mark - class extension 91 | 92 | - (NSURL *)repositoryURLForURL:(NSURL *)url { 93 | // returns the repository URL or nil if it can't be made. 94 | // If the URL is a file, it should have the extension '.git' - bare repository 95 | // If the URL is a folder it should have the name '.git' 96 | // If the URL is a folder, then it should contain a subfolder called '.git 97 | NSString *kGit = @".git"; 98 | NSString *endPoint = [url lastPathComponent]; 99 | 100 | if ([[endPoint lowercaseString] hasSuffix:kGit]) { 101 | return url; 102 | } 103 | 104 | if ([endPoint isEqualToString:kGit]) { 105 | return url; 106 | } 107 | 108 | NSURL *possibleGitDir = [url URLByAppendingPathComponent:kGit isDirectory:YES]; 109 | if ([possibleGitDir checkResourceIsReachableAndReturnError:NULL]) { 110 | return possibleGitDir; 111 | } 112 | 113 | NSLog(@"Not a valid path"); 114 | return nil; 115 | 116 | 117 | } 118 | 119 | @end 120 | -------------------------------------------------------------------------------- /CommitViewer/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | ${EXECUTABLE_NAME} 9 | CFBundleIconFile 10 | 11 | CFBundleIdentifier 12 | org.abizern.${PRODUCT_NAME:rfc1034identifier} 13 | CFBundleInfoDictionaryVersion 14 | 6.0 15 | CFBundleName 16 | ${PRODUCT_NAME} 17 | CFBundlePackageType 18 | APPL 19 | CFBundleShortVersionString 20 | 1.0 21 | CFBundleSignature 22 | ???? 23 | CFBundleVersion 24 | 1 25 | LSMinimumSystemVersion 26 | ${MACOSX_DEPLOYMENT_TARGET} 27 | NSHumanReadableCopyright 28 | Copyright © 2011 Jungle Candy Software. All rights reserved. 29 | NSMainNibFile 30 | MainMenu 31 | NSPrincipalClass 32 | NSApplication 33 | 34 | 35 | -------------------------------------------------------------------------------- /CommitViewer/Prefix.pch: -------------------------------------------------------------------------------- 1 | // 2 | // Prefix header for all source files of the 'CommitViewer' target in the 'CommitViewer' project 3 | // 4 | 5 | #ifdef __OBJC__ 6 | #import 7 | #endif 8 | -------------------------------------------------------------------------------- /CommitViewer/en.lproj/Credits.rtf: -------------------------------------------------------------------------------- 1 | {\rtf0\ansi{\fonttbl\f0\fswiss Helvetica;} 2 | {\colortbl;\red255\green255\blue255;} 3 | \paperw9840\paperh8400 4 | \pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural 5 | 6 | \f0\b\fs24 \cf0 Engineering: 7 | \b0 \ 8 | Some people\ 9 | \ 10 | 11 | \b Human Interface Design: 12 | \b0 \ 13 | Some other people\ 14 | \ 15 | 16 | \b Testing: 17 | \b0 \ 18 | Hopefully not nobody\ 19 | \ 20 | 21 | \b Documentation: 22 | \b0 \ 23 | Whoever\ 24 | \ 25 | 26 | \b With special thanks to: 27 | \b0 \ 28 | Mom\ 29 | } 30 | -------------------------------------------------------------------------------- /CommitViewer/en.lproj/InfoPlist.strings: -------------------------------------------------------------------------------- 1 | /* Localized versions of Info.plist keys */ 2 | 3 | -------------------------------------------------------------------------------- /CommitViewer/en.lproj/MainMenu.xib: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 1080 5 | 12C60 6 | 2844 7 | 1187.34 8 | 625.00 9 | 10 | com.apple.InterfaceBuilder.CocoaPlugin 11 | 2844 12 | 13 | 14 | YES 15 | NSButton 16 | NSButtonCell 17 | NSCustomObject 18 | NSDateFormatter 19 | NSMenu 20 | NSMenuItem 21 | NSTextField 22 | NSTextFieldCell 23 | NSUserDefaultsController 24 | NSView 25 | NSWindowTemplate 26 | 27 | 28 | YES 29 | com.apple.InterfaceBuilder.CocoaPlugin 30 | 31 | 32 | PluginDependencyRecalculationVersion 33 | 34 | 35 | 36 | YES 37 | 38 | NSApplication 39 | 40 | 41 | FirstResponder 42 | 43 | 44 | NSApplication 45 | 46 | 47 | AMainMenu 48 | 49 | YES 50 | 51 | 52 | CommitViewer 53 | 54 | 1048576 55 | 2147483647 56 | 57 | NSImage 58 | NSMenuCheckmark 59 | 60 | 61 | NSImage 62 | NSMenuMixedState 63 | 64 | submenuAction: 65 | 66 | CommitViewer 67 | 68 | YES 69 | 70 | 71 | About CommitViewer 72 | 73 | 2147483647 74 | 75 | 76 | 77 | 78 | 79 | YES 80 | YES 81 | 82 | 83 | 1048576 84 | 2147483647 85 | 86 | 87 | 88 | 89 | 90 | Preferences… 91 | , 92 | 1048576 93 | 2147483647 94 | 95 | 96 | 97 | 98 | 99 | YES 100 | YES 101 | 102 | 103 | 1048576 104 | 2147483647 105 | 106 | 107 | 108 | 109 | 110 | Services 111 | 112 | 1048576 113 | 2147483647 114 | 115 | 116 | submenuAction: 117 | 118 | Services 119 | 120 | YES 121 | 122 | _NSServicesMenu 123 | 124 | 125 | 126 | 127 | YES 128 | YES 129 | 130 | 131 | 1048576 132 | 2147483647 133 | 134 | 135 | 136 | 137 | 138 | Hide CommitViewer 139 | h 140 | 1048576 141 | 2147483647 142 | 143 | 144 | 145 | 146 | 147 | Hide Others 148 | h 149 | 1572864 150 | 2147483647 151 | 152 | 153 | 154 | 155 | 156 | Show All 157 | 158 | 1048576 159 | 2147483647 160 | 161 | 162 | 163 | 164 | 165 | YES 166 | YES 167 | 168 | 169 | 1048576 170 | 2147483647 171 | 172 | 173 | 174 | 175 | 176 | Quit CommitViewer 177 | q 178 | 1048576 179 | 2147483647 180 | 181 | 182 | 183 | 184 | _NSAppleMenu 185 | 186 | 187 | 188 | 189 | File 190 | 191 | 1048576 192 | 2147483647 193 | 194 | 195 | submenuAction: 196 | 197 | File 198 | 199 | YES 200 | 201 | 202 | New 203 | n 204 | 1048576 205 | 2147483647 206 | 207 | 208 | 209 | 210 | 211 | Open… 212 | o 213 | 1048576 214 | 2147483647 215 | 216 | 217 | 218 | 219 | 220 | Open Recent 221 | 222 | 1048576 223 | 2147483647 224 | 225 | 226 | submenuAction: 227 | 228 | Open Recent 229 | 230 | YES 231 | 232 | 233 | Clear Menu 234 | 235 | 1048576 236 | 2147483647 237 | 238 | 239 | 240 | 241 | _NSRecentDocumentsMenu 242 | 243 | 244 | 245 | 246 | YES 247 | YES 248 | 249 | 250 | 1048576 251 | 2147483647 252 | 253 | 254 | 255 | 256 | 257 | Close 258 | w 259 | 1048576 260 | 2147483647 261 | 262 | 263 | 264 | 265 | 266 | Save… 267 | s 268 | 1048576 269 | 2147483647 270 | 271 | 272 | 273 | 274 | 275 | Revert to Saved 276 | 277 | 2147483647 278 | 279 | 280 | 281 | 282 | 283 | YES 284 | YES 285 | 286 | 287 | 1048576 288 | 2147483647 289 | 290 | 291 | 292 | 293 | 294 | Page Setup... 295 | P 296 | 1179648 297 | 2147483647 298 | 299 | 300 | 301 | 302 | 303 | 304 | Print… 305 | p 306 | 1048576 307 | 2147483647 308 | 309 | 310 | 311 | 312 | 313 | 314 | 315 | 316 | Edit 317 | 318 | 1048576 319 | 2147483647 320 | 321 | 322 | submenuAction: 323 | 324 | Edit 325 | 326 | YES 327 | 328 | 329 | Undo 330 | z 331 | 1048576 332 | 2147483647 333 | 334 | 335 | 336 | 337 | 338 | Redo 339 | Z 340 | 1179648 341 | 2147483647 342 | 343 | 344 | 345 | 346 | 347 | YES 348 | YES 349 | 350 | 351 | 1048576 352 | 2147483647 353 | 354 | 355 | 356 | 357 | 358 | Cut 359 | x 360 | 1048576 361 | 2147483647 362 | 363 | 364 | 365 | 366 | 367 | Copy 368 | c 369 | 1048576 370 | 2147483647 371 | 372 | 373 | 374 | 375 | 376 | Paste 377 | v 378 | 1048576 379 | 2147483647 380 | 381 | 382 | 383 | 384 | 385 | Paste and Match Style 386 | V 387 | 1572864 388 | 2147483647 389 | 390 | 391 | 392 | 393 | 394 | Delete 395 | 396 | 1048576 397 | 2147483647 398 | 399 | 400 | 401 | 402 | 403 | Select All 404 | a 405 | 1048576 406 | 2147483647 407 | 408 | 409 | 410 | 411 | 412 | YES 413 | YES 414 | 415 | 416 | 1048576 417 | 2147483647 418 | 419 | 420 | 421 | 422 | 423 | Find 424 | 425 | 1048576 426 | 2147483647 427 | 428 | 429 | submenuAction: 430 | 431 | Find 432 | 433 | YES 434 | 435 | 436 | Find… 437 | f 438 | 1048576 439 | 2147483647 440 | 441 | 442 | 1 443 | 444 | 445 | 446 | Find and Replace… 447 | f 448 | 1572864 449 | 2147483647 450 | 451 | 452 | 12 453 | 454 | 455 | 456 | Find Next 457 | g 458 | 1048576 459 | 2147483647 460 | 461 | 462 | 2 463 | 464 | 465 | 466 | Find Previous 467 | G 468 | 1179648 469 | 2147483647 470 | 471 | 472 | 3 473 | 474 | 475 | 476 | Use Selection for Find 477 | e 478 | 1048576 479 | 2147483647 480 | 481 | 482 | 7 483 | 484 | 485 | 486 | Jump to Selection 487 | j 488 | 1048576 489 | 2147483647 490 | 491 | 492 | 493 | 494 | 495 | 496 | 497 | 498 | Spelling and Grammar 499 | 500 | 1048576 501 | 2147483647 502 | 503 | 504 | submenuAction: 505 | 506 | Spelling and Grammar 507 | 508 | YES 509 | 510 | 511 | Show Spelling and Grammar 512 | : 513 | 1048576 514 | 2147483647 515 | 516 | 517 | 518 | 519 | 520 | Check Document Now 521 | ; 522 | 1048576 523 | 2147483647 524 | 525 | 526 | 527 | 528 | 529 | YES 530 | YES 531 | 532 | 533 | 2147483647 534 | 535 | 536 | 537 | 538 | 539 | Check Spelling While Typing 540 | 541 | 1048576 542 | 2147483647 543 | 544 | 545 | 546 | 547 | 548 | Check Grammar With Spelling 549 | 550 | 1048576 551 | 2147483647 552 | 553 | 554 | 555 | 556 | 557 | Correct Spelling Automatically 558 | 559 | 2147483647 560 | 561 | 562 | 563 | 564 | 565 | 566 | 567 | 568 | Substitutions 569 | 570 | 1048576 571 | 2147483647 572 | 573 | 574 | submenuAction: 575 | 576 | Substitutions 577 | 578 | YES 579 | 580 | 581 | Show Substitutions 582 | 583 | 2147483647 584 | 585 | 586 | 587 | 588 | 589 | YES 590 | YES 591 | 592 | 593 | 2147483647 594 | 595 | 596 | 597 | 598 | 599 | Smart Copy/Paste 600 | f 601 | 1048576 602 | 2147483647 603 | 604 | 605 | 1 606 | 607 | 608 | 609 | Smart Quotes 610 | g 611 | 1048576 612 | 2147483647 613 | 614 | 615 | 2 616 | 617 | 618 | 619 | Smart Dashes 620 | 621 | 2147483647 622 | 623 | 624 | 625 | 626 | 627 | Smart Links 628 | G 629 | 1179648 630 | 2147483647 631 | 632 | 633 | 3 634 | 635 | 636 | 637 | Text Replacement 638 | 639 | 2147483647 640 | 641 | 642 | 643 | 644 | 645 | 646 | 647 | 648 | Transformations 649 | 650 | 2147483647 651 | 652 | 653 | submenuAction: 654 | 655 | Transformations 656 | 657 | YES 658 | 659 | 660 | Make Upper Case 661 | 662 | 2147483647 663 | 664 | 665 | 666 | 667 | 668 | Make Lower Case 669 | 670 | 2147483647 671 | 672 | 673 | 674 | 675 | 676 | Capitalize 677 | 678 | 2147483647 679 | 680 | 681 | 682 | 683 | 684 | 685 | 686 | 687 | Speech 688 | 689 | 1048576 690 | 2147483647 691 | 692 | 693 | submenuAction: 694 | 695 | Speech 696 | 697 | YES 698 | 699 | 700 | Start Speaking 701 | 702 | 1048576 703 | 2147483647 704 | 705 | 706 | 707 | 708 | 709 | Stop Speaking 710 | 711 | 1048576 712 | 2147483647 713 | 714 | 715 | 716 | 717 | 718 | 719 | 720 | 721 | 722 | 723 | 724 | Format 725 | 726 | 2147483647 727 | 728 | 729 | submenuAction: 730 | 731 | Format 732 | 733 | YES 734 | 735 | 736 | Font 737 | 738 | 2147483647 739 | 740 | 741 | submenuAction: 742 | 743 | Font 744 | 745 | YES 746 | 747 | 748 | Show Fonts 749 | t 750 | 1048576 751 | 2147483647 752 | 753 | 754 | 755 | 756 | 757 | Bold 758 | b 759 | 1048576 760 | 2147483647 761 | 762 | 763 | 2 764 | 765 | 766 | 767 | Italic 768 | i 769 | 1048576 770 | 2147483647 771 | 772 | 773 | 1 774 | 775 | 776 | 777 | Underline 778 | u 779 | 1048576 780 | 2147483647 781 | 782 | 783 | 784 | 785 | 786 | YES 787 | YES 788 | 789 | 790 | 2147483647 791 | 792 | 793 | 794 | 795 | 796 | Bigger 797 | + 798 | 1048576 799 | 2147483647 800 | 801 | 802 | 3 803 | 804 | 805 | 806 | Smaller 807 | - 808 | 1048576 809 | 2147483647 810 | 811 | 812 | 4 813 | 814 | 815 | 816 | YES 817 | YES 818 | 819 | 820 | 2147483647 821 | 822 | 823 | 824 | 825 | 826 | Kern 827 | 828 | 2147483647 829 | 830 | 831 | submenuAction: 832 | 833 | Kern 834 | 835 | YES 836 | 837 | 838 | Use Default 839 | 840 | 2147483647 841 | 842 | 843 | 844 | 845 | 846 | Use None 847 | 848 | 2147483647 849 | 850 | 851 | 852 | 853 | 854 | Tighten 855 | 856 | 2147483647 857 | 858 | 859 | 860 | 861 | 862 | Loosen 863 | 864 | 2147483647 865 | 866 | 867 | 868 | 869 | 870 | 871 | 872 | 873 | Ligature 874 | 875 | 2147483647 876 | 877 | 878 | submenuAction: 879 | 880 | Ligature 881 | 882 | YES 883 | 884 | 885 | Use Default 886 | 887 | 2147483647 888 | 889 | 890 | 891 | 892 | 893 | Use None 894 | 895 | 2147483647 896 | 897 | 898 | 899 | 900 | 901 | Use All 902 | 903 | 2147483647 904 | 905 | 906 | 907 | 908 | 909 | 910 | 911 | 912 | Baseline 913 | 914 | 2147483647 915 | 916 | 917 | submenuAction: 918 | 919 | Baseline 920 | 921 | YES 922 | 923 | 924 | Use Default 925 | 926 | 2147483647 927 | 928 | 929 | 930 | 931 | 932 | Superscript 933 | 934 | 2147483647 935 | 936 | 937 | 938 | 939 | 940 | Subscript 941 | 942 | 2147483647 943 | 944 | 945 | 946 | 947 | 948 | Raise 949 | 950 | 2147483647 951 | 952 | 953 | 954 | 955 | 956 | Lower 957 | 958 | 2147483647 959 | 960 | 961 | 962 | 963 | 964 | 965 | 966 | 967 | YES 968 | YES 969 | 970 | 971 | 2147483647 972 | 973 | 974 | 975 | 976 | 977 | Show Colors 978 | C 979 | 1048576 980 | 2147483647 981 | 982 | 983 | 984 | 985 | 986 | YES 987 | YES 988 | 989 | 990 | 2147483647 991 | 992 | 993 | 994 | 995 | 996 | Copy Style 997 | c 998 | 1572864 999 | 2147483647 1000 | 1001 | 1002 | 1003 | 1004 | 1005 | Paste Style 1006 | v 1007 | 1572864 1008 | 2147483647 1009 | 1010 | 1011 | 1012 | 1013 | _NSFontMenu 1014 | 1015 | 1016 | 1017 | 1018 | Text 1019 | 1020 | 2147483647 1021 | 1022 | 1023 | submenuAction: 1024 | 1025 | Text 1026 | 1027 | YES 1028 | 1029 | 1030 | Align Left 1031 | { 1032 | 1048576 1033 | 2147483647 1034 | 1035 | 1036 | 1037 | 1038 | 1039 | Center 1040 | | 1041 | 1048576 1042 | 2147483647 1043 | 1044 | 1045 | 1046 | 1047 | 1048 | Justify 1049 | 1050 | 2147483647 1051 | 1052 | 1053 | 1054 | 1055 | 1056 | Align Right 1057 | } 1058 | 1048576 1059 | 2147483647 1060 | 1061 | 1062 | 1063 | 1064 | 1065 | YES 1066 | YES 1067 | 1068 | 1069 | 2147483647 1070 | 1071 | 1072 | 1073 | 1074 | 1075 | Writing Direction 1076 | 1077 | 2147483647 1078 | 1079 | 1080 | submenuAction: 1081 | 1082 | Writing Direction 1083 | 1084 | YES 1085 | 1086 | 1087 | YES 1088 | Paragraph 1089 | 1090 | 2147483647 1091 | 1092 | 1093 | 1094 | 1095 | 1096 | CURlZmF1bHQ 1097 | 1098 | 2147483647 1099 | 1100 | 1101 | 1102 | 1103 | 1104 | CUxlZnQgdG8gUmlnaHQ 1105 | 1106 | 2147483647 1107 | 1108 | 1109 | 1110 | 1111 | 1112 | CVJpZ2h0IHRvIExlZnQ 1113 | 1114 | 2147483647 1115 | 1116 | 1117 | 1118 | 1119 | 1120 | YES 1121 | YES 1122 | 1123 | 1124 | 2147483647 1125 | 1126 | 1127 | 1128 | 1129 | 1130 | YES 1131 | Selection 1132 | 1133 | 2147483647 1134 | 1135 | 1136 | 1137 | 1138 | 1139 | CURlZmF1bHQ 1140 | 1141 | 2147483647 1142 | 1143 | 1144 | 1145 | 1146 | 1147 | CUxlZnQgdG8gUmlnaHQ 1148 | 1149 | 2147483647 1150 | 1151 | 1152 | 1153 | 1154 | 1155 | CVJpZ2h0IHRvIExlZnQ 1156 | 1157 | 2147483647 1158 | 1159 | 1160 | 1161 | 1162 | 1163 | 1164 | 1165 | 1166 | YES 1167 | YES 1168 | 1169 | 1170 | 2147483647 1171 | 1172 | 1173 | 1174 | 1175 | 1176 | Show Ruler 1177 | 1178 | 2147483647 1179 | 1180 | 1181 | 1182 | 1183 | 1184 | Copy Ruler 1185 | c 1186 | 1310720 1187 | 2147483647 1188 | 1189 | 1190 | 1191 | 1192 | 1193 | Paste Ruler 1194 | v 1195 | 1310720 1196 | 2147483647 1197 | 1198 | 1199 | 1200 | 1201 | 1202 | 1203 | 1204 | 1205 | 1206 | 1207 | 1208 | View 1209 | 1210 | 1048576 1211 | 2147483647 1212 | 1213 | 1214 | submenuAction: 1215 | 1216 | View 1217 | 1218 | YES 1219 | 1220 | 1221 | Show Toolbar 1222 | t 1223 | 1572864 1224 | 2147483647 1225 | 1226 | 1227 | 1228 | 1229 | 1230 | Customize Toolbar… 1231 | 1232 | 1048576 1233 | 2147483647 1234 | 1235 | 1236 | 1237 | 1238 | 1239 | 1240 | 1241 | 1242 | Window 1243 | 1244 | 1048576 1245 | 2147483647 1246 | 1247 | 1248 | submenuAction: 1249 | 1250 | Window 1251 | 1252 | YES 1253 | 1254 | 1255 | Minimize 1256 | m 1257 | 1048576 1258 | 2147483647 1259 | 1260 | 1261 | 1262 | 1263 | 1264 | Zoom 1265 | 1266 | 1048576 1267 | 2147483647 1268 | 1269 | 1270 | 1271 | 1272 | 1273 | YES 1274 | YES 1275 | 1276 | 1277 | 1048576 1278 | 2147483647 1279 | 1280 | 1281 | 1282 | 1283 | 1284 | Bring All to Front 1285 | 1286 | 1048576 1287 | 2147483647 1288 | 1289 | 1290 | 1291 | 1292 | _NSWindowsMenu 1293 | 1294 | 1295 | 1296 | 1297 | Help 1298 | 1299 | 2147483647 1300 | 1301 | 1302 | submenuAction: 1303 | 1304 | Help 1305 | 1306 | YES 1307 | 1308 | 1309 | CommitViewer Help 1310 | ? 1311 | 1048576 1312 | 2147483647 1313 | 1314 | 1315 | 1316 | 1317 | _NSHelpMenu 1318 | 1319 | 1320 | 1321 | _NSMainMenu 1322 | 1323 | 1324 | 15 1325 | 2 1326 | {{335, 390}, {480, 329}} 1327 | 1954021376 1328 | CommitViewer 1329 | NSWindow 1330 | 1331 | 1332 | 1333 | 1334 | 256 1335 | 1336 | YES 1337 | 1338 | 1339 | 268 1340 | {{324, 13}, {142, 32}} 1341 | 1342 | 1343 | 1344 | _NS:161 1345 | YES 1346 | 1347 | 67108864 1348 | 134217728 1349 | Open repository 1350 | 1351 | LucidaGrande 1352 | 13 1353 | 1044 1354 | 1355 | _NS:161 1356 | 1357 | -2038284288 1358 | 129 1359 | 1360 | 1361 | 200 1362 | 25 1363 | 1364 | NO 1365 | 1366 | 1367 | 1368 | 268 1369 | {{17, 290}, {32, 17}} 1370 | 1371 | 1372 | 1373 | _NS:3936 1374 | YES 1375 | 1376 | 68157504 1377 | 272630784 1378 | Title 1379 | 1380 | _NS:3936 1381 | 1382 | 1383 | 6 1384 | System 1385 | controlColor 1386 | 1387 | 3 1388 | MC42NjY2NjY2NjY3AA 1389 | 1390 | 1391 | 1392 | 6 1393 | System 1394 | controlTextColor 1395 | 1396 | 3 1397 | MAA 1398 | 1399 | 1400 | 1401 | NO 1402 | 1403 | 1404 | 1405 | 268 1406 | {{17, 246}, {59, 17}} 1407 | 1408 | 1409 | 1410 | _NS:3936 1411 | YES 1412 | 1413 | 68157504 1414 | 272630784 1415 | Message 1416 | 1417 | _NS:3936 1418 | 1419 | 1420 | 1421 | 1422 | NO 1423 | 1424 | 1425 | 1426 | 268 1427 | {{98, 287}, {362, 22}} 1428 | 1429 | 1430 | 1431 | _NS:248 1432 | YES 1433 | 1434 | -2075131840 1435 | 272634880 1436 | 1437 | 1438 | _NS:248 1439 | 1440 | YES 1441 | 1442 | 6 1443 | System 1444 | textBackgroundColor 1445 | 1446 | 3 1447 | MQA 1448 | 1449 | 1450 | 1451 | 6 1452 | System 1453 | textColor 1454 | 1455 | 1456 | 1457 | NO 1458 | 1459 | 1460 | 1461 | 268 1462 | {{17, 91}, {48, 17}} 1463 | 1464 | 1465 | 1466 | _NS:3936 1467 | YES 1468 | 1469 | 68157504 1470 | 272630784 1471 | Author 1472 | 1473 | _NS:3936 1474 | 1475 | 1476 | 1477 | 1478 | NO 1479 | 1480 | 1481 | 1482 | 268 1483 | {{98, 88}, {362, 22}} 1484 | 1485 | 1486 | 1487 | _NS:248 1488 | YES 1489 | 1490 | -2075131840 1491 | 272634880 1492 | 1493 | 1494 | _NS:248 1495 | 1496 | YES 1497 | 1498 | 1499 | 1500 | NO 1501 | 1502 | 1503 | 1504 | 268 1505 | {{17, 61}, {34, 17}} 1506 | 1507 | 1508 | 1509 | _NS:3936 1510 | YES 1511 | 1512 | 68157504 1513 | 272630784 1514 | Date 1515 | 1516 | _NS:3936 1517 | 1518 | 1519 | 1520 | 1521 | NO 1522 | 1523 | 1524 | 1525 | 268 1526 | {{98, 58}, {362, 22}} 1527 | 1528 | 1529 | 1530 | _NS:248 1531 | YES 1532 | 1533 | -2075131840 1534 | -1874848768 1535 | 1536 | 1537 | 1538 | 1539 | YES 1540 | 1541 | YES 1542 | dateStyle 1543 | doesRelativeDateFormatting 1544 | formatterBehavior 1545 | timeStyle 1546 | 1547 | 1548 | YES 1549 | 1550 | 1551 | 1552 | 1553 | 1554 | 1555 | dd/MM/yyyy HH:mm 1556 | NO 1557 | 1558 | _NS:248 1559 | 1560 | YES 1561 | 1562 | 1563 | 1564 | NO 1565 | 1566 | 1567 | 1568 | 268 1569 | {{98, 120}, {362, 154}} 1570 | 1571 | 1572 | 1573 | _NS:3580 1574 | YES 1575 | 1576 | -2076180480 1577 | 272633856 1578 | 1579 | 1580 | _NS:3580 1581 | 1582 | YES 1583 | 1584 | 1585 | 1586 | NO 1587 | 1588 | 1589 | {480, 329} 1590 | 1591 | 1592 | 1593 | 1594 | {{0, 0}, {1920, 1058}} 1595 | {10000000000000, 10000000000000} 1596 | YES 1597 | 1598 | 1599 | AppDelegate 1600 | 1601 | 1602 | NSFontManager 1603 | 1604 | 1605 | YES 1606 | 1607 | 1608 | 1609 | 1610 | YES 1611 | 1612 | 1613 | terminate: 1614 | 1615 | 1616 | 1617 | 449 1618 | 1619 | 1620 | 1621 | orderFrontStandardAboutPanel: 1622 | 1623 | 1624 | 1625 | 142 1626 | 1627 | 1628 | 1629 | delegate 1630 | 1631 | 1632 | 1633 | 495 1634 | 1635 | 1636 | 1637 | performMiniaturize: 1638 | 1639 | 1640 | 1641 | 37 1642 | 1643 | 1644 | 1645 | arrangeInFront: 1646 | 1647 | 1648 | 1649 | 39 1650 | 1651 | 1652 | 1653 | print: 1654 | 1655 | 1656 | 1657 | 86 1658 | 1659 | 1660 | 1661 | runPageLayout: 1662 | 1663 | 1664 | 1665 | 87 1666 | 1667 | 1668 | 1669 | clearRecentDocuments: 1670 | 1671 | 1672 | 1673 | 127 1674 | 1675 | 1676 | 1677 | performClose: 1678 | 1679 | 1680 | 1681 | 193 1682 | 1683 | 1684 | 1685 | toggleContinuousSpellChecking: 1686 | 1687 | 1688 | 1689 | 222 1690 | 1691 | 1692 | 1693 | undo: 1694 | 1695 | 1696 | 1697 | 223 1698 | 1699 | 1700 | 1701 | copy: 1702 | 1703 | 1704 | 1705 | 224 1706 | 1707 | 1708 | 1709 | checkSpelling: 1710 | 1711 | 1712 | 1713 | 225 1714 | 1715 | 1716 | 1717 | paste: 1718 | 1719 | 1720 | 1721 | 226 1722 | 1723 | 1724 | 1725 | stopSpeaking: 1726 | 1727 | 1728 | 1729 | 227 1730 | 1731 | 1732 | 1733 | cut: 1734 | 1735 | 1736 | 1737 | 228 1738 | 1739 | 1740 | 1741 | showGuessPanel: 1742 | 1743 | 1744 | 1745 | 230 1746 | 1747 | 1748 | 1749 | redo: 1750 | 1751 | 1752 | 1753 | 231 1754 | 1755 | 1756 | 1757 | selectAll: 1758 | 1759 | 1760 | 1761 | 232 1762 | 1763 | 1764 | 1765 | startSpeaking: 1766 | 1767 | 1768 | 1769 | 233 1770 | 1771 | 1772 | 1773 | delete: 1774 | 1775 | 1776 | 1777 | 235 1778 | 1779 | 1780 | 1781 | performZoom: 1782 | 1783 | 1784 | 1785 | 240 1786 | 1787 | 1788 | 1789 | performFindPanelAction: 1790 | 1791 | 1792 | 1793 | 241 1794 | 1795 | 1796 | 1797 | centerSelectionInVisibleArea: 1798 | 1799 | 1800 | 1801 | 245 1802 | 1803 | 1804 | 1805 | toggleGrammarChecking: 1806 | 1807 | 1808 | 1809 | 347 1810 | 1811 | 1812 | 1813 | toggleSmartInsertDelete: 1814 | 1815 | 1816 | 1817 | 355 1818 | 1819 | 1820 | 1821 | toggleAutomaticQuoteSubstitution: 1822 | 1823 | 1824 | 1825 | 356 1826 | 1827 | 1828 | 1829 | toggleAutomaticLinkDetection: 1830 | 1831 | 1832 | 1833 | 357 1834 | 1835 | 1836 | 1837 | saveDocument: 1838 | 1839 | 1840 | 1841 | 362 1842 | 1843 | 1844 | 1845 | revertDocumentToSaved: 1846 | 1847 | 1848 | 1849 | 364 1850 | 1851 | 1852 | 1853 | runToolbarCustomizationPalette: 1854 | 1855 | 1856 | 1857 | 365 1858 | 1859 | 1860 | 1861 | toggleToolbarShown: 1862 | 1863 | 1864 | 1865 | 366 1866 | 1867 | 1868 | 1869 | hide: 1870 | 1871 | 1872 | 1873 | 367 1874 | 1875 | 1876 | 1877 | hideOtherApplications: 1878 | 1879 | 1880 | 1881 | 368 1882 | 1883 | 1884 | 1885 | unhideAllApplications: 1886 | 1887 | 1888 | 1889 | 370 1890 | 1891 | 1892 | 1893 | newDocument: 1894 | 1895 | 1896 | 1897 | 373 1898 | 1899 | 1900 | 1901 | openDocument: 1902 | 1903 | 1904 | 1905 | 374 1906 | 1907 | 1908 | 1909 | raiseBaseline: 1910 | 1911 | 1912 | 1913 | 426 1914 | 1915 | 1916 | 1917 | lowerBaseline: 1918 | 1919 | 1920 | 1921 | 427 1922 | 1923 | 1924 | 1925 | copyFont: 1926 | 1927 | 1928 | 1929 | 428 1930 | 1931 | 1932 | 1933 | subscript: 1934 | 1935 | 1936 | 1937 | 429 1938 | 1939 | 1940 | 1941 | superscript: 1942 | 1943 | 1944 | 1945 | 430 1946 | 1947 | 1948 | 1949 | tightenKerning: 1950 | 1951 | 1952 | 1953 | 431 1954 | 1955 | 1956 | 1957 | underline: 1958 | 1959 | 1960 | 1961 | 432 1962 | 1963 | 1964 | 1965 | orderFrontColorPanel: 1966 | 1967 | 1968 | 1969 | 433 1970 | 1971 | 1972 | 1973 | useAllLigatures: 1974 | 1975 | 1976 | 1977 | 434 1978 | 1979 | 1980 | 1981 | loosenKerning: 1982 | 1983 | 1984 | 1985 | 435 1986 | 1987 | 1988 | 1989 | pasteFont: 1990 | 1991 | 1992 | 1993 | 436 1994 | 1995 | 1996 | 1997 | unscript: 1998 | 1999 | 2000 | 2001 | 437 2002 | 2003 | 2004 | 2005 | useStandardKerning: 2006 | 2007 | 2008 | 2009 | 438 2010 | 2011 | 2012 | 2013 | useStandardLigatures: 2014 | 2015 | 2016 | 2017 | 439 2018 | 2019 | 2020 | 2021 | turnOffLigatures: 2022 | 2023 | 2024 | 2025 | 440 2026 | 2027 | 2028 | 2029 | turnOffKerning: 2030 | 2031 | 2032 | 2033 | 441 2034 | 2035 | 2036 | 2037 | toggleAutomaticSpellingCorrection: 2038 | 2039 | 2040 | 2041 | 456 2042 | 2043 | 2044 | 2045 | orderFrontSubstitutionsPanel: 2046 | 2047 | 2048 | 2049 | 458 2050 | 2051 | 2052 | 2053 | toggleAutomaticDashSubstitution: 2054 | 2055 | 2056 | 2057 | 461 2058 | 2059 | 2060 | 2061 | toggleAutomaticTextReplacement: 2062 | 2063 | 2064 | 2065 | 463 2066 | 2067 | 2068 | 2069 | uppercaseWord: 2070 | 2071 | 2072 | 2073 | 464 2074 | 2075 | 2076 | 2077 | capitalizeWord: 2078 | 2079 | 2080 | 2081 | 467 2082 | 2083 | 2084 | 2085 | lowercaseWord: 2086 | 2087 | 2088 | 2089 | 468 2090 | 2091 | 2092 | 2093 | pasteAsPlainText: 2094 | 2095 | 2096 | 2097 | 486 2098 | 2099 | 2100 | 2101 | performFindPanelAction: 2102 | 2103 | 2104 | 2105 | 487 2106 | 2107 | 2108 | 2109 | performFindPanelAction: 2110 | 2111 | 2112 | 2113 | 488 2114 | 2115 | 2116 | 2117 | performFindPanelAction: 2118 | 2119 | 2120 | 2121 | 489 2122 | 2123 | 2124 | 2125 | showHelp: 2126 | 2127 | 2128 | 2129 | 493 2130 | 2131 | 2132 | 2133 | alignCenter: 2134 | 2135 | 2136 | 2137 | 518 2138 | 2139 | 2140 | 2141 | pasteRuler: 2142 | 2143 | 2144 | 2145 | 519 2146 | 2147 | 2148 | 2149 | toggleRuler: 2150 | 2151 | 2152 | 2153 | 520 2154 | 2155 | 2156 | 2157 | alignRight: 2158 | 2159 | 2160 | 2161 | 521 2162 | 2163 | 2164 | 2165 | copyRuler: 2166 | 2167 | 2168 | 2169 | 522 2170 | 2171 | 2172 | 2173 | alignJustified: 2174 | 2175 | 2176 | 2177 | 523 2178 | 2179 | 2180 | 2181 | alignLeft: 2182 | 2183 | 2184 | 2185 | 524 2186 | 2187 | 2188 | 2189 | makeBaseWritingDirectionNatural: 2190 | 2191 | 2192 | 2193 | 525 2194 | 2195 | 2196 | 2197 | makeBaseWritingDirectionLeftToRight: 2198 | 2199 | 2200 | 2201 | 526 2202 | 2203 | 2204 | 2205 | makeBaseWritingDirectionRightToLeft: 2206 | 2207 | 2208 | 2209 | 527 2210 | 2211 | 2212 | 2213 | makeTextWritingDirectionNatural: 2214 | 2215 | 2216 | 2217 | 528 2218 | 2219 | 2220 | 2221 | makeTextWritingDirectionLeftToRight: 2222 | 2223 | 2224 | 2225 | 529 2226 | 2227 | 2228 | 2229 | makeTextWritingDirectionRightToLeft: 2230 | 2231 | 2232 | 2233 | 530 2234 | 2235 | 2236 | 2237 | performFindPanelAction: 2238 | 2239 | 2240 | 2241 | 535 2242 | 2243 | 2244 | 2245 | addFontTrait: 2246 | 2247 | 2248 | 2249 | 421 2250 | 2251 | 2252 | 2253 | addFontTrait: 2254 | 2255 | 2256 | 2257 | 422 2258 | 2259 | 2260 | 2261 | modifyFont: 2262 | 2263 | 2264 | 2265 | 423 2266 | 2267 | 2268 | 2269 | orderFrontFontPanel: 2270 | 2271 | 2272 | 2273 | 424 2274 | 2275 | 2276 | 2277 | modifyFont: 2278 | 2279 | 2280 | 2281 | 425 2282 | 2283 | 2284 | 2285 | window 2286 | 2287 | 2288 | 2289 | 532 2290 | 2291 | 2292 | 2293 | openNewRepository: 2294 | 2295 | 2296 | 2297 | 554 2298 | 2299 | 2300 | 2301 | value: messageTitle 2302 | 2303 | 2304 | 2305 | 2306 | 2307 | value: messageTitle 2308 | value 2309 | messageTitle 2310 | 2 2311 | 2312 | 2313 | 563 2314 | 2315 | 2316 | 2317 | value: messageTitle 2318 | 2319 | 2320 | 2321 | 2322 | 2323 | value: messageTitle 2324 | value 2325 | messageTitle 2326 | 2 2327 | 2328 | 2329 | 566 2330 | 2331 | 2332 | 2333 | value: author 2334 | 2335 | 2336 | 2337 | 2338 | 2339 | value: author 2340 | value 2341 | author 2342 | 2 2343 | 2344 | 2345 | 569 2346 | 2347 | 2348 | 2349 | value: date 2350 | 2351 | 2352 | 2353 | 2354 | 2355 | value: date 2356 | value 2357 | date 2358 | 2 2359 | 2360 | 2361 | 572 2362 | 2363 | 2364 | 2365 | value: messageDetails 2366 | 2367 | 2368 | 2369 | 2370 | 2371 | value: messageDetails 2372 | value 2373 | messageDetails 2374 | 2 2375 | 2376 | 2377 | 568 2378 | 2379 | 2380 | 2381 | 2382 | YES 2383 | 2384 | 0 2385 | 2386 | YES 2387 | 2388 | 2389 | 2390 | 2391 | 2392 | -2 2393 | 2394 | 2395 | File's Owner 2396 | 2397 | 2398 | -1 2399 | 2400 | 2401 | First Responder 2402 | 2403 | 2404 | -3 2405 | 2406 | 2407 | Application 2408 | 2409 | 2410 | 29 2411 | 2412 | 2413 | YES 2414 | 2415 | 2416 | 2417 | 2418 | 2419 | 2420 | 2421 | 2422 | 2423 | 2424 | 2425 | 19 2426 | 2427 | 2428 | YES 2429 | 2430 | 2431 | 2432 | 2433 | 2434 | 56 2435 | 2436 | 2437 | YES 2438 | 2439 | 2440 | 2441 | 2442 | 2443 | 217 2444 | 2445 | 2446 | YES 2447 | 2448 | 2449 | 2450 | 2451 | 2452 | 83 2453 | 2454 | 2455 | YES 2456 | 2457 | 2458 | 2459 | 2460 | 2461 | 81 2462 | 2463 | 2464 | YES 2465 | 2466 | 2467 | 2468 | 2469 | 2470 | 2471 | 2472 | 2473 | 2474 | 2475 | 2476 | 2477 | 2478 | 2479 | 75 2480 | 2481 | 2482 | 2483 | 2484 | 78 2485 | 2486 | 2487 | 2488 | 2489 | 72 2490 | 2491 | 2492 | 2493 | 2494 | 82 2495 | 2496 | 2497 | 2498 | 2499 | 124 2500 | 2501 | 2502 | YES 2503 | 2504 | 2505 | 2506 | 2507 | 2508 | 77 2509 | 2510 | 2511 | 2512 | 2513 | 73 2514 | 2515 | 2516 | 2517 | 2518 | 79 2519 | 2520 | 2521 | 2522 | 2523 | 112 2524 | 2525 | 2526 | 2527 | 2528 | 74 2529 | 2530 | 2531 | 2532 | 2533 | 125 2534 | 2535 | 2536 | YES 2537 | 2538 | 2539 | 2540 | 2541 | 2542 | 126 2543 | 2544 | 2545 | 2546 | 2547 | 205 2548 | 2549 | 2550 | YES 2551 | 2552 | 2553 | 2554 | 2555 | 2556 | 2557 | 2558 | 2559 | 2560 | 2561 | 2562 | 2563 | 2564 | 2565 | 2566 | 2567 | 2568 | 2569 | 2570 | 202 2571 | 2572 | 2573 | 2574 | 2575 | 198 2576 | 2577 | 2578 | 2579 | 2580 | 207 2581 | 2582 | 2583 | 2584 | 2585 | 214 2586 | 2587 | 2588 | 2589 | 2590 | 199 2591 | 2592 | 2593 | 2594 | 2595 | 203 2596 | 2597 | 2598 | 2599 | 2600 | 197 2601 | 2602 | 2603 | 2604 | 2605 | 206 2606 | 2607 | 2608 | 2609 | 2610 | 215 2611 | 2612 | 2613 | 2614 | 2615 | 218 2616 | 2617 | 2618 | YES 2619 | 2620 | 2621 | 2622 | 2623 | 2624 | 216 2625 | 2626 | 2627 | YES 2628 | 2629 | 2630 | 2631 | 2632 | 2633 | 200 2634 | 2635 | 2636 | YES 2637 | 2638 | 2639 | 2640 | 2641 | 2642 | 2643 | 2644 | 2645 | 2646 | 2647 | 219 2648 | 2649 | 2650 | 2651 | 2652 | 201 2653 | 2654 | 2655 | 2656 | 2657 | 204 2658 | 2659 | 2660 | 2661 | 2662 | 220 2663 | 2664 | 2665 | YES 2666 | 2667 | 2668 | 2669 | 2670 | 2671 | 2672 | 2673 | 2674 | 2675 | 2676 | 213 2677 | 2678 | 2679 | 2680 | 2681 | 210 2682 | 2683 | 2684 | 2685 | 2686 | 221 2687 | 2688 | 2689 | 2690 | 2691 | 208 2692 | 2693 | 2694 | 2695 | 2696 | 209 2697 | 2698 | 2699 | 2700 | 2701 | 57 2702 | 2703 | 2704 | YES 2705 | 2706 | 2707 | 2708 | 2709 | 2710 | 2711 | 2712 | 2713 | 2714 | 2715 | 2716 | 2717 | 2718 | 2719 | 2720 | 58 2721 | 2722 | 2723 | 2724 | 2725 | 134 2726 | 2727 | 2728 | 2729 | 2730 | 150 2731 | 2732 | 2733 | 2734 | 2735 | 136 2736 | 2737 | 2738 | 2739 | 2740 | 144 2741 | 2742 | 2743 | 2744 | 2745 | 129 2746 | 2747 | 2748 | 2749 | 2750 | 143 2751 | 2752 | 2753 | 2754 | 2755 | 236 2756 | 2757 | 2758 | 2759 | 2760 | 131 2761 | 2762 | 2763 | YES 2764 | 2765 | 2766 | 2767 | 2768 | 2769 | 149 2770 | 2771 | 2772 | 2773 | 2774 | 145 2775 | 2776 | 2777 | 2778 | 2779 | 130 2780 | 2781 | 2782 | 2783 | 2784 | 24 2785 | 2786 | 2787 | YES 2788 | 2789 | 2790 | 2791 | 2792 | 2793 | 2794 | 2795 | 2796 | 92 2797 | 2798 | 2799 | 2800 | 2801 | 5 2802 | 2803 | 2804 | 2805 | 2806 | 239 2807 | 2808 | 2809 | 2810 | 2811 | 23 2812 | 2813 | 2814 | 2815 | 2816 | 295 2817 | 2818 | 2819 | YES 2820 | 2821 | 2822 | 2823 | 2824 | 2825 | 296 2826 | 2827 | 2828 | YES 2829 | 2830 | 2831 | 2832 | 2833 | 2834 | 2835 | 297 2836 | 2837 | 2838 | 2839 | 2840 | 298 2841 | 2842 | 2843 | 2844 | 2845 | 211 2846 | 2847 | 2848 | YES 2849 | 2850 | 2851 | 2852 | 2853 | 2854 | 212 2855 | 2856 | 2857 | YES 2858 | 2859 | 2860 | 2861 | 2862 | 2863 | 2864 | 195 2865 | 2866 | 2867 | 2868 | 2869 | 196 2870 | 2871 | 2872 | 2873 | 2874 | 346 2875 | 2876 | 2877 | 2878 | 2879 | 348 2880 | 2881 | 2882 | YES 2883 | 2884 | 2885 | 2886 | 2887 | 2888 | 349 2889 | 2890 | 2891 | YES 2892 | 2893 | 2894 | 2895 | 2896 | 2897 | 2898 | 2899 | 2900 | 2901 | 2902 | 2903 | 350 2904 | 2905 | 2906 | 2907 | 2908 | 351 2909 | 2910 | 2911 | 2912 | 2913 | 354 2914 | 2915 | 2916 | 2917 | 2918 | 371 2919 | 2920 | 2921 | YES 2922 | 2923 | 2924 | 2925 | 2926 | 2927 | 372 2928 | 2929 | 2930 | YES 2931 | 2932 | 2933 | 2934 | 2935 | 2936 | 2937 | 2938 | 2939 | 2940 | 2941 | 2942 | 2943 | 2944 | 375 2945 | 2946 | 2947 | YES 2948 | 2949 | 2950 | 2951 | 2952 | 2953 | 376 2954 | 2955 | 2956 | YES 2957 | 2958 | 2959 | 2960 | 2961 | 2962 | 2963 | 377 2964 | 2965 | 2966 | YES 2967 | 2968 | 2969 | 2970 | 2971 | 2972 | 388 2973 | 2974 | 2975 | YES 2976 | 2977 | 2978 | 2979 | 2980 | 2981 | 2982 | 2983 | 2984 | 2985 | 2986 | 2987 | 2988 | 2989 | 2990 | 2991 | 2992 | 2993 | 2994 | 2995 | 2996 | 389 2997 | 2998 | 2999 | 3000 | 3001 | 390 3002 | 3003 | 3004 | 3005 | 3006 | 391 3007 | 3008 | 3009 | 3010 | 3011 | 392 3012 | 3013 | 3014 | 3015 | 3016 | 393 3017 | 3018 | 3019 | 3020 | 3021 | 394 3022 | 3023 | 3024 | 3025 | 3026 | 395 3027 | 3028 | 3029 | 3030 | 3031 | 396 3032 | 3033 | 3034 | 3035 | 3036 | 397 3037 | 3038 | 3039 | YES 3040 | 3041 | 3042 | 3043 | 3044 | 3045 | 398 3046 | 3047 | 3048 | YES 3049 | 3050 | 3051 | 3052 | 3053 | 3054 | 399 3055 | 3056 | 3057 | YES 3058 | 3059 | 3060 | 3061 | 3062 | 3063 | 400 3064 | 3065 | 3066 | 3067 | 3068 | 401 3069 | 3070 | 3071 | 3072 | 3073 | 402 3074 | 3075 | 3076 | 3077 | 3078 | 403 3079 | 3080 | 3081 | 3082 | 3083 | 404 3084 | 3085 | 3086 | 3087 | 3088 | 405 3089 | 3090 | 3091 | YES 3092 | 3093 | 3094 | 3095 | 3096 | 3097 | 3098 | 3099 | 3100 | 3101 | 406 3102 | 3103 | 3104 | 3105 | 3106 | 407 3107 | 3108 | 3109 | 3110 | 3111 | 408 3112 | 3113 | 3114 | 3115 | 3116 | 409 3117 | 3118 | 3119 | 3120 | 3121 | 410 3122 | 3123 | 3124 | 3125 | 3126 | 411 3127 | 3128 | 3129 | YES 3130 | 3131 | 3132 | 3133 | 3134 | 3135 | 3136 | 3137 | 412 3138 | 3139 | 3140 | 3141 | 3142 | 413 3143 | 3144 | 3145 | 3146 | 3147 | 414 3148 | 3149 | 3150 | 3151 | 3152 | 415 3153 | 3154 | 3155 | YES 3156 | 3157 | 3158 | 3159 | 3160 | 3161 | 3162 | 3163 | 3164 | 416 3165 | 3166 | 3167 | 3168 | 3169 | 417 3170 | 3171 | 3172 | 3173 | 3174 | 418 3175 | 3176 | 3177 | 3178 | 3179 | 419 3180 | 3181 | 3182 | 3183 | 3184 | 420 3185 | 3186 | 3187 | 3188 | 3189 | 450 3190 | 3191 | 3192 | YES 3193 | 3194 | 3195 | 3196 | 3197 | 3198 | 451 3199 | 3200 | 3201 | YES 3202 | 3203 | 3204 | 3205 | 3206 | 3207 | 3208 | 3209 | 452 3210 | 3211 | 3212 | 3213 | 3214 | 453 3215 | 3216 | 3217 | 3218 | 3219 | 454 3220 | 3221 | 3222 | 3223 | 3224 | 457 3225 | 3226 | 3227 | 3228 | 3229 | 459 3230 | 3231 | 3232 | 3233 | 3234 | 460 3235 | 3236 | 3237 | 3238 | 3239 | 462 3240 | 3241 | 3242 | 3243 | 3244 | 465 3245 | 3246 | 3247 | 3248 | 3249 | 466 3250 | 3251 | 3252 | 3253 | 3254 | 485 3255 | 3256 | 3257 | 3258 | 3259 | 490 3260 | 3261 | 3262 | YES 3263 | 3264 | 3265 | 3266 | 3267 | 3268 | 491 3269 | 3270 | 3271 | YES 3272 | 3273 | 3274 | 3275 | 3276 | 3277 | 492 3278 | 3279 | 3280 | 3281 | 3282 | 494 3283 | 3284 | 3285 | 3286 | 3287 | 496 3288 | 3289 | 3290 | YES 3291 | 3292 | 3293 | 3294 | 3295 | 3296 | 497 3297 | 3298 | 3299 | YES 3300 | 3301 | 3302 | 3303 | 3304 | 3305 | 3306 | 3307 | 3308 | 3309 | 3310 | 3311 | 3312 | 3313 | 3314 | 498 3315 | 3316 | 3317 | 3318 | 3319 | 499 3320 | 3321 | 3322 | 3323 | 3324 | 500 3325 | 3326 | 3327 | 3328 | 3329 | 501 3330 | 3331 | 3332 | 3333 | 3334 | 502 3335 | 3336 | 3337 | 3338 | 3339 | 503 3340 | 3341 | 3342 | YES 3343 | 3344 | 3345 | 3346 | 3347 | 3348 | 504 3349 | 3350 | 3351 | 3352 | 3353 | 505 3354 | 3355 | 3356 | 3357 | 3358 | 506 3359 | 3360 | 3361 | 3362 | 3363 | 507 3364 | 3365 | 3366 | 3367 | 3368 | 508 3369 | 3370 | 3371 | YES 3372 | 3373 | 3374 | 3375 | 3376 | 3377 | 3378 | 3379 | 3380 | 3381 | 3382 | 3383 | 3384 | 3385 | 509 3386 | 3387 | 3388 | 3389 | 3390 | 510 3391 | 3392 | 3393 | 3394 | 3395 | 511 3396 | 3397 | 3398 | 3399 | 3400 | 512 3401 | 3402 | 3403 | 3404 | 3405 | 513 3406 | 3407 | 3408 | 3409 | 3410 | 514 3411 | 3412 | 3413 | 3414 | 3415 | 515 3416 | 3417 | 3418 | 3419 | 3420 | 516 3421 | 3422 | 3423 | 3424 | 3425 | 517 3426 | 3427 | 3428 | 3429 | 3430 | 534 3431 | 3432 | 3433 | 3434 | 3435 | 536 3436 | 3437 | 3438 | YES 3439 | 3440 | 3441 | 3442 | 3443 | 3444 | 537 3445 | 3446 | 3447 | 3448 | 3449 | 538 3450 | 3451 | 3452 | YES 3453 | 3454 | 3455 | 3456 | 3457 | 3458 | 539 3459 | 3460 | 3461 | 3462 | 3463 | 540 3464 | 3465 | 3466 | YES 3467 | 3468 | 3469 | 3470 | 3471 | 3472 | 541 3473 | 3474 | 3475 | 3476 | 3477 | 542 3478 | 3479 | 3480 | YES 3481 | 3482 | 3483 | 3484 | 3485 | 3486 | 543 3487 | 3488 | 3489 | YES 3490 | 3491 | 3492 | 3493 | 3494 | 3495 | 544 3496 | 3497 | 3498 | 3499 | 3500 | 545 3501 | 3502 | 3503 | 3504 | 3505 | 546 3506 | 3507 | 3508 | YES 3509 | 3510 | 3511 | 3512 | 3513 | 3514 | 547 3515 | 3516 | 3517 | YES 3518 | 3519 | 3520 | 3521 | 3522 | 3523 | 548 3524 | 3525 | 3526 | YES 3527 | 3528 | 3529 | 3530 | 3531 | 3532 | 549 3533 | 3534 | 3535 | 3536 | 3537 | 550 3538 | 3539 | 3540 | YES 3541 | 3542 | 3543 | 3544 | 3545 | 3546 | 551 3547 | 3548 | 3549 | 3550 | 3551 | 552 3552 | 3553 | 3554 | YES 3555 | 3556 | 3557 | 3558 | 3559 | 3560 | 553 3561 | 3562 | 3563 | 3564 | 3565 | 557 3566 | 3567 | 3568 | 3569 | 3570 | 570 3571 | 3572 | 3573 | 3574 | 3575 | 3576 | 3577 | YES 3578 | 3579 | YES 3580 | -1.IBPluginDependency 3581 | -2.IBPluginDependency 3582 | -3.IBPluginDependency 3583 | 112.IBPluginDependency 3584 | 124.IBPluginDependency 3585 | 125.IBPluginDependency 3586 | 126.IBPluginDependency 3587 | 129.IBPluginDependency 3588 | 130.IBPluginDependency 3589 | 131.IBPluginDependency 3590 | 134.IBPluginDependency 3591 | 136.IBPluginDependency 3592 | 143.IBPluginDependency 3593 | 144.IBPluginDependency 3594 | 145.IBPluginDependency 3595 | 149.IBPluginDependency 3596 | 150.IBPluginDependency 3597 | 19.IBPluginDependency 3598 | 195.IBPluginDependency 3599 | 196.IBPluginDependency 3600 | 197.IBPluginDependency 3601 | 198.IBPluginDependency 3602 | 199.IBPluginDependency 3603 | 200.IBPluginDependency 3604 | 201.IBPluginDependency 3605 | 202.IBPluginDependency 3606 | 203.IBPluginDependency 3607 | 204.IBPluginDependency 3608 | 205.IBPluginDependency 3609 | 206.IBPluginDependency 3610 | 207.IBPluginDependency 3611 | 208.IBPluginDependency 3612 | 209.IBPluginDependency 3613 | 210.IBPluginDependency 3614 | 211.IBPluginDependency 3615 | 212.IBPluginDependency 3616 | 213.IBPluginDependency 3617 | 214.IBPluginDependency 3618 | 215.IBPluginDependency 3619 | 216.IBPluginDependency 3620 | 217.IBPluginDependency 3621 | 218.IBPluginDependency 3622 | 219.IBPluginDependency 3623 | 220.IBPluginDependency 3624 | 221.IBPluginDependency 3625 | 23.IBPluginDependency 3626 | 236.IBPluginDependency 3627 | 239.IBPluginDependency 3628 | 24.IBPluginDependency 3629 | 29.IBPluginDependency 3630 | 295.IBPluginDependency 3631 | 296.IBPluginDependency 3632 | 297.IBPluginDependency 3633 | 298.IBPluginDependency 3634 | 346.IBPluginDependency 3635 | 348.IBPluginDependency 3636 | 349.IBPluginDependency 3637 | 350.IBPluginDependency 3638 | 351.IBPluginDependency 3639 | 354.IBPluginDependency 3640 | 371.IBPluginDependency 3641 | 371.IBWindowTemplateEditedContentRect 3642 | 371.NSWindowTemplate.visibleAtLaunch 3643 | 372.IBPluginDependency 3644 | 375.IBPluginDependency 3645 | 376.IBPluginDependency 3646 | 377.IBPluginDependency 3647 | 388.IBPluginDependency 3648 | 389.IBPluginDependency 3649 | 390.IBPluginDependency 3650 | 391.IBPluginDependency 3651 | 392.IBPluginDependency 3652 | 393.IBPluginDependency 3653 | 394.IBPluginDependency 3654 | 395.IBPluginDependency 3655 | 396.IBPluginDependency 3656 | 397.IBPluginDependency 3657 | 398.IBPluginDependency 3658 | 399.IBPluginDependency 3659 | 400.IBPluginDependency 3660 | 401.IBPluginDependency 3661 | 402.IBPluginDependency 3662 | 403.IBPluginDependency 3663 | 404.IBPluginDependency 3664 | 405.IBPluginDependency 3665 | 406.IBPluginDependency 3666 | 407.IBPluginDependency 3667 | 408.IBPluginDependency 3668 | 409.IBPluginDependency 3669 | 410.IBPluginDependency 3670 | 411.IBPluginDependency 3671 | 412.IBPluginDependency 3672 | 413.IBPluginDependency 3673 | 414.IBPluginDependency 3674 | 415.IBPluginDependency 3675 | 416.IBPluginDependency 3676 | 417.IBPluginDependency 3677 | 418.IBPluginDependency 3678 | 419.IBPluginDependency 3679 | 420.IBPluginDependency 3680 | 450.IBPluginDependency 3681 | 451.IBPluginDependency 3682 | 452.IBPluginDependency 3683 | 453.IBPluginDependency 3684 | 454.IBPluginDependency 3685 | 457.IBPluginDependency 3686 | 459.IBPluginDependency 3687 | 460.IBPluginDependency 3688 | 462.IBPluginDependency 3689 | 465.IBPluginDependency 3690 | 466.IBPluginDependency 3691 | 485.IBPluginDependency 3692 | 490.IBPluginDependency 3693 | 491.IBPluginDependency 3694 | 492.IBPluginDependency 3695 | 494.IBPluginDependency 3696 | 496.IBPluginDependency 3697 | 497.IBPluginDependency 3698 | 498.IBPluginDependency 3699 | 499.IBPluginDependency 3700 | 5.IBPluginDependency 3701 | 500.IBPluginDependency 3702 | 501.IBPluginDependency 3703 | 502.IBPluginDependency 3704 | 503.IBPluginDependency 3705 | 504.IBPluginDependency 3706 | 505.IBPluginDependency 3707 | 506.IBPluginDependency 3708 | 507.IBPluginDependency 3709 | 508.IBPluginDependency 3710 | 509.IBPluginDependency 3711 | 510.IBPluginDependency 3712 | 511.IBPluginDependency 3713 | 512.IBPluginDependency 3714 | 513.IBPluginDependency 3715 | 514.IBPluginDependency 3716 | 515.IBPluginDependency 3717 | 516.IBPluginDependency 3718 | 517.IBPluginDependency 3719 | 534.IBPluginDependency 3720 | 536.IBPluginDependency 3721 | 537.IBPluginDependency 3722 | 538.IBPluginDependency 3723 | 539.IBPluginDependency 3724 | 540.IBPluginDependency 3725 | 541.IBPluginDependency 3726 | 542.IBPluginDependency 3727 | 543.IBPluginDependency 3728 | 544.IBPluginDependency 3729 | 545.IBPluginDependency 3730 | 546.IBPluginDependency 3731 | 547.IBPluginDependency 3732 | 548.IBPluginDependency 3733 | 549.IBPluginDependency 3734 | 550.IBPluginDependency 3735 | 551.IBPluginDependency 3736 | 552.IBPluginDependency 3737 | 553.IBPluginDependency 3738 | 557.IBPluginDependency 3739 | 56.IBPluginDependency 3740 | 57.IBPluginDependency 3741 | 570.IBDateFormatterBehaviorMetadataKey 3742 | 570.IBPluginDependency 3743 | 58.IBPluginDependency 3744 | 72.IBPluginDependency 3745 | 73.IBPluginDependency 3746 | 74.IBPluginDependency 3747 | 75.IBPluginDependency 3748 | 77.IBPluginDependency 3749 | 78.IBPluginDependency 3750 | 79.IBPluginDependency 3751 | 81.IBPluginDependency 3752 | 82.IBPluginDependency 3753 | 83.IBPluginDependency 3754 | 92.IBPluginDependency 3755 | 3756 | 3757 | YES 3758 | com.apple.InterfaceBuilder.CocoaPlugin 3759 | com.apple.InterfaceBuilder.CocoaPlugin 3760 | com.apple.InterfaceBuilder.CocoaPlugin 3761 | com.apple.InterfaceBuilder.CocoaPlugin 3762 | com.apple.InterfaceBuilder.CocoaPlugin 3763 | com.apple.InterfaceBuilder.CocoaPlugin 3764 | com.apple.InterfaceBuilder.CocoaPlugin 3765 | com.apple.InterfaceBuilder.CocoaPlugin 3766 | com.apple.InterfaceBuilder.CocoaPlugin 3767 | com.apple.InterfaceBuilder.CocoaPlugin 3768 | com.apple.InterfaceBuilder.CocoaPlugin 3769 | com.apple.InterfaceBuilder.CocoaPlugin 3770 | com.apple.InterfaceBuilder.CocoaPlugin 3771 | com.apple.InterfaceBuilder.CocoaPlugin 3772 | com.apple.InterfaceBuilder.CocoaPlugin 3773 | com.apple.InterfaceBuilder.CocoaPlugin 3774 | com.apple.InterfaceBuilder.CocoaPlugin 3775 | com.apple.InterfaceBuilder.CocoaPlugin 3776 | com.apple.InterfaceBuilder.CocoaPlugin 3777 | com.apple.InterfaceBuilder.CocoaPlugin 3778 | com.apple.InterfaceBuilder.CocoaPlugin 3779 | com.apple.InterfaceBuilder.CocoaPlugin 3780 | com.apple.InterfaceBuilder.CocoaPlugin 3781 | com.apple.InterfaceBuilder.CocoaPlugin 3782 | com.apple.InterfaceBuilder.CocoaPlugin 3783 | com.apple.InterfaceBuilder.CocoaPlugin 3784 | com.apple.InterfaceBuilder.CocoaPlugin 3785 | com.apple.InterfaceBuilder.CocoaPlugin 3786 | com.apple.InterfaceBuilder.CocoaPlugin 3787 | com.apple.InterfaceBuilder.CocoaPlugin 3788 | com.apple.InterfaceBuilder.CocoaPlugin 3789 | com.apple.InterfaceBuilder.CocoaPlugin 3790 | com.apple.InterfaceBuilder.CocoaPlugin 3791 | com.apple.InterfaceBuilder.CocoaPlugin 3792 | com.apple.InterfaceBuilder.CocoaPlugin 3793 | com.apple.InterfaceBuilder.CocoaPlugin 3794 | com.apple.InterfaceBuilder.CocoaPlugin 3795 | com.apple.InterfaceBuilder.CocoaPlugin 3796 | com.apple.InterfaceBuilder.CocoaPlugin 3797 | com.apple.InterfaceBuilder.CocoaPlugin 3798 | com.apple.InterfaceBuilder.CocoaPlugin 3799 | com.apple.InterfaceBuilder.CocoaPlugin 3800 | com.apple.InterfaceBuilder.CocoaPlugin 3801 | com.apple.InterfaceBuilder.CocoaPlugin 3802 | com.apple.InterfaceBuilder.CocoaPlugin 3803 | com.apple.InterfaceBuilder.CocoaPlugin 3804 | com.apple.InterfaceBuilder.CocoaPlugin 3805 | com.apple.InterfaceBuilder.CocoaPlugin 3806 | com.apple.InterfaceBuilder.CocoaPlugin 3807 | com.apple.InterfaceBuilder.CocoaPlugin 3808 | com.apple.InterfaceBuilder.CocoaPlugin 3809 | com.apple.InterfaceBuilder.CocoaPlugin 3810 | com.apple.InterfaceBuilder.CocoaPlugin 3811 | com.apple.InterfaceBuilder.CocoaPlugin 3812 | com.apple.InterfaceBuilder.CocoaPlugin 3813 | com.apple.InterfaceBuilder.CocoaPlugin 3814 | com.apple.InterfaceBuilder.CocoaPlugin 3815 | com.apple.InterfaceBuilder.CocoaPlugin 3816 | com.apple.InterfaceBuilder.CocoaPlugin 3817 | com.apple.InterfaceBuilder.CocoaPlugin 3818 | com.apple.InterfaceBuilder.CocoaPlugin 3819 | {{380, 496}, {480, 360}} 3820 | 3821 | com.apple.InterfaceBuilder.CocoaPlugin 3822 | com.apple.InterfaceBuilder.CocoaPlugin 3823 | com.apple.InterfaceBuilder.CocoaPlugin 3824 | com.apple.InterfaceBuilder.CocoaPlugin 3825 | com.apple.InterfaceBuilder.CocoaPlugin 3826 | com.apple.InterfaceBuilder.CocoaPlugin 3827 | com.apple.InterfaceBuilder.CocoaPlugin 3828 | com.apple.InterfaceBuilder.CocoaPlugin 3829 | com.apple.InterfaceBuilder.CocoaPlugin 3830 | com.apple.InterfaceBuilder.CocoaPlugin 3831 | com.apple.InterfaceBuilder.CocoaPlugin 3832 | com.apple.InterfaceBuilder.CocoaPlugin 3833 | com.apple.InterfaceBuilder.CocoaPlugin 3834 | com.apple.InterfaceBuilder.CocoaPlugin 3835 | com.apple.InterfaceBuilder.CocoaPlugin 3836 | com.apple.InterfaceBuilder.CocoaPlugin 3837 | com.apple.InterfaceBuilder.CocoaPlugin 3838 | com.apple.InterfaceBuilder.CocoaPlugin 3839 | com.apple.InterfaceBuilder.CocoaPlugin 3840 | com.apple.InterfaceBuilder.CocoaPlugin 3841 | com.apple.InterfaceBuilder.CocoaPlugin 3842 | com.apple.InterfaceBuilder.CocoaPlugin 3843 | com.apple.InterfaceBuilder.CocoaPlugin 3844 | com.apple.InterfaceBuilder.CocoaPlugin 3845 | com.apple.InterfaceBuilder.CocoaPlugin 3846 | com.apple.InterfaceBuilder.CocoaPlugin 3847 | com.apple.InterfaceBuilder.CocoaPlugin 3848 | com.apple.InterfaceBuilder.CocoaPlugin 3849 | com.apple.InterfaceBuilder.CocoaPlugin 3850 | com.apple.InterfaceBuilder.CocoaPlugin 3851 | com.apple.InterfaceBuilder.CocoaPlugin 3852 | com.apple.InterfaceBuilder.CocoaPlugin 3853 | com.apple.InterfaceBuilder.CocoaPlugin 3854 | com.apple.InterfaceBuilder.CocoaPlugin 3855 | com.apple.InterfaceBuilder.CocoaPlugin 3856 | com.apple.InterfaceBuilder.CocoaPlugin 3857 | com.apple.InterfaceBuilder.CocoaPlugin 3858 | com.apple.InterfaceBuilder.CocoaPlugin 3859 | com.apple.InterfaceBuilder.CocoaPlugin 3860 | com.apple.InterfaceBuilder.CocoaPlugin 3861 | com.apple.InterfaceBuilder.CocoaPlugin 3862 | com.apple.InterfaceBuilder.CocoaPlugin 3863 | com.apple.InterfaceBuilder.CocoaPlugin 3864 | com.apple.InterfaceBuilder.CocoaPlugin 3865 | com.apple.InterfaceBuilder.CocoaPlugin 3866 | com.apple.InterfaceBuilder.CocoaPlugin 3867 | com.apple.InterfaceBuilder.CocoaPlugin 3868 | com.apple.InterfaceBuilder.CocoaPlugin 3869 | com.apple.InterfaceBuilder.CocoaPlugin 3870 | com.apple.InterfaceBuilder.CocoaPlugin 3871 | com.apple.InterfaceBuilder.CocoaPlugin 3872 | com.apple.InterfaceBuilder.CocoaPlugin 3873 | com.apple.InterfaceBuilder.CocoaPlugin 3874 | com.apple.InterfaceBuilder.CocoaPlugin 3875 | com.apple.InterfaceBuilder.CocoaPlugin 3876 | com.apple.InterfaceBuilder.CocoaPlugin 3877 | com.apple.InterfaceBuilder.CocoaPlugin 3878 | com.apple.InterfaceBuilder.CocoaPlugin 3879 | com.apple.InterfaceBuilder.CocoaPlugin 3880 | com.apple.InterfaceBuilder.CocoaPlugin 3881 | com.apple.InterfaceBuilder.CocoaPlugin 3882 | com.apple.InterfaceBuilder.CocoaPlugin 3883 | com.apple.InterfaceBuilder.CocoaPlugin 3884 | com.apple.InterfaceBuilder.CocoaPlugin 3885 | com.apple.InterfaceBuilder.CocoaPlugin 3886 | com.apple.InterfaceBuilder.CocoaPlugin 3887 | com.apple.InterfaceBuilder.CocoaPlugin 3888 | com.apple.InterfaceBuilder.CocoaPlugin 3889 | com.apple.InterfaceBuilder.CocoaPlugin 3890 | com.apple.InterfaceBuilder.CocoaPlugin 3891 | com.apple.InterfaceBuilder.CocoaPlugin 3892 | com.apple.InterfaceBuilder.CocoaPlugin 3893 | com.apple.InterfaceBuilder.CocoaPlugin 3894 | com.apple.InterfaceBuilder.CocoaPlugin 3895 | com.apple.InterfaceBuilder.CocoaPlugin 3896 | com.apple.InterfaceBuilder.CocoaPlugin 3897 | com.apple.InterfaceBuilder.CocoaPlugin 3898 | com.apple.InterfaceBuilder.CocoaPlugin 3899 | com.apple.InterfaceBuilder.CocoaPlugin 3900 | com.apple.InterfaceBuilder.CocoaPlugin 3901 | com.apple.InterfaceBuilder.CocoaPlugin 3902 | com.apple.InterfaceBuilder.CocoaPlugin 3903 | com.apple.InterfaceBuilder.CocoaPlugin 3904 | com.apple.InterfaceBuilder.CocoaPlugin 3905 | com.apple.InterfaceBuilder.CocoaPlugin 3906 | com.apple.InterfaceBuilder.CocoaPlugin 3907 | com.apple.InterfaceBuilder.CocoaPlugin 3908 | com.apple.InterfaceBuilder.CocoaPlugin 3909 | com.apple.InterfaceBuilder.CocoaPlugin 3910 | com.apple.InterfaceBuilder.CocoaPlugin 3911 | com.apple.InterfaceBuilder.CocoaPlugin 3912 | com.apple.InterfaceBuilder.CocoaPlugin 3913 | com.apple.InterfaceBuilder.CocoaPlugin 3914 | com.apple.InterfaceBuilder.CocoaPlugin 3915 | com.apple.InterfaceBuilder.CocoaPlugin 3916 | com.apple.InterfaceBuilder.CocoaPlugin 3917 | com.apple.InterfaceBuilder.CocoaPlugin 3918 | com.apple.InterfaceBuilder.CocoaPlugin 3919 | 3920 | com.apple.InterfaceBuilder.CocoaPlugin 3921 | com.apple.InterfaceBuilder.CocoaPlugin 3922 | com.apple.InterfaceBuilder.CocoaPlugin 3923 | com.apple.InterfaceBuilder.CocoaPlugin 3924 | com.apple.InterfaceBuilder.CocoaPlugin 3925 | com.apple.InterfaceBuilder.CocoaPlugin 3926 | com.apple.InterfaceBuilder.CocoaPlugin 3927 | com.apple.InterfaceBuilder.CocoaPlugin 3928 | com.apple.InterfaceBuilder.CocoaPlugin 3929 | com.apple.InterfaceBuilder.CocoaPlugin 3930 | com.apple.InterfaceBuilder.CocoaPlugin 3931 | com.apple.InterfaceBuilder.CocoaPlugin 3932 | com.apple.InterfaceBuilder.CocoaPlugin 3933 | 3934 | 3935 | 3936 | YES 3937 | 3938 | 3939 | 3940 | 3941 | 3942 | YES 3943 | 3944 | 3945 | 3946 | 3947 | 572 3948 | 3949 | 3950 | 3951 | YES 3952 | 3953 | AppDelegate 3954 | NSObject 3955 | 3956 | openNewRepository: 3957 | id 3958 | 3959 | 3960 | openNewRepository: 3961 | 3962 | openNewRepository: 3963 | id 3964 | 3965 | 3966 | 3967 | window 3968 | NSWindow 3969 | 3970 | 3971 | window 3972 | 3973 | window 3974 | NSWindow 3975 | 3976 | 3977 | 3978 | IBProjectSource 3979 | ./Classes/AppDelegate.h 3980 | 3981 | 3982 | 3983 | 3984 | 0 3985 | IBCocoaFramework 3986 | 3987 | com.apple.InterfaceBuilder.CocoaPlugin.InterfaceBuilder3 3988 | 3989 | 3990 | YES 3991 | 3 3992 | 3993 | YES 3994 | 3995 | YES 3996 | NSMenuCheckmark 3997 | NSMenuMixedState 3998 | 3999 | 4000 | YES 4001 | {11, 11} 4002 | {10, 3} 4003 | 4004 | 4005 | 4006 | 4007 | -------------------------------------------------------------------------------- /CommitViewer/main.m: -------------------------------------------------------------------------------- 1 | // 2 | // main.m 3 | // CommitViewer 4 | // 5 | // Created by Abizer Nasir on 13/09/2011. 6 | // Copyright 2011 Jungle Candy Software. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | int main(int argc, char *argv[]) 12 | { 13 | return NSApplicationMain(argc, (const char **)argv); 14 | } 15 | -------------------------------------------------------------------------------- /README.mdown: -------------------------------------------------------------------------------- 1 | # Commit Viewer 2 | 3 | This is an example project demonstrating how to add the [ObjectiveGit][2] framework to a Cocoa application. 4 | 5 | Don't expect it to do too much, it just lets you open a repository and presents some information from the commit pointed to by `head`. 6 | 7 | # Adding the ObjectiveGit Framework 8 | 9 | These are the steps to add the framework to your project: 10 | 11 | - Create an Xcode project for your application. 12 | 13 | - Get the files for the ObjectiveGit framework. *How you do this is up to you*. In this example I've added it as a Git submodule, and I used `git submodule update --init --recursive` after adding it, because the ObjectiveGit framework has the [libgit2][1] framework as a submodule and this takes care of setting that up as well. 14 | 15 | - From the Finder, drag the ObjectiveGit Xcode project bundle into Xcode's file explorer. I added it under the application project. You can add it as a sibling project, and Xcode will give you a choice of setting up a separate workspace. 16 | 17 | - Select the Application project in the file explorer and it will bring up the project viewer. In here you can see the settings for the project and the target. Select the target and go to the Build Phases section. 18 | 19 | - Add the ObjectiveGit framework as a target Dependency. 20 | 21 | - Add the ObjectiveGit framework to the Link Binary With Libraries section. 22 | 23 | - Add a new Copy Files build phase, set the destination to be Frameworks, and add the ObjectiveGit framework to that. 24 | 25 | **NB** As with any other framework, when you want to use any of it's methods, be sure to import ``. 26 | 27 | And that's it! Use this project to see what the settings look like after they have been applied. 28 | 29 | [1]: https://github.com/libgit2/libgit2 30 | [2]: https://github.com/libgit2/objective-git 31 | --------------------------------------------------------------------------------