1 #import "PrefsController.h"
3 @implementation PrefsController
7 NSUserDefaults * defaults;
8 NSDictionary * appDefaults;
10 /* Unless the user specified otherwise, default is to check
12 defaults = [NSUserDefaults standardUserDefaults];
13 appDefaults = [NSDictionary dictionaryWithObject:@"YES"
14 forKey:@"CheckForUpdates"];
15 appDefaults = [NSDictionary dictionaryWithObject:@"English"
16 forKey:@"DefaultLanguage"];
17 [defaults registerDefaults: appDefaults];
19 /* Check or uncheck according to the preferences */
20 [fUpdateCheck setState: [defaults boolForKey:@"CheckForUpdates"] ?
21 NSOnState : NSOffState];
22 // Fill the languages combobox
23 [fdefaultlanguage removeAllItems];
24 [fdefaultlanguage addItemWithObjectValue: @"Afar"];
25 [fdefaultlanguage addItemWithObjectValue: @"Abkhazian"];
26 [fdefaultlanguage addItemWithObjectValue: @"Afrikaans"];
27 [fdefaultlanguage addItemWithObjectValue: @"Albanian"];
28 [fdefaultlanguage addItemWithObjectValue: @"Amharic"];
29 [fdefaultlanguage addItemWithObjectValue: @"Arabic"];
30 [fdefaultlanguage addItemWithObjectValue: @"Armenian"];
31 [fdefaultlanguage addItemWithObjectValue: @"Assamese"];
32 [fdefaultlanguage addItemWithObjectValue: @"Avestan"];
33 [fdefaultlanguage addItemWithObjectValue: @"Aymara"];
34 [fdefaultlanguage addItemWithObjectValue: @"Azerbaijani"];
35 [fdefaultlanguage addItemWithObjectValue: @"Bashkir"];
36 [fdefaultlanguage addItemWithObjectValue: @"Basque"];
37 [fdefaultlanguage addItemWithObjectValue: @"Belarusian"];
38 [fdefaultlanguage addItemWithObjectValue: @"Bengali"];
39 [fdefaultlanguage addItemWithObjectValue: @"Bihari"];
40 [fdefaultlanguage addItemWithObjectValue: @"Bislama"];
41 [fdefaultlanguage addItemWithObjectValue: @"Bosnian"];
42 [fdefaultlanguage addItemWithObjectValue: @"Breton"];
43 [fdefaultlanguage addItemWithObjectValue: @"Bulgarian"];
44 [fdefaultlanguage addItemWithObjectValue: @"Burmese"];
45 [fdefaultlanguage addItemWithObjectValue: @"Catalan"];
46 [fdefaultlanguage addItemWithObjectValue: @"Chamorro"];
47 [fdefaultlanguage addItemWithObjectValue: @"Chechen"];
48 [fdefaultlanguage addItemWithObjectValue: @"Chichewa; Nyanja"];
49 [fdefaultlanguage addItemWithObjectValue: @"Chinese"];
50 [fdefaultlanguage addItemWithObjectValue: @"Church Slavic"];
51 [fdefaultlanguage addItemWithObjectValue: @"Chuvash"];
52 [fdefaultlanguage addItemWithObjectValue: @"Cornish"];
53 [fdefaultlanguage addItemWithObjectValue: @"Corsican"];
54 [fdefaultlanguage addItemWithObjectValue: @"Croatian"];
55 [fdefaultlanguage addItemWithObjectValue: @"Czech"];
56 [fdefaultlanguage addItemWithObjectValue: @"Dansk"];
57 [fdefaultlanguage addItemWithObjectValue: @"Deutsch"];
58 [fdefaultlanguage addItemWithObjectValue: @"Dzongkha"];
59 [fdefaultlanguage addItemWithObjectValue: @"English"];
60 [fdefaultlanguage addItemWithObjectValue: @"Espanol"];
61 [fdefaultlanguage addItemWithObjectValue: @"Esperanto"];
62 [fdefaultlanguage addItemWithObjectValue: @"Estonian"];
63 [fdefaultlanguage addItemWithObjectValue: @"Faroese"];
64 [fdefaultlanguage addItemWithObjectValue: @"Fijian"];
65 [fdefaultlanguage addItemWithObjectValue: @"Francais"];
66 [fdefaultlanguage addItemWithObjectValue: @"Frisian"];
67 [fdefaultlanguage addItemWithObjectValue: @"Georgian"];
68 [fdefaultlanguage addItemWithObjectValue: @"Gaelic (Scots)"];
69 [fdefaultlanguage addItemWithObjectValue: @"Gallegan"];
70 [fdefaultlanguage addItemWithObjectValue: @"Greek, Modern ()"];
71 [fdefaultlanguage addItemWithObjectValue: @"Guarani"];
72 [fdefaultlanguage addItemWithObjectValue: @"Gujarati"];
73 [fdefaultlanguage addItemWithObjectValue: @"Hebrew"];
74 [fdefaultlanguage addItemWithObjectValue: @"Herero"];
75 [fdefaultlanguage addItemWithObjectValue: @"Hindi"];
76 [fdefaultlanguage addItemWithObjectValue: @"Hiri Motu"];
77 [fdefaultlanguage addItemWithObjectValue: @"Inuktitut"];
78 [fdefaultlanguage addItemWithObjectValue: @"Interlingue"];
79 [fdefaultlanguage addItemWithObjectValue: @"Interlingua"];
80 [fdefaultlanguage addItemWithObjectValue: @"Indonesian"];
81 [fdefaultlanguage addItemWithObjectValue: @"Inupiaq"];
82 [fdefaultlanguage addItemWithObjectValue: @"Irish"];
83 [fdefaultlanguage addItemWithObjectValue: @"Islenska"];
84 [fdefaultlanguage addItemWithObjectValue: @"Italian"];
85 [fdefaultlanguage addItemWithObjectValue: @"Javanese"];
86 [fdefaultlanguage addItemWithObjectValue: @"Japanese"];
87 [fdefaultlanguage addItemWithObjectValue: @"Kalaallisut (Greenlandic)"];
88 [fdefaultlanguage addItemWithObjectValue: @"Kannada"];
89 [fdefaultlanguage addItemWithObjectValue: @"Kashmiri"];
90 [fdefaultlanguage addItemWithObjectValue: @"Kazakh"];
91 [fdefaultlanguage addItemWithObjectValue: @"Khmer"];
92 [fdefaultlanguage addItemWithObjectValue: @"Kikuyu"];
93 [fdefaultlanguage addItemWithObjectValue: @"Kinyarwanda"];
94 [fdefaultlanguage addItemWithObjectValue: @"Kirghiz"];
95 [fdefaultlanguage addItemWithObjectValue: @"Komi"];
96 [fdefaultlanguage addItemWithObjectValue: @"Korean"];
97 [fdefaultlanguage addItemWithObjectValue: @"Kuanyama"];
98 [fdefaultlanguage addItemWithObjectValue: @"Kurdish"];
99 [fdefaultlanguage addItemWithObjectValue: @"Lao"];
100 [fdefaultlanguage addItemWithObjectValue: @"Latin"];
101 [fdefaultlanguage addItemWithObjectValue: @"Latvian"];
102 [fdefaultlanguage addItemWithObjectValue: @"Lingala"];
103 [fdefaultlanguage addItemWithObjectValue: @"Lithuanian"];
104 [fdefaultlanguage addItemWithObjectValue: @"Letzeburgesch"];
105 [fdefaultlanguage addItemWithObjectValue: @"Macedonian"];
106 [fdefaultlanguage addItemWithObjectValue: @"Magyar"];
107 [fdefaultlanguage addItemWithObjectValue: @"Malay"];
108 [fdefaultlanguage addItemWithObjectValue: @"Malayalam"];
109 [fdefaultlanguage addItemWithObjectValue: @"Malagasy"];
110 [fdefaultlanguage addItemWithObjectValue: @"Maltese"];
111 [fdefaultlanguage addItemWithObjectValue: @"Manx"];
112 [fdefaultlanguage addItemWithObjectValue: @"Maori"];
113 [fdefaultlanguage addItemWithObjectValue: @"Marathi"];
114 [fdefaultlanguage addItemWithObjectValue: @"Marshall"];
115 [fdefaultlanguage addItemWithObjectValue: @"Moldavian"];
116 [fdefaultlanguage addItemWithObjectValue: @"Mongolian"];
117 [fdefaultlanguage addItemWithObjectValue: @"Nauru"];
118 [fdefaultlanguage addItemWithObjectValue: @"Navajo"];
119 [fdefaultlanguage addItemWithObjectValue: @"Ndebele, South"];
120 [fdefaultlanguage addItemWithObjectValue: @"Ndebele, North"];
121 [fdefaultlanguage addItemWithObjectValue: @"Ndonga"];
122 [fdefaultlanguage addItemWithObjectValue: @"Nederlands"];
123 [fdefaultlanguage addItemWithObjectValue: @"Nepali"];
124 [fdefaultlanguage addItemWithObjectValue: @"Northern Sami"];
125 [fdefaultlanguage addItemWithObjectValue: @"Norwegian"];
126 [fdefaultlanguage addItemWithObjectValue: @"Norwegian Bokmal"];
127 [fdefaultlanguage addItemWithObjectValue: @"Norwegian Nynorsk"];
128 [fdefaultlanguage addItemWithObjectValue: @"Occitan (post 1500); Provencal"];
129 [fdefaultlanguage addItemWithObjectValue: @"Oriya"];
130 [fdefaultlanguage addItemWithObjectValue: @"Oromo"];
131 [fdefaultlanguage addItemWithObjectValue: @"Ossetian; Ossetic"];
132 [fdefaultlanguage addItemWithObjectValue: @"Panjabi"];
133 [fdefaultlanguage addItemWithObjectValue: @"Persian"];
134 [fdefaultlanguage addItemWithObjectValue: @"Pali"];
135 [fdefaultlanguage addItemWithObjectValue: @"Polish"];
136 [fdefaultlanguage addItemWithObjectValue: @"Portugues"];
137 [fdefaultlanguage addItemWithObjectValue: @"Pushto"];
138 [fdefaultlanguage addItemWithObjectValue: @"Quechua"];
139 [fdefaultlanguage addItemWithObjectValue: @"Raeto-Romance"];
140 [fdefaultlanguage addItemWithObjectValue: @"Romanian"];
141 [fdefaultlanguage addItemWithObjectValue: @"Rundi"];
142 [fdefaultlanguage addItemWithObjectValue: @"Russian"];
143 [fdefaultlanguage addItemWithObjectValue: @"Sango"];
144 [fdefaultlanguage addItemWithObjectValue: @"Sanskrit"];
145 [fdefaultlanguage addItemWithObjectValue: @"Sardinian"];
146 [fdefaultlanguage addItemWithObjectValue: @"Serbian"];
147 [fdefaultlanguage addItemWithObjectValue: @"Sinhalese"];
148 [fdefaultlanguage addItemWithObjectValue: @"Slovak"];
149 [fdefaultlanguage addItemWithObjectValue: @"Slovenian"];
150 [fdefaultlanguage addItemWithObjectValue: @"Samoan"];
151 [fdefaultlanguage addItemWithObjectValue: @"Shona"];
152 [fdefaultlanguage addItemWithObjectValue: @"Sindhi"];
153 [fdefaultlanguage addItemWithObjectValue: @"Somali"];
154 [fdefaultlanguage addItemWithObjectValue: @"Sotho, Southern"];
155 [fdefaultlanguage addItemWithObjectValue: @"Sundanese"];
156 [fdefaultlanguage addItemWithObjectValue: @"Suomi"];
157 [fdefaultlanguage addItemWithObjectValue: @"Svenska"];
158 [fdefaultlanguage addItemWithObjectValue: @"Swahili"];
159 [fdefaultlanguage addItemWithObjectValue: @"Swati"];
160 [fdefaultlanguage addItemWithObjectValue: @"Tahitian"];
161 [fdefaultlanguage addItemWithObjectValue: @"Tamil"];
162 [fdefaultlanguage addItemWithObjectValue: @"Tatar"];
163 [fdefaultlanguage addItemWithObjectValue: @"Telugu"];
164 [fdefaultlanguage addItemWithObjectValue: @"Tajik"];
165 [fdefaultlanguage addItemWithObjectValue: @"Tagalog"];
166 [fdefaultlanguage addItemWithObjectValue: @"Thai"];
167 [fdefaultlanguage addItemWithObjectValue: @"Tibetan"];
168 [fdefaultlanguage addItemWithObjectValue: @"Tigrinya"];
169 [fdefaultlanguage addItemWithObjectValue: @"Tonga (Tonga Islands)"];
170 [fdefaultlanguage addItemWithObjectValue: @"Tswana"];
171 [fdefaultlanguage addItemWithObjectValue: @"Tsonga"];
172 [fdefaultlanguage addItemWithObjectValue: @"Turkish"];
173 [fdefaultlanguage addItemWithObjectValue: @"Turkmen"];
174 [fdefaultlanguage addItemWithObjectValue: @"Twi"];
175 [fdefaultlanguage addItemWithObjectValue: @"Uighur"];
176 [fdefaultlanguage addItemWithObjectValue: @"Ukrainian"];
177 [fdefaultlanguage addItemWithObjectValue: @"Urdu"];
178 [fdefaultlanguage addItemWithObjectValue: @"Uzbek"];
179 [fdefaultlanguage addItemWithObjectValue: @"Vietnamese"];
180 [fdefaultlanguage addItemWithObjectValue: @"Volapk"];
181 [fdefaultlanguage addItemWithObjectValue: @"Welsh"];
182 [fdefaultlanguage addItemWithObjectValue: @"Wolof"];
183 [fdefaultlanguage addItemWithObjectValue: @"Xhosa"];
184 [fdefaultlanguage addItemWithObjectValue: @"Yiddish"];
185 [fdefaultlanguage addItemWithObjectValue: @"Yoruba"];
186 [fdefaultlanguage addItemWithObjectValue: @"Zhuang"];
187 [fdefaultlanguage addItemWithObjectValue: @"Zulu"];
189 [fdefaultlanguage setStringValue:[defaults stringForKey:@"DefaultLanguage"]];
190 [fdefaultlanguage selectItemWithObjectValue:[defaults stringForKey:@"DefaultLanguage"]];
195 - (IBAction) OpenPanel: (id) sender;
197 [NSApp runModalForWindow: fPanel];
200 - (IBAction) ClosePanel: (id) sender;
203 [fPanel orderOut: sender];
206 - (IBAction) CheckChanged: (id) sender
208 NSUserDefaults * defaults = [NSUserDefaults standardUserDefaults];
210 if( [fUpdateCheck state] == NSOnState )
212 [defaults setObject:@"YES" forKey:@"CheckForUpdates"];
216 [defaults setObject:@"NO" forKey:@"CheckForUpdates"];
219 [defaults setObject:[fdefaultlanguage objectValueOfSelectedItem] forKey:@"DefaultLanguage"];