Browse Source

🎨 Tweak custom menu item code

Scott Lahteine 3 years ago
parent
commit
ea7e777cb1
2 changed files with 21 additions and 67 deletions
  1. 13
    36
      Marlin/src/lcd/menu/menu_configuration.cpp
  2. 8
    31
      Marlin/src/lcd/menu/menu_main.cpp

+ 13
- 36
Marlin/src/lcd/menu/menu_configuration.cpp View File

@@ -353,11 +353,6 @@ void menu_advanced_settings();
353 353
 
354 354
     #define HAS_CUSTOM_ITEM_CONF(N) (defined(CONFIG_MENU_ITEM_##N##_DESC) && defined(CONFIG_MENU_ITEM_##N##_GCODE))
355 355
 
356
-    #define CUSTOM_TEST_CONF(N) do{ \
357
-      constexpr char c = CONFIG_MENU_ITEM_##N##_GCODE[strlen(CONFIG_MENU_ITEM_##N##_GCODE) - 1]; \
358
-      static_assert(c != '\n' && c != '\r', "CONFIG_MENU_ITEM_" STRINGIFY(N) "_GCODE cannot have a newline at the end. Please remove it."); \
359
-    }while(0)
360
-
361 356
     #ifdef CUSTOM_MENU_CONFIG_SCRIPT_DONE
362 357
       #define _DONE_SCRIPT "\n" CUSTOM_MENU_CONFIG_SCRIPT_DONE
363 358
     #else
@@ -365,115 +360,97 @@ void menu_advanced_settings();
365 360
     #endif
366 361
     #define GCODE_LAMBDA_CONF(N) []{ _lcd_custom_menus_configuration_gcode(PSTR(CONFIG_MENU_ITEM_##N##_GCODE _DONE_SCRIPT)); }
367 362
     #define _CUSTOM_ITEM_CONF(N) ACTION_ITEM_P(PSTR(CONFIG_MENU_ITEM_##N##_DESC), GCODE_LAMBDA_CONF(N));
