gitk: Synchronize highlighting in file view when scrolling diff
authorStefan Haller <stefan@haller-berlin.de>
Wed, 19 Sep 2012 18:17:27 +0000 (20:17 +0200)
committerPaul Mackerras <paulus@samba.org>
Sun, 23 Sep 2012 05:03:18 +0000 (15:03 +1000)
commitb967135d89e8d8461d0590b2d5181781caeac741
tree7db36f8a1957a51411076b0cf9267909a6c2e130
parent5be4d354d9031bee65406608bfbdfc0fbc85abdb
gitk: Synchronize highlighting in file view when scrolling diff

Whenever the diff pane scrolls, highlight the corresponding file in the
file list on the right.  For a large commit with many files and long
per-file diffs, this makes it easier to keep track of what you're looking
at.

This allows simplifying the prevfile and nextfile functions, because
all they have to do is scroll the diff pane.

In some situations we want to suppress this mechanism, for example when
clicking on a file in the file list to select it, or when searching in the
diff, in which case we want to highlight based on the current search hit
and not the top line visible. In these cases it's not sufficient to set
a "suppress" flag before scrolling and reset it afterwards, because the
scrolltext notification is sent deferred from a timer or some such; so we
need to remember the scroll position for which we want to suppress the
auto-highlighting until the next call to scrolltext; a bit ugly, but does
the job.

Signed-off-by: Stefan Haller <stefan@haller-berlin.de>
Signed-off-by: Paul Mackerras <paulus@samba.org>
gitk