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