From 324a84b9c76d23b1052266fff56ee9aa5e54b3fe Mon Sep 17 00:00:00 2001 From: Glenn Maynard Date: Fri, 16 Mar 2007 22:16:54 +0000 Subject: [PATCH] more OptionsList control --- stepmania/src/OptionsList.cpp | 10 ++++++++++ stepmania/src/ScreenSelectMusic.cpp | 23 ++++++----------------- 2 files changed, 16 insertions(+), 17 deletions(-) diff --git a/stepmania/src/OptionsList.cpp b/stepmania/src/OptionsList.cpp index 4747818011..bc2bf12df0 100644 --- a/stepmania/src/OptionsList.cpp +++ b/stepmania/src/OptionsList.cpp @@ -265,6 +265,8 @@ void OptionsList::Input( const InputEventPlus &input ) { if( input.type == IET_RELEASE ) return; + if( input.type != IET_FIRST_PRESS ) + return; const OptionRowHandler *pHandler = GetCurrentHandler(); @@ -286,6 +288,7 @@ void OptionsList::Input( const InputEventPlus &input ) Message msg("OptionsListLeft"); msg.SetParam( "Player", input.pn ); MESSAGEMAN->Broadcast( msg ); + return; } else if( input.MenuI == MENU_BUTTON_RIGHT ) { @@ -304,11 +307,18 @@ void OptionsList::Input( const InputEventPlus &input ) Message msg("OptionsListRight"); msg.SetParam( "Player", input.pn ); MESSAGEMAN->Broadcast( msg ); + return; } else if( input.MenuI == MENU_BUTTON_START ) { LOG->Trace( "X5" ); Start( input.pn ); + return; + } + else if( input.MenuI == MENU_BUTTON_SELECT ) + { + Close(); + return; } } diff --git a/stepmania/src/ScreenSelectMusic.cpp b/stepmania/src/ScreenSelectMusic.cpp index cc81c667f1..be10c89d9c 100644 --- a/stepmania/src/ScreenSelectMusic.cpp +++ b/stepmania/src/ScreenSelectMusic.cpp @@ -393,23 +393,12 @@ void ScreenSelectMusic::Input( const InputEventPlus &input ) { if( m_OptionsList[pn].IsOpened() ) { - if( input.type == IET_FIRST_PRESS ) - { - switch( input.MenuI ) - { - case GAME_BUTTON_SELECT: - CloseOptionsList( pn ); - return; - case GAME_BUTTON_START: - if( m_OptionsList[pn].Start(pn) ) - CloseOptionsList( pn ); - return; - case GAME_BUTTON_MENULEFT: - case GAME_BUTTON_MENURIGHT: - m_OptionsList[pn].Input( input ); - return; - } - } + m_OptionsList[pn].Input( input ); + + if( !m_OptionsList[pn].IsOpened() ) + CloseOptionsList( pn ); + + return; } else {