git-gui: Bind Tab/Shift-Tab to cycle between panes in blame
[gitweb.git] / lib / blame.tcl
index 5ea7bfea90d38bb2efe12f0e6fafa56c22c82ce5..076233c3c33a1a39a1c5cb5727edfe240e618607 100644 (file)
@@ -69,10 +69,10 @@ constructor new {i_commit i_path} {
        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
@@ -81,8 +81,8 @@ constructor new {i_commit i_path} {
                -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]
@@ -90,17 +90,17 @@ constructor new {i_commit i_path} {
                "
        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
@@ -272,6 +272,8 @@ constructor new {i_commit i_path} {
                        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] {
@@ -287,9 +289,10 @@ constructor new {i_commit i_path} {
                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
@@ -477,7 +480,9 @@ method _read_file {fd jump} {
                        $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} }
 
@@ -672,7 +677,7 @@ method _read_blame {fd cur_w cur_d cur_s} {
                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.}
@@ -729,12 +734,12 @@ method _showcommit {cur_w lno} {
                }
        }
 
-       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
@@ -906,7 +911,9 @@ method _open_tooltip {cur_w} {
        $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
@@ -921,17 +928,19 @@ method _open_tooltip {cur_w} {
                        -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