368
-    #define _CUSTOM_ITEM_CONF_CONFIRM(N)             \
363
+    #define _CUSTOM_ITEM_CONF_CONFIRM(N)               \
369 364
       SUBMENU_P(PSTR(CONFIG_MENU_ITEM_##N##_DESC), []{ \
370
-          MenuItem_confirm::confirm_screen(          \
371
-            GCODE_LAMBDA_CONF(N),                    \
372
-            ui.goto_previous_screen,                 \
365
+          MenuItem_confirm::confirm_screen(            \
366
+            GCODE_LAMBDA_CONF(N),                      \
367
+            ui.goto_previous_screen,                   \
373 368
             PSTR(CONFIG_MENU_ITEM_##N##_DESC "?")      \
374
-          );                                         \
369
+          );                                           \
375 370
         })
376 371
 
377
-    #define CUSTOM_ITEM_CONF(N) do{ if (ENABLED(CONFIG_MENU_ITEM_##N##_CONFIRM)) _CUSTOM_ITEM_CONF_CONFIRM(N); else _CUSTOM_ITEM_CONF(N); }while(0)
372
+    #define CUSTOM_ITEM_CONF(N) do{ \
373
+      constexpr char c = CONFIG_MENU_ITEM_##N##_GCODE[strlen(CONFIG_MENU_ITEM_##N##_GCODE) - 1]; \
374
+      static_assert(c != '\n' && c != '\r', "CONFIG_MENU_ITEM_" STRINGIFY(N) "_GCODE cannot have a newline at the end. Please remove it."); \
375
+      if (ENABLED(CONFIG_MENU_ITEM_##N##_CONFIRM)) \
376
+        _CUSTOM_ITEM_CONF_CONFIRM(N); \
377
+      else \
378
+        _CUSTOM_ITEM_CONF(N); \
379
+    }while(0)
378 380
 
379 381
     #if HAS_CUSTOM_ITEM_CONF(1)
380
-      CUSTOM_TEST_CONF(1);
381 382
       CUSTOM_ITEM_CONF(1);
382 383
     #endif
383 384
     #if HAS_CUSTOM_ITEM_CONF(2)
384
-      CUSTOM_TEST_CONF(2);
385 385
       CUSTOM_ITEM_CONF(2);
386 386
     #endif
387 387
     #if HAS_CUSTOM_ITEM_CONF(3)
388
-      CUSTOM_TEST_CONF(3);
389 388
       CUSTOM_ITEM_CONF(3);
390 389
     #endif
391 390
     #if HAS_CUSTOM_ITEM_CONF(4)
392
-      CUSTOM_TEST_CONF(4);
393 391
       CUSTOM_ITEM_CONF(4);
394 392
     #endif
395 393
     #if HAS_CUSTOM_ITEM_CONF(5)
396
-      CUSTOM_TEST_CONF(5);
397 394
       CUSTOM_ITEM_CONF(5);
398 395
     #endif
399 396
     #if HAS_CUSTOM_ITEM_CONF(6)
400
-      CUSTOM_TEST_CONF(6);
401 397
       CUSTOM_ITEM_CONF(6);
402 398
     #endif
403 399
     #if HAS_CUSTOM_ITEM_CONF(7)
404
-      CUSTOM_TEST_CONF(7);
405 400
       CUSTOM_ITEM_CONF(7);
406 401
     #endif
407 402
     #if HAS_CUSTOM_ITEM_CONF(8)
408
-      CUSTOM_TEST_CONF(8);
409 403
       CUSTOM_ITEM_CONF(8);
410 404
     #endif
411 405
     #if HAS_CUSTOM_ITEM_CONF(9)
412
-      CUSTOM_TEST_CONF(9);
413 406
       CUSTOM_ITEM_CONF(9);
414 407
     #endif
415 408
     #if HAS_CUSTOM_ITEM_CONF(10)
416
-      CUSTOM_TEST_CONF(10);
417 409
       CUSTOM_ITEM_CONF(10);
418 410
     #endif
419 411
     #if HAS_CUSTOM_ITEM_CONF(11)
420
-      CUSTOM_TEST_CONF(11);
421 412
       CUSTOM_ITEM_CONF(11);
422 413
     #endif
423 414
     #if HAS_CUSTOM_ITEM_CONF(12)
424
-      CUSTOM_TEST_CONF(12);
425 415
       CUSTOM_ITEM_CONF(12);
426 416
     #endif
427 417
     #if HAS_CUSTOM_ITEM_CONF(13)
428
-      CUSTOM_TEST_CONF(13);
429 418
       CUSTOM_ITEM_CONF(13);
430 419
     #endif
431 420
     #if HAS_CUSTOM_ITEM_CONF(14)
432
-      CUSTOM_TEST_CONF(14);
433 421
       CUSTOM_ITEM_CONF(14);
434 422
     #endif
435 423
     #if HAS_CUSTOM_ITEM_CONF(15)
436
-      CUSTOM_TEST_CONF(15);
437 424
       CUSTOM_ITEM_CONF(15);
438 425
     #endif
439 426
     #if HAS_CUSTOM_ITEM_CONF(16)
440
-      CUSTOM_TEST_CONF(16);
441 427
       CUSTOM_ITEM_CONF(16);
442 428
     #endif
443 429
     #if HAS_CUSTOM_ITEM_CONF(17)
444
-      CUSTOM_TEST_CONF(17);
445 430
       CUSTOM_ITEM_CONF(17);
446 431
     #endif
447 432
     #if HAS_CUSTOM_ITEM_CONF(18)
448
-      CUSTOM_TEST_CONF(18);
449 433
       CUSTOM_ITEM_CONF(18);
450 434
     #endif
451 435
     #if HAS_CUSTOM_ITEM_CONF(19)
452
-      CUSTOM_TEST_CONF(19);
453 436
       CUSTOM_ITEM_CONF(19);
454 437
     #endif
455 438
     #if HAS_CUSTOM_ITEM_CONF(20)
456
-      CUSTOM_TEST_CONF(20);
457 439
       CUSTOM_ITEM_CONF(20);
458 440
     #endif
459 441
     #if HAS_CUSTOM_ITEM_CONF(21)
460
-      CUSTOM_TEST_CONF(21);
461 442
       CUSTOM_ITEM_CONF(21);
462 443
     #endif
463 444
     #if HAS_CUSTOM_ITEM_CONF(22)
464
-      CUSTOM_TEST_CONF(22);
465 445
       CUSTOM_ITEM_CONF(22);
466 446
     #endif
467 447
     #if HAS_CUSTOM_ITEM_CONF(23)
468
-      CUSTOM_TEST_CONF(23);
469 448
       CUSTOM_ITEM_CONF(23);
470 449
     #endif
471 450
     #if HAS_CUSTOM_ITEM_CONF(24)
472
-      CUSTOM_TEST_CONF(24);
473 451
       CUSTOM_ITEM_CONF(24);
474 452
     #endif
475 453
     #if HAS_CUSTOM_ITEM_CONF(25)
476
-      CUSTOM_TEST_CONF(25);
477 454
       CUSTOM_ITEM_CONF(25);
478 455
     #endif
479 456
     END_MENU();

+ 8
- 31
Marlin/src/lcd/menu/menu_main.cpp View File

@@ -118,11 +118,6 @@ void menu_configuration();
118 118
 
119 119
     #define HAS_CUSTOM_ITEM_MAIN(N) (defined(MAIN_MENU_ITEM_##N##_DESC) && defined(MAIN_MENU_ITEM_##N##_GCODE))
120 120
 
121
-    #define CUSTOM_TEST_MAIN(N) do{ \
122
-      constexpr char c = MAIN_MENU_ITEM_##N##_GCODE[strlen(MAIN_MENU_ITEM_##N##_GCODE) - 1]; \
123
-      static_assert(c != '\n' && c != '\r', "MAIN_MENU_ITEM_" STRINGIFY(N) "_GCODE cannot have a newline at the end. Please remove it."); \
124
-    }while(0)
125
-
126 121
     #ifdef MAIN_MENU_ITEM_SCRIPT_DONE
127 122
       #define _DONE_SCRIPT "\n" MAIN_MENU_ITEM_SCRIPT_DONE
128 123
     #else
@@ -139,106 +134,88 @@ void menu_configuration();
139 134
           );                                         \
