From bfa5b80f5752e89957b0d3aff5e4792417a12a2a Mon Sep 17 00:00:00 2001 From: slava Date: Sat, 7 Oct 2006 20:29:47 +0000 Subject: [PATCH] Listener cleanup --- TODO.FACTOR.txt | 1 - library/ui/tools/listener.factor | 37 +++++++++++++------------------- 2 files changed, 15 insertions(+), 23 deletions(-) diff --git a/TODO.FACTOR.txt b/TODO.FACTOR.txt index ab1e3bc86e..5da07cd681 100644 --- a/TODO.FACTOR.txt +++ b/TODO.FACTOR.txt @@ -9,7 +9,6 @@ - slider needs to be modelized - some way of intercepting all gestures - better help result ranking -- clean up listener's minibuffer-related code - help search looks funny - menus should not require mouse to be held - tab completion: add a USE: if necessary diff --git a/library/ui/tools/listener.factor b/library/ui/tools/listener.factor index 3d5390f5b3..2d71076346 100644 --- a/library/ui/tools/listener.factor +++ b/library/ui/tools/listener.factor @@ -106,40 +106,42 @@ M: listener-gadget tool-help [ set-listener-gadget-minibuffer ] 2keep dupd track-add request-focus ; +: minibuffer-action ( quot -- quot ) + [ find-listener hide-minibuffer ] swap append ; + : show-word-search ( listener action -- ) + minibuffer-action >r dup listener-gadget-input selected-word r> "Word search" swap show-minibuffer ; : show-source-files-search ( listener action -- ) + minibuffer-action "" swap "Source file search" swap show-minibuffer ; : show-vocabs-search ( listener action -- ) + minibuffer-action >r dup listener-gadget-input selected-word r> "Vocabulary search" swap show-minibuffer ; : show-list ( seq presenter action listener -- ) - >r >r >r r> r> r> - show-minibuffer ; + >r minibuffer-action r> show-minibuffer ; + +: listener-history ( listener -- seq ) + listener-gadget-input interactor-history ; : show-history ( listener -- ) [ - listener-gadget-input interactor-history + listener-gadget-input [ [ dup print-input ] make-pane ] - [ - find-listener - [ listener-gadget-input set-editor-text ] keep - hide-minibuffer - ] + [ listener-gadget-input set-editor-text ] ] keep show-list ; : insert-completion ( completion -- ) - find-listener [ - >r word-name r> listener-gadget-input user-input - ] keep hide-minibuffer ; + word-name find-listener listener-gadget-input user-input ; listener-gadget "Toolbar" { { "Restart" T{ key-down f { C+ } "r" } [ start-listener ] } @@ -170,21 +172,12 @@ listener-gadget "Listener commands" { { "Edit file" T{ key-down f { C+ } "e" } - [ - [ find-listener hide-minibuffer edit-file ] - show-source-files-search - ] + [ [ edit-file ] show-source-files-search ] } { "Use vocabulary" T{ key-down f { C+ } "u" } - [ - [ - find-listener hide-minibuffer - [ use+ ] curry call-listener - ] - show-vocabs-search - ] + [ [ [ use+ ] curry call-listener ] show-vocabs-search ] } { "Hide minibuffer" -- 2.34.1