Save user's preferences in the Cocoa port

This commit is contained in:
Lior Halphon 2016-04-08 13:10:01 +03:00
parent d5a13900dd
commit d580a33a7f

View File

@ -58,8 +58,13 @@ static uint32_t rgbEncode(GB_gameboy_t *gb, unsigned char r, unsigned char g, un
if (self) { if (self) {
has_debugger_input = [[NSConditionLock alloc] initWithCondition:0]; has_debugger_input = [[NSConditionLock alloc] initWithCondition:0];
debugger_input_queue = [[NSMutableArray alloc] init]; debugger_input_queue = [[NSMutableArray alloc] init];
if ([[NSUserDefaults standardUserDefaults] boolForKey:@"EmulateDMG"]) {
[self initDMG];
}
else {
[self initCGB]; [self initCGB];
} }
}
return self; return self;
} }
@ -142,6 +147,10 @@ static uint32_t rgbEncode(GB_gameboy_t *gb, unsigned char r, unsigned char g, un
else { else {
[self initDMG]; [self initDMG];
} }
if ([sender tag] != 0) {
/* User explictly selected a model, save the preference */
[[NSUserDefaults standardUserDefaults] setBool:!gb.is_cgb forKey:@"EmulateDMG"];
}
[self readFromFile:self.fileName ofType:@"gb"]; [self readFromFile:self.fileName ofType:@"gb"];
[self start]; [self start];
} }
@ -165,6 +174,7 @@ static uint32_t rgbEncode(GB_gameboy_t *gb, unsigned char r, unsigned char g, un
[super windowControllerDidLoadNib:aController]; [super windowControllerDidLoadNib:aController];
self.consoleOutput.textContainerInset = NSMakeSize(4, 4); self.consoleOutput.textContainerInset = NSMakeSize(4, 4);
[self.view becomeFirstResponder]; [self.view becomeFirstResponder];
self.view.shouldBlendFrameWithPrevious = ![[NSUserDefaults standardUserDefaults] boolForKey:@"DisableFrameBlending"];
[self start]; [self start];
} }
@ -216,6 +226,7 @@ static uint32_t rgbEncode(GB_gameboy_t *gb, unsigned char r, unsigned char g, un
- (IBAction)toggleBlend:(id)sender - (IBAction)toggleBlend:(id)sender
{ {
self.view.shouldBlendFrameWithPrevious ^= YES; self.view.shouldBlendFrameWithPrevious ^= YES;
[[NSUserDefaults standardUserDefaults] setBool:!self.view.shouldBlendFrameWithPrevious forKey:@"DisableFrameBlending"];
} }
- (BOOL)validateUserInterfaceItem:(id<NSValidatedUserInterfaceItem>)anItem - (BOOL)validateUserInterfaceItem:(id<NSValidatedUserInterfaceItem>)anItem