diff --git a/Themes/_fallback/Languages/en.ini b/Themes/_fallback/Languages/en.ini index 3b77e336c3..bc3fd8b21e 100644 --- a/Themes/_fallback/Languages/en.ini +++ b/Themes/_fallback/Languages/en.ini @@ -807,6 +807,7 @@ Clear Machine Edits=Clear Machine Edits Clear Machine Stats=Clear Machine Scores Clear USB edits=Clear USB edits Clear area=Clear area +Clear clipboard=Clear clipboard CoinMode=Coin Mode CoinModeNoHome=Coin Mode CoinsPerCredit=Coins Per Credit diff --git a/src/ScreenEdit.cpp b/src/ScreenEdit.cpp index 340545e112..7bad89f8b4 100644 --- a/src/ScreenEdit.cpp +++ b/src/ScreenEdit.cpp @@ -550,7 +550,10 @@ static MenuDef g_AreaMenu( MenuRowDef( ScreenEdit::shift_pauses_backward, "Shift all timing changes up", true, EditMode_Full, true, true, 0, NULL ), MenuRowDef(ScreenEdit::convert_pause_to_beat, "Convert pause to beats", true, EditMode_Full, true, true, 0, NULL ), - MenuRowDef( ScreenEdit::undo, "Undo", true, EditMode_Practice, true, true, 0, NULL ) + MenuRowDef( ScreenEdit::undo, "Undo", true, EditMode_Practice, true, true, 0, NULL ), + MenuRowDef(ScreenEdit::clear_clipboard, "Clear clipboard", true, + EditMode_Practice, true, true, 0, NULL ) + ); static MenuDef g_StepsInformation( @@ -3501,6 +3504,8 @@ void ScreenEdit::HandleAlterMenuChoice(AlterMenuChoice c, const vector &iAn bool bSaveUndo = true; switch (c) { + case play: + case record: case cut: case copy: { @@ -3694,24 +3699,14 @@ void ScreenEdit::HandleAlterMenuChoice(AlterMenuChoice c, const vector &iAn void ScreenEdit::HandleAreaMenuChoice( AreaMenuChoice c, const vector &iAnswers, bool bAllowUndo ) { - bool bSaveUndo = false; + bool bSaveUndo = true; switch( c ) { - DEFAULT_FAIL( c ); - case play: - case record: + case clear_clipboard: case undo: bSaveUndo = false; break; - case paste_at_current_beat: - case paste_at_begin_marker: - case insert_and_shift: - case delete_and_shift: - case shift_pauses_forward: - case shift_pauses_backward: - case convert_to_pause: - case convert_pause_to_beat: - bSaveUndo = true; + default: break; } @@ -3802,6 +3797,11 @@ void ScreenEdit::HandleAreaMenuChoice( AreaMenuChoice c, const vector &iAns case undo: Undo(); break; + case clear_clipboard: + { + m_Clipboard.ClearAll(); + break; + } }; if( bSaveUndo ) diff --git a/src/ScreenEdit.h b/src/ScreenEdit.h index 7e2f82eebd..81dc6346fa 100644 --- a/src/ScreenEdit.h +++ b/src/ScreenEdit.h @@ -377,7 +377,6 @@ public: cut, copy, clear, - // clear_undo, quantize, turn, transform, @@ -400,6 +399,7 @@ public: shift_pauses_backward, convert_pause_to_beat, undo, + clear_clipboard, NUM_AREA_MENU_CHOICES }; void HandleAlterMenuChoice(AlterMenuChoice c,