|
|
|
@ -150,22 +150,23 @@ static void menu_action_setting_edit_callback_long5(const char* pstr, unsigned l
|
|
|
|
|
#ifdef ENCODER_RATE_MULTIPLIER
|
|
|
|
|
#define MENU_MULTIPLIER_ITEM(type, label, args...) do { \
|
|
|
|
|
if (_menuItemNr == _lineNr) { \
|
|
|
|
|
if (lcdDrawUpdate) { \
|
|
|
|
|
const char* _label_pstr = PSTR(label); \
|
|
|
|
|
if ((encoderPosition / ENCODER_STEPS_PER_MENU_ITEM) == _menuItemNr) { \
|
|
|
|
|
lcd_implementation_drawmenu_ ## type ## _selected (_drawLineNr, _label_pstr , ## args ); \
|
|
|
|
|
}else{\
|
|
|
|
|
lcd_implementation_drawmenu_ ## type (_drawLineNr, _label_pstr , ## args ); \
|
|
|
|
|
}\
|
|
|
|
|
}\
|
|
|
|
|
if (wasClicked && (encoderPosition / ENCODER_STEPS_PER_MENU_ITEM) == _menuItemNr) {\
|
|
|
|
|
lcd_quick_feedback(); \
|
|
|
|
|
encoderRateMultiplierEnabled = true; \
|
|
|
|
|
lastEncoderMovementMillis = 0; \
|
|
|
|
|
menu_action_ ## type ( args ); \
|
|
|
|
|
return;\
|
|
|
|
|
}\
|
|
|
|
|
if (lcdDrawUpdate) { \
|
|
|
|
|
const char* _label_pstr = PSTR(label); \
|
|
|
|
|
if ((encoderPosition / ENCODER_STEPS_PER_MENU_ITEM) == _menuItemNr) { \
|
|
|
|
|
lcd_implementation_drawmenu_ ## type ## _selected (_drawLineNr, _label_pstr , ## args ); \
|
|
|
|
|
}
|
|
|
|
|
else {\
|
|
|
|
|
lcd_implementation_drawmenu_ ## type (_drawLineNr, _label_pstr , ## args ); \
|
|
|
|
|
}\
|
|
|
|
|
}\
|
|
|
|
|
if (wasClicked && (encoderPosition / ENCODER_STEPS_PER_MENU_ITEM) == _menuItemNr) {\
|
|
|
|
|
lcd_quick_feedback(); \
|
|
|
|
|
encoderRateMultiplierEnabled = true; \
|
|
|
|
|
lastEncoderMovementMillis = 0; \
|
|
|
|
|
menu_action_ ## type ( args ); \
|
|
|
|
|
return;\
|
|
|
|
|
}\
|
|
|
|
|
}\
|
|
|
|
|
_menuItemNr++;\
|
|
|
|
|
} while(0)
|
|
|
|
|
#endif
|
|
|
|
|