|
@@ -56,10 +56,9 @@ extern uint8_t menu_row;
|
|
|
|
|
|
//scroll offset in the current menu
|
|
|
extern uint8_t menu_top;
|
|
|
-
|
|
|
extern uint8_t menu_clicked;
|
|
|
-
|
|
|
extern uint8_t menu_leaving;
|
|
|
+extern bool menu_changed;
|
|
|
|
|
|
//function pointer to the currently active menu
|
|
|
extern menu_func_t menu_menu;
|
|
@@ -116,8 +115,7 @@ extern bool menu_item_leave();
|
|
|
|
|
|
/// Entering a new menu
|
|
|
/// @param func lines of code to run once upon enter a menu or submenu
|
|
|
-#define ON_MENU_ENTER(func) do { if (menu_item_enter()){ func } } while (0)
|
|
|
-extern bool menu_item_enter();
|
|
|
+#define ON_MENU_ENTER(func) do { if (menu_changed){ menu_changed = false; func } } while (0)
|
|
|
|
|
|
#define MENU_ITEM_FUNCTION_P(str, func) do { if (menu_item_function_P(str, func)) return; } while (0)
|
|
|
extern uint8_t menu_item_function_P(const char* str, menu_func_t func);
|