stop InertialEarthRotation when a new coordinate is set or keyboard interaction

Authored by mkoller on Jun 20 2018, 9:14 PM.



When one starts to spin the globe with the mouse (kinetic rotation) and while the kinetic rotation is still being
processed, setting a new position (e.g. via MarbleWidget::flyTo or via the keyboard, e.g. Home button, etc.)
two movements interfere: the kinetic rotation of the earth started by the input handler and the second animation via
the physics timeline done in the presenter.

This patch introduces a new method in the input handler to stop a possible pending earth rotation and
calls it on the different places needed.

Test Plan

manual testing via mouse and keyboard and with a secondary application which can call flyTo() programmatically

Diff Detail

R34 Marble
Automatic diff as part of commit; lint not applicable.
Automatic diff as part of commit; unit tests not applicable.
mkoller created this revision.Jun 20 2018, 9:14 PM
Restricted Application added projects: Marble, KDE Edu. · View Herald TranscriptJun 20 2018, 9:14 PM
Restricted Application added subscribers: kde-edu, marble-devel. · View Herald Transcript
mkoller requested review of this revision.Jun 20 2018, 9:14 PM
rahn accepted this revision.Jun 21 2018, 8:21 AM
rahn added a subscriber: rahn.

Good catch! Looks good to me. Could you commit?

This revision is now accepted and ready to land.Jun 21 2018, 8:21 AM
This revision was automatically updated to reflect the committed changes.