From 3c853f0e60db5432e0ed49237c2f8e6831571bf3 Mon Sep 17 00:00:00 2001 From: Doug Coleman Date: Mon, 24 May 2010 22:48:48 -0500 Subject: [PATCH] Use restart-alarm for ui blink code --- basis/ui/gadgets/editors/editors.factor | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/basis/ui/gadgets/editors/editors.factor b/basis/ui/gadgets/editors/editors.factor index 15d2146603..4777e42abc 100644 --- a/basis/ui/gadgets/editors/editors.factor +++ b/basis/ui/gadgets/editors/editors.factor @@ -60,14 +60,11 @@ SYMBOL: blink-interval 750 milliseconds blink-interval set-global : stop-blinking ( editor -- ) - [ [ stop-alarm ] when* f ] change-blink-alarm drop ; + blink-alarm>> [ stop-alarm ] when* ; : start-blinking ( editor -- ) - [ stop-blinking ] [ - t >>blink - dup '[ _ blink-caret ] blink-interval get delayed-every - >>blink-alarm drop - ] bi ; + t >>blink + blink-alarm>> [ restart-alarm ] when* ; : restart-blinking ( editor -- ) dup focused?>> [ @@ -80,10 +77,15 @@ PRIVATE> M: editor graft* [ dup caret>> activate-editor-model ] - [ dup mark>> activate-editor-model ] bi ; + [ dup mark>> activate-editor-model ] + [ + [ + '[ _ blink-caret ] blink-interval get dup + ] keep blink-alarm<< + ] tri ; M: editor ungraft* - [ stop-blinking ] + [ [ stop-blinking ] [ f >>blink-alarm drop ] bi ] [ dup caret>> deactivate-editor-model ] [ dup mark>> deactivate-editor-model ] tri ;