Implemented folding using arrow keys

This commit is contained in:
Daniel Collin 2012-11-11 15:49:14 +01:00
parent fcff3edc9e
commit 654387ce2b

View File

@ -331,6 +331,7 @@ static bool is_editing = false;
bool Editor_keyDown(int key, int modifiers) bool Editor_keyDown(int key, int modifiers)
{ {
bool handled_key = true; bool handled_key = true;
TrackData* trackData = &s_editorData.trackData;
TrackViewInfo* viewInfo = &s_editorData.trackViewInfo; TrackViewInfo* viewInfo = &s_editorData.trackViewInfo;
bool paused = RemoteConnection_isPaused(); bool paused = RemoteConnection_isPaused();
struct sync_track** tracks = getTracks(); struct sync_track** tracks = getTracks();
@ -427,6 +428,13 @@ bool Editor_keyDown(int key, int modifiers)
{ {
int track = getActiveTrack() - 1; int track = getActiveTrack() - 1;
if (modifiers & EMGUI_KEY_ALT)
{
trackData->folded[getActiveTrack()] = true;
Editor_update();
return true;
}
if (modifiers & EMGUI_KEY_COMMAND) if (modifiers & EMGUI_KEY_COMMAND)
track = 0; track = 0;
@ -451,12 +459,20 @@ bool Editor_keyDown(int key, int modifiers)
int track = getActiveTrack() + 1; int track = getActiveTrack() + 1;
int track_count = getTrackCount(); int track_count = getTrackCount();
if (modifiers & EMGUI_KEY_ALT)
{
trackData->folded[getActiveTrack()] = false;
Editor_update();
return true;
}
if (track >= track_count) if (track >= track_count)
track = track_count - 1; track = track_count - 1;
if (modifiers & EMGUI_KEY_COMMAND) if (modifiers & EMGUI_KEY_COMMAND)
track = track_count - 1; track = track_count - 1;
setActiveTrack(track); setActiveTrack(track);
if (modifiers & EMGUI_KEY_SHIFT) if (modifiers & EMGUI_KEY_SHIFT)