make_toplevel top w
wm title $top "[appname] ([reponame]): File Viewer"
- frame $w.header -background orange
+ frame $w.header -background gold
label $w.header.commit_l \
-text {Commit:} \
- -background orange \
+ -background gold \
-anchor w \
-justify left
set w_back $w.header.commit_b
-borderwidth 0 \
-relief flat \
-state disabled \
- -background orange \
- -activebackground orange
+ -background gold \
+ -activebackground gold
bind $w_back <Button-1> "
if {\[$w_back cget -state\] eq {normal}} {
[cb _history_menu]
"
label $w.header.commit \
-textvariable @commit \
- -background orange \
+ -background gold \
-anchor w \
-justify left
label $w.header.path_l \
-text {File:} \
- -background orange \
+ -background gold \
-anchor w \
-justify left
set w_path $w.header.path
label $w_path \
- -background orange \
+ -background gold \
-anchor w \
-justify left
pack $w.header.commit_l -side left
set cursorW %W
tk_popup $w.ctxm %X %Y
"
+ bind $i <Shift-Tab> "[list focus $w_cviewer];break"
+ bind $i <Tab> "[list focus $w_cviewer];break"
}
foreach i [concat $w_columns $w_cviewer] {
bind $i <Control-Key-f> {catch {%W yview scroll 1 pages};break}
}
+ bind $w_cviewer <Shift-Tab> "[list focus $w_file];break"
+ bind $w_cviewer <Tab> "[list focus $w_file];break"
bind $w_cviewer <Button-1> [list focus $w_cviewer]
- bind $top <Visibility> [list focus $top]
- bind $w_file <Destroy> [list delete_this $this]
+ bind $w_file <Visibility> [list focus $w_file]
grid configure $w.header -sticky ew
grid configure $w.file_pane -sticky nsew
set req_w [winfo reqwidth $top]
set req_h [winfo reqheight $top]
+ set scr_h [expr {[winfo screenheight $top] - 100}]
if {$req_w < 600} {set req_w 600}
- if {$req_h < 400} {set req_h 400}
+ if {$req_h < $scr_h} {set req_h $scr_h}
set g "${req_w}x${req_h}"
wm geometry $top $g
update
$w_file yview moveto [lindex $jump 3]
}
- _exec_blame $this $w_asim @asim_data [list] {}
+ _exec_blame $this $w_asim @asim_data \
+ [list] \
+ { copy/move tracking}
}
} ifdeleted { catch {close $fd} }
method _exec_blame {cur_w cur_d options cur_s} {
- set cmd [list nice git blame]
+ set cmd [list]
+ if {![is_Windows] || [is_Cygwin]} {
+ lappend cmd nice
+ }
+ lappend cmd git blame
set cmd [concat $cmd $options]
lappend cmd --incremental
if {$commit eq {}} {
if {$cur_w eq $w_asim} {
_exec_blame $this $w_amov @amov_data \
[list -M -C -C] \
- { move/copy tracking}
+ { original location}
} else {
set current_fd {}
set status {Annotation complete.}
}
}
- if {$cur_w eq $w_amov} {
- set dat [lindex $amov_data $lno]
- set highlight_column $w_amov
- } else {
+ if {$cur_w eq $w_asim} {
set dat [lindex $asim_data $lno]
set highlight_column $w_asim
+ } else {
+ set dat [lindex $amov_data $lno]
+ set highlight_column $w_amov
}
$w_cviewer conf -state normal
$tooltip_t insert end "$summary"
if {$org ne {} && [lindex $org 0] ne $cmit} {
- $tooltip_t insert 0.0 "Moved Here By:\n" section_header
+ set save [$tooltip_t get 0.0 end]
+ $tooltip_t delete 0.0 end
+
set cmit [lindex $org 0]
set file [lindex $org 1]
lappend tooltip_commit $cmit
-format {%Y-%m-%d %H:%M:%S}
]}
- $tooltip_t insert end "\n\n"
$tooltip_t insert end "Originally By:\n" section_header
$tooltip_t insert end "commit $cmit\n"
$tooltip_t insert end "$author_name $author_time\n"
- $tooltip_t insert end "$summary"
+ $tooltip_t insert end "$summary\n"
if {$file ne $path} {
- $tooltip_t insert end "\n"
- $tooltip_t insert end "File: " section_header
- $tooltip_t insert end $file
+ $tooltip_t insert end "In File: " section_header
+ $tooltip_t insert end "$file\n"
}
+
+ $tooltip_t insert end "\n"
+ $tooltip_t insert end "Copied Or Moved Here By:\n" section_header
+ $tooltip_t insert end $save
}
$tooltip_t conf -state disabled