SameBoy | Accurate GB/GBC emulator |
| download: https://git.y1.nz/archives/sameboy.tar.gz | |
| README | Files | Log | Refs | LICENSE |
Cocoa/GBPreferenceButton.m
1 #import "GBPreferenceButton.h"
2 #import "NSObject+DefaultsObserver.h"
3
4 @implementation GBPreferenceButton
5
6 - (BOOL)sendAction:(SEL)action to:(id)target
7 {
8 [[NSUserDefaults standardUserDefaults] setBool:self.state ^ self.invertValue forKey:_preferenceName];
9 return [super sendAction:action to:target];
10 }
11
12 - (void)updateValue
13 {
14 if (!_preferenceName) return;
15 self.state = [[NSUserDefaults standardUserDefaults] boolForKey:_preferenceName] ^ self.invertValue;
16 }
17
18 - (void)setPreferenceName:(NSString *)preferenceName
19 {
20 _preferenceName = preferenceName;
21 [self observeStandardDefaultsKey:_preferenceName selector:@selector(updateValue)];
22 }
23
24 - (void)viewDidMoveToWindow
25 {
26 [super viewDidMoveToWindow];
27 [self updateValue];
28 }
29
30 @end
This webpage is intended to be an accessible preview of this repository. To get a fuller picture, clone it and use the git CLI.