selector:@selector(mappingDidChange:)
name:NJEventMappingChanged
object:nil];
+ [NSNotificationCenter.defaultCenter
+ addObserver:self
+ selector:@selector(mappingListDidChange:)
+ name:NJEventMappingListChanged
+ object:nil];
[NSNotificationCenter.defaultCenter
addObserver:self
selector:@selector(eventTranslationActivated:)
name:NJEventTranslationDeactivated
object:nil];
- mappingsMenuIndex = dockMenuBase.numberOfItems;
- while (![dockMenuBase itemAtIndex:mappingsMenuIndex - 1].isSeparatorItem)
- --mappingsMenuIndex;
+ while (![dockMenuBase itemAtIndex:mappingsMenuIndex++].tag);
self.outputController.enabled = NO;
[self.inputController setup];
- (void)applicationWillTerminate:(NSNotification *)aNotification {
[NSUserDefaults.standardUserDefaults synchronize];
+ [NSNotificationCenter.defaultCenter removeObserver:self];
}
- (void)eventTranslationActivated:(NSNotification *)note {
NSLog(@"Ignoring application changes.");
}
-- (IBAction)toggleActivity:(id)sender {
- self.inputController.translatingEvents = !self.inputController.translatingEvents;
-}
-
-- (void)mappingsChanged {
+- (void)mappingListDidChange:(NSNotification *)note {
+ NSArray *mappings = note.object;
NSInteger removeFrom = mappingsMenuIndex;
while (dockMenuBase.numberOfItems > removeFrom)
[dockMenuBase removeItemAtIndex:dockMenuBase.numberOfItems - 1];
int added = 0;
- for (NJMapping *mapping in self.mappingsController) {
+ for (NJMapping *mapping in mappings) {
NSString *keyEquiv = ++added < 10 ? @(added).stringValue : @"";
[dockMenuBase addItemWithTitle:mapping.name
action:@selector(chooseMapping:)