[CalendarServer-changes] [5500] CalDAVClientLibrary/trunk/src/ui

source_changes at macosforge.org source_changes at macosforge.org
Wed Apr 21 08:56:55 PDT 2010


Revision: 5500
          http://trac.macosforge.org/projects/calendarserver/changeset/5500
Author:   cdaboo at apple.com
Date:     2010-04-21 08:56:54 -0700 (Wed, 21 Apr 2010)
Log Message:
-----------
Add Path option to server setup dialog.

Modified Paths:
--------------
    CalDAVClientLibrary/trunk/src/ui/WebDAVBrowser.nib/keyedobjects.nib
    CalDAVClientLibrary/trunk/src/ui/WebDAVBrowser.py
    CalDAVClientLibrary/trunk/src/ui/session.py

Modified: CalDAVClientLibrary/trunk/src/ui/WebDAVBrowser.nib/keyedobjects.nib
===================================================================
(Binary files differ)

Modified: CalDAVClientLibrary/trunk/src/ui/WebDAVBrowser.py
===================================================================
--- CalDAVClientLibrary/trunk/src/ui/WebDAVBrowser.py	2010-04-21 00:19:42 UTC (rev 5499)
+++ CalDAVClientLibrary/trunk/src/ui/WebDAVBrowser.py	2010-04-21 15:56:54 UTC (rev 5500)
@@ -1,5 +1,5 @@
 ##
-# Copyright (c) 2007-2008 Apple Inc. All rights reserved.
+# Copyright (c) 2007-2010 Apple Inc. All rights reserved.
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
@@ -42,9 +42,7 @@
 
 from PyObjCTools import NibClassBuilder, AppHelper
 
-from objc import IBOutlet #@UnusedImport
-from objc import YES, NO
-from objc import selector #@UnusedImport
+import objc
 
 from protocol.utils import xmlhelpers
 from ui.session import Session
@@ -124,6 +122,46 @@
     for the various NSViews and toolbar items. It basically our controller.
     """
 
+    list = objc.IBOutlet()
+
+    listView = objc.IBOutlet()
+
+    mainSplitterView = objc.IBOutlet()
+
+    passwordText = objc.IBOutlet()
+
+    pathLabel = objc.IBOutlet()
+
+    pathText = objc.IBOutlet()
+
+    progress = objc.IBOutlet()
+
+    propertiesView = objc.IBOutlet()
+
+    serverText = objc.IBOutlet()
+
+    startupSheet = objc.IBOutlet()
+
+    table = objc.IBOutlet()
+
+    text = objc.IBOutlet()
+
+    toolbarBrowserViewButton = objc.IBOutlet()
+
+    toolbarDataViewButton = objc.IBOutlet()
+
+    userText = objc.IBOutlet()
+
+    webView = objc.IBOutlet()
+
+    window = objc.IBOutlet()
+
+    browser = objc.IBOutlet()
+
+    columnView = objc.IBOutlet()
+
+    dataView = objc.IBOutlet()
+
     BROWSERVIEW_COLUMNS = 0
     BROWSERVIEW_LIST    = 1
 
@@ -177,6 +215,11 @@
         lastServer = NSUserDefaults.standardUserDefaults().stringForKey_("LastServer")
         if lastServer and len(lastServer):
             self.serverText.setStringValue_(lastServer)
+        lastPath = NSUserDefaults.standardUserDefaults().stringForKey_("LastPath")
+        if lastPath and len(lastPath):
+            self.pathText.setStringValue_(lastPath)
+        else:
+            self.pathText.setStringValue_("/")
         lastUser = NSUserDefaults.standardUserDefaults().stringForKey_("LastUser")
         if lastUser and len(lastUser):
             self.userText.setStringValue_(lastUser)
@@ -294,6 +337,7 @@
             self.browserview = view
             self.refreshView()
     
+    @objc.IBAction
     def changeBrowserView_(self, sender):
         """
         User clicked a browser toolbar button.
@@ -317,12 +361,14 @@
             self.dataview = view
             self.refreshView()
     
+    @objc.IBAction
     def changeDataView_(self, sender):
         """
         User clicked a view toolbar button.
         """
         self.setDataView(sender.selectedSegment())
         
+    @objc.IBAction
     def resetServer_(self, sender):
         """
         Display the sheet asking for server details.
@@ -364,6 +410,7 @@
                 self.webView.mainFrame().loadHTMLString_baseURL_(self.selectedData, url)
             self.progress.stopAnimation_(self)
 
+    @objc.IBAction
     def startupOKAction_(self, btn):
         """
         User clicked OK in the server setup sheet.
@@ -371,12 +418,14 @@
         
         # Create the actual session.
         server = self.serverText.stringValue()
+        path = self.pathText.stringValue()
         user = self.userText.stringValue()
         pswd = self.passwordText.stringValue()
-        self.session = Session(server, user, pswd, logging=False)
+        self.session = Session(server, path, user, pswd, logging=False)
         self.window.setTitle_(self.serverText.stringValue())
-        self.pathLabel.setStringValue_("/")
+        self.pathLabel.setStringValue_(self.session.path)
         NSUserDefaults.standardUserDefaults().setObject_forKey_(server, "LastServer")
+        NSUserDefaults.standardUserDefaults().setObject_forKey_(path, "LastPath")
         NSUserDefaults.standardUserDefaults().setObject_forKey_(user, "LastUser")
         
         # List the root resource.
@@ -393,20 +442,22 @@
         self.browser.loadColumnZero()
         self.list.reloadItem_(None)
 
+    @objc.IBAction
     def startupCancelAction_(self, btn):
         """
         User clicked the cancel button in the server sheet.
         """
         self.startupSheet.close()
         NSApplication.sharedApplication().endSheet_(self.startupSheet)
-    
+
+    @objc.IBAction
     def browserAction_(self, browser):
         """
         Something changed in the column browser.
         """
         
         # Update current path.
-        self.pathLabel.setStringValue_(browser.path())
+        self.pathLabel.setStringValue_((self.session.path if len(self.session.path) > 1 else "") + browser.path())
 
         # Get new selected resource and refresh the data view.
         self.selectedResource = None
@@ -514,6 +565,7 @@
             "Modified": resource.getLastMod(),
         }[tableColumn.identifier()]
 
+    @objc.IBAction
     def tableAction_(self, table):
         """
         Called when the selection in the properties list changes.

Modified: CalDAVClientLibrary/trunk/src/ui/session.py
===================================================================
--- CalDAVClientLibrary/trunk/src/ui/session.py	2010-04-21 00:19:42 UTC (rev 5499)
+++ CalDAVClientLibrary/trunk/src/ui/session.py	2010-04-21 15:56:54 UTC (rev 5500)
@@ -1,5 +1,5 @@
 ##
-# Copyright (c) 2007-2008 Apple Inc. All rights reserved.
+# Copyright (c) 2007-2010 Apple Inc. All rights reserved.
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
@@ -22,9 +22,10 @@
     Maintains the basic information for a session and the root resource.
     """
     
-    def __init__(self, server, user, pswd, logging):
+    def __init__(self, server, path, user, pswd, logging):
         
         self.server = server
+        self.path = path
         self.user = user
         self.pswd = pswd
             
@@ -35,4 +36,4 @@
         self.account = CalDAVAccount(server, ssl=ssl, user=self.user, pswd=self.pswd, root=paths, principal=paths, logging=logging)
         
     def getRoot(self):
-        return Resource(self, "/")
+        return Resource(self, self.path)
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/calendarserver-changes/attachments/20100421/2482ced0/attachment.html>


More information about the calendarserver-changes mailing list