changed menu keybinding for find so that it toggles the keyboard focus back and forth with the searching window

svn: r10934

original commit: f6714c551cf0c02c319921ff36cddea87676be9f
This commit is contained in:
Robby Findler 2008-07-27 13:57:33 +00:00
parent e2112b4f73
commit 43d640de9d
3 changed files with 35 additions and 2 deletions

View File

@ -1956,10 +1956,23 @@
(define/override (edit-menu:find-case-sensitive-on-demand item) (send item check case-sensitive-search?)) (define/override (edit-menu:find-case-sensitive-on-demand item) (send item check case-sensitive-search?))
(define/override (edit-menu:create-find-case-sensitive?) #t) (define/override (edit-menu:create-find-case-sensitive?) #t)
(define/override (edit-menu:replace-all-callback menu evt) #t) (define/override (edit-menu:replace-all-callback menu evt) (replace-all) #t)
(define/override (edit-menu:replace-all-on-demand item) (send item enable (can-replace?))) (define/override (edit-menu:replace-all-on-demand item) (send item enable (can-replace?)))
(define/override (edit-menu:create-replace-all?) #t) (define/override (edit-menu:create-replace-all?) #t)
(define/override (edit-menu:create-toggle-find-focus?) #t)
(define/override (edit-menu:toggle-find-focus-callback menu evt)
(cond
[hidden?
(unhide-search #t)]
[(or (not text-to-search)
(send (send text-to-search get-canvas) has-focus?))
(send find-canvas focus)]
[else
(let ([canvas (send text-to-search get-canvas)])
(when canvas
(send canvas focus)))]))
(define/override make-root-area-container (define/override make-root-area-container
(λ (% parent) (λ (% parent)
(let* ([s-root (super make-root-area-container (let* ([s-root (super make-root-area-container

View File

@ -391,6 +391,18 @@
'(string-constant replace-all-menu-item) '(string-constant replace-all-menu-item)
edit-menu:edit-target-on-demand edit-menu:edit-target-on-demand
#f) #f)
(make-an-item 'edit-menu 'toggle-find-focus
'(string-constant toggle-find-focus-info)
'(λ (item control) (void))
#\f
'(cons (case (system-type)
[(macosx) 'option]
[else 'alt])
(get-default-shortcut-prefix))
'(string-constant toggle-find-focus)
'(λ (item) (void))
#f)
(make-a-checkable-item 'edit-menu 'find-case-sensitive (make-a-checkable-item 'edit-menu 'find-case-sensitive
'(string-constant find-case-sensitive-info) '(string-constant find-case-sensitive-info)
'(λ (item control) (void)) '(λ (item control) (void))

View File

@ -1026,7 +1026,15 @@ framework)) @(require (for-label scheme/gui)) @(require
Checks @scheme[item] when searching is case-sensitive and unchecks Checks @scheme[item] when searching is case-sensitive and unchecks
it otherwise. it otherwise.
} }
@defmethod*[#:mode override (((edit-menu:create-find-case-sensitive) boolean?))]{ @defmethod*[#:mode override (((edit-menu:create-find-case-sensitive?) boolean?))]{
returns @scheme[#t].
}
@defmethod*[#:mode override (((edit-menu:toggle-find-focus-callback) boolean?))]{
toggles the focus between the find window and the window being searched.
}
@defmethod*[#:mode override (((edit-menu:create-toggle-find-focus?) boolean?))]{
returns @scheme[#t]. returns @scheme[#t].
} }