improved cancelling behavior
svn: r6041
This commit is contained in:
parent
6bb7e97a85
commit
851293fbf0
|
@ -176,6 +176,14 @@ the state transitions / contracts are:
|
||||||
(letrec ([stashed-prefs (preferences:get-prefs-snapshot)]
|
(letrec ([stashed-prefs (preferences:get-prefs-snapshot)]
|
||||||
[frame-stashed-prefs%
|
[frame-stashed-prefs%
|
||||||
(class frame:basic%
|
(class frame:basic%
|
||||||
|
(define/override (on-subwindow-char receiver event)
|
||||||
|
(cond
|
||||||
|
[(eq? 'escape (send event get-key-code))
|
||||||
|
(cancel-callback)]
|
||||||
|
[else
|
||||||
|
(super on-subwindow-char receiver event)]))
|
||||||
|
(define/augment (on-close)
|
||||||
|
(cancel-callback))
|
||||||
(define/override (show on?)
|
(define/override (show on?)
|
||||||
(when on?
|
(when on?
|
||||||
(set! stashed-prefs (preferences:get-prefs-snapshot)))
|
(set! stashed-prefs (preferences:get-prefs-snapshot)))
|
||||||
|
@ -235,7 +243,7 @@ the state transitions / contracts are:
|
||||||
(λ (f) (f))
|
(λ (f) (f))
|
||||||
on-close-dialog-callbacks)
|
on-close-dialog-callbacks)
|
||||||
(hide-dialog)))]
|
(hide-dialog)))]
|
||||||
[cancel-callback (λ (_1 _2)
|
[cancel-callback (λ ()
|
||||||
(hide-dialog)
|
(hide-dialog)
|
||||||
(preferences:restore-prefs-snapshot stashed-prefs))])
|
(preferences:restore-prefs-snapshot stashed-prefs))])
|
||||||
(new button%
|
(new button%
|
||||||
|
@ -248,7 +256,7 @@ the state transitions / contracts are:
|
||||||
(gui-utils:ok/cancel-buttons
|
(gui-utils:ok/cancel-buttons
|
||||||
bottom-panel
|
bottom-panel
|
||||||
ok-callback
|
ok-callback
|
||||||
cancel-callback)
|
(λ (a b) (cancel-callback)))
|
||||||
(make-object grow-box-spacer-pane% bottom-panel)
|
(make-object grow-box-spacer-pane% bottom-panel)
|
||||||
(send* bottom-panel
|
(send* bottom-panel
|
||||||
(stretchable-height #f)
|
(stretchable-height #f)
|
||||||
|
|
Loading…
Reference in New Issue
Block a user