Support changes in container and object metadata.
authorMiltiadis Vasilakis <mvasilak@gmail.com>
Thu, 1 Mar 2012 11:01:58 +0000 (13:01 +0200)
committerMiltiadis Vasilakis <mvasilak@gmail.com>
Thu, 1 Mar 2012 11:01:58 +0000 (13:01 +0200)
pithos-apple-common
pithos-macos/PithosAccountNode.m
pithos-macos/PithosContainerNode.h
pithos-macos/PithosContainerNode.m
pithos-macos/PithosObjectNode.h
pithos-macos/PithosObjectNode.m
pithos-macos/PithosPreferencesController.xib
pithos-macos/PithosSubdirNode.h
pithos-macos/PithosSubdirNode.m

index 097cb83..2f816d2 160000 (submodule)
@@ -1 +1 @@
-Subproject commit 097cb8319ef7a831c06f6154df3c63b043382ff2
+Subproject commit 2f816d2a00400b8a2ccd2447872769fb72cc1a89
index 7f581af..d517b11 100644 (file)
@@ -219,7 +219,8 @@ static NSImage *sharedIcon = nil;
                         if (oldIndex != NSNotFound) {
                             // Use the same pointer value, if possible
                             node = [children objectAtIndex:oldIndex];
-                            node.pithosContainer = container;
+//                            node.pithosContainer = container;
+                            [node setLimitedPithosContainer:container];
                             [keptNodes addIndex:oldIndex];
                         }
                     }
index 9b60a4f..e89a986 100644 (file)
@@ -69,5 +69,6 @@
 
 - (void)applyInfo;
 - (void)refreshInfo;
+- (void)setLimitedPithosContainer:(ASIPithosContainer *)aPithosContainer;
 
 @end
\ No newline at end of file
index 1752a0c..eb695c0 100644 (file)
@@ -205,6 +205,20 @@ static NSImage *sharedIcon = nil;
     }
 }
 
+- (void)setLimitedPithosContainer:(ASIPithosContainer *)aPithosContainer {
+    if (![pithosContainer isEqualTo:aPithosContainer]) {
+        self.pithosContainer.name = aPithosContainer.name;
+        self.pithosContainer.count = aPithosContainer.count;
+        self.pithosContainer.bytes = aPithosContainer.bytes;
+        self.pithosContainer.lastModified = aPithosContainer.lastModified;
+        self.pithosContainer.untilTimestamp = aPithosContainer.untilTimestamp;
+        if (!pithosNodeInfoController) {
+            self.pithosContainer.policy = aPithosContainer.policy;
+            self.pithosContainer = pithosContainer;
+        }
+    }
+}
+
 #pragma mark -
 #pragma mark ASIHTTPRequestDelegate
 
@@ -287,7 +301,8 @@ static NSImage *sharedIcon = nil;
                                         // Use the same pointer value, if possible
                                         node = [children objectAtIndex:oldIndex];
                                         node.pithosContainer = pithosContainer;
-                                        node.pithosObject = object;
+//                                        node.pithosObject = object;
+                                        [node setLimitedPithosObject:object];
                                         [keptNodes addIndex:oldIndex];
                                     }
                                 }
@@ -308,7 +323,8 @@ static NSImage *sharedIcon = nil;
                                     // Use the same pointer value, if possible
                                     node = [children objectAtIndex:oldIndex];
                                     node.pithosContainer = pithosContainer;
-                                    node.pithosObject = object;
+//                                    node.pithosObject = object;
+                                    [node setLimitedPithosObject:object];
                                     [keptNodes addIndex:oldIndex];
                                 }
                             }
@@ -326,7 +342,8 @@ static NSImage *sharedIcon = nil;
                                     // Use the same pointer value, if possible
                                     node = [children objectAtIndex:oldIndex];
                                     node.pithosContainer = pithosContainer;
-                                    node.pithosObject = object;
+//                                    node.pithosObject = object;
+                                    [node setLimitedPithosObject:object];
                                     [keptNodes addIndex:oldIndex];
                                 }
                             }
@@ -513,8 +530,10 @@ static NSImage *sharedIcon = nil;
 #pragma mark Actions
 
 - (void)showPithosNodeInfo:(id)sender {
-    if (!pithosNodeInfoController)
+    if (!pithosNodeInfoController) {
         pithosNodeInfoController = [[PithosContainerNodeInfoController alloc] initWithPithosNode:self];
+        [self refreshInfo];
+    }
     [pithosNodeInfoController showWindow:sender];
     [[pithosNodeInfoController window] makeKeyAndOrderFront:sender];
     [NSApp activateIgnoringOtherApps:YES];
index 285ff0f..9e3ba72 100644 (file)
@@ -63,5 +63,6 @@
 
 - (void)applyInfo;
 - (void)refreshInfo;
+- (void)setLimitedPithosObject:(ASIPithosObject *)aPithosObject;
 
 @end
\ No newline at end of file
index 9f6f4e0..6217018 100644 (file)
         [[NSNotificationCenter defaultCenter] postNotificationName:@"PithosBrowserRefreshNeeeded" object:self];
 }
 
