From 6c0b3bb1bfc52ed311ce1fa05bb75f3ce18becb2 Mon Sep 17 00:00:00 2001 From: Paul Licameli Date: Wed, 12 Jul 2017 16:39:14 -0400 Subject: [PATCH] Shift+TAB cycles hit test targets backwards --- src/TrackPanel.cpp | 13 +++++++++---- src/TrackPanel.h | 2 +- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/src/TrackPanel.cpp b/src/TrackPanel.cpp index 0774d6d4a..c06995dee 100644 --- a/src/TrackPanel.cpp +++ b/src/TrackPanel.cpp @@ -976,12 +976,17 @@ bool TrackPanel::HasRotation() const return !mUIHandle && mTargets.size() > 1; } -void TrackPanel::RotateTarget() +void TrackPanel::RotateTarget(bool forward) { auto size = mTargets.size(); if (size > 1) { - mTarget = (mTarget + 1) % size; - Target()->Enter(); + if (forward) + ++mTarget; + else + mTarget += size - 1; + mTarget %= size; + if (Target()) + Target()->Enter(); } } @@ -1391,7 +1396,7 @@ void TrackPanel::OnKeyDown(wxKeyEvent & event) case WXK_TAB: if ( HasRotation() ) { - RotateTarget(); + RotateTarget( !event.ShiftDown() ); HandleCursorForPresentMouseState(false); return; } diff --git a/src/TrackPanel.h b/src/TrackPanel.h index 633a7dde4..46049b197 100644 --- a/src/TrackPanel.h +++ b/src/TrackPanel.h @@ -551,7 +551,7 @@ protected: bool HasRotation() const; - void RotateTarget(); + void RotateTarget(bool forward); std::weak_ptr mpClickedTrack; UIHandlePtr mUIHandle;