Support opening/adding a mapping file directly to import it.
[enjoyable.git] / EnjoyableApplicationDelegate.m
index fd70bdc..59c3025 100644 (file)
         [splitView adjustSubviews];
 }
 
+- (NSMenu *)applicationDockMenu:(NSApplication *)sender {
+    NSMenu *menu = [[NSMenu alloc] init];
+    int added = 0;
+    for (NJMapping *mapping in self.mappingsController) {
+        NSString *keyEquiv = ++added < 10 ? @(added).stringValue : @"";
+        NSMenuItem *item = [[NSMenuItem alloc] initWithTitle:mapping.name
+                                                      action:@selector(chooseMapping:)
+                                               keyEquivalent:keyEquiv];
+        item.representedObject = mapping;
+        item.state = mapping == self.mappingsController.currentMapping;
+        [menu addItem:item];
+    }
+    return menu;
+}
+
+- (BOOL)application:(NSApplication *)sender openFile:(NSString *)filename {
+    NSURL *url = [NSURL fileURLWithPath:filename];
+    [self.mappingsController addMappingWithContentsOfURL:url];
+    return YES;
+}
+
+
 @end