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