diff --git a/ApplicationController.h b/ApplicationController.h index aacd6da..e5c9bfa 100644 --- a/ApplicationController.h +++ b/ApplicationController.h @@ -13,7 +13,6 @@ { IBOutlet NSWindow *window; IBOutlet PBGitRepository* repository; - IBOutlet NSNumber* selectedTab; NSPersistentStoreCoordinator *persistentStoreCoordinator; NSManagedObjectModel *managedObjectModel; @@ -27,5 +26,4 @@ - (IBAction)saveAction:sender; @property (retain) PBGitRepository* repository; -@property (copy) NSNumber* selectedTab; @end diff --git a/ApplicationController.m b/ApplicationController.m index c1ce453..9adcefb 100644 --- a/ApplicationController.m +++ b/ApplicationController.m @@ -10,12 +10,10 @@ @implementation ApplicationController -@synthesize repository, selectedTab; +@synthesize repository; - (ApplicationController*) init { - self.selectedTab = [NSNumber numberWithInt:0]; - // Find the current repository char* a = getenv("PWD"); NSString* path; diff --git a/PBDetailController.h b/PBDetailController.h new file mode 100644 index 0000000..c88a9e2 --- /dev/null +++ b/PBDetailController.h @@ -0,0 +1,29 @@ +// +// PBDetailController.h +// GitX +// +// Created by Pieter de Bie on 16-06-08. +// Copyright 2008 __MyCompanyName__. All rights reserved. +// + +#import +#import "PBGitCommit.h" +#import "PBGitTree.h" + +@interface PBDetailController : NSObject { + IBOutlet NSNumber* selectedTab; + IBOutlet NSArrayController* commitController; + + PBGitTree* gitTree; + PBGitCommit* webCommit; + PBGitCommit* rawCommit; + PBGitCommit* realCommit; +} + +@property (copy) NSNumber* selectedTab; +@property (retain) PBGitCommit* webCommit; +@property (retain) PBGitCommit* rawCommit; +@property (retain) PBGitCommit* realCommit; +@property (retain) PBGitTree* gitTree; + +@end diff --git a/PBDetailController.m b/PBDetailController.m new file mode 100644 index 0000000..d63fdc7 --- /dev/null +++ b/PBDetailController.m @@ -0,0 +1,50 @@ +// +// PBDetailController.m +// GitX +// +// Created by Pieter de Bie on 16-06-08. +// Copyright 2008 __MyCompanyName__. All rights reserved. +// + +#import "PBDetailController.h" + + +@implementation PBDetailController + +@synthesize selectedTab, webCommit, rawCommit, realCommit, gitTree; + +- init +{ + self.selectedTab = [NSNumber numberWithInt:0]; + [commitController bind:@"realCommit" toObject:self withKeyPath:@"selection" options:nil]; + return self; +} + +- (void) updateKeys +{ + self.webCommit = nil; + self.rawCommit = nil; + self.gitTree = nil; + + int num = [self.selectedTab intValue]; + + if (num == 0) // Detailed view + self.webCommit = self.realCommit; + if (num == 1) + self.rawCommit = self.realCommit; + if (num == 2) + self.gitTree = self.realCommit.tree; +} + +- (void) setRealCommit: (PBGitCommit*) commit +{ + realCommit = commit; + [self updateKeys]; +} + +- (void) setSelectedTab: (NSNumber*) number +{ + selectedTab = number; + [self updateKeys]; +} +@end