Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
git-gui: Enable jumping to a specific line number in blame view.
This patch adds a goto control similar to the search control currently available. The goto control permits the user to specify a line number to jump to. When in blame, Control-G is bound to display this control. Signed-off-by: David Fries <David@Fries.net> Signed-off-by: Pat Thoyts <patthoyts@users.sourceforge.net>
- Loading branch information
Showing
2 changed files
with
75 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,64 @@ | ||
# goto line number | ||
# based on code from gitk, Copyright (C) Paul Mackerras | ||
|
||
class linebar { | ||
|
||
field w | ||
field ctext | ||
|
||
field linenum {} | ||
|
||
constructor new {i_w i_text args} { | ||
global use_ttk NS | ||
set w $i_w | ||
set ctext $i_text | ||
|
||
${NS}::frame $w | ||
${NS}::label $w.l -text [mc "Goto Line:"] | ||
entry $w.ent -textvariable ${__this}::linenum -background lightgreen | ||
${NS}::button $w.bn -text [mc Go] -command [cb _incrgoto] | ||
|
||
pack $w.l -side left | ||
pack $w.bn -side right | ||
pack $w.ent -side left -expand 1 -fill x | ||
|
||
eval grid conf $w -sticky we $args | ||
grid remove $w | ||
|
||
bind $w.ent <Return> [cb _incrgoto] | ||
bind $w.ent <Escape> [list linebar::hide $this] | ||
|
||
bind $w <Destroy> [list delete_this $this] | ||
return $this | ||
} | ||
|
||
method show {} { | ||
if {![visible $this]} { | ||
grid $w | ||
} | ||
focus -force $w.ent | ||
} | ||
|
||
method hide {} { | ||
if {[visible $this]} { | ||
focus $ctext | ||
grid remove $w | ||
} | ||
} | ||
|
||
method visible {} { | ||
return [winfo ismapped $w] | ||
} | ||
|
||
method editor {} { | ||
return $w.ent | ||
} | ||
|
||
method _incrgoto {} { | ||
if {$linenum ne {}} { | ||
$ctext see $linenum.0 | ||
hide $this | ||
} | ||
} | ||
|
||
} |