From 647d194847aa4636ccd5b0b68d52840c152e7a1c Mon Sep 17 00:00:00 2001 From: Chris Danford Date: Tue, 17 May 2005 07:24:25 +0000 Subject: [PATCH] add mapping for undo --- stepmania/src/ScreenEdit.cpp | 21 ++++++++++++++++++--- stepmania/src/ScreenEdit.h | 2 ++ 2 files changed, 20 insertions(+), 3 deletions(-) diff --git a/stepmania/src/ScreenEdit.cpp b/stepmania/src/ScreenEdit.cpp index c69dcc9338..31f48e0afc 100644 --- a/stepmania/src/ScreenEdit.cpp +++ b/stepmania/src/ScreenEdit.cpp @@ -193,6 +193,8 @@ void ScreenEdit::InitEditMappings() g_EditMappings.button[EDIT_BUTTON_ADJUST_FINE][0] = DeviceInput(DEVICE_KEYBOARD, KEY_RALT); g_EditMappings.button[EDIT_BUTTON_ADJUST_FINE][1] = DeviceInput(DEVICE_KEYBOARD, KEY_LALT); + g_EditMappings.button[EDIT_BUTTON_UNDO][1] = DeviceInput(DEVICE_KEYBOARD, KEY_Cu); + g_PlayMappings.button[EDIT_BUTTON_RETURN_TO_EDIT][0] = DeviceInput(DEVICE_KEYBOARD, KEY_ESC); g_PlayMappings.button[EDIT_BUTTON_TOGGLE_ASSIST_TICK][0] = DeviceInput(DEVICE_KEYBOARD, KEY_F4); g_PlayMappings.button[EDIT_BUTTON_TOGGLE_AUTOPLAY][0] = DeviceInput(DEVICE_KEYBOARD, KEY_F8); @@ -1370,6 +1372,10 @@ void ScreenEdit::InputEdit( const DeviceInput& DeviceI, const InputEventType typ HandleAreaMenuChoice( shift_pauses_backward ); SCREENMAN->PlayInvalidSound(); break; + + case EDIT_BUTTON_UNDO: + Undo(); + break; } } @@ -2687,9 +2693,18 @@ void ScreenEdit::SaveUndo() void ScreenEdit::Undo() { - m_NoteDataEdit.CopyAll( m_Undo ); - m_bHasUndo = false; - m_Undo.ClearAll(); + if( m_bHasUndo ) + { + m_NoteDataEdit.CopyAll( m_Undo ); + m_bHasUndo = false; + m_Undo.ClearAll(); + SCREENMAN->SystemMessage( "Undo" ); + } + else + { + SCREENMAN->SystemMessage( "Can't undo - no undo data." ); + SCREENMAN->PlayInvalidSound(); + } } void ScreenEdit::CheckNumberOfNotesAndUndo() diff --git a/stepmania/src/ScreenEdit.h b/stepmania/src/ScreenEdit.h index 7951cb1318..5425c4816e 100644 --- a/stepmania/src/ScreenEdit.h +++ b/stepmania/src/ScreenEdit.h @@ -95,6 +95,8 @@ enum EditButton /* This modifies offset, BPM, and stop segment changes. */ EDIT_BUTTON_ADJUST_FINE, + EDIT_BUTTON_UNDO, + NUM_EDIT_BUTTONS, // leave this at the end EDIT_BUTTON_INVALID };