... activated by clicking near the left end of the ruler, then using the
context menu.
This is not finished work, but a proof of concept for a possible new scrubbing
UI.
... if the event is not handled and skipped by sub-windows first, such as for
toolbar button clicks.
(But track panel clicks are skipped even after doing something, so they may
also cause seeking besides other responses. So click can seek AND set cursor.)
This is meant to make drag to seek and wheel for change of speed easier,
without needing to keep the mouse in the narrow time ruler.
Also lets you click in the ruler, then move in any direction, and not miss the
motion event that should start the scrub playback.
The event handling is a bit of a hack, using propagation. It does not use
capture.
... and works in any of the six tools.
Click and drag in select tool during scrub works just as when not scrubbing.
Seeks now only if you left-click or drag in the ruler, but this may change.
Mouse motion anywhere on the screen controls scrub as before.
No mouse clicks in TrackPanel are used by scrubbing.
The Ctrl-Click in TrackPanel is now unused. Should 2.1.0 behavior be restored?
That was click to quick play, redundant with click in the (lower part of) the
ruler.
... I don't fully understand why this fixes it, but I could figure out what
was different between ESC and Cancel button which did not have the problem.
... This includes new always-seeking modes unlike scrubbing which can switch
to seeking and back according to the left mouse button state.
The reason for this is that visually impaired users should not be required to
click with the mouse in the track panel window to signal seeking. But mouse
movements can still control scrubbing, because we poll the global mouse
position in the timer, not relying on events from any window object.
... So it does not depend on the focused window, and can work when selection
toolbar has focus. But TrackPanel's escape handling may still take precedence
over it.
... If there is play but also an escapable drag action in TrackPanel, such as
a change of selection, then ESC aborts the drag. A second ESC would stop play.
The event handling for these ESC actions may be in the wrong place though. If
you ctrl-f6 during play so that the selection toolbar gets focus, then ESC
does not work to stop play.