-
Notifications
You must be signed in to change notification settings - Fork 0
/
PreferenceController.m
98 lines (79 loc) · 2.3 KB
/
PreferenceController.m
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
//
// PreferenceController.m
// jigsaw
//
// Created by Will Goring on 19/06/2010.
//
#import "PreferenceController.h"
NSString * const SROURL = @"URL";
NSString * const SROUpdate = @"UpdateFrequency";
NSString * const SROHiddenUpdate = @"HiddenUpdateFrequency";
NSString * const SROUpdateWhileHidden = @"UpdateWhileHidden";
NSString * const SRODeleteOnAdd = @"DeleteOnAdd";
@implementation PreferenceController
- (id)init
{
if (![super initWithWindowNibName:@"Preferences"]) {
return nil;
}
return self;
}
- (NSString*)url
{
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
return [defaults stringForKey:SROURL];
}
- (int)update
{
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
return [defaults integerForKey:SROUpdate];
}
- (int)hiddenUpdate
{
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
return [defaults integerForKey:SROHiddenUpdate];
}
- (BOOL)updateWhileHidden
{
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
return [defaults boolForKey:SROUpdateWhileHidden];
}
- (BOOL)deleteOnAdd
{
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
return [defaults boolForKey:SRODeleteOnAdd];
}
- (void)windowDidLoad
{
[urlField setStringValue:[self url]];
[updateField setIntValue:[self update]];
[hiddenUpdateField setIntValue:[self hiddenUpdate]];
[updateWhileHiddenCheckbox setState:[self updateWhileHidden]];
[deleteOnAddCheckbox setState:[self deleteOnAdd]];
}
- (IBAction)changeUrl:(id)sender
{
[[NSUserDefaults standardUserDefaults] setObject:[urlField stringValue] forKey:SROURL];
}
- (IBAction)changeUpdate:(id)sender
{
[[NSUserDefaults standardUserDefaults] setInteger:[updateField intValue] forKey:SROUpdate];
}
- (IBAction)changeHiddenUpdate:(id)sender
{
[[NSUserDefaults standardUserDefaults] setInteger:[hiddenUpdateField intValue] forKey:SROHiddenUpdate];
}
- (IBAction)changeUpdateWhileHidden:(id)sender
{
[[NSUserDefaults standardUserDefaults] setBool:[updateWhileHiddenCheckbox state] forKey:SROUpdateWhileHidden];
if ([updateWhileHiddenCheckbox state]) {
[hiddenUpdateField setEnabled:YES];
} else {
[hiddenUpdateField setEnabled:NO];
}
}
- (IBAction)changeDeleteOnAdd:(id)sender
{
[[NSUserDefaults standardUserDefaults] setBool:[deleteOnAddCheckbox state] forKey:SROUpdateWhileHidden];
}
@end