Tweak toolbar icons.
[enjoyable.git] / EnjoyableApplicationDelegate.m
index 74e8265..8afbb5b 100644 (file)
         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:)
@@ -39,9 +44,7 @@
         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];
@@ -50,6 +53,7 @@
 
 - (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:)