+- (void)setLimitedPithosObject:(ASIPithosObject *)aPithosObject {
+    if (![pithosObject isEqualTo:aPithosObject]) {
+        self.pithosObject.subdir = aPithosObject.subdir;
+        self.pithosObject.name = aPithosObject.name;
+        self.pithosObject.hash = aPithosObject.hash;
+        self.pithosObject.objectHash = aPithosObject.objectHash;
+        self.pithosObject.UUID = aPithosObject.UUID;
+        self.pithosObject.bytes = aPithosObject.bytes;
+        self.pithosObject.contentType = aPithosObject.contentType;
+        self.pithosObject.lastModified = aPithosObject.lastModified;
+        self.pithosObject.version = aPithosObject.version;
+        self.pithosObject.versionTimestamp = aPithosObject.versionTimestamp;
+        self.pithosObject.modifiedBy = aPithosObject.modifiedBy;
+        self.pithosObject.sharedBy = aPithosObject.sharedBy;
+        self.pithosObject.allowedTo = aPithosObject.allowedTo;
+        if (!pithosNodeInfoController) {
+            self.pithosObject.sharing = aPithosObject.sharing;
+            self.pithosObject.publicURI = aPithosObject.publicURI;
+            self.pithosObject = pithosObject;
+        }
+    }
+}
+
 #pragma mark -
 #pragma mark ASIHTTPRequestDelegate
 
 #pragma mark Actions
 
 - (void)showPithosNodeInfo:(id)sender {
-    if (!pithosNodeInfoController)
+    if (!pithosNodeInfoController) {
         pithosNodeInfoController = [[PithosObjectNodeInfoController alloc] initWithPithosNode:self];
+        [self refreshInfo];
+    }
     [pithosNodeInfoController showWindow:sender];
     [[pithosNodeInfoController window] makeKeyAndOrderFront:sender];
     [NSApp activateIgnoringOtherApps:YES];
index d59fa89..48f9634 100644 (file)
@@ -81,6 +81,7 @@
                                                                                        <int key="NSvFlags">256</int>
                                                                                        <string key="NSFrameSize">{118, 177}</string>
                                                                                        <reference key="NSSuperview" ref="475745140"/>
+                                                                                       <reference key="NSWindow"/>
                                                                                        <reference key="NSNextKeyView" ref="366650902"/>
                                                                                        <string key="NSReuseIdentifierKey">_NS:1828</string>
                                                                                        <bool key="NSEnabled">YES</bool>
@@ -89,6 +90,7 @@
                                                                                                <int key="NSvFlags">256</int>
                                                                                                <string key="NSFrameSize">{118, 17}</string>
                                                                                                <reference key="NSSuperview" ref="316124907"/>
+                                                                                               <reference key="NSWindow"/>
                                                                                                <reference key="NSNextKeyView" ref="475745140"/>
                                                                                                <string key="NSReuseIdentifierKey">_NS:1830</string>
                                                                                                <reference key="NSTableView" ref="260212452"/>
                                                                        </object>
                                                                        <string key="NSFrame">{{1, 17}, {118, 177}}</string>
                                                                        <reference key="NSSuperview" ref="419137310"/>
+                                                                       <reference key="NSWindow"/>
                                                                        <reference key="NSNextKeyView" ref="260212452"/>
                                                                        <string key="NSReuseIdentifierKey">_NS:1826</string>
                                                                        <reference key="NSDocView" ref="260212452"/>
                                                                        <int key="NSvFlags">-2147483392</int>
                                                                        <string key="NSFrame">{{224, 17}, {15, 102}}</string>
                                                                        <reference key="NSSuperview" ref="419137310"/>
+                                                                       <reference key="NSWindow"/>
                                                                        <reference key="NSNextKeyView" ref="287845150"/>
                                                                        <string key="NSReuseIdentifierKey">_NS:1845</string>
                                                                        <reference key="NSTarget" ref="419137310"/>
                                                                        <int key="NSvFlags">-2147483392</int>
                                                                        <string key="NSFrame">{{1, 48.325627356767654}, {82.028970718383789, 15}}</string>
                                                                        <reference key="NSSuperview" ref="419137310"/>
+                                                                       <reference key="NSWindow"/>
                                                                        <reference key="NSNextKeyView" ref="310368570"/>
                                                                        <string key="NSReuseIdentifierKey">_NS:1847</string>
                                                                        <int key="NSsFlags">1</int>
                                                                        </object>
                                                                        <string key="NSFrame">{{1, 0}, {118, 17}}</string>
                                                                        <reference key="NSSuperview" ref="419137310"/>
+                                                                       <reference key="NSWindow"/>
                                                                        <reference key="NSNextKeyView" ref="152792208"/>
                                                                        <string key="NSReuseIdentifierKey">_NS:1831</string>
                                                                        <reference key="NSDocView" ref="152792208"/>
                                                        </object>
                                                        <string key="NSFrame">{{20, 47}, {120, 195}}</string>
                                                        <reference key="NSSuperview" ref="369507901"/>
+                                                       <reference key="NSWindow"/>
                                                        <reference key="NSNextKeyView" ref="316124907"/>
                                                        <string key="NSReuseIdentifierKey">_NS:1824</string>
                                                        <int key="NSsFlags">133682</int>
                                                        <int key="NSvFlags">18</int>
                                                        <string key="NSFrame">{{147, 37}, {265, 211}}</string>
                                                        <reference key="NSSuperview" ref="369507901"/>
-                                                       <reference key="NSNextKeyView" ref="635100516"/>
+                                                       <reference key="NSWindow"/>
+                                                       <reference key="NSNextKeyView" ref="646624756"/>
                                                        <string key="NSReuseIdentifierKey">_NS:608</string>
                                                        <object class="NSMutableArray" key="NSTabViewItems">
                                                                <bool key="EncodedWithXMLCoder">YES</bool>
                                                                <object class="NSTabViewItem" id="277431414">
                                                                        <string key="NSIdentifier">1</string>
                                                                        <object class="NSView" key="NSView" id="646624756">
-                                                                               <nil key="NSNextResponder"/>
+                                                                               <reference key="NSNextResponder" ref="247568729"/>
                                                                                <int key="NSvFlags">256</int>
                                                                                <object class="NSMutableArray" key="NSSubviews">
                                                                                        <bool key="EncodedWithXMLCoder">YES</bool>
                                                                                                <int key="NSvFlags">268</int>
                                                                                                <string key="NSFrame">{{14, 145}, {41, 14}}</string>
                                                                                                <reference key="NSSuperview" ref="646624756"/>
+                                                                                               <reference key="NSWindow"/>
                                                                                                <reference key="NSNextKeyView" ref="96425952"/>
                                                                                                <bool key="NSEnabled">YES</bool>
                                                                                                <object class="NSTextFieldCell" key="NSCell" id="9695847">
                                                                                                <int key="NSvFlags">266</int>
                                                                                                <string key="NSFrame">{{60, 143}, {168, 19}}</string>
                                                                                                <reference key="NSSuperview" ref="646624756"/>
+                                                                                               <reference key="NSWindow"/>
                                                                                                <reference key="NSNextKeyView" ref="571994001"/>
                                                                                                <bool key="NSEnabled">YES</bool>
                                                                                                <object class="NSTextFieldCell" key="NSCell" id="34677607">
                                                                                                <int key="NSvFlags">266</int>
                                                                                                <string key="NSFrame">{{60, 85}, {168, 19}}</string>
                                                                                                <reference key="NSSuperview" ref="646624756"/>
+                                                                                               <reference key="NSWindow"/>
                                                                                                <reference key="NSNextKeyView" ref="1017221490"/>
                                                                                                <bool key="NSEnabled">YES</bool>
                                                                                                <object class="NSTextFieldCell" key="NSCell" id="1001750419">
                                                                                                <int key="NSvFlags">266</int>
                                                                                                <string key="NSFrame">{{60, 58}, {168, 19}}</string>
                                                                                                <reference key="NSSuperview" ref="646624756"/>
+                                                                                               <reference key="NSWindow"/>
                                                                                                <reference key="NSNextKeyView" ref="666198740"/>
                                                                                                <bool key="NSEnabled">YES</bool>
                                                                                                <object class="NSTextFieldCell" key="NSCell" id="350801514">
                                                                                                <int key="NSvFlags">268</int>
                                                                                                <string key="NSFrame">{{14, 87}, {41, 14}}</string>
                                                                                                <reference key="NSSuperview" ref="646624756"/>
+                                                                                               <reference key="NSWindow"/>
                                                                                                <reference key="NSNextKeyView" ref="287579732"/>
                                                                                                <bool key="NSEnabled">YES</bool>
                                                                                                <object class="NSTextFieldCell" key="NSCell" id="993321662">
                                                                                                <int key="NSvFlags">268</int>
                                                                                                <string key="NSFrame">{{14, 60}, {41, 14}}</string>
                                                                                                <reference key="NSSuperview" ref="646624756"/>
+                                                                                               <reference key="NSWindow"/>
                                                                                                <reference key="NSNextKeyView" ref="773004803"/>
                                                                                                <bool key="NSEnabled">YES</bool>
                                                                                                <object class="NSTextFieldCell" key="NSCell" id="1037784646">
                                                                                                <int key="NSvFlags">268</int>
                                                                                                <string key="NSFrame">{{14, 112}, {86, 14}}</string>
                                                                                                <reference key="NSSuperview" ref="646624756"/>
+                                                                                               <reference key="NSWindow"/>
                                                                                                <reference key="NSNextKeyView" ref="507142965"/>
                                                                                                <bool key="NSEnabled">YES</bool>
                                                                                                <object class="NSTextFieldCell" key="NSCell" id="784421446">
                                                                                                <int key="NSvFlags">-2147483634</int>
                                                                                                <string key="NSFrame">{{-3, 132}, {251, 5}}</string>
                                                                                                <reference key="NSSuperview" ref="646624756"/>
+                                                                                               <reference key="NSWindow"/>
                                                                                                <reference key="NSNextKeyView" ref="992895966"/>
                                                                                                <string key="NSOffsets">{0, 0}</string>
                                                                                                <object class="NSTextFieldCell" key="NSTitleCell">
                                                                                                <int key="NSvFlags">268</int>
                                                                                                <string key="NSFrame">{{57, 34}, {63, 18}}</string>
                                                                                                <reference key="NSSuperview" ref="646624756"/>
+                                                                                               <reference key="NSWindow"/>
                                                                                                <reference key="NSNextKeyView" ref="764785507"/>
                                                                                                <bool key="NSEnabled">YES</bool>
                                                                                                <object class="NSButtonCell" key="NSCell" id="269907300">
                                                                                                <int key="NSvFlags">289</int>
                                                                                                <string key="NSFrame">{{161, 4}, {72, 28}}</string>
                                                                                                <reference key="NSSuperview" ref="646624756"/>
+                                                                                               <reference key="NSWindow"/>
                                                                                                <reference key="NSNextKeyView"/>
                                                                                                <bool key="NSEnabled">YES</bool>
                                                                                                <object class="NSButtonCell" key="NSCell" id="950873176">
                                                                                                <int key="NSvFlags">289</int>
                                                                                                <string key="NSFrame">{{91, 4}, {72, 28}}</string>
                                                                                                <reference key="NSSuperview" ref="646624756"/>
+                                                                                               <reference key="NSWindow"/>
                                                                                                <reference key="NSNextKeyView" ref="750494034"/>
                                                                                                <bool key="NSEnabled">YES</bool>
                                                                                                <object class="NSButtonCell" key="NSCell" id="327493266">
                                                                                        </object>
                                                                                </object>
                                                                                <string key="NSFrame">{{10, 33}, {245, 165}}</string>
+                                                                               <reference key="NSSuperview" ref="247568729"/>
+                                                                               <reference key="NSWindow"/>
                                                                                <reference key="NSNextKeyView" ref="1055886655"/>
                                                                                <string key="NSReuseIdentifierKey">_NS:610</string>
                                                                        </object>
                                                                                                <int key="NSvFlags">289</int>
                                                                                                <string key="NSFrame">{{161, 4}, {72, 28}}</string>
                                                                                                <reference key="NSSuperview" ref="689284120"/>
-                                                                                               <reference key="NSNextKeyView"/>
                                                                                                <bool key="NSEnabled">YES</bool>
                                                                                                <object class="NSButtonCell" key="NSCell" id="592322209">
                                                                                                        <int key="NSCellFlags">-2080244224</int>
                                                                <object class="NSTabViewItem" id="239927411">
                                                                        <string key="NSIdentifier">3</string>
                                                                        <object class="NSView" key="NSView" id="635100516">
-                                                                               <reference key="NSNextResponder" ref="247568729"/>
+                                                                               <nil key="NSNextResponder"/>
                                                                                <int key="NSvFlags">256</int>
                                                                                <object class="NSMutableArray" key="NSSubviews">
                                                                                        <bool key="EncodedWithXMLCoder">YES</bool>
                                                                                                <int key="NSvFlags">289</int>
                                                                                                <string key="NSFrame">{{161, 4}, {72, 28}}</string>
                                                                                                <reference key="NSSuperview" ref="635100516"/>
-                                                                                               <reference key="NSNextKeyView"/>
+                                                                                               <reference key="NSNextKeyView" ref="247568729"/>
                                                                                                <bool key="NSEnabled">YES</bool>
                                                                                                <object class="NSButtonCell" key="NSCell" id="683879656">
                                                                                                        <int key="NSCellFlags">-2080244224</int>
                                                                                        </object>
                                                                                </object>
                                                                                <string key="NSFrame">{{10, 33}, {245, 165}}</string>
-                                                                               <reference key="NSSuperview" ref="247568729"/>
                                                                                <reference key="NSNextKeyView" ref="427907042"/>
                                                                        </object>
                                                                        <string key="NSLabel">Groups</string>
                                                                        <reference key="NSTabView" ref="247568729"/>
                                                                </object>
                                                        </object>
-                                                       <reference key="NSSelectedTabViewItem" ref="239927411"/>
+                                                       <reference key="NSSelectedTabViewItem" ref="277431414"/>
                                                        <reference key="NSFont" ref="271467070"/>
                                                        <int key="NSTvFlags">0</int>
                                                        <bool key="NSAllowTruncatedLabels">YES</bool>
                                                        <bool key="NSDrawsBackground">YES</bool>
                                                        <object class="NSMutableArray" key="NSSubviews">
                                                                <bool key="EncodedWithXMLCoder">YES</bool>
-                                                               <reference ref="635100516"/>
+                                                               <reference ref="646624756"/>
                                                        </object>
                                                </object>
                                                <object class="NSButton" id="287845150">
                                                        <int key="NSvFlags">292</int>
                                                        <string key="NSFrame">{{20, 19}, {20, 20}}</string>
                                                        <reference key="NSSuperview" ref="369507901"/>
+                                                       <reference key="NSWindow"/>
                                                        <reference key="NSNextKeyView" ref="862152318"/>
                                                        <string key="NSReuseIdentifierKey">_NS:2510</string>
                                                        <bool key="NSEnabled">YES</bool>
                                                        <int key="NSvFlags">292</int>
                                                        <string key="NSFrame">{{39, 19}, {20, 20}}</string>
                                                        <reference key="NSSuperview" ref="369507901"/>
+                                                       <reference key="NSWindow"/>
                                                        <reference key="NSNextKeyView" ref="247568729"/>
                                                        <string key="NSReuseIdentifierKey">_NS:2510</string>
                                                        <bool key="NSEnabled">YES</bool>
                                        </object>
                                        <string key="NSFrameSize">{425, 262}</string>
                                        <reference key="NSSuperview"/>
+                                       <reference key="NSWindow"/>
                                        <reference key="NSNextKeyView" ref="419137310"/>
                                </object>
                                <string key="NSScreenRect">{{0, 0}, {1280, 778}}</string>
                        <nil key="sourceID"/>
                        <int key="maxID">865</int>
                </object>
-               <object class="IBClassDescriber" key="IBDocument.Classes"/>
+               <object class="IBClassDescriber" key="IBDocument.Classes">
+                       <object class="NSMutableArray" key="referencedPartialClassDescriptions">
+                               <bool key="EncodedWithXMLCoder">YES</bool>
+                               <object class="IBPartialClassDescription">
+                                       <string key="className">GroupAndGroupMemberFormatter</string>
+                                       <string key="superclassName">NSFormatter</string>
+                                       <object class="IBClassDescriptionSource" key="sourceIdentifier">
+                                               <string key="majorKey">IBProjectSource</string>
+                                               <string key="minorKey">./Classes/GroupAndGroupMemberFormatter.h</string>
+                                       </object>
+                               </object>
+                               <object class="IBPartialClassDescription">
+                                       <string key="className">NonEmptyStringFormatter</string>
+                                       <string key="superclassName">NSFormatter</string>
+                                       <object class="IBClassDescriptionSource" key="sourceIdentifier">
+                                               <string key="majorKey">IBProjectSource</string>
+                                               <string key="minorKey">./Classes/NonEmptyStringFormatter.h</string>
+                                       </object>
+                               </object>
+                               <object class="IBPartialClassDescription">
+                                       <string key="className">PithosBrowserController</string>
+                                       <string key="superclassName">NSWindowController</string>
+                                       <object class="NSMutableDictionary" key="actions">
+                                               <bool key="EncodedWithXMLCoder">YES</bool>
+                                               <object class="NSArray" key="dict.sortedKeys">
+                                                       <bool key="EncodedWithXMLCoder">YES</bool>
+                                                       <string>forceRefresh:</string>
+                                                       <string>refresh:</string>
+                                               </object>
+                                               <object class="NSArray" key="dict.values">
+                                                       <bool key="EncodedWithXMLCoder">YES</bool>
+                                                       <string>id</string>
+                                                       <string>id</string>
+                                               </object>
+                                       </object>
+                                       <object class="NSMutableDictionary" key="actionInfosByName">
+                                               <bool key="EncodedWithXMLCoder">YES</bool>
+                                               <object class="NSArray" key="dict.sortedKeys">
+                                                       <bool key="EncodedWithXMLCoder">YES</bool>
+                                                       <string>forceRefresh:</string>
+                                                       <string>refresh:</string>
+                                               </object>
+                                               <object class="NSArray" key="dict.values">
+                                                       <bool key="EncodedWithXMLCoder">YES</bool>
+                                                       <object class="IBActionInfo">
+                                                               <string key="name">forceRefresh:</string>
+                                                               <string key="candidateClassName">id</string>
+                                                       </object>
+                                                       <object class="IBActionInfo">
+                                                               <string key="name">refresh:</string>
+                                                               <string key="candidateClassName">id</string>
+                                                       </object>
+                                               </object>
+                                       </object>
+                                       <object class="NSMutableDictionary" key="outlets">
+                                               <bool key="EncodedWithXMLCoder">YES</bool>
+                                               <object class="NSArray" key="dict.sortedKeys">
+                                                       <bool key="EncodedWithXMLCoder">YES</bool>
+                                                       <string>activityProgressIndicator</string>
+                                                       <string>activityTextField</string>
+                                                       <string>browser</string>
+                                                       <string>browserMenu</string>
+                                                       <string>horizontalSplitView</string>
+                                                       <string>leftBottomView</string>
+                                                       <string>leftTopView</string>
+                                                       <string>outlineView</string>
+                                                       <string>outlineViewMenu</string>
+                                                       <string>verticalSplitView</string>
+                                               </object>
+                                               <object class="NSArray" key="dict.values">
+                                                       <bool key="EncodedWithXMLCoder">YES</bool>
+                                                       <string>NSProgressIndicator</string>
+                                                       <string>NSTextField</string>
+                                                       <string>NSBrowser</string>
+                                                       <string>NSMenu</string>
+                                                       <string>NSSplitView</string>
+                                                       <string>NSView</string>
+                                                       <string>NSView</string>
+                                                       <string>NSOutlineView</string>
+                                                       <string>NSMenu</string>
+                                                       <string>NSSplitView</string>
+                                               </object>
+                                       </object>
+                                       <object class="NSMutableDictionary" key="toOneOutletInfosByName">
+                                               <bool key="EncodedWithXMLCoder">YES</bool>
+                                               <object class="NSArray" key="dict.sortedKeys">
+                                                       <bool key="EncodedWithXMLCoder">YES</bool>
+                                                       <string>activityProgressIndicator</string>
+                                                       <string>activityTextField</string>
+                                                       <string>browser</string>
+                                                       <string>browserMenu</string>
+                                                       <string>horizontalSplitView</string>
+                                                       <string>leftBottomView</string>
+                                                       <string>leftTopView</string>
+                                                       <string>outlineView</string>
+                                                       <string>outlineViewMenu</string>
+                                                       <string>verticalSplitView</string>
+                                               </object>
+                                               <object class="NSArray" key="dict.values">
+                                                       <bool key="EncodedWithXMLCoder">YES</bool>
+                                                       <object class="IBToOneOutletInfo">
+                                                               <string key="name">activityProgressIndicator</string>
+                                                               <string key="candidateClassName">NSProgressIndicator</string>
+                                                       </object>
+                                                       <object class="IBToOneOutletInfo">
+                                                               <string key="name">activityTextField</string>
+                                                               <string key="candidateClassName">NSTextField</string>
+                                                       </object>
+                                                       <object class="IBToOneOutletInfo">
+                                                               <string key="name">browser</string>
+                                                               <string key="candidateClassName">NSBrowser</string>
+                                                       </object>
+                                                       <object class="IBToOneOutletInfo">
+                                                               <string key="name">browserMenu</string>
+                                                               <string key="candidateClassName">NSMenu</string>
+                                                       </object>
+                                                       <object class="IBToOneOutletInfo">
+                                                               <string key="name">horizontalSplitView</string>
+                                                               <string key="candidateClassName">NSSplitView</string>
+                                                       </object>
+                                                       <object class="IBToOneOutletInfo">
+                                                               <string key="name">leftBottomView</string>
+                                                               <string key="candidateClassName">NSView</string>
+                                                       </object>
+                                                       <object class="IBToOneOutletInfo">
+                                                               <string key="name">leftTopView</string>
+                                                               <string key="candidateClassName">NSView</string>
+                                                       </object>
+                                                       <object class="IBToOneOutletInfo">
+                                                               <string key="name">outlineView</string>
+                                                               <string key="candidateClassName">NSOutlineView</string>
+                                                       </object>
+                                                       <object class="IBToOneOutletInfo">
+                                                               <string key="name">outlineViewMenu</string>
+                                                               <string key="candidateClassName">NSMenu</string>
+                                                       </object>
+                                                       <object class="IBToOneOutletInfo">
+                                                               <string key="name">verticalSplitView</string>
+                                                               <string key="candidateClassName">NSSplitView</string>
+                                                       </object>
+                                               </object>
+                                       </object>
+                                       <object class="IBClassDescriptionSource" key="sourceIdentifier">
+                                               <string key="majorKey">IBProjectSource</string>
+                                               <string key="minorKey">./Classes/PithosBrowserController.h</string>
+                                       </object>
+                               </object>
+                               <object class="IBPartialClassDescription">
+                                       <string key="className">PithosPreferencesController</string>
+                                       <string key="superclassName">NSWindowController</string>
+                                       <object class="NSMutableDictionary" key="actions">
+                                               <bool key="EncodedWithXMLCoder">YES</bool>
+                                               <object class="NSArray" key="dict.sortedKeys">
+                                                       <bool key="EncodedWithXMLCoder">YES</bool>
+                                                       <string>addAccount:</string>
+                                                       <string>groupsApply:</string>
+                                                       <string>groupsRevert:</string>
+                                                       <string>login:</string>
+                                                       <string>loginCancel:</string>
+                                                       <string>removeAccount:</string>
+                                                       <string>syncApply:</string>
+                                                       <string>syncCancel:</string>
+                                               </object>
+                                               <object class="NSArray" key="dict.values">
+                                                       <bool key="EncodedWithXMLCoder">YES</bool>
+                                                       <string>id</string>
+                                                       <string>id</string>
+                                                       <string>id</string>
+                                                       <string>id</string>
+                                                       <string>id</string>
+                                                       <string>id</string>
+                                                       <string>id</string>
+                                                       <string>id</string>
+                                               </object>
+                                       </object>
+                                       <object class="NSMutableDictionary" key="actionInfosByName">
+                                               <bool key="EncodedWithXMLCoder">YES</bool>
+                                               <object class="NSArray" key="dict.sortedKeys">
+                                                       <bool key="EncodedWithXMLCoder">YES</bool>
+                                                       <string>addAccount:</string>
+                                                       <string>groupsApply:</string>
+                                                       <string>groupsRevert:</string>
+                                                       <string>login:</string>
+                                                       <string>loginCancel:</string>
+                                                       <string>removeAccount:</string>
+                                                       <string>syncApply:</string>
+                                                       <string>syncCancel:</string>
+                                               </object>
+                                               <object class="NSArray" key="dict.values">
+                                                       <bool key="EncodedWithXMLCoder">YES</bool>
+                                                       <object class="IBActionInfo">
+                                                               <string key="name">addAccount:</string>
+                                                               <string key="candidateClassName">id</string>
+                                                       </object>
+                                                       <object class="IBActionInfo">
+                                                               <string key="name">groupsApply:</string>
+                                                               <string key="candidateClassName">id</string>
+                                                       </object>
+                                                       <object class="IBActionInfo">
+                                                               <string key="name">groupsRevert:</string>
+                                                               <string key="candidateClassName">id</string>
+                                                       </object>
+                                                       <object class="IBActionInfo">
+                                                               <string key="name">login:</string>
+                                                               <string key="candidateClassName">id</string>
+                                                       </object>
+                                                       <object class="IBActionInfo">
+                                                               <string key="name">loginCancel:</string>
+                                                               <string key="candidateClassName">id</string>
+                                                       </object>
+                                                       <object class="IBActionInfo">
+                                                               <string key="name">removeAccount:</string>
+                                                               <string key="candidateClassName">id</string>
+                                                       </object>
+                                                       <object class="IBActionInfo">
+                                                               <string key="name">syncApply:</string>
+                                                               <string key="candidateClassName">id</string>
+                                                       </object>
+                                                       <object class="IBActionInfo">
+                                                               <string key="name">syncCancel:</string>
+                                                               <string key="candidateClassName">id</string>
+                                                       </object>
+                                               </object>
+                                       </object>
+                                       <object class="NSMutableDictionary" key="outlets">
+                                               <bool key="EncodedWithXMLCoder">YES</bool>
+                                               <object class="NSArray" key="dict.sortedKeys">
+                                                       <bool key="EncodedWithXMLCoder">YES</bool>
+                                                       <string>accountsArrayController</string>
+                                                       <string>groupsDictionaryController</string>
+                                                       <string>pithosBrowserController</string>
+                                                       <string>selectedGroupMembersDictionaryController</string>
+                                               </object>
+                                               <object class="NSArray" key="dict.values">
+                                                       <bool key="EncodedWithXMLCoder">YES</bool>
+                                                       <string>NSArrayController</string>
+                                                       <string>NSDictionaryController</string>
+                                                       <string>PithosBrowserController</string>
+                                                       <string>NSDictionaryController</string>
+                                               </object>
+                                       </object>
+                                       <object class="NSMutableDictionary" key="toOneOutletInfosByName">
+                                               <bool key="EncodedWithXMLCoder">YES</bool>
+                                               <object class="NSArray" key="dict.sortedKeys">
+                                                       <bool key="EncodedWithXMLCoder">YES</bool>
+                                                       <string>accountsArrayController</string>
+                                                       <string>groupsDictionaryController</string>
+                                                       <string>pithosBrowserController</string>
+                                                       <string>selectedGroupMembersDictionaryController</string>
+                                               </object>
+                                               <object class="NSArray" key="dict.values">
+                                                       <bool key="EncodedWithXMLCoder">YES</bool>
+                                                       <object class="IBToOneOutletInfo">
+                                                               <string key="name">accountsArrayController</string>
+                                                               <string key="candidateClassName">NSArrayController</string>
+                                                       </object>
+                                                       <object class="IBToOneOutletInfo">
+                                                               <string key="name">groupsDictionaryController</string>
+                                                               <string key="candidateClassName">NSDictionaryController</string>
+                                                       </object>
+                                                       <object class="IBToOneOutletInfo">
+                                                               <string key="name">pithosBrowserController</string>
+                                                               <string key="candidateClassName">PithosBrowserController</string>
+                                                       </object>
+                                                       <object class="IBToOneOutletInfo">
+                                                               <string key="name">selectedGroupMembersDictionaryController</string>
+                                                               <string key="candidateClassName">NSDictionaryController</string>
+                                                       </object>
+                                               </object>
+                                       </object>
+                                       <object class="IBClassDescriptionSource" key="sourceIdentifier">
+                                               <string key="majorKey">IBProjectSource</string>
+                                               <string key="minorKey">./Classes/PithosPreferencesController.h</string>
+                                       </object>
+                               </object>
+                       </object>
+               </object>
                <int key="IBDocument.localizationMode">0</int>
                <string key="IBDocument.TargetRuntimeIdentifier">IBCocoaFramework</string>
                <object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDevelopmentDependencies">
index abaf74f..76c23ed 100644 (file)
@@ -59,5 +59,6 @@
 
 - (void)applyInfo;
 - (void)refreshInfo;
+- (void)setLimitedPithosObject:(ASIPithosObject *)aPithosObject;
 
 @end
\ No newline at end of file
index c8175c7..7cf150f 100644 (file)
@@ -140,6 +140,29 @@ static NSImage *sharedIcon = nil;
     }
 }
 
