changed f3 to behave like the 'edit|find' menu item

svn: r12978
This commit is contained in:
Robby Findler 2009-01-02 21:31:28 +00:00
parent c7acb6d9ef
commit de4158dfa5
2 changed files with 24 additions and 15 deletions

View File

@ -1942,6 +1942,13 @@
(send text-to-search set-position anchor-pos))))))
(send tlw hide-search)))))
(send search/replace-keymap map-function "f3" "unhide-search-and-toggle-focus")
(send search/replace-keymap add-function "unhide-search-and-toggle-focus"
(λ (text evt)
(let ([tlw (send text get-top-level-window)])
(when tlw
(send tlw unhide-search-and-toggle-focus)))))
(define searchable-canvas%
(class editor-canvas%
(inherit refresh get-dc get-client-size)
@ -1981,19 +1988,7 @@
(define/public (get-case-sensitive-search?) case-sensitive-search?)
(define replace-visible? (preferences:get 'framework:replace-visible?))
(define/override (edit-menu:find-callback menu evt)
(cond
[hidden?
(unhide-search #t)]
[(or (not text-to-search)
(send (send text-to-search get-canvas) has-focus?))
(send find-edit set-position 0 (send find-edit last-position))
(send find-canvas focus)]
[else
(let ([canvas (send text-to-search get-canvas)])
(when canvas
(send canvas focus)))])
#t)
(define/override (edit-menu:find-callback menu evt) (unhide-search-and-toggle-focus) #t)
(define/override (edit-menu:create-find?) #t)
(define/override (edit-menu:find-next-callback menu evt) (search 'forward) #t)
@ -2100,6 +2095,19 @@
(send find-edit set-position 0 (send find-edit last-position))
(send (send find-edit get-canvas) focus))))
(define/public (unhide-search-and-toggle-focus)
(cond
[hidden?
(unhide-search #t)]
[(or (not text-to-search)
(send (send text-to-search get-canvas) has-focus?))
(send find-edit set-position 0 (send find-edit last-position))
(send find-canvas focus)]
[else
(let ([canvas (send text-to-search get-canvas)])
(when canvas
(send canvas focus)))]))
(define/public (search searching-direction)
(unhide-search #f)
(send find-edit search searching-direction #t))

View File

@ -1311,12 +1311,13 @@
(send-frame (λ (f) (send f replace&search 'forward))))
(add "replace & search backward"
(send-frame (λ (f) (send f replace&search 'backward))))
(add "unhide search and toggle focus"
(send-frame (λ (f) (send f unhide-search-and-toggle-focus))))
(add "hide-search"
(send-frame (λ (f) (send f hide-search))))
(map "c:g" "hide-search")
(map "f3" "search forward")
(map "f3" "unhide search and toggle focus")
(map "c:s" "search forward")
(map "c:r" "search backward")
(case (system-type)