Improve UUID translation in nodes
[pithos-macos] / pithos-macos / pithos_macosAppDelegate.m
index 90656b6..95d22ae 100644 (file)
@@ -97,10 +97,11 @@ currentPithosAccount, pithosAccounts, pithosAccountsDictionary, syncPithosAccoun
     for (PithosAccount *pithosAccount in pithosAccounts) {
         [pithosAccountsDictionary setObject:pithosAccount forKey:pithosAccount.name];
         if (!currentPithosAccount && pithosAccount.active)
-            currentPithosAccount = pithosAccount;
+            self.currentPithosAccount = pithosAccount;
     }
     if (!currentPithosAccount)
         self.currentPithosAccount = [pithosAccounts objectAtIndex:0];
+    self.pithosBrowserController.pithosAccountManager = currentPithosAccount;
     
     if (currentPithosAccount.active) {
         [self savePithosAccounts:self];
@@ -133,7 +134,7 @@ currentPithosAccount, pithosAccounts, pithosAccountsDictionary, syncPithosAccoun
     [smallImage lockFocus];
     [[NSGraphicsContext currentContext] setImageInterpolation:NSImageInterpolationHigh];
     [sourceImage setSize:NSMakeSize(18, 18)];
-    [sourceImage compositeToPoint:NSZeroPoint operation:NSCompositeCopy];
+    [sourceImage drawAtPoint:NSZeroPoint fromRect:NSZeroRect operation:NSCompositeCopy fraction:1.0];
     [smallImage unlockFocus];
     
     statusItem = [[NSStatusBar systemStatusBar] statusItemWithLength:NSSquareStatusItemLength];
@@ -148,7 +149,7 @@ currentPithosAccount, pithosAccounts, pithosAccountsDictionary, syncPithosAccoun
     NSURL *url = [NSURL URLWithString:[[event paramDescriptorForKeyword:keyDirectObject] stringValue]];
     NSString *host = [url host];
        NSString *query = [url query];
-    PithosAccount *pithosAccount = [pithosAccountsDictionary objectForKey:[url lastPathComponent]];
+    PithosAccount *pithosAccount = [pithosAccountsDictionary objectForKey:[ASIPithosRequest decodeFromPercentEscape:[url lastPathComponent]]];
     NSProcessInfo *processInfo = [NSProcessInfo processInfo];
     if ([host isEqualToString:[NSString stringWithFormat:@"%d", [processInfo processIdentifier]]] && pithosAccount && query) {
         // user=
@@ -448,6 +449,7 @@ void LSSharedFileListChanged(LSSharedFileListRef inList, void *context) {
         for (PithosAccount *pithosAccount in pithosAccounts) {
             if (pithosAccount.active) {
                 self.currentPithosAccount = pithosAccount;
+                self.pithosBrowserController.pithosAccountManager = currentPithosAccount;
                 self.pithosBrowserController.pithos = currentPithosAccount.pithos;
                 break;
             }
@@ -457,6 +459,7 @@ void LSSharedFileListChanged(LSSharedFileListRef inList, void *context) {
             [self.pithosBrowserController.window close];
             [self.pithosBrowserController resetBrowser];
             self.currentPithosAccount = [pithosAccounts objectAtIndex:0];
+            self.pithosBrowserController.pithosAccountManager = currentPithosAccount;
         }
     }
     if ([self.syncPithosAccount isEqualTo:removedPithosAccount])
@@ -555,6 +558,7 @@ void LSSharedFileListChanged(LSSharedFileListRef inList, void *context) {
                 return;
         }
         self.currentPithosAccount = pithosAccount;
+        self.pithosBrowserController.pithosAccountManager = currentPithosAccount;
         [self showPithosBrowser:self];
         self.pithosBrowserController.pithos = currentPithosAccount.pithos;
     }