+- (void)setLimitedPithosObject:(ASIPithosObject *)aPithosObject {
+    if (![pithosObject isEqualTo:aPithosObject]) {
+        self.pithosObject.subdir = aPithosObject.subdir;
+        self.pithosObject.name = aPithosObject.name;
+        self.pithosObject.hash = aPithosObject.hash;
+        self.pithosObject.objectHash = aPithosObject.objectHash;
+        self.pithosObject.UUID = aPithosObject.UUID;
+        self.pithosObject.bytes = aPithosObject.bytes;
+        self.pithosObject.contentType = aPithosObject.contentType;
+        self.pithosObject.lastModified = aPithosObject.lastModified;
+        self.pithosObject.version = aPithosObject.version;
+        self.pithosObject.versionTimestamp = aPithosObject.versionTimestamp;
+        self.pithosObject.modifiedBy = aPithosObject.modifiedBy;
+        self.pithosObject.sharedBy = aPithosObject.sharedBy;
+        self.pithosObject.allowedTo = aPithosObject.allowedTo;
+        if (!pithosNodeInfoController) {
+            self.pithosObject.sharing = aPithosObject.sharing;
+            self.pithosObject.publicURI = aPithosObject.publicURI;
+            self.pithosObject = pithosObject;
+        }
+    }
+}
+
 #pragma mark -
 #pragma mark ASIHTTPRequestDelegate
 
@@ -369,8 +392,10 @@ static NSImage *sharedIcon = nil;
 #pragma mark Actions
 
 - (void)showPithosNodeInfo:(id)sender {
-    if (!pithosNodeInfoController)
+    if (!pithosNodeInfoController) {
         pithosNodeInfoController = [[PithosObjectNodeInfoController alloc] initWithPithosNode:self];
+        [self refreshInfo];
+    }
     [pithosNodeInfoController showWindow:sender];
     [[pithosNodeInfoController window] makeKeyAndOrderFront:sender];
     [NSApp activateIgnoringOtherApps:YES];