canvasevent: improve flow for spring-loaded modes
authorAndrew Chadwick <andrewc-git@piffle.org>
Thu, 15 Nov 2012 19:11:39 +0000 (19:11 +0000)
committerAndrew Chadwick <andrewc-git@piffle.org>
Sat, 17 Nov 2012 22:10:12 +0000 (22:10 +0000)
commit3953268d11bc0c162c09e102130bd51c9f966db6
treed002be7e9ef5af1194e26fcef17d0b58f1d24e34
parent2254739b37ac5adc1f841e80f7d91a428d14f0ad
canvasevent: improve flow for spring-loaded modes

Make spring-loaded modes actually persist for as long as modifiers are
held. Not bouncing between modes will be better for UI feedback.

One little benefit: (any modifiers)+(toolbar button click) now engages a
"secret" versions of some modes which lasts only for as long as the
modifiers are held. For frame manipulation this means the dialogless
version of the mode. Really the "secret" version is just what you get
when you bind it to a (modified) button press via preferences.

Fix: releasing modifiers while dragging in oneshot+spring-loaded modes
should not exit the mode. That now happens correctly when the drag
finishes.
gui/canvasevent.py
gui/framewindow.py
gui/linemode.py