git-gui: Refactor mouse clicking on file names/icons.
I'm not a huge fan of putting the left and right mouse actions into the same procedure. Originally this is how Paul had implemented the logic in gitool and I had carried some of that over into git-gui, but now that I'm getting ready to implement right mouse click features to act on files I really should split this apart. Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
This commit is contained in:
parent
f7f8d32226
commit
7d0d289e45
15
git-gui
15
git-gui
@ -1935,10 +1935,8 @@ proc do_save_config {w} {
|
|||||||
destroy $w
|
destroy $w
|
||||||
}
|
}
|
||||||
|
|
||||||
# shift == 1: left click
|
proc file_left_click {w x y} {
|
||||||
# 3: right click
|
global file_lists
|
||||||
proc click {w x y shift wx wy} {
|
|
||||||
global ui_index ui_other file_lists
|
|
||||||
|
|
||||||
set pos [split [$w index @$x,$y] .]
|
set pos [split [$w index @$x,$y] .]
|
||||||
set lno [lindex $pos 0]
|
set lno [lindex $pos 0]
|
||||||
@ -1946,12 +1944,12 @@ proc click {w x y shift wx wy} {
|
|||||||
set path [lindex $file_lists($w) [expr $lno - 1]]
|
set path [lindex $file_lists($w) [expr $lno - 1]]
|
||||||
if {$path eq {}} return
|
if {$path eq {}} return
|
||||||
|
|
||||||
if {$col > 0 && $shift == 1} {
|
if {$col > 0} {
|
||||||
show_diff $path $w $lno
|
show_diff $path $w $lno
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
proc unclick {w x y} {
|
proc file_left_unclick {w x y} {
|
||||||
global file_lists
|
global file_lists
|
||||||
|
|
||||||
set pos [split [$w index @$x,$y] .]
|
set pos [split [$w index @$x,$y] .]
|
||||||
@ -2457,9 +2455,8 @@ bind all <$M1B-Key-Q> do_quit
|
|||||||
bind all <$M1B-Key-w> {destroy [winfo toplevel %W]}
|
bind all <$M1B-Key-w> {destroy [winfo toplevel %W]}
|
||||||
bind all <$M1B-Key-W> {destroy [winfo toplevel %W]}
|
bind all <$M1B-Key-W> {destroy [winfo toplevel %W]}
|
||||||
foreach i [list $ui_index $ui_other] {
|
foreach i [list $ui_index $ui_other] {
|
||||||
bind $i <Button-1> {click %W %x %y 1 %X %Y; break}
|
bind $i <Button-1> {file_left_click %W %x %y; break}
|
||||||
bind $i <ButtonRelease-1> {unclick %W %x %y; break}
|
bind $i <ButtonRelease-1> {file_left_unclick %W %x %y; break}
|
||||||
bind_button3 $i {click %W %x %y 3 %X %Y; break}
|
|
||||||
}
|
}
|
||||||
unset i
|
unset i
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user