From 843d6597fbacfae02b8af7d6840992c92d0863f8 Mon Sep 17 00:00:00 2001 From: Bert Wesarg Date: Thu, 13 Oct 2011 15:48:15 +0200 Subject: git-gui: incremental goto line in blame view The view jumps now to the given line number after each key press. Signed-off-by: Bert Wesarg Signed-off-by: Pat Thoyts diff --git a/lib/line.tcl b/lib/line.tcl index ee27bd2..c160012 100644 --- a/lib/line.tcl +++ b/lib/line.tcl @@ -20,7 +20,7 @@ constructor new {i_w i_text args} { -background lightgreen \ -validate key \ -validatecommand [cb _validate %P] - ${NS}::button $w.bn -text [mc Go] -command [cb _incrgoto] + ${NS}::button $w.bn -text [mc Go] -command [cb _goto] pack $w.l -side left pack $w.bn -side right @@ -29,7 +29,8 @@ constructor new {i_w i_text args} { eval grid conf $w -sticky we $args grid remove $w - bind $w.ent [cb _incrgoto] + trace add variable linenum write [cb _goto_cb] + bind $w.ent [cb _goto] bind $w.ent [cb hide] bind $w [list delete_this $this] @@ -64,10 +65,16 @@ method _validate {P} { string is integer $P } -method _incrgoto {} { +method _goto_cb {name ix op} { + after idle [cb _goto 1] +} + +method _goto {{nohide {0}}} { if {$linenum ne {}} { $ctext see $linenum.0 - hide $this + if {!$nohide} { + hide $this + } } } -- cgit v0.10.2-6-g49f6