field w_path ; # label showing the current file path
field w_line ; # text column: all line numbers
field w_cgrp ; # text column: abbreviated commit SHA-1s
-field w_load ; # text column: loaded indicator
field w_file ; # text column: actual file data
field w_cmit ; # pane showing commit message
field status ; # text variable bound to status bar
-height 25 \
-width 100
- set w_load $w.file_pane.out.loaded_t
- text $w_load \
- -background white -borderwidth 0 \
- -state disabled \
- -wrap none \
- -height 40 \
- -width 1 \
- -font font_diff
- $w_load tag conf annotated -background grey
-
set w_line $w.file_pane.out.linenumber_t
text $w_line \
-background white -borderwidth 0 \
scrollbar $w.file_pane.out.sby \
-orient v \
-command [list scrollbar2many [list \
- $w_load \
$w_line \
$w_cgrp \
$w_file \
grid \
$w_cgrp \
$w_line \
- $w_load \
$w_file \
$w.file_pane.out.sby \
-sticky nsew
- grid conf $w.file_pane.out.sbx -column 3 -sticky we
- grid columnconfigure $w.file_pane.out 3 -weight 1
+ grid conf $w.file_pane.out.sbx -column 2 -sticky we
+ grid columnconfigure $w.file_pane.out 2 -weight 1
grid rowconfigure $w.file_pane.out 0 -weight 1
set w_cmit $w.file_pane.cm.t
foreach i [list \
$w_cgrp \
- $w_load \
$w_line \
$w_file] {
$i conf -cursor $cursor_ptr
$i conf -yscrollcommand \
[list many2scrollbar [list \
$w_cgrp \
- $w_load \
$w_line \
$w_file \
] yview $w.file_pane.out.sby]
foreach i [list \
$w_cgrp \
- $w_load \
$w_line \
$w_file \
$w_cmit] {
array unset line_commit
array unset line_file
- $w_load conf -state normal
$w_cgrp conf -state normal
$w_line conf -state normal
$w_file conf -state normal
- $w_load delete 0.0 end
$w_cgrp delete 0.0 end
$w_line delete 0.0 end
$w_file delete 0.0 end
- $w_load conf -state disabled
$w_cgrp conf -state disabled
$w_line conf -state disabled
$w_file conf -state disabled
}
if {![catch {set summary $header($c,summary)}]} {
append t " $summary"
+ if {[string length $t] > 70} {
+ set t [string range $t 0 66]...
+ }
}
$m add command -label $t -command [cb _goback $i $c $f]
return
}
- $w_load conf -state normal
$w_cgrp conf -state normal
$w_line conf -state normal
$w_file conf -state normal
incr total_lines
if {$total_lines > 1} {
- $w_load insert end "\n"
$w_cgrp insert end "\n"
$w_line insert end "\n"
$w_file insert end "\n"
$w_line insert end "$total_lines" linenumber
$w_file insert end "$line"
}
- $w_load conf -state disabled
$w_cgrp conf -state disabled
$w_line conf -state disabled
$w_file conf -state disabled
while {$n > 0} {
set lno_e "$lno.0 lineend + 1c"
- if {[catch {set g g$line_commit($lno)}]} {
- $w_load tag add annotated $lno.0 $lno_e
- } else {
+ if {![catch {set g g$line_commit($lno)}]} {
$w_cgrp tag remove g$g $lno.0 $lno_e
$w_line tag remove g$g $lno.0 $lno_e
$w_file tag remove g$g $lno.0 $lno_e