original commit: 4053ac122338f05079cf3d21390c43ae82d6fdad
This commit is contained in:
Robby Findler 2002-06-02 00:31:13 +00:00
parent 1dece55e13
commit f64df6894d

View File

@ -1,3 +1,4 @@
(module keymap mzscheme (module keymap mzscheme
(require (lib "string-constant.ss" "string-constants") (require (lib "string-constant.ss" "string-constants")
(lib "unitsig.ss") (lib "unitsig.ss")
@ -1090,20 +1091,31 @@
(map "c:i" "toggle-search-focus")]))))) (map "c:i" "toggle-search-focus")])))))
(define setup-file (define setup-file
(let* ([save-file-as (let* ([get-outer-editor ;; : text% -> text%
(lambda (edit event) ;; returns the outermost editor, if this editor is nested in an editor snip.
(parameterize ([finder:dialog-parent-parameter (lambda (edit)
(and (is-a? edit editor:basic<%>) (let loop ([edit edit])
(send edit get-top-level-window))]) (let ([admin (send edit get-admin)])
(let ([file (finder:put-file)]) (cond
(if file [(is-a? admin editor-snip-editor-admin<%>)
(send edit save-file file))) (loop (send (send (send admin get-snip) get-admin) get-editor))]
#t))] [else edit]))))]
[save-file-as
(lambda (this-edit event)
(let ([edit (get-outer-editor this-edit)])
(parameterize ([finder:dialog-parent-parameter
(and (is-a? edit editor:basic<%>)
(send edit get-top-level-window))])
(let ([file (finder:put-file)])
(when file
(send edit save-file file)))))
#t)]
[save-file [save-file
(lambda (edit event) (lambda (this-edit event)
(if (send edit get-filename) (let ([edit (get-outer-editor this-edit)])
(send edit save-file) (if (send edit get-filename)
(save-file-as edit event)) (send edit save-file)
(save-file-as edit event)))
#t)] #t)]
[load-file [load-file
(lambda (edit event) (lambda (edit event)