Plugins/Displays/Nano/GrowlNanoPrefs.m
author Rudy Richter
Sat Aug 01 20:43:39 2009 -0400 (2009-08-01)
changeset 4259 0e9b6b0b1e25
parent 4246 4f52d1d98978
child 4666 59b81a267426
child 4858 ec71a469e0b8
permissions -rw-r--r--
Plugins: clang warnings
rudy@2886
     1
//
rudy@2886
     2
//  GrowlNanoPrefs.m
rudy@2886
     3
//  Display Plugins
rudy@2886
     4
//
rudy@2886
     5
//  Created by Rudy Richter on 12/12/2005.
ingmarstein@3040
     6
//  Copyright 2005-2006, The Growl Project. All rights reserved.
rudy@2886
     7
//
rudy@2886
     8
rudy@2886
     9
rudy@2886
    10
#import "GrowlNanoPrefs.h"
rudy@2886
    11
#import "GrowlDefinesInternal.h"
rudy@2886
    12
rudy@2886
    13
@implementation GrowlNanoPrefs
rudy@2886
    14
rudy@2886
    15
- (NSString *) mainNibName {
rudy@2886
    16
	return @"GrowlNanoPrefs";
rudy@2886
    17
}
rudy@2886
    18
rudy@2886
    19
- (void) mainViewDidLoad {
rudy@2886
    20
	[slider_opacity setAltIncrementValue:5.0];
rudy@2886
    21
}
rudy@2886
    22
rudy@2886
    23
- (void) didSelect {
rudy@2886
    24
	SYNCHRONIZE_GROWL_PREFS();
rudy@2886
    25
}
rudy@2886
    26
rudy@2886
    27
#pragma mark -
rudy@2886
    28
rudy@2886
    29
+ (NSColor *) loadColor:(NSString *)key defaultColor:(NSColor *)defaultColor {
rudy@2886
    30
	NSData *data = nil;
rudy@2886
    31
	NSColor *color;
rudy@2886
    32
	READ_GROWL_PREF_VALUE(key, GrowlNanoPrefDomain, NSData *, &data);
Rudy@4259
    33
	if(data)
Rudy@4259
    34
		CFMakeCollectable(data);		
rudy@2886
    35
	if (data && [data isKindOfClass:[NSData class]]) {
rudy@2886
    36
		color = [NSUnarchiver unarchiveObjectWithData:data];
rudy@2886
    37
	} else {
rudy@2886
    38
		color = defaultColor;
rudy@2886
    39
	}
rudy@2886
    40
	[data release];
rudy@2886
    41
rudy@2886
    42
	return color;
rudy@2886
    43
}
rudy@2886
    44
rudy@2886
    45
#pragma mark Accessors
rudy@2886
    46
Rudy@4246
    47
- (CGFloat) duration {
Rudy@4246
    48
	CGFloat value = GrowlNanoDurationPrefDefault;
rudy@2886
    49
	READ_GROWL_PREF_FLOAT(Nano_DURATION_PREF, GrowlNanoPrefDomain, &value);
rudy@2886
    50
	return value;
rudy@2886
    51
}
Rudy@4246
    52
- (void) setDuration:(CGFloat)value {
rudy@2886
    53
	WRITE_GROWL_PREF_FLOAT(Nano_DURATION_PREF, value, GrowlNanoPrefDomain);
rudy@2886
    54
	UPDATE_GROWL_PREFS();
rudy@2886
    55
}
rudy@2886
    56
rudy@2886
    57
- (unsigned) effect {
rudy@2886
    58
	int effect = 0;
rudy@2886
    59
	READ_GROWL_PREF_INT(Nano_EFFECT_PREF, GrowlNanoPrefDomain, &effect);
rudy@2886
    60
	switch (effect) {
rudy@2886
    61
		default:
rudy@2886
    62
			effect = Nano_EFFECT_SLIDE;
rudy@2886
    63
rudy@2886
    64
		case Nano_EFFECT_SLIDE:
rudy@2886
    65
		case Nano_EFFECT_WIPE:
rudy@2886
    66
			;
rudy@2886
    67
	}
rudy@2886
    68
	return (unsigned)effect;
rudy@2886
    69
}
rudy@2886
    70
