-
Notifications
You must be signed in to change notification settings - Fork 4
/
ShroudBackdropColor.m
33 lines (26 loc) · 1.16 KB
/
ShroudBackdropColor.m
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
//
// ShroudBackdropColor.m
// Shroud
//
// Created by Nicholas Riley on 7/5/13.
//
//
#import "ShroudBackdropColor.h"
#import "NSUserDefaultsController+NJRExtensions.h"
NSString * const ShroudBackdropColorPreferenceKey = @"FocusBackdropColor";
@implementation NSObject (ShroudBackdropColorBinding)
- (void)bindToShroudBackdropColor:(NSString *)binding;
{
NSUserDefaultsController *userDefaultsController = [NSUserDefaultsController sharedUserDefaultsController];
static BOOL initialized = NO;
if (!initialized) {
[userDefaultsController NJR_setInitialValue:
[NSArchiver archivedDataWithRootObject:[NSColor colorWithCalibratedWhite:0.239 alpha:1.000]]
forKey:ShroudBackdropColorPreferenceKey];
initialized = YES;
}
NSDictionary *colorBindingOptions = [NSDictionary dictionaryWithObject:NSUnarchiveFromDataTransformerName forKey:NSValueTransformerNameBindingOption];
NSString *colorBindingKeyPath = [@"values." stringByAppendingString:ShroudBackdropColorPreferenceKey];
[self bind:binding toObject:userDefaultsController withKeyPath:colorBindingKeyPath options:colorBindingOptions];
}
@end