Fixed so you don't have to press enter to make a value "stick"

Closes #11
This commit is contained in:
Daniel Collin 2012-10-29 20:13:26 +01:00
parent 19d5d04b5f
commit 2dcf2a8664

View File

@ -142,6 +142,9 @@ bool Editor_keyDown(int key, int modifiers)
{ {
bool handled_key = true; bool handled_key = true;
bool paused = RemoteConnection_isPaused(); bool paused = RemoteConnection_isPaused();
struct sync_track** tracks = getTracks();
int active_track = getActiveTrack();
int row_pos = s_editorData.trackViewInfo.rowPos;
switch (key) switch (key)
{ {
@ -229,35 +232,30 @@ bool Editor_keyDown(int key, int modifiers)
return true; return true;
} }
else if (key == 13) // return/enter else if (is_editing)
{ {
struct track_key key; struct track_key key;
key.row = s_editorData.trackViewInfo.rowPos; key.row = row_pos;
key.value = atof(s_editBuffer); key.value = atof(s_editBuffer);
key.type = 0; key.type = 0;
struct sync_track* track = s_editorData.trackData.syncData.tracks[s_editorData.trackData.activeTrack]; struct sync_track* track = tracks[active_track];
const char* track_name = track->name; const char* track_name = track->name;
sync_set_key(track, &key); sync_set_key(track, &key);
rlog(R_INFO, "Setting key %f at %d row %d (name %s)\n", key.value, s_editorData.trackData.activeTrack, key.row, track_name); rlog(R_INFO, "Setting key %f at %d row %d (name %s)\n", key.value, active_track, key.row, track_name);
RemoteConnection_sendSetKeyCommand(track_name, &key); RemoteConnection_sendSetKeyCommand(track_name, &key);
is_editing = false; is_editing = false;
s_editorData.trackData.editText = 0; s_editorData.trackData.editText = 0;
} }
else
{
is_editing = false;
s_editorData.trackData.editText = 0;
}
if (key == 'i') if (key == 'i')
{ {
struct sync_track* track = s_editorData.trackData.syncData.tracks[s_editorData.trackData.activeTrack]; struct sync_track* track = tracks[active_track];
int row = s_editorData.trackViewInfo.rowPos; int row = s_editorData.trackViewInfo.rowPos;
int idx = key_idx_floor(track, row); int idx = key_idx_floor(track, row);