avoid saving the preferences on each keystroke in the find/replace dialog

original commit: de0103129bb589fd59f618e117dde432ed1a6290
This commit is contained in:
Robby Findler 2010-12-01 14:09:03 -06:00
parent a82341289c
commit 726e476ea0

View File

@ -1693,7 +1693,12 @@
(define/augment (after-delete x y)
(update-prefs)
(inner (void) after-delete x y))
(define timer #f)
(define/private (update-prefs)
(unless timer
(set! timer (new timer%
[notify-callback
(λ ()
(preferences:set pref-sym
(let loop ([snip (find-first-snip)])
(cond
@ -1701,7 +1706,9 @@
[(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)))]))))
[else (cons snip (loop (send snip next)))]))))])))
(send timer stop)
(send timer start 150 #t))
(define/override (get-keymaps)
(editor:add-after-user-keymap search/replace-keymap (super get-keymaps)))
(super-new)