Skip to content

Commit

Permalink
gitk: Remember the view in the history list
Browse files Browse the repository at this point in the history
When moving backwards or forwards through the history list, this
automatically switches the view so that each point that we jump to
is shown in the same view that it was originally displayed in.

Signed-off-by: Paul Mackerras <paulus@samba.org>
  • Loading branch information
Paul Mackerras committed Apr 21, 2006
1 parent 22626ef commit 2516dae
Showing 1 changed file with 29 additions and 9 deletions.
38 changes: 29 additions & 9 deletions gitk
Original file line number Diff line number Diff line change
Expand Up @@ -959,7 +959,8 @@ proc showview {n} {
$commitidx $rowlaidout $rowoptim $numcommits \
$linesegends $leftover $commfd]
fileevent $commfd readable {}
} elseif {![info exists viewdata($curview)]} {
} elseif {![info exists viewdata($curview)]
|| [lindex $viewdata($curview) 0] ne {}} {
set viewdata($curview) \
[list {} $displayorder $parentlist $childlist $rowidlist \
$rowoffsets $rowrangelist $commitlisted]
Expand Down Expand Up @@ -1035,6 +1036,14 @@ proc showview {n} {
allcanvs yview moveto $yf
drawvisible
selectline $row 0
if {$phase eq {}} {
global maincursor textcursor
. config -cursor $maincursor
settextcursor $textcursor
} else {
. config -cursor watch
settextcursor watch
}
}

proc shortids {ids} {
Expand Down Expand Up @@ -2301,7 +2310,7 @@ proc stopfindproc {{done 0}} {
}
if {[info exists findinprogress]} {
unset findinprogress
if {$phase != "incrdraw"} {
if {$phase eq {}} {
. config -cursor $maincursor
settextcursor $textcursor
}
Expand Down Expand Up @@ -2840,17 +2849,18 @@ proc unselectline {} {
}

proc addtohistory {cmd} {
global history historyindex
global history historyindex curview

set elt [list $curview $cmd]
if {$historyindex > 0
&& [lindex $history [expr {$historyindex - 1}]] == $cmd} {
&& [lindex $history [expr {$historyindex - 1}]] == $elt} {
return
}

if {$historyindex < [llength $history]} {
set history [lreplace $history $historyindex end $cmd]
set history [lreplace $history $historyindex end $elt]
} else {
lappend history $cmd
lappend history $elt
}
incr historyindex
if {$historyindex > 1} {
Expand All @@ -2861,13 +2871,23 @@ proc addtohistory {cmd} {
.ctop.top.bar.rightbut conf -state disabled
}

proc godo {elt} {
global curview

set view [lindex $elt 0]
set cmd [lindex $elt 1]
if {$curview != $view} {
showview $view
}
eval $cmd
}

proc goback {} {
global history historyindex

if {$historyindex > 1} {
incr historyindex -1
set cmd [lindex $history [expr {$historyindex - 1}]]
eval $cmd
godo [lindex $history [expr {$historyindex - 1}]]
.ctop.top.bar.rightbut conf -state normal
}
if {$historyindex <= 1} {
Expand All @@ -2881,7 +2901,7 @@ proc goforw {} {
if {$historyindex < [llength $history]} {
set cmd [lindex $history $historyindex]
incr historyindex
eval $cmd
godo $cmd
.ctop.top.bar.leftbut conf -state normal
}
if {$historyindex >= [llength $history]} {
Expand Down

0 comments on commit 2516dae

Please sign in to comment.