From 3cc949aeb3e64d9a5c16c1651c32516f256f9cdd Mon Sep 17 00:00:00 2001 From: fp64lib <54156171+fp64lib@users.noreply.github.com> Date: Sat, 23 Apr 2022 19:20:22 +0200 Subject: [PATCH] Simpler menu navigation Click = Select or Confirm DblClick = One Level Up TripleClick = Home --- src/uimenu.cpp | 25 +++++++++++++++++++++++++ src/userinterface.cpp | 6 ++++-- 2 files changed, 29 insertions(+), 2 deletions(-) diff --git a/src/uimenu.cpp b/src/uimenu.cpp index 51344d9..5ba7c04 100644 --- a/src/uimenu.cpp +++ b/src/uimenu.cpp @@ -393,6 +393,11 @@ void CUIMenu::EditGlobalParameter (CUIMenu *pUIMenu, TMenuEvent Event) } pUIMenu->m_pMiniDexed->SetParameter (Param, nValue); break; + + case MenuEventSelect: + // when a parameter is selected --> accept change and return one level up + pUIMenu->EventHandler( CUIMenu::MenuEventBack ); + return; default: return; @@ -444,6 +449,11 @@ void CUIMenu::EditVoiceBankNumber (CUIMenu *pUIMenu, TMenuEvent Event) pUIMenu->TGShortcutHandler (Event); return; + case MenuEventSelect: + // when a parameter is selected --> accept change and return one level up + pUIMenu->EventHandler( CUIMenu::MenuEventBack ); + return; + default: return; } @@ -492,6 +502,11 @@ void CUIMenu::EditProgramNumber (CUIMenu *pUIMenu, TMenuEvent Event) pUIMenu->TGShortcutHandler (Event); return; + case MenuEventSelect: + // when a parameter is selected --> accept change and return one level up + pUIMenu->EventHandler( CUIMenu::MenuEventBack ); + return; + default: return; } @@ -544,6 +559,11 @@ void CUIMenu::EditTGParameter (CUIMenu *pUIMenu, TMenuEvent Event) pUIMenu->TGShortcutHandler (Event); return; + case MenuEventSelect: + // when a parameter is selected --> accept change and return one level up + pUIMenu->EventHandler( CUIMenu::MenuEventBack ); + return; + default: return; } @@ -649,6 +669,11 @@ void CUIMenu::EditOPParameter (CUIMenu *pUIMenu, TMenuEvent Event) pUIMenu->OPShortcutHandler (Event); return; + case MenuEventSelect: + // when a parameter is selected --> accept change and return one level up + pUIMenu->EventHandler( CUIMenu::MenuEventBack ); + return; + default: return; } diff --git a/src/userinterface.cpp b/src/userinterface.cpp index 0fbf440..1999b20 100644 --- a/src/userinterface.cpp +++ b/src/userinterface.cpp @@ -197,11 +197,13 @@ void CUserInterface::EncoderEventHandler (CKY040::TEvent Event) break; case CKY040::EventSwitchClick: - m_Menu.EventHandler (CUIMenu::MenuEventBack); + // m_Menu.EventHandler (CUIMenu::MenuEventBack); + m_Menu.EventHandler (CUIMenu::MenuEventSelect); break; case CKY040::EventSwitchDoubleClick: - m_Menu.EventHandler (CUIMenu::MenuEventSelect); + // m_Menu.EventHandler (CUIMenu::MenuEventSelect); + m_Menu.EventHandler (CUIMenu::MenuEventBack); break; case CKY040::EventSwitchTripleClick: