From 9f1bb50dbc4131f8cbcd51f8e57719ab2de8f6ef Mon Sep 17 00:00:00 2001 From: Egbert Teeselink Date: Tue, 26 Feb 2008 08:55:17 +0000 Subject: [PATCH] added HOME and END support, improved PAGE UP/DOWN. --- editor/trackview.cpp | 40 ++++++++++++++++++++++++++++++++++++++-- 1 file changed, 38 insertions(+), 2 deletions(-) diff --git a/editor/trackview.cpp b/editor/trackview.cpp index 699160e..36d9b12 100644 --- a/editor/trackview.cpp +++ b/editor/trackview.cpp @@ -855,7 +855,7 @@ LRESULT TrackView::onKeyDown(UINT keyCode, UINT /*flags*/) if (GetKeyState(VK_SHIFT) < 0) bias = 100.0f; editBiasValue(bias); } - else setEditRow(editRow - windowRows / 2); + else setEditRow(editRow - 0x10); break; case VK_NEXT: @@ -865,7 +865,43 @@ LRESULT TrackView::onKeyDown(UINT keyCode, UINT /*flags*/) if (GetKeyState(VK_SHIFT) < 0) bias = 100.0f; editBiasValue(-bias); } - else setEditRow(editRow + windowRows / 2); + else setEditRow(editRow + 0x10); + break; + case VK_HOME: + if (GetKeyState(VK_CONTROL) < 0) + { + setEditRow(0); + } + else + { + int remainder = editRow % 0x80; + if(remainder) + { + setEditRow(editRow - remainder); + } + else + { + setEditRow(editRow - 0x80); + } + } + break; + case VK_END: + if (GetKeyState(VK_CONTROL) < 0) + { + setEditRow(rows-1); + } + else + { + int remainder = editRow % 0x80; + if(remainder) + { + setEditRow(0x80 + editRow - remainder); + } + else + { + setEditRow(editRow + 0x80); + } + } break; } }