Re: [RFC/PATCH 4/4] git-gui: incremental goto line in blame view
- From
Pat Thoyts <patthoyts@users.sourceforge.net>
- Date
- Oct 15, 2011, 22:26 UTC
- Message-ID
- <8739etki1l.fsf@fox.patthoyts.tk>
- In-Reply-To
- <7a9760b8cf85274b17c7233f61f59bb59cd18578.1318513492.git.bert.wesarg@googlemail.com>
Bert Wesarg <bert.wesarg@googlemail.com> writes:
Show 51 quoted lines
>The view jumps now to the given line number after each key press.
>
>Signed-off-by: Bert Wesarg <bert.wesarg@googlemail.com>
>---
>
>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