140 135
         })
141 136
 
142
-    #define CUSTOM_ITEM_MAIN(N) do{ if (ENABLED(MAIN_MENU_ITEM_##N##_CONFIRM)) _CUSTOM_ITEM_MAIN_CONFIRM(N); else _CUSTOM_ITEM_MAIN(N); }while(0)
137
+    #define CUSTOM_ITEM_MAIN(N) do{ \
138
+      constexpr char c = MAIN_MENU_ITEM_##N##_GCODE[strlen(MAIN_MENU_ITEM_##N##_GCODE) - 1]; \
139
+      static_assert(c != '\n' && c != '\r', "MAIN_MENU_ITEM_" STRINGIFY(N) "_GCODE cannot have a newline at the end. Please remove it."); \
140
+      if (ENABLED(MAIN_MENU_ITEM_##N##_CONFIRM)) \
141
+        _CUSTOM_ITEM_MAIN_CONFIRM(N); \
142
+      else \
143
+        _CUSTOM_ITEM_MAIN(N); \
144
+    }while(0)
143 145
 
144 146
     #if HAS_CUSTOM_ITEM_MAIN(1)
145
-      CUSTOM_TEST_MAIN(1);
146 147
       CUSTOM_ITEM_MAIN(1);
147 148
     #endif
148 149
     #if HAS_CUSTOM_ITEM_MAIN(2)
149
-      CUSTOM_TEST_MAIN(2);
150 150
       CUSTOM_ITEM_MAIN(2);
151 151
     #endif
152 152
     #if HAS_CUSTOM_ITEM_MAIN(3)
153
-      CUSTOM_TEST_MAIN(3);
154 153
       CUSTOM_ITEM_MAIN(3);
155 154
     #endif
156 155
     #if HAS_CUSTOM_ITEM_MAIN(4)
157
-      CUSTOM_TEST_MAIN(4);
158 156
       CUSTOM_ITEM_MAIN(4);
159 157
     #endif
160 158
     #if HAS_CUSTOM_ITEM_MAIN(5)
161
-      CUSTOM_TEST_MAIN(5);
162 159
       CUSTOM_ITEM_MAIN(5);
163 160
     #endif
164 161
     #if HAS_CUSTOM_ITEM_MAIN(6)
165
-      CUSTOM_TEST_MAIN(6);
166 162
       CUSTOM_ITEM_MAIN(6);
167 163
     #endif
168 164
     #if HAS_CUSTOM_ITEM_MAIN(7)
169
-      CUSTOM_TEST_MAIN(7);
170 165
       CUSTOM_ITEM_MAIN(7);
171 166
     #endif
172 167
     #if HAS_CUSTOM_ITEM_MAIN(8)
173
-      CUSTOM_TEST_MAIN(8);
174 168
       CUSTOM_ITEM_MAIN(8);
175 169
     #endif
176 170
     #if HAS_CUSTOM_ITEM_MAIN(9)
177
-      CUSTOM_TEST_MAIN(9);
178 171
       CUSTOM_ITEM_MAIN(9);
179 172
     #endif
180 173
     #if HAS_CUSTOM_ITEM_MAIN(10)
181
-      CUSTOM_TEST_MAIN(10);
182 174
       CUSTOM_ITEM_MAIN(10);
183 175
     #endif
184 176
     #if HAS_CUSTOM_ITEM_MAIN(11)
185
-      CUSTOM_TEST_MAIN(11);
186 177
       CUSTOM_ITEM_MAIN(11);
187 178
     #endif
188 179
     #if HAS_CUSTOM_ITEM_MAIN(12)
189
-      CUSTOM_TEST_MAIN(12);
190 180
       CUSTOM_ITEM_MAIN(12);
191 181
     #endif
192 182
     #if HAS_CUSTOM_ITEM_MAIN(13)
193
-      CUSTOM_TEST_MAIN(13);
194 183
       CUSTOM_ITEM_MAIN(13);
195 184
     #endif
196 185
     #if HAS_CUSTOM_ITEM_MAIN(14)
197
-      CUSTOM_TEST_MAIN(14);
198 186
       CUSTOM_ITEM_MAIN(14);
199 187
     #endif
200 188
     #if HAS_CUSTOM_ITEM_MAIN(15)
201
-      CUSTOM_TEST_MAIN(15);
202 189
       CUSTOM_ITEM_MAIN(15);
203 190
     #endif
204 191
     #if HAS_CUSTOM_ITEM_MAIN(16)
205
-      CUSTOM_TEST_MAIN(16);
206 192
       CUSTOM_ITEM_MAIN(16);
207 193
     #endif
208 194
     #if HAS_CUSTOM_ITEM_MAIN(17)
209
-      CUSTOM_TEST_MAIN(17);
210 195
       CUSTOM_ITEM_MAIN(17);
211 196
     #endif
212 197
     #if HAS_CUSTOM_ITEM_MAIN(18)
213
-      CUSTOM_TEST_MAIN(18);
214 198
       CUSTOM_ITEM_MAIN(18);
215 199
     #endif
216 200
     #if HAS_CUSTOM_ITEM_MAIN(19)
217
-      CUSTOM_TEST_MAIN(19);
218 201
       CUSTOM_ITEM_MAIN(19);
219 202
     #endif
220 203
     #if HAS_CUSTOM_ITEM_MAIN(20)
221
-      CUSTOM_TEST_MAIN(20);
222 204
       CUSTOM_ITEM_MAIN(20);
223 205
     #endif
224 206
     #if HAS_CUSTOM_ITEM_MAIN(21)
225
-      CUSTOM_TEST_MAIN(21);
226 207
       CUSTOM_ITEM_MAIN(21);
227 208
     #endif
228 209
     #if HAS_CUSTOM_ITEM_MAIN(22)
229
-      CUSTOM_TEST_MAIN(22);
230 210
       CUSTOM_ITEM_MAIN(22);
231 211
     #endif
232 212
     #if HAS_CUSTOM_ITEM_MAIN(23)
233
-      CUSTOM_TEST_MAIN(23);
234 213
       CUSTOM_ITEM_MAIN(23);
235 214
     #endif
236 215
     #if HAS_CUSTOM_ITEM_MAIN(24)
237
-      CUSTOM_TEST_MAIN(24);
238 216
       CUSTOM_ITEM_MAIN(24);
239 217
     #endif
240 218
     #if HAS_CUSTOM_ITEM_MAIN(25)
241
-      CUSTOM_TEST_MAIN(25);
242 219
       CUSTOM_ITEM_MAIN(25);
243 220
     #endif
244 221
     END_MENU();

Loading…
Cancel
Save