#import "BPWorkspaceLoader.h" #import "BPAppController.h" @implementation BPWorkspaceLoader - (void)reloadPilesList { NSFileManager *fileManager = [NSFileManager defaultManager]; NSString *folder = [appController rootSavePath]; //NSString *folder = @"/"; NSMutableArray *contents; if ([fileManager fileExistsAtPath:folder]) { NSArray *foundContents = [fileManager directoryContentsAtPath:folder]; contents = [NSMutableArray array]; NSString *filename; int i; for (i=[foundContents count]-1; i>=0; i--) { // reverse for chronological order filename = [foundContents objectAtIndex:i]; if ([filename rangeOfString:@".piles"].length > 0) [contents addObject:filename]; } } else { contents = [NSArray array]; } [contents retain]; [savedPiles release]; savedPiles = contents; } - (void)awakeFromNib { [self reloadPilesList]; [workspacesTable setTarget:self]; [workspacesTable setDoubleAction:@selector(loadWorkspace:)]; } - (void)reloadDisplay { [self reloadPilesList]; [workspacesTable reloadData]; } - (IBAction)loadWorkspace:(id)sender { NSString *pilesToLoad = [savedPiles objectAtIndex:[workspacesTable selectedRow]]; pilesToLoad = [[appController rootSavePath] stringByAppendingPathComponent:pilesToLoad]; [appController loadAppStateAtPath:pilesToLoad]; } - (IBAction)showLoaderPanel:(id)sender { [self reloadDisplay]; [loaderPanel orderFront:nil]; } - (int)numberOfRowsInTableView:(NSTableView *)aTableView { return [savedPiles count]; } - (id)tableView:(NSTableView *)aTableView objectValueForTableColumn:(NSTableColumn *)aTableColumn row:(int)rowIndex { return [savedPiles objectAtIndex:rowIndex]; } - (BOOL)tableView:(NSTableView *)aTableView shouldEditTableColumn:(NSTableColumn *)aTableColumn row:(int)rowIndex { return NO; } @end