X-Git-Url: https://git.yukkurigames.com/?p=enjoyable.git;a=blobdiff_plain;f=Classes%2FNJOutputController.m;h=fd160e65af84f00995c93d36b0999ad1d8f99f83;hp=6ae58d4dc3b2ab289e0bf936d677a67c08f1d895;hb=24bdb92798b9abe86c7954042a47523791736b7c;hpb=8a7999648d97e3040d2ac820b612265f8a07c92f diff --git a/Classes/NJOutputController.m b/Classes/NJOutputController.m index 6ae58d4..fd160e6 100644 --- a/Classes/NJOutputController.m +++ b/Classes/NJOutputController.m @@ -53,8 +53,8 @@ if (row != 2) { [mappingPopup selectItemAtIndex:-1]; [mappingPopup resignIfFirstResponder]; - } else if (!mappingPopup.selectedItem) - [mappingPopup selectItemAtIndex:0]; + unknownMapping.hidden = YES; + } if (row != 3) { mouseDirSelect.selectedSegment = -1; @@ -108,6 +108,7 @@ - (void)mappingChosen:(id)sender { [radioButtons selectCellAtRow:2 column:0]; [mappingPopup.window makeFirstResponder:mappingPopup]; + unknownMapping.hidden = YES; [self commit]; } @@ -166,7 +167,7 @@ case 1: if (keyInput.hasKeyCode) { NJOutputKeyPress *k = [[NJOutputKeyPress alloc] init]; - k.vk = keyInput.keyCode; + k.keyCode = keyInput.keyCode; return k; } else { return nil; @@ -220,6 +221,8 @@ scrollDirSelect.enabled = enabled; smoothCheck.enabled = enabled; scrollSpeedSlider.enabled = enabled && smoothCheck.state; + if (!enabled) + unknownMapping.hidden = YES; } - (void)loadOutput:(NJOutput *)output forInput:(NJInput *)input { @@ -229,7 +232,7 @@ } else { self.enabled = YES; NSString *inpFullName = input.name; - for (id cur = input.base; cur; cur = cur.base) { + for (NJInputPathElement *cur = input.parent; cur; cur = cur.parent) { inpFullName = [[NSString alloc] initWithFormat:@"%@ ▸ %@", cur.name, inpFullName]; } title.stringValue = inpFullName; @@ -237,13 +240,13 @@ if ([output isKindOfClass:NJOutputKeyPress.class]) { [radioButtons selectCellAtRow:1 column:0]; - keyInput.keyCode = [(NJOutputKeyPress*)output vk]; + keyInput.keyCode = [(NJOutputKeyPress*)output keyCode]; } else if ([output isKindOfClass:NJOutputMapping.class]) { [radioButtons selectCellAtRow:2 column:0]; NSMenuItem *item = [mappingPopup itemWithRepresentedObject:[(NJOutputMapping *)output mapping]]; [mappingPopup selectItem:item]; - if (!item) - [radioButtons selectCellAtRow:self.enabled ? 0 : -1 column:0]; + unknownMapping.hidden = !!item; + unknownMapping.title = [(NJOutputMapping *)output mappingName]; } else if ([output isKindOfClass:NJOutputMouseMove.class]) { [radioButtons selectCellAtRow:3 column:0];