From 43418e6705d743c8e317784e7a6d80613e013b5c Mon Sep 17 00:00:00 2001 From: Andre Bernet Date: Sat, 2 Apr 2016 12:19:32 +0400 Subject: [PATCH] More navigation improvements --- radio/src/gui/horus/menu_model_custom_functions.cpp | 5 +++-- radio/src/gui/horus/menu_model_custom_scripts.cpp | 5 +++-- radio/src/gui/horus/navigation.cpp | 7 +------ radio/src/gui/horus/screens_setup.cpp | 3 ++- 4 files changed, 9 insertions(+), 11 deletions(-) diff --git a/radio/src/gui/horus/menu_model_custom_functions.cpp b/radio/src/gui/horus/menu_model_custom_functions.cpp index 551f2956d..8039c7a9c 100644 --- a/radio/src/gui/horus/menu_model_custom_functions.cpp +++ b/radio/src/gui/horus/menu_model_custom_functions.cpp @@ -231,8 +231,9 @@ bool menuCustomFunctions(evt_t event, CustomFunctionData * functions, CustomFunc lcdDrawSizedText(x, y, cfn->play.name, sizeof(cfn->play.name), attr); else lcdDrawTextAtIndex(x, y, STR_VCSWFUNC, 0, attr); - if (active && event==EVT_KEY_BREAK(KEY_ENTER)) { - s_editMode = 0; + if (attr) s_editMode = 0; + if (attr && event==EVT_KEY_FIRST(KEY_ENTER)) { + killEvents(KEY_ENTER); char directory[256]; if (func==FUNC_PLAY_SCRIPT) { strcpy(directory, SCRIPTS_FUNCS_PATH); diff --git a/radio/src/gui/horus/menu_model_custom_scripts.cpp b/radio/src/gui/horus/menu_model_custom_scripts.cpp index 2ef0761b1..7643db3da 100644 --- a/radio/src/gui/horus/menu_model_custom_scripts.cpp +++ b/radio/src/gui/horus/menu_model_custom_scripts.cpp @@ -68,8 +68,9 @@ bool menuModelCustomScriptOne(evt_t event) lcdDrawSizedText(SCRIPT_ONE_2ND_COLUMN_POS, y, sd.file, sizeof(sd.file), attr); else lcdDrawTextAtIndex(SCRIPT_ONE_2ND_COLUMN_POS, y, STR_VCSWFUNC, 0, attr); - if (attr && event==EVT_KEY_BREAK(KEY_ENTER) && !READ_ONLY()) { - s_editMode = 0; + if (attr) s_editMode = 0; + if (attr && event==EVT_KEY_FIRST(KEY_ENTER) && !READ_ONLY()) { + killEvents(KEY_ENTER); if (sdListFiles(SCRIPTS_MIXES_PATH, SCRIPTS_EXT, sizeof(sd.file), sd.file, LIST_NONE_SD_FILE)) { popupMenuHandler = onModelCustomScriptMenu; } diff --git a/radio/src/gui/horus/navigation.cpp b/radio/src/gui/horus/navigation.cpp index 80f00b851..f4183b50c 100644 --- a/radio/src/gui/horus/navigation.cpp +++ b/radio/src/gui/horus/navigation.cpp @@ -455,12 +455,7 @@ bool check(check_event_t event, uint8_t curr, const MenuHandlerFunc * menuTab, u } break; - case EVT_KEY_LONG(KEY_EXIT): - s_editMode = 0; // TODO needed? we call ENTRY_UP after which does the same - popMenu(); - break; - - case EVT_KEY_BREAK(KEY_EXIT): + case EVT_KEY_FIRST(KEY_EXIT): if (s_editMode > 0) { s_editMode = 0; break; diff --git a/radio/src/gui/horus/screens_setup.cpp b/radio/src/gui/horus/screens_setup.cpp index dbcf002d0..98f2ec3d8 100644 --- a/radio/src/gui/horus/screens_setup.cpp +++ b/radio/src/gui/horus/screens_setup.cpp @@ -296,7 +296,8 @@ bool menuWidgetsSetup(evt_t event) case EVT_ENTRY: menuVerticalPosition = 0; break; - case EVT_KEY_BREAK(KEY_EXIT): + case EVT_KEY_FIRST(KEY_EXIT): + killEvents(KEY_EXIT); popMenu(); return false; }