From: Shawn O. Pearce Date: Sun, 21 Jan 2007 21:37:05 +0000 (-0500) Subject: git-gui: Improve keyboard traversal in dialogs. X-Git-Tag: gitgui-0.6.0~82 X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=f250091b77949766724ffb67beb7a6adadc6b5b4;p=git.git git-gui: Improve keyboard traversal in dialogs. When we are in a dialog such as the new branch dialog or our options dialog we should permit the user to traverse around through the available widgets with their Tab/Shift-Tab key combinations. So in any single line text field where we don't want tab characters to actually be inserted into the value rebind Tab and Shift-Tab to honor what the tk_focusPrev and tk_focusNext scripts recommend. Signed-off-by: Shawn O. Pearce --- diff --git a/git-gui.sh b/git-gui.sh index 1a7c4d6b1..d59e72040 100755 --- a/git-gui.sh +++ b/git-gui.sh @@ -1810,8 +1810,8 @@ proc do_create_branch {} { -font font_ui $w.desc.name_t insert 0.0 $repo_config(gui.newbranchtemplate) grid $w.desc.name_l $w.desc.name_t -stick we -padx {0 5} - bind $w.desc.name_t "focus $w.postActions.checkout;break" - bind $w.desc.name_t "focus $w.from.exp_t;break" + bind $w.desc.name_t {focus [tk_focusPrev %W];break} + bind $w.desc.name_t {focus [tk_focusNext %W];break} bind $w.desc.name_t "do_create_branch_action $w;break" bind $w.desc.name_t { if {{%K} ne {BackSpace} @@ -1860,8 +1860,8 @@ proc do_create_branch {} { -width 50 \ -font font_ui grid $w.from.exp_r $w.from.exp_t -stick we -padx {0 5} - bind $w.from.exp_t "focus $w.desc.name_t;break" - bind $w.from.exp_t "focus $w.postActions.checkout;break" + bind $w.from.exp_t {focus [tk_focusPrev %W];break} + bind $w.from.exp_t {focus [tk_focusNext %W];break} bind $w.from.exp_t "do_create_branch_action $w;break" grid columnconfigure $w.from 1 -weight 1 pack $w.from -anchor nw -fill x -pady 5 -padx 5 @@ -3049,7 +3049,8 @@ proc do_options {} { -width 20 \ -font font_ui $w.$f.$name.v insert 0.0 [set ${f}_config_new(gui.$name)] - bind $w.$f.$name.v break + bind $w.$f.$name.v {focus [tk_focusPrev %W];break} + bind $w.$f.$name.v {focus [tk_focusNext %W];break} bind $w.$f.$name.v break bind $w.$f.$name.v " set ${f}_config_new(gui.$name) \