Fix several cases where the UI did not properly reflect model changes.
[enjoyable.git] / Classes / EnjoyableApplicationDelegate.m
index 7c9ae7e..bf2a336 100644 (file)
     } else if (self.mappingsController[mapping.name]) {
         [self.mappingsController[mapping.name] mergeEntriesFrom:mapping];
     } else if (mapping) {
+        [self.mvc beginUpdates];
         [self.mappingsController addMapping:mapping];
+        [self.mvc addedMappingAtIndex:self.mappingsController.count - 1 startEditing:NO];
+        [self.mvc endUpdates];
+        [self.mappingsController activateMapping:mapping];
     } else {
         [window presentError:error
               modalForWindow:window
     } else if (self.mappingsController[mapping.name]) {
         [self.mappingsController[mapping.name] mergeEntriesFrom:mapping];
     } else if (mapping) {
+        [self.mvc beginUpdates];
+        [self.mvc addedMappingAtIndex:index startEditing:NO];
         [self.mappingsController insertMapping:mapping atIndex:index];
+        [self.mvc endUpdates];
     }
     return !!mapping;
 }