diff options
author | William Wilgus <wilgus.william@gmail.com> | 2020-07-19 13:42:04 -0400 |
---|---|---|
committer | William Wilgus <me.theuser@yahoo.com> | 2020-07-19 22:10:26 +0000 |
commit | c39f95465b9844f70f375f1690e0bf75c7ee7cc1 (patch) | |
tree | 2fda6bd805a74f41dd4303c7699eabb9e1aa4a1c /apps/menus/display_menu.c | |
parent | 4663d94b4e4edec609b6a24581ee345f2a1bedaa (diff) | |
download | rockbox-c39f95465b9844f70f375f1690e0bf75c7ee7cc1.tar.gz rockbox-c39f95465b9844f70f375f1690e0bf75c7ee7cc1.zip |
do_menu pass internal synclist reference to callback
keep running into the rigid nature of do_menu
it isn't too bad when you don't need voice but once
you do the fun awaits
do_menu likes to talk on menu enter which is in a loop when you use do_menu
I would like to move the processing to the callback
TOO BAD you only get an action and the menu_item_ex struct
you sent it when calling the function
Change-Id: Iaefd0cc133435d675b7dd27a558c504d6ccb327a
Diffstat (limited to 'apps/menus/display_menu.c')
-rw-r--r-- | apps/menus/display_menu.c | 51 |
1 files changed, 37 insertions, 14 deletions
diff --git a/apps/menus/display_menu.c b/apps/menus/display_menu.c index 5d53cbfe16..83bd8066d5 100644 --- a/apps/menus/display_menu.c +++ b/apps/menus/display_menu.c | |||
@@ -50,10 +50,12 @@ | |||
50 | #include "rbunicode.h" | 50 | #include "rbunicode.h" |
51 | 51 | ||
52 | #ifdef HAVE_BACKLIGHT | 52 | #ifdef HAVE_BACKLIGHT |
53 | static int selectivebacklight_callback(int action,const struct menu_item_ex *this_item) | 53 | static int selectivebacklight_callback(int action, |
54 | const struct menu_item_ex *this_item, | ||
55 | struct gui_synclist *this_list) | ||
54 | { | 56 | { |
55 | (void)this_item; | 57 | (void)this_item; |
56 | 58 | (void)this_list; | |
57 | switch (action) | 59 | switch (action) |
58 | { | 60 | { |
59 | case ACTION_EXIT_MENUITEM: | 61 | case ACTION_EXIT_MENUITEM: |
@@ -69,10 +71,11 @@ static int selectivebacklight_callback(int action,const struct menu_item_ex *thi | |||
69 | return action; | 71 | return action; |
70 | } | 72 | } |
71 | 73 | ||
72 | static int filterfirstkeypress_callback(int action,const struct menu_item_ex *this_item) | 74 | static int filterfirstkeypress_callback(int action, |
75 | const struct menu_item_ex *this_item, | ||
76 | struct gui_synclist *this_list) | ||
73 | { | 77 | { |
74 | /*(void)this_item;REMOVED*/ | 78 | /*(void)this_item;REMOVED*/ |
75 | |||
76 | switch (action) | 79 | switch (action) |
77 | { | 80 | { |
78 | case ACTION_EXIT_MENUITEM: | 81 | case ACTION_EXIT_MENUITEM: |
@@ -81,7 +84,7 @@ static int filterfirstkeypress_callback(int action,const struct menu_item_ex *th | |||
81 | set_remote_backlight_filter_keypress( | 84 | set_remote_backlight_filter_keypress( |
82 | global_settings.remote_bl_filter_first_keypress); | 85 | global_settings.remote_bl_filter_first_keypress); |
83 | #endif /* HAVE_REMOTE_LCD */ | 86 | #endif /* HAVE_REMOTE_LCD */ |
84 | selectivebacklight_callback(action,this_item);/*uses Filter First KP*/ | 87 | selectivebacklight_callback(action,this_item, this_list);/*uses Filter First KP*/ |
85 | break; | 88 | break; |
86 | } | 89 | } |
87 | 90 | ||
@@ -118,9 +121,12 @@ static int selectivebacklight_set_mask(void* param) | |||
118 | 121 | ||
119 | #endif /* HAVE_BACKLIGHT */ | 122 | #endif /* HAVE_BACKLIGHT */ |
120 | #ifdef HAVE_LCD_FLIP | 123 | #ifdef HAVE_LCD_FLIP |
121 | static int flipdisplay_callback(int action,const struct menu_item_ex *this_item) | 124 | static int flipdisplay_callback(int action, |
125 | const struct menu_item_ex *this_item | ||
126 | struct gui_synclist *this_list) | ||
122 | { | 127 | { |
123 | (void)this_item; | 128 | (void)this_item; |
129 | (void)this_list; | ||
124 | switch (action) | 130 | switch (action) |
125 | { | 131 | { |
126 | case ACTION_EXIT_MENUITEM: | 132 | case ACTION_EXIT_MENUITEM: |
@@ -265,9 +271,12 @@ MENUITEM_SETTING(remote_flip_display, | |||
265 | #endif | 271 | #endif |
266 | 272 | ||
267 | #ifdef HAVE_REMOTE_LCD_TICKING | 273 | #ifdef HAVE_REMOTE_LCD_TICKING |
268 | static int ticking_callback(int action,const struct menu_item_ex *this_item) | 274 | static int ticking_callback(int action, |
275 | const struct menu_item_ex *this_item | ||
276 | struct gui_synclist *this_list) | ||
269 | { | 277 | { |
270 | (void)this_item; | 278 | (void)this_item; |
279 | (void)this_list; | ||
271 | switch (action) | 280 | switch (action) |
272 | { | 281 | { |
273 | case ACTION_EXIT_MENUITEM: | 282 | case ACTION_EXIT_MENUITEM: |
@@ -334,9 +343,12 @@ MENUITEM_SETTING(list_accel_start_delay, | |||
334 | MENUITEM_SETTING(list_accel_wait, &global_settings.list_accel_wait, NULL); | 343 | MENUITEM_SETTING(list_accel_wait, &global_settings.list_accel_wait, NULL); |
335 | #endif /* HAVE_WHEEL_ACCELERATION */ | 344 | #endif /* HAVE_WHEEL_ACCELERATION */ |
336 | #ifdef HAVE_LCD_BITMAP | 345 | #ifdef HAVE_LCD_BITMAP |
337 | static int screenscroll_callback(int action,const struct menu_item_ex *this_item) | 346 | static int screenscroll_callback(int action, |
347 | const struct menu_item_ex *this_item, | ||
348 | struct gui_synclist *this_list) | ||
338 | { | 349 | { |
339 | (void)this_item; | 350 | (void)this_item; |
351 | (void)this_list; | ||
340 | switch (action) | 352 | switch (action) |
341 | { | 353 | { |
342 | case ACTION_EXIT_MENUITEM: | 354 | case ACTION_EXIT_MENUITEM: |
@@ -375,9 +387,12 @@ MAKE_MENU(scroll_settings_menu, ID2P(LANG_SCROLL_MENU), 0, Icon_NOICON, | |||
375 | /* PEAK METER MENU */ | 387 | /* PEAK METER MENU */ |
376 | 388 | ||
377 | #ifdef HAVE_LCD_BITMAP | 389 | #ifdef HAVE_LCD_BITMAP |
378 | static int peakmeter_callback(int action,const struct menu_item_ex *this_item) | 390 | static int peakmeter_callback(int action, |
391 | const struct menu_item_ex *this_item, | ||
392 | struct gui_synclist *this_list) | ||
379 | { | 393 | { |
380 | (void)this_item; | 394 | (void)this_item; |
395 | (void)this_list; | ||
381 | switch (action) | 396 | switch (action) |
382 | { | 397 | { |
383 | case ACTION_EXIT_MENUITEM: | 398 | case ACTION_EXIT_MENUITEM: |
@@ -561,9 +576,12 @@ MAKE_MENU(peak_meter_menu, ID2P(LANG_PM_MENU), NULL, Icon_NOICON, | |||
561 | 576 | ||
562 | 577 | ||
563 | #ifdef HAVE_TOUCHSCREEN | 578 | #ifdef HAVE_TOUCHSCREEN |
564 | static int touch_mode_callback(int action,const struct menu_item_ex *this_item) | 579 | static int touch_mode_callback(int action, |
580 | const struct menu_item_ex *this_item, | ||
581 | struct gui_synclist *this_list) | ||
565 | { | 582 | { |
566 | (void)this_item; | 583 | (void)this_item; |
584 | (void)this_list; | ||
567 | switch (action) | 585 | switch (action) |
568 | { | 586 | { |
569 | case ACTION_EXIT_MENUITEM: /* on exit */ | 587 | case ACTION_EXIT_MENUITEM: /* on exit */ |
@@ -573,10 +591,12 @@ static int touch_mode_callback(int action,const struct menu_item_ex *this_item) | |||
573 | return action; | 591 | return action; |
574 | } | 592 | } |
575 | 593 | ||
576 | static int line_padding_callback(int action,const struct menu_item_ex *this_item) | 594 | static int line_padding_callback(int action, |
595 | const struct menu_item_ex *this_item, | ||
596 | struct gui_synclist *this_list); | ||
577 | { | 597 | { |
578 | (void)this_item; | 598 | (void)this_item; |
579 | 599 | (void)this_list; | |
580 | if (action == ACTION_EXIT_MENUITEM) | 600 | if (action == ACTION_EXIT_MENUITEM) |
581 | viewportmanager_theme_changed(THEME_LISTS); | 601 | viewportmanager_theme_changed(THEME_LISTS); |
582 | return action; | 602 | return action; |
@@ -594,11 +614,14 @@ MAKE_MENU(touchscreen_menu, ID2P(LANG_TOUCHSCREEN_SETTINGS), NULL, Icon_NOICON, | |||
594 | &touchscreen_menu_calibrate, &touchscreen_menu_reset_calibration); | 614 | &touchscreen_menu_calibrate, &touchscreen_menu_reset_calibration); |
595 | #endif | 615 | #endif |
596 | 616 | ||
597 | static int codepage_callback(int action, const struct menu_item_ex *this_item) | 617 | static int codepage_callback(int action, |
618 | const struct menu_item_ex *this_item, | ||
619 | struct gui_synclist *this_list) | ||
598 | { | 620 | { |
621 | (void)this_item; | ||
622 | (void)this_list; | ||
599 | static int old_codepage; | 623 | static int old_codepage; |
600 | int new_codepage = global_settings.default_codepage; | 624 | int new_codepage = global_settings.default_codepage; |
601 | (void)this_item; | ||
602 | switch (action) | 625 | switch (action) |
603 | { | 626 | { |
604 | case ACTION_ENTER_MENUITEM: | 627 | case ACTION_ENTER_MENUITEM: |