1// 2// PXPreferencesController.m 3// Pixen-XCode 4// 5// Created by Andy Matuschak on Wed Jun 09 2004. 6// Copyright (c) 2004 Open Sword Group. All rights reserved. 7// 8 9#import "PXPreferencesController.h" 10#import "PXHotkeyFormatter.h" 11 12@implementation PXPreferencesController 13 14PXPreferencesController * preferences = nil; 15 16+ sharedPreferencesController 17{ 18 if(preferences == nil) { preferences = [[self alloc] init]; } 19 return preferences; 20} 21 22- init 23{ 24 return [super initWithWindowNibName:@"PXPreferences"]; 25} 26 27- (void)awakeFromNib 28{ 29 if ([[NSUserDefaults standardUserDefaults] boolForKey:@"PXCrosshairEnabled"]) { 30 [crosshairColor setEnabled:YES]; 31 } else { 32 [crosshairColor setEnabled:NO]; 33 } 34 35 if ([[NSUserDefaults standardUserDefaults] boolForKey:@"PXAutosaveEnabled"]) { 36 [autoupdateFrequency setEnabled:YES]; 37 } else { 38 [autoupdateFrequency setEnabled:NO]; 39 } 40 41 id enumerator = [[form cells] objectEnumerator], current; 42 while (current = [enumerator nextObject]) 43 { 44 [current setFormatter:[[[PXHotkeyFormatter alloc] init] autorelease]]; 45 } 46} 47 48- (IBAction)switchCrosshair:sender 49{ 50 if ([sender state] == NSOnState) { 51 [crosshairColor setEnabled:YES]; 52 } else { 53 [crosshairColor setEnabled:NO]; 54 } 55} 56 57- (IBAction)switchAutoupdate:sender 58{ 59 [self updateAutoupdate:sender]; 60 if ([sender state] == NSOnState) { 61 [autoupdateFrequency setEnabled:YES]; 62 } else { 63 [autoupdateFrequency setEnabled:NO]; 64 } 65} 66 67- (IBAction)updateAutoupdate:sender 68{ 69 [[[NSDocumentController sharedDocumentController] documents] makeObjectsPerformSelector:@selector(rescheduleAutosave)]; 70} 71 72- (void)controlTextDidChange:aNotification 73{ 74 [[[NSDocumentController sharedDocumentController] documents] makeObjectsPerformSelector:@selector(rescheduleAutosave)]; 75} 76 77 78@end 79