Simplify default and support custom notifications for nodes.
[pithos-macos] / pithos-macos / PithosBrowserController.m
index b71d62a..9ee32ab 100644 (file)
     [[[outlineView tableColumns] objectAtIndex:0] setDataCell:[[[PithosOutlineViewCell alloc] init] autorelease]];
     
     // Register for updates
-    // PithosContainerNode updates browser nodes
-    [[NSNotificationCenter defaultCenter] addObserver:self 
-                                             selector:@selector(pithosNodeChildrenUpdated:) 
-                                                 name:@"PithosContainerNodeChildrenUpdated" 
-                                               object:nil];
-    // PithosSubdirNode updates browser nodes
-    [[NSNotificationCenter defaultCenter] addObserver:self 
-                                             selector:@selector(pithosNodeChildrenUpdated:) 
-                                                 name:@"PithosSubdirNodeChildrenUpdated" 
-                                               object:nil];
     // PithosAccountNode accountNode updates outlineView container nodes 
     [[NSNotificationCenter defaultCenter] addObserver:self 
                                              selector:@selector(pithosAccountNodeChildrenUpdated:) 
-                                                 name:@"PithosAccountNodeChildrenUpdated" 
+                                                 name:@"PithosNodeChildrenUpdated" 
                                                object:accountNode];
-    // PithosAccountNode other than accountNode updates nodes 
+    // PithosNode updates browser nodes
     [[NSNotificationCenter defaultCenter] addObserver:self 
                                              selector:@selector(pithosNodeChildrenUpdated:) 
-                                                 name:@"PithosAccountNodeChildrenUpdated" 
+                                                 name:@"PithosNodeChildrenUpdated" 
                                                object:nil];
-    // PithosSharingAccountsNode othersSharedNode updates browser nodes 
-    [[NSNotificationCenter defaultCenter] addObserver:self 
-                                             selector:@selector(pithosNodeChildrenUpdated:) 
-                                                 name:@"PithosSharingAccountsNodeChildrenUpdated" 
-                                               object:othersSharedNode];
     // Request for browser refresh 
     [[NSNotificationCenter defaultCenter] addObserver:self 
                                              selector:@selector(pithosBrowserRefreshNeeded:) 
 
 - (void)pithosNodeChildrenUpdated:(NSNotification *)notification {
     PithosNode *node = (PithosNode *)[notification object];
-    if (node == accountNode)
+    if ((node == accountNode) || ![node.pithos isEqualTo:pithos])
         return;
     NSLog(@"pithosNodeChildrenUpdated:%@", node.url);
     NSInteger lastColumn = [browser lastColumn];