From 1e57ad3a9ee77b9522b8abd6d19528850d92c710 Mon Sep 17 00:00:00 2001 From: Robby Findler Date: Mon, 28 Jan 2002 15:43:32 +0000 Subject: [PATCH] ... original commit: f66eca4fade06057362eaf817d83663d2539000e --- collects/framework/private/frame.ss | 25 +++++++++++++++---------- 1 file changed, 15 insertions(+), 10 deletions(-) diff --git a/collects/framework/private/frame.ss b/collects/framework/private/frame.ss index cdbf8ea2..2f6b33d6 100644 --- a/collects/framework/private/frame.ss +++ b/collects/framework/private/frame.ss @@ -609,6 +609,7 @@ get-editor<%> make-editor + save save-as get-canvas get-editor @@ -694,15 +695,22 @@ <%> %)) (make-object %))) + (define/public save + (opt-lambda ([format 'same]) + (let* ([ed (get-editor)] + [filename (send ed get-filename)]) + (if filename + (send ed save-file/gui-error filename format) + (save-as format))))) - (public save-as) - (define save-as + (define/public save-as (opt-lambda ([format 'same]) (let* ([name (send (get-editor) get-filename)] [file (parameterize ([finder:dialog-parent-parameter this]) (finder:put-file name))]) - (when file - (send (get-editor) save-file/gui-error file format))))) + (if file + (send (get-editor) save-file/gui-error file format) + #f)))) (inherit get-checkable-menu-item% get-menu-item%) (override file-menu:save-callback file-menu:create-save? file-menu:save-as-callback file-menu:create-save-as? @@ -749,10 +757,7 @@ #t)) (define/override file-menu:create-revert? (lambda () #t)) (define file-menu:save-callback (lambda (item control) - (let ([ed (get-editor)]) - (if (send ed get-filename) - (send ed save-file/gui-error) - (save-as))) + (save) #t)) (define file-menu:create-save? (lambda () #t)) @@ -1811,7 +1816,7 @@ (define file<%> (interface (-editor<%>))) (define file-mixin (mixin (-editor<%>) (file<%>) - (inherit get-editor get-filename get-label) + (inherit get-editor get-filename get-label save) (rename [super-can-close? can-close?]) (override can-close?) [define can-close? @@ -1828,7 +1833,7 @@ #t this) [(continue) #t] - [(save) (send edit save-file/gui-error)] + [(save) (save)] [else #f]))]) (and user-allowed-or-not-modified (super-can-close?))))]