🧑💻 Menu code cleanup
This commit is contained in:
parent
26551c17c2
commit
30a10077cf
3 changed files with 29 additions and 37 deletions
|
|
@ -527,29 +527,27 @@ void MarlinUI::init() {
|
|||
|
||||
#define ADC_MIN_KEY_DELAY 100
|
||||
if (keypad_buttons) {
|
||||
#if HAS_ENCODER_ACTION
|
||||
refresh(LCDVIEW_REDRAW_NOW);
|
||||
#if HAS_MARLINUI_MENU
|
||||
if (encoderDirection == -(ENCODERBASE)) { // HAS_ADC_BUTTONS forces REVERSE_MENU_DIRECTION, so this indicates menu navigation
|
||||
if (RRK(EN_KEYPAD_UP)) encoderPosition += ENCODER_STEPS_PER_MENU_ITEM;
|
||||
else if (RRK(EN_KEYPAD_DOWN)) encoderPosition -= ENCODER_STEPS_PER_MENU_ITEM;
|
||||
else if (RRK(EN_KEYPAD_LEFT)) { MenuItem_back::action(); quick_feedback(); }
|
||||
else if (RRK(EN_KEYPAD_RIGHT)) { return_to_status(); quick_feedback(); }
|
||||
}
|
||||
else
|
||||
#endif
|
||||
{
|
||||
#if HAS_MARLINUI_MENU
|
||||
if (RRK(EN_KEYPAD_UP)) encoderPosition -= epps;
|
||||
else if (RRK(EN_KEYPAD_DOWN)) encoderPosition += epps;
|
||||
else if (RRK(EN_KEYPAD_LEFT)) { MenuItem_back::action(); quick_feedback(); }
|
||||
else if (RRK(EN_KEYPAD_RIGHT)) encoderPosition = 0;
|
||||
#else
|
||||
if (RRK(EN_KEYPAD_UP) || RRK(EN_KEYPAD_LEFT)) encoderPosition -= epps;
|
||||
else if (RRK(EN_KEYPAD_DOWN) || RRK(EN_KEYPAD_RIGHT)) encoderPosition += epps;
|
||||
#endif
|
||||
refresh(LCDVIEW_REDRAW_NOW);
|
||||
#if HAS_MARLINUI_MENU
|
||||
if (encoderDirection == -(ENCODERBASE)) { // HAS_ADC_BUTTONS forces REVERSE_MENU_DIRECTION, so this indicates menu navigation
|
||||
if (RRK(EN_KEYPAD_UP)) encoderPosition += ENCODER_STEPS_PER_MENU_ITEM;
|
||||
else if (RRK(EN_KEYPAD_DOWN)) encoderPosition -= ENCODER_STEPS_PER_MENU_ITEM;
|
||||
else if (RRK(EN_KEYPAD_LEFT)) { MenuItem_back::action(); quick_feedback(); }
|
||||
else if (RRK(EN_KEYPAD_RIGHT)) { return_to_status(); quick_feedback(); }
|
||||
}
|
||||
else
|
||||
#endif
|
||||
{
|
||||
#if HAS_MARLINUI_MENU
|
||||
if (RRK(EN_KEYPAD_UP)) encoderPosition -= epps;
|
||||
else if (RRK(EN_KEYPAD_DOWN)) encoderPosition += epps;
|
||||
else if (RRK(EN_KEYPAD_LEFT)) { MenuItem_back::action(); quick_feedback(); }
|
||||
else if (RRK(EN_KEYPAD_RIGHT)) encoderPosition = 0;
|
||||
#else
|
||||
if (RRK(EN_KEYPAD_UP) || RRK(EN_KEYPAD_LEFT)) encoderPosition -= epps;
|
||||
else if (RRK(EN_KEYPAD_DOWN) || RRK(EN_KEYPAD_RIGHT)) encoderPosition += epps;
|
||||
#endif
|
||||
}
|
||||
next_button_update_ms = millis() + ADC_MIN_KEY_DELAY;
|
||||
return true;
|
||||
}
|
||||
|
|
@ -1337,11 +1335,11 @@ void MarlinUI::init() {
|
|||
const int8_t pulses = epps * encoderDirection;
|
||||
|
||||
if (BUTTON_PRESSED(UP)) {
|
||||
encoderDiff = (ENCODER_STEPS_PER_MENU_ITEM) * pulses;
|
||||
encoderDiff = pulses * (ENCODER_STEPS_PER_MENU_ITEM);
|
||||
next_button_update_ms = now + 300;
|
||||
}
|
||||
else if (BUTTON_PRESSED(DOWN)) {
|
||||
encoderDiff = -(ENCODER_STEPS_PER_MENU_ITEM) * pulses;
|
||||
encoderDiff = pulses * -(ENCODER_STEPS_PER_MENU_ITEM);
|
||||
next_button_update_ms = now + 300;
|
||||
}
|
||||
else if (BUTTON_PRESSED(LEFT)) {
|
||||
|
|
|
|||
|
|
@ -235,18 +235,15 @@ static FSTR_P pause_header() {
|
|||
|
||||
// Portions from STATIC_ITEM...
|
||||
#define HOTEND_STATUS_ITEM() do { \
|
||||
if (_menuLineNr == _thisItemNr) { \
|
||||
if ( MY_LINE()) { \
|
||||
if (ui.should_draw()) { \
|
||||
IF_DISABLED(HAS_GRAPHICAL_TFT, MenuItem_static::draw(_lcdLineNr, GET_TEXT_F(MSG_FILAMENT_CHANGE_NOZZLE), SS_INVERT)); \
|
||||
ui.draw_hotend_status(_lcdLineNr, hotend_status_extruder); \
|
||||
} \
|
||||
if (_skipStatic && encoderLine <= _thisItemNr) { \
|
||||
ui.encoderPosition += ENCODER_STEPS_PER_MENU_ITEM; \
|
||||
++encoderLine; \
|
||||
} \
|
||||
STATIC_SKIP(); \
|
||||
ui.refresh(LCDVIEW_CALL_REDRAW_NEXT); \
|
||||
} \
|
||||
++_thisItemNr; \
|
||||
NEXT_ITEM(); \
|
||||
}while(0)
|
||||
|
||||
void menu_pause_option() {
|
||||
|
|
@ -307,11 +304,9 @@ void lcd_pause_waiting_message() { _lcd_pause_message(GET_TEXT_F(MSG_ADVANCED_P
|
|||
void lcd_pause_resume_message() { _lcd_pause_message(GET_TEXT_F(MSG_FILAMENT_CHANGE_RESUME)); }
|
||||
|
||||
void lcd_pause_purge_message() {
|
||||
#if ENABLED(ADVANCED_PAUSE_CONTINUOUS_PURGE)
|
||||
_lcd_pause_message(GET_TEXT_F(MSG_FILAMENT_CHANGE_CONT_PURGE));
|
||||
#else
|
||||
_lcd_pause_message(GET_TEXT_F(MSG_FILAMENT_CHANGE_PURGE));
|
||||
#endif
|
||||
_lcd_pause_message(GET_TEXT_F(
|
||||
TERN(ADVANCED_PAUSE_CONTINUOUS_PURGE, MSG_FILAMENT_CHANGE_CONT_PURGE, MSG_FILAMENT_CHANGE_PURGE)
|
||||
));
|
||||
}
|
||||
|
||||
FORCE_INLINE screenFunc_t ap_message_screen(const PauseMessage message) {
|
||||
|
|
|
|||
|
|
@ -401,7 +401,7 @@ class MenuItem_bool : public MenuEditItemBase {
|
|||
#define PSTRING_ITEM_F_P(FLABEL, PVAL, STYL) do{ \
|
||||
constexpr int m = 20; \
|
||||
char msg[m + 1]; \
|
||||
if (_menuLineNr == _thisItemNr) { \
|
||||
if (MY_LINE()) { \
|
||||
msg[0] = ':'; msg[1] = ' '; \
|
||||
strlcpy_P(msg + 2, PVAL, m - 1); \
|
||||
if (msg[m - 1] & 0x80) msg[m - 1] = '\0'; \
|
||||
|
|
@ -410,8 +410,7 @@ class MenuItem_bool : public MenuEditItemBase {
|
|||
}while(0)
|
||||
|
||||
#define PSTRING_ITEM_N_F_P(N, V...) do{ \
|
||||
if (_menuLineNr == _thisItemNr) \
|
||||
MenuItemBase::init(N); \
|
||||
if (MY_LINE()) MenuItemBase::init(N); \
|
||||
PSTRING_ITEM_F_P(V); \
|
||||
}while(0)
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue