avoid saving the preferences on each keystroke in the find/replace dialog
original commit: de0103129bb589fd59f618e117dde432ed1a6290
This commit is contained in:
parent
a82341289c
commit
726e476ea0
|
@ -1693,15 +1693,22 @@
|
||||||
(define/augment (after-delete x y)
|
(define/augment (after-delete x y)
|
||||||
(update-prefs)
|
(update-prefs)
|
||||||
(inner (void) after-delete x y))
|
(inner (void) after-delete x y))
|
||||||
|
(define timer #f)
|
||||||
(define/private (update-prefs)
|
(define/private (update-prefs)
|
||||||
(preferences:set pref-sym
|
(unless timer
|
||||||
(let loop ([snip (find-first-snip)])
|
(set! timer (new timer%
|
||||||
(cond
|
[notify-callback
|
||||||
[(not snip) '()]
|
(λ ()
|
||||||
[(is-a? snip string-snip%)
|
(preferences:set pref-sym
|
||||||
(cons (send snip get-text 0 (send snip get-count))
|
(let loop ([snip (find-first-snip)])
|
||||||
(loop (send snip next)))]
|
(cond
|
||||||
[else (cons snip (loop (send snip next)))]))))
|
[(not snip) '()]
|
||||||
|
[(is-a? snip string-snip%)
|
||||||
|
(cons (send snip get-text 0 (send snip get-count))
|
||||||
|
(loop (send snip next)))]
|
||||||
|
[else (cons snip (loop (send snip next)))]))))])))
|
||||||
|
(send timer stop)
|
||||||
|
(send timer start 150 #t))
|
||||||
(define/override (get-keymaps)
|
(define/override (get-keymaps)
|
||||||
(editor:add-after-user-keymap search/replace-keymap (super get-keymaps)))
|
(editor:add-after-user-keymap search/replace-keymap (super get-keymaps)))
|
||||||
(super-new)
|
(super-new)
|
||||||
|
|
Loading…
Reference in New Issue
Block a user