Subject: Re: [RFC/PATCH 4/4] git-gui: incremental goto line in blame view

From: Pat Thoyts <[email-masked]>
Date: Sat, 15 Oct 2011 23:26:46 +0100

Bert Wesarg <[email-masked]> writes:

>The view jumps now to the given line number after each key press.
>
>Signed-off-by: Bert Wesarg <[email-masked]>
>---
>
>I didn't know this before, but gedits goto-line-dialog works this way.
>
> lib/line.tcl |   15 +++++++++++----
> 1 files changed, 11 insertions(+), 4 deletions(-)
>
>diff --git a/lib/line.tcl b/lib/line.tcl
>index 70785e1..0113e06 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 <Return> [cb _incrgoto]
>+	trace add variable linenum write [cb _goto_cb]
>+	bind $w.ent <Return> [cb _goto]
> 	bind $w.ent <Escape> [cb hide]
> 
> 	bind $w <Destroy> [list delete_this $this]
>@@ -67,10 +68,16 @@ method _validate {P} {
> 	return 0
> }
> 
>-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
>+		}
> 	}
> }

Works fine. Will apply.

OK These 4 patches are applied and pushed to master branch - with
modifications made to 'only accept numbers in the goto-line input' made
as mentioned.

Thanks,

-- 
Pat Thoyts                            http://www.patthoyts.tk/
PGP fingerprint 2C 6E 98 07 2C 59 C8 97  10 CE 11 E6 04 E0 B9 DD