summaryrefslogtreecommitdiff
path: root/apps/menu.c
diff options
context:
space:
mode:
Diffstat (limited to 'apps/menu.c')
-rw-r--r--apps/menu.c64
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 = &notquickscreen_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_)