Signed-off-by: Birger Skogeng Pedersen <birger.sp@xxxxxxxxx> --- git-gui.sh | 32 +++++++++++++++++++------------- 1 file changed, 19 insertions(+), 13 deletions(-) diff --git a/git-gui.sh b/git-gui.sh index fd476b6..b7f4d1e 100755 --- a/git-gui.sh +++ b/git-gui.sh @@ -2669,25 +2669,31 @@ proc show_less_context {} { } proc focus_widget {widget} { - global file_lists last_clicked selected_paths - global file_lists_last_clicked + global file_lists if {[llength $file_lists($widget)] > 0} { - set path $file_lists_last_clicked($widget) - set index [lsearch -sorted -exact $file_lists($widget) $path] - if {$index < 0} { - set index 0 - set path [lindex $file_lists($widget) $index] - } - + select_path_in_widget $widget focus $widget - set last_clicked [list $widget [expr $index + 1]] - array unset selected_paths - set selected_paths($path) 1 - show_diff $path $widget } } +proc select_path_in_widget {widget} { + global file_lists last_clicked selected_paths + global file_lists_last_clicked + + set path $file_lists_last_clicked($widget) + set index [lsearch -sorted -exact $file_lists($widget) $path] + if {$index < 0} { + set index 0 + set path [lindex $file_lists($widget) $index] + } + + set last_clicked [list $widget [expr $index + 1]] + array unset selected_paths + set selected_paths($path) 1 + show_diff $path $widget +} + proc toggle_commit_type {} { global commit_type_is_amend set commit_type_is_amend [expr !$commit_type_is_amend] -- 2.23.0.windows.1