diff --git a/collects/drracket/private/language.rkt b/collects/drracket/private/language.rkt index 8be89bc3d9..b3bf62d88c 100644 --- a/collects/drracket/private/language.rkt +++ b/collects/drracket/private/language.rkt @@ -670,14 +670,25 @@ (string-constant stand-alone-explanatory-label) (string-constant distribution-explanatory-label))) (parent type-panel) - (callback (lambda (rb e) (reset-filename-suffix)))))) + (callback (lambda (rb e) + (preferences:set 'drracket:create-executable-gui-type + (case (send rb get-selection) + [(0) 'launcher] + [(1) 'stand-alone] + [(2) 'distribution])) + (reset-filename-suffix)))))) (define base-panel (make-object horizontal-panel% type/base-panel)) (define base-rb (and (boolean? show-base) (instantiate radio-box% () (label (string-constant executable-base)) (choices (list "Racket" "GRacket")) (parent base-panel) - (callback (lambda (rb e) (reset-filename-suffix)))))) + (callback (lambda (rb e) + (preferences:set 'drracket:create-executable-gui-base + (case (send rb get-selection) + [(0) 'racket] + [(1) 'gracket])) + (reset-filename-suffix)))))) (define (reset-filename-suffix) (let ([s (send filename-text-field get-value)]) @@ -778,7 +789,17 @@ 'yes)) (define cancelled? #t) - + (when type-rb + (send type-rb set-selection + (case (preferences:get 'drracket:create-executable-gui-type) + [(launcher) 0] + [(stand-alone) 1] + [(distribution) 2]))) + (when base-rb + (send base-rb set-selection + (case (preferences:get 'drracket:create-executable-gui-base) + [(racket) 0] + [(gracket) 1]))) (reset-filename-suffix) (send dlg show #t) (cond diff --git a/collects/drracket/private/main.rkt b/collects/drracket/private/main.rkt index 0296abecb7..da2e9a695f 100644 --- a/collects/drracket/private/main.rkt +++ b/collects/drracket/private/main.rkt @@ -94,6 +94,9 @@ (finder:default-filters))) (application:current-app-name (string-constant drscheme)) +(drr:set-default 'drracket:create-executable-gui-type 'stand-alone (λ (x) (memq x '(launcher stand-alone distribution)))) +(drr:set-default 'drracket:create-executable-gui-base 'racket (λ (x) (memq x '(racket gracket)))) + (drr:set-default 'drracket:logger-gui-tab-panel-level 0 (λ (x) (and (exact-integer? x) (<= 0 x 5)))) (drr:set-default 'drracket:saved-bug-reports