original commit: bbceaa39fab9d041a2652242d7fc49b2c6214ed1
This commit is contained in:
Robby Findler 2001-01-05 22:50:26 +00:00
parent 8582a87511
commit afb9eb8fc7

View File

@ -9,6 +9,7 @@
[text : framework:text^]
[pasteboard : framework:pasteboard^]
[frame : framework:frame^]
[gui-utils : framework:gui-utils^]
[mzlib:file : mzlib:file^])
(rename [-keymap<%> keymap<%>])
@ -29,6 +30,43 @@
refresh-delayed?
get-canvas
get-max-width get-admin)
(rename [super-can-save-file? can-save-file?])
(override
[can-save-file?
(lambda (filename format)
(and (if (equal? filename (get-filename))
(if (save-file-out-of-date?)
(gui-utils:get-choice
"The file has beeen modified since it was last saved. Overwrite the modifications?"
"Overwrite"
"Cancel"
"Warning"
#f
(get-top-level-focus-window))
#t)
#t)
(super-can-save-file? filename format)))])
(rename [super-after-save-file after-save-file])
(private
[last-saved-file-time #f])
(override
[after-save-file
(lambda (sucess?)
(when sucess?
(set! last-saved-file-time (file-or-directory-modify-seconds (get-filename))))
(super-after-save-file sucess?))])
(public
[save-file-out-of-date?
(lambda ()
(and
last-saved-file-time
(let ([fn (get-filename)])
(and fn
(let ([ms (file-or-directory-modify-seconds fn)])
(< last-saved-file-time ms))))))])
(private
[has-focus #f])
(rename [super-on-focus on-focus])