- (void) setEffect:(unsigned)newEffect {
rudy@2886
    71
	switch (newEffect) {
rudy@2886
    72
		default:
evands@3640
    73
			NSLog(@"(Nano) Invalid effect number %u", newEffect);
rudy@2886
    74
			break;
rudy@2886
    75
rudy@2886
    76
		case Nano_EFFECT_SLIDE:
rudy@2886
    77
		case Nano_EFFECT_WIPE:
evands@3640
    78
		case Nano_EFFECT_FADE:
rudy@2886
    79
			WRITE_GROWL_PREF_INT(Nano_EFFECT_PREF, newEffect, GrowlNanoPrefDomain);
rudy@2886
    80
			UPDATE_GROWL_PREFS();
rudy@2886
    81
	}
rudy@2886
    82
}
rudy@2886
    83
Rudy@4246
    84
- (CGFloat) opacity {
Rudy@4246
    85
	CGFloat value = Nano_DEFAULT_OPACITY;
rudy@2886
    86
	READ_GROWL_PREF_FLOAT(Nano_OPACITY_PREF, GrowlNanoPrefDomain, &value);
rudy@2886
    87
	return value;
rudy@2886
    88
}
Rudy@4246
    89
- (void) setOpacity:(CGFloat)value {
rudy@2886
    90
	WRITE_GROWL_PREF_FLOAT(Nano_OPACITY_PREF, value, GrowlNanoPrefDomain);
rudy@2886
    91
	UPDATE_GROWL_PREFS();
rudy@2886
    92
}
rudy@2886
    93
rudy@2886
    94
- (int) size {
rudy@2886
    95
	int value = 0;
rudy@2886
    96
	READ_GROWL_PREF_INT(Nano_SIZE_PREF, GrowlNanoPrefDomain, &value);
rudy@2886
    97
	return value;
rudy@2886
    98
}
rudy@2886
    99
- (void) setSize:(int)value {
rudy@2886
   100
	WRITE_GROWL_PREF_INT(Nano_SIZE_PREF, value, GrowlNanoPrefDomain);
rudy@2886
   101
	UPDATE_GROWL_PREFS();
rudy@2886
   102
}
rudy@2886
   103
rudy@2886
   104
#pragma mark Combo box support
rudy@2886
   105
Rudy@4246
   106
- (NSInteger) numberOfItemsInComboBox:(NSComboBox *)aComboBox {
rudy@2886
   107
#pragma unused(aComboBox)
rudy@2886
   108
	return [[NSScreen screens] count];
rudy@2886
   109
}
rudy@2886
   110
Rudy@4246
   111
- (id) comboBox:(NSComboBox *)aComboBox objectValueForItemAtIndex:(NSInteger)idx {
rudy@2886
   112
#pragma unused(aComboBox)
Rudy@4246
   113
#ifdef __LP64__
Rudy@4246
   114
	return [NSNumber numberWithInteger:idx];
Rudy@4246
   115
#else
rudy@2886
   116
	return [NSNumber numberWithInt:idx];
Rudy@4246
   117
#endif
rudy@2886
   118
}
rudy@2886
   119
rudy@2886
   120
- (int) screen {
rudy@2886
   121
	int value = 0;
rudy@2886
   122
	READ_GROWL_PREF_INT(Nano_SCREEN_PREF, GrowlNanoPrefDomain, &value);
rudy@2886
   123
	return value;
rudy@2886
   124
}
rudy@2886
   125
- (void) setScreen:(int)value {
rudy@2886
   126
	WRITE_GROWL_PREF_INT(Nano_SCREEN_PREF, value, GrowlNanoPrefDomain);
rudy@2886
   127
	UPDATE_GROWL_PREFS();
rudy@2886
   128
}
rudy@2886
   129
