git.y1.nz

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.