Plugins/Displays/Brushed/GrowlBrushedPrefsController.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
     1 //
     2 //  GrowlBrushedPrefsController.m
     3 //  Display Plugins
     4 //
     5 //  Created by Ingmar Stein on 12/01/2004.
     6 //  Copyright 2004-2006 The Growl Project. All rights reserved.
     7 //
     8 
     9 #import "GrowlBrushedPrefsController.h"
    10 #import "GrowlBrushedDefines.h"
    11 #import "GrowlDefinesInternal.h"
    12 
    13 
    14 @implementation GrowlBrushedPrefsController
    15 
    16 - (NSString *) mainNibName {
    17 	return @"BrushedPrefs";
    18 }
    19 
    20 + (NSColor *) loadColor:(NSString *)key defaultColor:(NSColor *)defaultColor {
    21 	NSData *data = nil;
    22 	NSColor *color;
    23 	READ_GROWL_PREF_VALUE(key, GrowlBrushedPrefDomain, NSData *, &data);
    24 	if(data)
    25 		CFMakeCollectable(data);		
    26 	if (data && [data isKindOfClass:[NSData class]]) {
    27 			color = [NSUnarchiver unarchiveObjectWithData:data];
    28 	} else {
    29 		color = defaultColor;
    30 	}
    31 	[data release];
    32 	data = nil;
    33 	
    34 	return color;
    35 }
    36 
    37 #pragma mark -
    38 
    39 - (NSInteger) numberOfItemsInComboBox:(NSComboBox *)aComboBox {
    40 #pragma unused(aComboBox)
    41 	return [[NSScreen screens] count];
    42 }
    43 
    44 - (id) comboBox:(NSComboBox *)aComboBox objectValueForItemAtIndex:(NSInteger)idx {
    45 #pragma unused(aComboBox)
    46 #ifdef __LP64__
    47 	return [NSNumber numberWithInteger:idx];
    48 #else
    49 	return [NSNumber numberWithInt:idx];
    50 #endif
    51 }
    52 
    53 #pragma mark -
    54 
    55 - (CGFloat) duration {
    56 	CGFloat value = GrowlBrushedDurationPrefDefault;
    57 	READ_GROWL_PREF_FLOAT(GrowlBrushedDurationPref, GrowlBrushedPrefDomain, &value);
    58 	return value;
    59 }
    60 
    61 - (void) setDuration:(CGFloat)value {
    62 	WRITE_GROWL_PREF_FLOAT(GrowlBrushedDurationPref, value, GrowlBrushedPrefDomain);
    63 	UPDATE_GROWL_PREFS();
    64 }
    65 
    66 #pragma mark priority color settings
    67 
    68 - (NSColor *) textColorVeryLow {
    69 	return [GrowlBrushedPrefsController loadColor:GrowlBrushedVeryLowTextColor
    70 			  defaultColor:[NSColor colorWithCalibratedWhite:0.1 alpha:1.0]];
    71 }
    72 
    73 - (void) setTextColorVeryLow:(NSColor *)value {
    74 	NSData *theData = [NSArchiver archivedDataWithRootObject:value];
    75     WRITE_GROWL_PREF_VALUE(GrowlBrushedVeryLowTextColor, theData, GrowlBrushedPrefDomain);
    76     UPDATE_GROWL_PREFS();
    77 }
    78 
    79 - (NSColor *) textColorModerate {
    80 	return [GrowlBrushedPrefsController loadColor:GrowlBrushedModerateTextColor
    81 									 defaultColor:[NSColor colorWithCalibratedWhite:0.1 alpha:1.0]];
    82 }
    83 
    84 - (void) setTextColorModerate:(NSColor *)value {
    85 	NSData *theData = [NSArchiver archivedDataWithRootObject:value];
    86     WRITE_GROWL_PREF_VALUE(GrowlBrushedModerateTextColor, theData, GrowlBrushedPrefDomain);
    87     UPDATE_GROWL_PREFS();
    88 }
    89 
    90 - (NSColor *) textColorNormal {
    91 	return [GrowlBrushedPrefsController loadColor:GrowlBrushedNormalTextColor
    92 									 defaultColor:[NSColor colorWithCalibratedWhite:0.1 alpha:1.0]];
    93 }
    94 
    95 - (void) setTextColorNormal:(NSColor *)value {
    96 	NSData *theData = [NSArchiver archivedDataWithRootObject:value];
    97     WRITE_GROWL_PREF_VALUE(GrowlBrushedNormalTextColor, theData, GrowlBrushedPrefDomain);
    98     UPDATE_GROWL_PREFS();
    99 }
   100 
   101 - (NSColor *) textColorHigh {
   102 	return [GrowlBrushedPrefsController loadColor:GrowlBrushedHighTextColor
   103 									 defaultColor:[NSColor colorWithCalibratedWhite:0.1 alpha:1.0]];
   104 }
   105 
   106 - (void) setTextColorHigh:(NSColor *)value {
   107 	NSData *theData = [NSArchiver archivedDataWithRootObject:value];
   108     WRITE_GROWL_PREF_VALUE(GrowlBrushedHighTextColor, theData, GrowlBrushedPrefDomain);
   109     UPDATE_GROWL_PREFS();
   110 }
   111 
   112 - (NSColor *) textColorEmergency {
   113 	return [GrowlBrushedPrefsController loadColor:GrowlBrushedEmergencyTextColor
   114 									 defaultColor:[NSColor colorWithCalibratedWhite:0.1 alpha:1.0]];
   115 }
   116 
   117 - (void) setTextColorEmergency:(NSColor *)value {
   118 	NSData *theData = [NSArchiver archivedDataWithRootObject:value];
   119     WRITE_GROWL_PREF_VALUE(GrowlBrushedEmergencyTextColor, theData, GrowlBrushedPrefDomain);
   120     UPDATE_GROWL_PREFS();
   121 }
   122 
   123 #pragma mark -
   124 
   125 - (int) screen {
   126 	int value = 0;
   127 	READ_GROWL_PREF_INT(GrowlBrushedScreenPref, GrowlBrushedPrefDomain, &value);
   128 	return value;
   129 }
   130 
   131 - (void) setScreen:(int)value {
   132 	WRITE_GROWL_PREF_INT(GrowlBrushedScreenPref, value, GrowlBrushedPrefDomain);
   133 	UPDATE_GROWL_PREFS();
   134 }
   135 
   136 #pragma mark -
   137 
   138 - (BOOL) isFloatingIcon {
   139 	BOOL value = GrowlBrushedFloatIconPrefDefault;
   140 	READ_GROWL_PREF_BOOL(GrowlBrushedFloatIconPref, GrowlBrushedPrefDomain, &value);
   141 	return value;
   142 }
   143 
   144 - (void) setFloatingIcon:(BOOL)value {
   145 	WRITE_GROWL_PREF_BOOL(GrowlBrushedFloatIconPref, value, GrowlBrushedPrefDomain);
   146 	UPDATE_GROWL_PREFS();
   147 }
   148 
   149 #pragma mark -
   150 
   151 - (BOOL) isLimit {
   152 	BOOL value = GrowlBrushedLimitPrefDefault;
   153 	READ_GROWL_PREF_BOOL(GrowlBrushedLimitPref, GrowlBrushedPrefDomain, &value);
   154 	return value;
   155 }
   156 
   157 - (void) setLimit:(BOOL)value {
   158 	WRITE_GROWL_PREF_BOOL(GrowlBrushedLimitPref, value, GrowlBrushedPrefDomain);
   159 	UPDATE_GROWL_PREFS();
   160 }
   161 
   162 #pragma mark -
   163 
   164 - (BOOL) isAqua {
   165 	BOOL value = GrowlBrushedAquaPrefDefault;
   166 	READ_GROWL_PREF_BOOL(GrowlBrushedAquaPref, GrowlBrushedPrefDomain, &value);
   167 	return value;
   168 }
   169 
   170 - (void) setAqua:(BOOL)value {
   171 	WRITE_GROWL_PREF_BOOL(GrowlBrushedAquaPref, value, GrowlBrushedPrefDomain);
   172 	UPDATE_GROWL_PREFS();
   173 }
   174 
   175 - (int) size {
   176 	int value = 0;
   177 	READ_GROWL_PREF_INT(GrowlBrushedSizePref, GrowlBrushedPrefDomain, &value);
   178 	return value;
   179 }
   180 
   181 - (void) setSize:(int)value {
   182 	WRITE_GROWL_PREF_INT(GrowlBrushedSizePref, value, GrowlBrushedPrefDomain);
   183 	UPDATE_GROWL_PREFS();
   184 }
   185 
   186 @end