Changeset 9636


Ignore:
Timestamp:
May 30, 2008, 5:32:30 PM (11 years ago)
Author:
mikel
Message:

added dialog box to control self-update process

Location:
trunk/source/cocoa-ide
Files:
3 added
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/source/cocoa-ide/ide-contents/Resources/English.lproj/MainMenu.nib/classes.nib

    r9247 r9636  
    5757                                <key>showSearchFiles</key>
    5858                                <string>id</string>
     59                                <key>updateCCL</key>
     60                                <string>id</string>
    5961                        </dict>
    6062                        <key>CLASS</key>
  • trunk/source/cocoa-ide/ide-contents/Resources/English.lproj/MainMenu.nib/info.nib

    r9247 r9636  
    44<dict>
    55        <key>IBFramework Version</key>
    6         <string>629</string>
     6        <string>667</string>
    77        <key>IBOldestOS</key>
    88        <integer>5</integer>
    99        <key>IBOpenObjects</key>
    10         <array/>
     10        <array>
     11                <integer>448</integer>
     12        </array>
    1113        <key>IBSystem Version</key>
    1214        <string>9C7010</string>
  • trunk/source/cocoa-ide/ide-self-update.lisp

    r9634 r9636  
    4343;;;         running a rollback)
    4444;;; TODO: make a cvs version if needed
     45
     46;;; -----------------------------------------------------------------
     47;;; svn metadata utils
     48;;; -----------------------------------------------------------------
    4549
    4650;;; VALIDATE-SVN-DATA-PATHNAME p
     
    9094     (run-program "svn" `("info" ,(namestring p)) :output out))))
    9195
     96;;; -----------------------------------------------------------------
     97;;; authentication utils, for use with source control
     98;;; -----------------------------------------------------------------
     99
    92100;;; we infer from the information in the URL field of the svn info
    93101;;; whether we need to authenticate. The assumed criteria in this
     
    132140(defun get-svn-auth-data ()
    133141  (let ((auth-window (get-auth-window)))
    134     (If auth-window
     142    (if auth-window
    135143        (let ((window-status (#/runModalForWindow: (#/sharedApplication (@class ns-application))
    136144                                                   auth-window)))
    137           (If (zerop window-status)
     145          (if (zerop window-status)
    138146              nil
    139147              (let  ((username (lisp-string-from-nsstring (#/stringValue (authentication-window-username-field
     
    143151                (cons username password))))
    144152        nil)))
     153
     154
     155;;; -----------------------------------------------------------------
     156;;; app delegate extensions to handle self-update UI
     157;;; -----------------------------------------------------------------
     158
     159(defparameter *update-ccl-window-controller* nil)
     160
     161(defclass update-ccl-window-controller (ns:ns-window-controller)
     162    ((update-window :foreign-type :id :reader update-window))
     163  (:metaclass ns:+ns-object))
     164
     165(objc:defmethod #/windowNibName ((self update-ccl-window-controller))
     166  #@"updateCCL")
     167
     168(objc:defmethod (#/updateCCLOkay: :void) ((self update-ccl-window-controller) sender)
     169  (declare (ignore sender))
     170  (#/stopModalWithCode: (#/sharedApplication (@class ns-application)) 1)
     171  (#/orderOut: (update-window *update-ccl-window-controller*) +null-ptr+))
     172
     173(objc:defmethod (#/updateCCLCancel: :void) ((self update-ccl-window-controller) sender)
     174  (declare (ignore sender))
     175  (#/stopModalWithCode: (#/sharedApplication (@class ns-application)) 0)
     176  (#/orderOut: (update-window *update-ccl-window-controller*) +null-ptr+))
     177
     178(objc:defmethod (#/updateCCL: :void) ((self lisp-application-delegate)
     179                                                sender)
     180  (declare (ignore sender))
     181  (when (null *update-ccl-window-controller*)
     182    (setf *update-ccl-window-controller*
     183          (make-instance 'update-ccl-window-controller))
     184    (#/initWithWindowNibName: *update-ccl-window-controller* #@"updateCCL"))
     185  (#/showWindow: *update-ccl-window-controller* self))
     186
Note: See TracChangeset for help on using the changeset viewer.