rudy@2886
   130
- (NSColor *) textColorVeryLow {
rudy@2886
   131
	return [GrowlNanoPrefs loadColor:GrowlNanoVeryLowTextColor
rudy@2886
   132
							  defaultColor:[NSColor whiteColor]];
rudy@2886
   133
}
rudy@2886
   134
rudy@2886
   135
- (void) setTextColorVeryLow:(NSColor *)value {
rudy@2886
   136
	NSData *theData = [NSArchiver archivedDataWithRootObject:value];
rudy@2886
   137
    WRITE_GROWL_PREF_VALUE(GrowlNanoVeryLowTextColor, theData, GrowlNanoPrefDomain);
rudy@2886
   138
    UPDATE_GROWL_PREFS();
rudy@2886
   139
}
rudy@2886
   140
rudy@2886
   141
- (NSColor *) textColorModerate {
rudy@2886
   142
	return [GrowlNanoPrefs loadColor:GrowlNanoModerateTextColor
rudy@2886
   143
							  defaultColor:[NSColor whiteColor]];
rudy@2886
   144
}
rudy@2886
   145
rudy@2886
   146
- (void) setTextColorModerate:(NSColor *)value {
rudy@2886
   147
	NSData *theData = [NSArchiver archivedDataWithRootObject:value];
rudy@2886
   148
    WRITE_GROWL_PREF_VALUE(GrowlNanoModerateTextColor, theData, GrowlNanoPrefDomain);
rudy@2886
   149
    UPDATE_GROWL_PREFS();
rudy@2886
   150
}
rudy@2886
   151
rudy@2886
   152
- (NSColor *) textColorNormal {
rudy@2886
   153
	return [GrowlNanoPrefs loadColor:GrowlNanoNormalTextColor
rudy@2886
   154
							  defaultColor:[NSColor whiteColor]];
rudy@2886
   155
}
rudy@2886
   156
rudy@2886
   157
- (void) setTextColorNormal:(NSColor *)value {
rudy@2886
   158
	NSData *theData = [NSArchiver archivedDataWithRootObject:value];
rudy@2886
   159
    WRITE_GROWL_PREF_VALUE(GrowlNanoNormalTextColor, theData, GrowlNanoPrefDomain);
rudy@2886
   160
    UPDATE_GROWL_PREFS();
rudy@2886
   161
}
rudy@2886
   162
rudy@2886
   163
- (NSColor *) textColorHigh {
rudy@2886
   164
	return [GrowlNanoPrefs loadColor:GrowlNanoHighTextColor
rudy@2886
   165
							  defaultColor:[NSColor whiteColor]];
rudy@2886
   166
}
rudy@2886
   167
rudy@2886
   168
- (void) setTextColorHigh:(NSColor *)value {
rudy@2886
   169
	NSData *theData = [NSArchiver archivedDataWithRootObject:value];
rudy@2886
   170
    WRITE_GROWL_PREF_VALUE(GrowlNanoHighTextColor, theData, GrowlNanoPrefDomain);
rudy@2886
   171
    UPDATE_GROWL_PREFS();
rudy@2886
   172
}
rudy@2886
   173
rudy@2886
   174
- (NSColor *) textColorEmergency {
rudy@2886
   175
	return [GrowlNanoPrefs loadColor:GrowlNanoEmergencyTextColor
rudy@2886
   176
							  defaultColor:[NSColor whiteColor]];
rudy@2886
   177
}
rudy@2886
   178
rudy@2886
   179
- (void) setTextColorEmergency:(NSColor *)value {
rudy@2886
   180
	NSData *theData = [NSArchiver archivedDataWithRootObject:value];
rudy@2886
   181
    WRITE_GROWL_PREF_VALUE(GrowlNanoEmergencyTextColor, theData, GrowlNanoPrefDomain);
rudy@2886
   182
    UPDATE_GROWL_PREFS();
rudy@2886
   183
}
rudy@2886
   184
rudy@2886
   185
