ctrl + arrow up/down to goto prev/next key

This commit is contained in:
Daniel Collin 2012-11-24 17:37:48 +01:00
parent baf1ae03de
commit c339f131d8

View File

@ -448,8 +448,24 @@ bool Editor_keyDown(int key, int modifiers)
case EMGUI_ARROW_DOWN: case EMGUI_ARROW_DOWN:
{ {
const int active_track = getActiveTrack();
int row = row_pos; int row = row_pos;
if (modifiers & EMGUI_KEY_CTRL)
{
struct sync_track* t = getTracks()[active_track];
if (t->keys)
{
int idx = key_idx_floor(t, row);
if (idx >= 0)
viewInfo->rowPos = t->keys[emini(idx + 1, t->num_keys - 1)].row;
}
break;
}
row += modifiers & EMGUI_KEY_ALT ? 8 : 1; row += modifiers & EMGUI_KEY_ALT ? 8 : 1;
if ((modifiers & EMGUI_KEY_COMMAND) || row > viewInfo->endRow) if ((modifiers & EMGUI_KEY_COMMAND) || row > viewInfo->endRow)
@ -475,6 +491,19 @@ bool Editor_keyDown(int key, int modifiers)
{ {
int row = row_pos; int row = row_pos;
if (modifiers & EMGUI_KEY_CTRL)
{
struct sync_track* t = getTracks()[active_track];
if (t->keys)
{
int idx = key_idx_floor(t, row);
viewInfo->rowPos = t->keys[emaxi(idx - 1, 0)].row;
}
break;
}
row -= modifiers & EMGUI_KEY_ALT ? 8 : 1; row -= modifiers & EMGUI_KEY_ALT ? 8 : 1;
if ((modifiers & EMGUI_KEY_COMMAND) || row < viewInfo->startRow) if ((modifiers & EMGUI_KEY_COMMAND) || row < viewInfo->startRow)