5 // Created by Jorge Salvador Caffarena on 14/09/04.
6 // Copyright 2004 Jorge Salvador Caffarena. All rights reserved.
9 #import "GrowlBezelPrefs.h"
10 #import "GrowlDefinesInternal.h"
12 @implementation GrowlBezelPrefs
14 - (NSString *) mainNibName {
15 return @"GrowlBezelPrefs";
18 - (void) mainViewDidLoad {
19 [slider_opacity setAltIncrementValue:5.0];
23 SYNCHRONIZE_GROWL_PREFS();
28 + (NSColor *) loadColor:(NSString *)key defaultColor:(NSColor *)defaultColor {
31 READ_GROWL_PREF_VALUE(key, GrowlBezelPrefDomain, NSData *, &data);
33 CFMakeCollectable(data);
34 if (data && [data isKindOfClass:[NSData class]]) {
35 color = [NSUnarchiver unarchiveObjectWithData:data];
48 CGFloat value = BEZEL_OPACITY_DEFAULT;
49 READ_GROWL_PREF_FLOAT(BEZEL_OPACITY_PREF, GrowlBezelPrefDomain, &value);
53 - (void) setOpacity:(CGFloat)value {
54 WRITE_GROWL_PREF_FLOAT(BEZEL_OPACITY_PREF, value, GrowlBezelPrefDomain);
60 - (CGFloat) duration {
62 READ_GROWL_PREF_FLOAT(GrowlBezelDuration, GrowlBezelPrefDomain, &value);
66 - (void) setDuration:(CGFloat)value {
67 WRITE_GROWL_PREF_FLOAT(GrowlBezelDuration, value, GrowlBezelPrefDomain);
75 READ_GROWL_PREF_INT(BEZEL_SIZE_PREF, GrowlBezelPrefDomain, &value);
79 - (void) setSize:(int)value {
80 WRITE_GROWL_PREF_INT(BEZEL_SIZE_PREF, value, GrowlBezelPrefDomain);
86 - (NSInteger) numberOfItemsInComboBox:(NSComboBox *)aComboBox {
87 #pragma unused(aComboBox)
88 return [[NSScreen screens] count];
91 - (id) comboBox:(NSComboBox *)aComboBox objectValueForItemAtIndex:(NSInteger)idx {
92 #pragma unused(aComboBox)
94 return [NSNumber numberWithInteger:idx];
96 return [NSNumber numberWithInt:idx];
102 READ_GROWL_PREF_INT(BEZEL_SCREEN_PREF, GrowlBezelPrefDomain, &value);
106 - (void) setScreen:(int)value {
107 WRITE_GROWL_PREF_INT(BEZEL_SCREEN_PREF, value, GrowlBezelPrefDomain);
108 UPDATE_GROWL_PREFS();
115 READ_GROWL_PREF_INT(BEZEL_STYLE_PREF, GrowlBezelPrefDomain, &value);
119 - (void) setStyle:(int)value {
120 WRITE_GROWL_PREF_INT(BEZEL_STYLE_PREF, value, GrowlBezelPrefDomain);
121 UPDATE_GROWL_PREFS();
127 int value = BEZEL_POSITION_DEFAULT;
128 READ_GROWL_PREF_INT(BEZEL_POSITION_PREF, GrowlBezelPrefDomain, &value);
132 - (void) setPosition:(int)value {
133 WRITE_GROWL_PREF_INT(BEZEL_POSITION_PREF, value, GrowlBezelPrefDomain);
134 UPDATE_GROWL_PREFS();
141 READ_GROWL_PREF_BOOL(BEZEL_SHRINK_PREF, GrowlBezelPrefDomain, &shrink);
145 - (void) setShrink:(BOOL)flag {
146 WRITE_GROWL_PREF_BOOL(BEZEL_SHRINK_PREF, flag, GrowlBezelPrefDomain);
147 UPDATE_GROWL_PREFS();
154 READ_GROWL_PREF_BOOL(BEZEL_FLIP_PREF, GrowlBezelPrefDomain, &flip);
158 - (void) setFlip:(BOOL)flag {
159 WRITE_GROWL_PREF_BOOL(BEZEL_FLIP_PREF, flag, GrowlBezelPrefDomain);
160 UPDATE_GROWL_PREFS();
165 - (NSColor *) textColorVeryLow {
166 return [GrowlBezelPrefs loadColor:GrowlBezelVeryLowTextColor
167 defaultColor:[NSColor whiteColor]];
170 - (void) setTextColorVeryLow:(NSColor *)value {
171 NSData *theData = [NSArchiver archivedDataWithRootObject:value];
172 WRITE_GROWL_PREF_VALUE(GrowlBezelVeryLowTextColor, theData, GrowlBezelPrefDomain);
173 UPDATE_GROWL_PREFS();
176 - (NSColor *) textColorModerate {
177 return [GrowlBezelPrefs loadColor:GrowlBezelModerateTextColor
178 defaultColor:[NSColor whiteColor]];
181 - (void) setTextColorModerate:(NSColor *)value {
182 NSData *theData = [NSArchiver archivedDataWithRootObject:value];
183 WRITE_GROWL_PREF_VALUE(GrowlBezelModerateTextColor, theData, GrowlBezelPrefDomain);
184 UPDATE_GROWL_PREFS();
187 - (NSColor *) textColorNormal {
188 return [GrowlBezelPrefs loadColor:GrowlBezelNormalTextColor
189 defaultColor:[NSColor whiteColor]];
192 - (void) setTextColorNormal:(NSColor *)value {
193 NSData *theData = [NSArchiver archivedDataWithRootObject:value];
194 WRITE_GROWL_PREF_VALUE(GrowlBezelNormalTextColor, theData, GrowlBezelPrefDomain);
195 UPDATE_GROWL_PREFS();
198 - (NSColor *) textColorHigh {
199 return [GrowlBezelPrefs loadColor:GrowlBezelHighTextColor
200 defaultColor:[NSColor whiteColor]];
203 - (void) setTextColorHigh:(NSColor *)value {
204 NSData *theData = [NSArchiver archivedDataWithRootObject:value];
205 WRITE_GROWL_PREF_VALUE(GrowlBezelHighTextColor, theData, GrowlBezelPrefDomain);
206 UPDATE_GROWL_PREFS();
209 - (NSColor *) textColorEmergency {
210 return [GrowlBezelPrefs loadColor:GrowlBezelEmergencyTextColor
211 defaultColor:[NSColor whiteColor]];
214 - (void) setTextColorEmergency:(NSColor *)value {
215 NSData *theData = [NSArchiver archivedDataWithRootObject:value];
216 WRITE_GROWL_PREF_VALUE(GrowlBezelEmergencyTextColor, theData, GrowlBezelPrefDomain);
217 UPDATE_GROWL_PREFS();
222 - (NSColor *) backgroundColorVeryLow {
223 return [GrowlBezelPrefs loadColor:GrowlBezelVeryLowBackgroundColor
224 defaultColor:[NSColor blackColor]];
227 - (void) setBackgroundColorVeryLow:(NSColor *)value {
228 NSData *theData = [NSArchiver archivedDataWithRootObject:value];
229 WRITE_GROWL_PREF_VALUE(GrowlBezelVeryLowBackgroundColor, theData, GrowlBezelPrefDomain);
230 UPDATE_GROWL_PREFS();
233 - (NSColor *) backgroundColorModerate {
234 return [GrowlBezelPrefs loadColor:GrowlBezelModerateBackgroundColor
235 defaultColor:[NSColor blackColor]];
238 - (void) setBackgroundColorModerate:(NSColor *)value {
239 NSData *theData = [NSArchiver archivedDataWithRootObject:value];
240 WRITE_GROWL_PREF_VALUE(GrowlBezelModerateBackgroundColor, theData, GrowlBezelPrefDomain);
241 UPDATE_GROWL_PREFS();
244 - (NSColor *) backgroundColorNormal {
245 return [GrowlBezelPrefs loadColor:GrowlBezelNormalBackgroundColor
246 defaultColor:[NSColor blackColor]];
249 - (void) setBackgroundColorNormal:(NSColor *)value {
250 NSData *theData = [NSArchiver archivedDataWithRootObject:value];
251 WRITE_GROWL_PREF_VALUE(GrowlBezelNormalBackgroundColor, theData, GrowlBezelPrefDomain);
252 UPDATE_GROWL_PREFS();
255 - (NSColor *) backgroundColorHigh {
256 return [GrowlBezelPrefs loadColor:GrowlBezelHighBackgroundColor
257 defaultColor:[NSColor blackColor]];
260 - (void) setBackgroundColorHigh:(NSColor *)value {
261 NSData *theData = [NSArchiver archivedDataWithRootObject:value];
262 WRITE_GROWL_PREF_VALUE(GrowlBezelHighBackgroundColor, theData, GrowlBezelPrefDomain);
263 UPDATE_GROWL_PREFS();
266 - (NSColor *) backgroundColorEmergency {
267 return [GrowlBezelPrefs loadColor:GrowlBezelEmergencyBackgroundColor
268 defaultColor:[NSColor blackColor]];
271 - (void) setBackgroundColorEmergency:(NSColor *)value {
272 NSData *theData = [NSArchiver archivedDataWithRootObject:value];
273 WRITE_GROWL_PREF_VALUE(GrowlBezelEmergencyBackgroundColor, theData, GrowlBezelPrefDomain);
274 UPDATE_GROWL_PREFS();