git-gui: Install column headers in blame viewer.

I started to get confused about what each column meant in the blame
viewer, and I'm the guy who wrote the code!  So now git-gui hints to
the user about what each column is by drawing headers at the top.
Unfortunately this meant I had to use those dreaded frame objects
which seem to cause so much pain on Windows.

Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
This commit is contained in:
Shawn O. Pearce 2007-01-29 05:51:49 -05:00
parent 915616e4eb
commit e7fb6c69f7

View File

@ -3163,70 +3163,120 @@ proc show_blame {commit path} {
-font font_uibold
pack $w.path -anchor w -side top -fill x
text $w.out.commit -background white -borderwidth 0 \
set hbg #e2effa
frame $w.out.commit -width 10 -height 10
label $w.out.commit.l -text Commit \
-background $hbg \
-font font_uibold
text $w.out.commit.t \
-background white -borderwidth 0 \
-state disabled \
-wrap none \
-height 40 \
-width 8 \
-width 9 \
-font font_diff
pack $w.out.commit.l -side top -fill x
pack $w.out.commit.t -fill both
$w.out add $w.out.commit
lappend texts $w.out.commit
lappend texts $w.out.commit.t
text $w.out.author -background white -borderwidth 0 \
frame $w.out.author -width 10 -height 10
label $w.out.author.l -text Author \
-background $hbg \
-font font_uibold
text $w.out.author.t \
-background white -borderwidth 0 \
-state disabled \
-wrap none \
-height 40 \
-width 20 \
-font font_diff
pack $w.out.author.l -side top -fill x
pack $w.out.author.t -fill both
$w.out add $w.out.author
lappend texts $w.out.author
lappend texts $w.out.author.t
text $w.out.date -background white -borderwidth 0 \
frame $w.out.date -width 10 -height 10
label $w.out.date.l -text Date \
-background $hbg \
-font font_uibold
text $w.out.date.t \
-background white -borderwidth 0 \
-state disabled \
-wrap none \
-height 40 \
-width [string length "yyyy-mm-dd hh:mm:ss"] \
-font font_diff
pack $w.out.date.l -side top -fill x
pack $w.out.date.t -fill both
$w.out add $w.out.date
lappend texts $w.out.date
lappend texts $w.out.date.t
text $w.out.filename -background white -borderwidth 0 \
frame $w.out.filename -width 10 -height 10
label $w.out.filename.l -text Filename \
-background $hbg \
-font font_uibold
text $w.out.filename.t \
-background white -borderwidth 0 \
-state disabled \
-wrap none \
-height 40 \
-width 20 \
-font font_diff
pack $w.out.filename.l -side top -fill x
pack $w.out.filename.t -fill both
$w.out add $w.out.filename
lappend texts $w.out.filename
lappend texts $w.out.filename.t
text $w.out.origlinenumber -background white -borderwidth 0 \
frame $w.out.origlinenumber -width 10 -height 10
label $w.out.origlinenumber.l -text {Orig Line} \
-background $hbg \
-font font_uibold
text $w.out.origlinenumber.t \
-background white -borderwidth 0 \
-state disabled \
-wrap none \
-height 40 \
-width 5 \
-font font_diff
$w.out.origlinenumber tag conf linenumber -justify right
$w.out.origlinenumber.t tag conf linenumber -justify right
pack $w.out.origlinenumber.l -side top -fill x
pack $w.out.origlinenumber.t -fill both
$w.out add $w.out.origlinenumber
lappend texts $w.out.origlinenumber
lappend texts $w.out.origlinenumber.t
text $w.out.linenumber -background white -borderwidth 0 \
frame $w.out.linenumber -width 10 -height 10
label $w.out.linenumber.l -text {Curr Line} \
-background $hbg \
-font font_uibold
text $w.out.linenumber.t \
-background white -borderwidth 0 \
-state disabled \
-wrap none \
-height 40 \
-width 5 \
-font font_diff
$w.out.linenumber tag conf linenumber -justify right
$w.out.linenumber.t tag conf linenumber -justify right
pack $w.out.linenumber.l -side top -fill x
pack $w.out.linenumber.t -fill both
$w.out add $w.out.linenumber
lappend texts $w.out.linenumber
lappend texts $w.out.linenumber.t
text $w.out.file -background white -borderwidth 0 \
frame $w.out.file -width 10 -height 10
label $w.out.file.l -text {File Content} \
-background $hbg \
-font font_uibold
text $w.out.file.t \
-background white -borderwidth 0 \
-state disabled \
-wrap none \
-height 40 \
-width 80 \
-font font_diff
pack $w.out.file.l -side top -fill x
pack $w.out.file.t -fill both
$w.out add $w.out.file
lappend texts $w.out.file
lappend texts $w.out.file.t
label $w.status -textvariable blame_status($w) \
-anchor w \
@ -3236,7 +3286,8 @@ proc show_blame {commit path} {
-font font_ui
pack $w.status -anchor w -side bottom -fill x
scrollbar $w.sby -orient v -command [list scrollbar2many $texts yview]
scrollbar $w.sby -orient v \
-command [list scrollbar2many $texts yview]
pack $w.sby -side right -fill y
pack $w.out -side left -fill both -expand 1
@ -3249,7 +3300,8 @@ proc show_blame {commit path} {
$i tag conf in_sel \
-background [$i cget -foreground] \
-foreground [$i cget -background]
$i conf -yscrollcommand [list many2scrollbar $texts yview $w.sby]
$i conf -yscrollcommand \
[list many2scrollbar $texts yview $w.sby]
bind $i <Button-1> "blame_highlight $i @%x,%y $texts;break"
bind_button3 $i "
set cursorX %x
@ -3270,8 +3322,9 @@ proc show_blame {commit path} {
set cmd [list git cat-file blob "$commit:$path"]
set fd [open "| $cmd" r]
fconfigure $fd -blocking 0 -translation lf -encoding binary
fileevent $fd readable [list read_blame_catfile $fd $w $commit $path \
$texts $w.out.linenumber $w.out.file]
fileevent $fd readable [list read_blame_catfile \
$fd $w $commit $path \
$texts $w.out.linenumber.t $w.out.file.t]
}
proc read_blame_catfile {fd w commit path texts w_lno w_file} {