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:
parent
915616e4eb
commit
e7fb6c69f7
95
git-gui.sh
95
git-gui.sh
@ -3163,70 +3163,120 @@ proc show_blame {commit path} {
|
|||||||
-font font_uibold
|
-font font_uibold
|
||||||
pack $w.path -anchor w -side top -fill x
|
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 \
|
-state disabled \
|
||||||
-wrap none \
|
-wrap none \
|
||||||
-height 40 \
|
-height 40 \
|
||||||
-width 8 \
|
-width 9 \
|
||||||
-font font_diff
|
-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
|
$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 \
|
-state disabled \
|
||||||
-wrap none \
|
-wrap none \
|
||||||
-height 40 \
|
-height 40 \
|
||||||
-width 20 \
|
-width 20 \
|
||||||
-font font_diff
|
-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
|
$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 \
|
-state disabled \
|
||||||
-wrap none \
|
-wrap none \
|
||||||
-height 40 \
|
-height 40 \
|
||||||
-width [string length "yyyy-mm-dd hh:mm:ss"] \
|
-width [string length "yyyy-mm-dd hh:mm:ss"] \
|
||||||
-font font_diff
|
-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
|
$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 \
|
-state disabled \
|
||||||
-wrap none \
|
-wrap none \
|
||||||
-height 40 \
|
-height 40 \
|
||||||
-width 20 \
|
-width 20 \
|
||||||
-font font_diff
|
-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
|
$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 \
|
-state disabled \
|
||||||
-wrap none \
|
-wrap none \
|
||||||
-height 40 \
|
-height 40 \
|
||||||
-width 5 \
|
-width 5 \
|
||||||
-font font_diff
|
-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
|
$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 \
|
-state disabled \
|
||||||
-wrap none \
|
-wrap none \
|
||||||
-height 40 \
|
-height 40 \
|
||||||
-width 5 \
|
-width 5 \
|
||||||
-font font_diff
|
-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
|
$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 \
|
-state disabled \
|
||||||
-wrap none \
|
-wrap none \
|
||||||
-height 40 \
|
-height 40 \
|
||||||
-width 80 \
|
-width 80 \
|
||||||
-font font_diff
|
-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
|
$w.out add $w.out.file
|
||||||
lappend texts $w.out.file
|
lappend texts $w.out.file.t
|
||||||
|
|
||||||
label $w.status -textvariable blame_status($w) \
|
label $w.status -textvariable blame_status($w) \
|
||||||
-anchor w \
|
-anchor w \
|
||||||
@ -3236,7 +3286,8 @@ proc show_blame {commit path} {
|
|||||||
-font font_ui
|
-font font_ui
|
||||||
pack $w.status -anchor w -side bottom -fill x
|
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.sby -side right -fill y
|
||||||
pack $w.out -side left -fill both -expand 1
|
pack $w.out -side left -fill both -expand 1
|
||||||
|
|
||||||
@ -3249,7 +3300,8 @@ proc show_blame {commit path} {
|
|||||||
$i tag conf in_sel \
|
$i tag conf in_sel \
|
||||||
-background [$i cget -foreground] \
|
-background [$i cget -foreground] \
|
||||||
-foreground [$i cget -background]
|
-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 $i <Button-1> "blame_highlight $i @%x,%y $texts;break"
|
||||||
bind_button3 $i "
|
bind_button3 $i "
|
||||||
set cursorX %x
|
set cursorX %x
|
||||||
@ -3270,8 +3322,9 @@ proc show_blame {commit path} {
|
|||||||
set cmd [list git cat-file blob "$commit:$path"]
|
set cmd [list git cat-file blob "$commit:$path"]
|
||||||
set fd [open "| $cmd" r]
|
set fd [open "| $cmd" r]
|
||||||
fconfigure $fd -blocking 0 -translation lf -encoding binary
|
fconfigure $fd -blocking 0 -translation lf -encoding binary
|
||||||
fileevent $fd readable [list read_blame_catfile $fd $w $commit $path \
|
fileevent $fd readable [list read_blame_catfile \
|
||||||
$texts $w.out.linenumber $w.out.file]
|
$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} {
|
proc read_blame_catfile {fd w commit path texts w_lno w_file} {
|
||||||
|
Loading…
Reference in New Issue
Block a user