win32: get roots on demand for file dialog

This commit is contained in:
Matthew Flatt 2010-12-28 12:21:09 -07:00
parent 8e655dee8e
commit bfa2a57b01

View File

@ -689,15 +689,18 @@
(define editor (send this get-editor)) (define editor (send this get-editor))
(define/public (lock) (send editor lock #t)) (define/public (lock) (send editor lock #t))
(define/public (unlock) (send editor lock #f)) (define/public (unlock) (send editor lock #f))
(when win? (define/override (on-popup e)
(let ([m (send this get-menu)]) (when win?
(for-each (lambda (r) (let ([m (send this get-menu)])
(define l (path->string r)) (for-each (lambda (i) (send i delete))
(make-object menu-item% l m (send m get-items))
(lambda _ (for-each (lambda (r)
(enter-text r) (define l (path->string r))
(do-enter)))) (make-object menu-item% l m
(filesystem-root-list)))) (lambda _
(enter-text r)
(do-enter))))
(filesystem-root-list)))))
(lock))]) (lock))])
(if win? (if win?
(new c [label #f] [parent this] [init-value ""] [choices '()]) (new c [label #f] [parent this] [init-value ""] [choices '()])