diff options
Diffstat (limited to 'apps/menu.c')
-rw-r--r-- | apps/menu.c | 64 |
1 files changed, 59 insertions, 5 deletions
diff --git a/apps/menu.c b/apps/menu.c index d01cbc64be..8edec58587 100644 --- a/apps/menu.c +++ b/apps/menu.c | |||
@@ -483,12 +483,66 @@ int do_menu(const struct menu_item_ex *start_menu, int *start_selected, | |||
483 | { | 483 | { |
484 | redraw_lists = list_stop_handler(); | 484 | redraw_lists = list_stop_handler(); |
485 | } | 485 | } |
486 | else if (action == ACTION_STD_CONTEXT && | 486 | else if (action == ACTION_STD_CONTEXT) |
487 | menu == &root_menu_) | ||
488 | { | 487 | { |
489 | ret = GO_TO_ROOTITEM_CONTEXT; | 488 | if (menu == &root_menu_) |
490 | done = true; | 489 | { |
491 | } | 490 | ret = GO_TO_ROOTITEM_CONTEXT; |
491 | done = true; | ||
492 | } | ||
493 | else if (!in_stringlist) | ||
494 | { | ||
495 | int type; | ||
496 | selected = get_menu_selection(gui_synclist_get_sel_pos(&lists), menu); | ||
497 | temp = menu->submenus[selected]; | ||
498 | type = (temp->flags&MENU_TYPE_MASK); | ||
499 | if ((type == MT_SETTING_W_TEXT || type == MT_SETTING)) | ||
500 | { | ||
501 | #ifdef HAVE_QUICKSCREEN | ||
502 | MENUITEM_STRINGLIST(quickscreen_able_option, | ||
503 | ID2P(LANG_ONPLAY_MENU_TITLE), NULL, | ||
504 | ID2P(LANG_RESET_SETTING), | ||
505 | ID2P(LANG_LEFT_QS_ITEM), | ||
506 | ID2P(LANG_BOTTOM_QS_ITEM), | ||
507 | ID2P(LANG_RIGHT_QS_ITEM)); | ||
508 | #endif | ||
509 | MENUITEM_STRINGLIST(notquickscreen_able_option, | ||
510 | ID2P(LANG_ONPLAY_MENU_TITLE), NULL, | ||
511 | ID2P(LANG_RESET_SETTING)); | ||
512 | const struct menu_item_ex *menu; | ||
513 | int menu_selection = 0; | ||
514 | const struct settings_list *setting = | ||
515 | find_setting(temp->variable, NULL); | ||
516 | #ifdef HAVE_QUICKSCREEN | ||
517 | if (is_setting_quickscreenable(setting)) | ||
518 | menu = &quickscreen_able_option; | ||
519 | else | ||
520 | #endif | ||
521 | menu = ¬quickscreen_able_option; | ||
522 | switch (do_menu(menu, &menu_selection, NULL, false)) | ||
523 | { | ||
524 | case GO_TO_PREVIOUS: | ||
525 | break; | ||
526 | case 0: /* reset setting */ | ||
527 | reset_setting(setting, setting->setting); | ||
528 | break; | ||
529 | #ifdef HAVE_QUICKSCREEN | ||
530 | break; | ||
531 | case 1: /* set as left QS item */ | ||
532 | set_as_qs_item(setting, QUICKSCREEN_LEFT); | ||
533 | break; | ||
534 | case 2: /* set as bottom QS item */ | ||
535 | set_as_qs_item(setting, QUICKSCREEN_BOTTOM); | ||
536 | break; | ||
537 | case 3: /* set as right QS item */ | ||
538 | set_as_qs_item(setting, QUICKSCREEN_RIGHT); | ||
539 | break; | ||
540 | #endif | ||
541 | } /* swicth(do_menu()) */ | ||
542 | redraw_lists = true; | ||
543 | } | ||
544 | } /* else if (!in_stringlist) */ | ||
545 | } | ||
492 | else if (action == ACTION_STD_MENU) | 546 | else if (action == ACTION_STD_MENU) |
493 | { | 547 | { |
494 | if (menu != &root_menu_) | 548 | if (menu != &root_menu_) |