- (NSColor *) backgroundColorVeryLow {
rudy@2886
   186
	return [GrowlNanoPrefs loadColor:GrowlNanoVeryLowBackgroundColor
rudy@2886
   187
							  defaultColor:[NSColor blackColor]];
rudy@2886
   188
}
rudy@2886
   189
rudy@2886
   190
- (void) setBackgroundColorVeryLow:(NSColor *)value {
rudy@2886
   191
	NSData *theData = [NSArchiver archivedDataWithRootObject:value];
rudy@2886
   192
    WRITE_GROWL_PREF_VALUE(GrowlNanoVeryLowBackgroundColor, theData, GrowlNanoPrefDomain);
rudy@2886
   193
    UPDATE_GROWL_PREFS();
rudy@2886
   194
}
rudy@2886
   195
rudy@2886
   196
- (NSColor *) backgroundColorModerate {
rudy@2886
   197
	return [GrowlNanoPrefs loadColor:GrowlNanoModerateBackgroundColor
rudy@2886
   198
							  defaultColor:[NSColor blackColor]];
rudy@2886
   199
}
rudy@2886
   200
rudy@2886
   201
- (void) setBackgroundColorModerate:(NSColor *)value {
rudy@2886
   202
	NSData *theData = [NSArchiver archivedDataWithRootObject:value];
rudy@2886
   203
    WRITE_GROWL_PREF_VALUE(GrowlNanoModerateBackgroundColor, theData, GrowlNanoPrefDomain);
rudy@2886
   204
    UPDATE_GROWL_PREFS();
rudy@2886
   205
}
rudy@2886
   206
rudy@2886
   207
- (NSColor *) backgroundColorNormal {
rudy@2886
   208
	return [GrowlNanoPrefs loadColor:GrowlNanoNormalBackgroundColor
rudy@2886
   209
						 defaultColor:[NSColor blackColor]];
rudy@2886
   210
}
rudy@2886
   211
rudy@2886
   212
- (void) setBackgroundColorNormal:(NSColor *)value {
rudy@2886
   213
	NSData *theData = [NSArchiver archivedDataWithRootObject:value];
rudy@2886
   214
    WRITE_GROWL_PREF_VALUE(GrowlNanoNormalBackgroundColor, theData, GrowlNanoPrefDomain);
rudy@2886
   215
    UPDATE_GROWL_PREFS();
rudy@2886
   216
}
rudy@2886
   217
rudy@2886
   218
- (NSColor *) backgroundColorHigh {
rudy@2886
   219
	return [GrowlNanoPrefs loadColor:GrowlNanoHighBackgroundColor
rudy@2886
   220
							  defaultColor:[NSColor blackColor]];
rudy@2886
   221
}
rudy@2886
   222
rudy@2886
   223
- (void) setBackgroundColorHigh:(NSColor *)value {
rudy@2886
   224
	NSData *theData = [NSArchiver archivedDataWithRootObject:value];
rudy@2886
   225
    WRITE_GROWL_PREF_VALUE(GrowlNanoHighBackgroundColor, theData, GrowlNanoPrefDomain);
rudy@2886
   226
    UPDATE_GROWL_PREFS();
rudy@2886
   227
}
rudy@2886
   228
rudy@2886
   229
- (NSColor *) backgroundColorEmergency {
rudy@2886
   230
	return [GrowlNanoPrefs loadColor:GrowlNanoEmergencyBackgroundColor
rudy@2886
   231
							  defaultColor:[NSColor blackColor]];
rudy@2886
   232
}
rudy@2886
   233
rudy@2886
   234
- (void) setBackgroundColorEmergency:(NSColor *)value {
rudy@2886
   235
	NSData *theData = [NSArchiver archivedDataWithRootObject:value];
rudy@2886
   236
    WRITE_GROWL_PREF_VALUE(GrowlNanoEmergencyBackgroundColor, theData, GrowlNanoPrefDomain);
rudy@2886
   237
    UPDATE_GROWL_PREFS();
rudy@2886
   238
}
rudy@2886
   239
@end