X-Git-Url: https://git.yukkurigames.com/?p=enjoyable.git;a=blobdiff_plain;f=Classes%2FNJOutputController.m;h=f8ed2ea8cbc6ec4c50bbfad0ea2e4ebe94756fca;hp=fd160e65af84f00995c93d36b0999ad1d8f99f83;hb=93d9951d6bd16b37e88b8fb6c38bc4afd6c9401e;hpb=24bdb92798b9abe86c7954042a47523791736b7c diff --git a/Classes/NJOutputController.m b/Classes/NJOutputController.m index fd160e6..f8ed2ea 100644 --- a/Classes/NJOutputController.m +++ b/Classes/NJOutputController.m @@ -7,11 +7,10 @@ #import "NJOutputController.h" -#import "NJMappingsController.h" #import "NJMapping.h" #import "NJInput.h" #import "NJEvents.h" -#import "NJDeviceController.h" +#import "NJInputController.h" #import "NJKeyInputField.h" #import "NJOutputMapping.h" #import "NJOutputController.h" @@ -20,7 +19,9 @@ #import "NJOutputMouseMove.h" #import "NJOutputMouseScroll.h" -@implementation NJOutputController +@implementation NJOutputController { + NJInput *_input; +} - (id)init { if ((self = [super init])) { @@ -157,7 +158,7 @@ } - (NJOutput *)currentOutput { - return mappingsController.currentMapping[inputController.selectedInput]; + return inputController.currentMapping[_input]; } - (NJOutput *)makeOutput { @@ -175,7 +176,7 @@ break; case 2: { NJOutputMapping *c = [[NJOutputMapping alloc] init]; - c.mapping = mappingsController[mappingPopup.indexOfSelectedItem]; + c.mapping = inputController.mappings[mappingPopup.indexOfSelectedItem]; return c; } case 3: { @@ -203,8 +204,8 @@ - (void)commit { [self cleanUpInterface]; - mappingsController.currentMapping[inputController.selectedInput] = [self makeOutput]; - [mappingsController save]; + inputController.currentMapping[_input] = [self makeOutput]; + [inputController save]; } - (BOOL)enabled { @@ -243,7 +244,7 @@ keyInput.keyCode = [(NJOutputKeyPress*)output keyCode]; } else if ([output isKindOfClass:NJOutputMapping.class]) { [radioButtons selectCellAtRow:2 column:0]; - NSMenuItem *item = [mappingPopup itemWithRepresentedObject:[(NJOutputMapping *)output mapping]]; + NSMenuItem *item = [mappingPopup itemWithIdenticalRepresentedObject:[(NJOutputMapping *)output mapping]]; [mappingPopup selectItem:item]; unknownMapping.hidden = !!item; unknownMapping.title = [(NJOutputMapping *)output mappingName]; @@ -272,8 +273,9 @@ [self cleanUpInterface]; } -- (void)loadCurrent { - [self loadOutput:self.currentOutput forInput:inputController.selectedInput]; +- (void)loadInput:(NJInput *)input { + _input = input; + [self loadOutput:self.currentOutput forInput:input]; } - (void)focusKey { @@ -295,11 +297,11 @@ item.representedObject = mapping; [mappingPopup.menu addItem:item]; } - [mappingPopup selectItemWithRepresentedObject:current]; + [mappingPopup selectItemWithIdenticalRepresentedObject:current]; } - (void)mappingDidChange:(NSNotification *)note { - [self loadCurrent]; + [self loadInput:_input]; } @end