diff --git a/menu/menu_displaylist.c b/menu/menu_displaylist.c index 68df2a9518..16dc6cfeee 100644 --- a/menu/menu_displaylist.c +++ b/menu/menu_displaylist.c @@ -3707,6 +3707,59 @@ unsigned menu_displaylist_build_list(file_list_t *list, enum menu_displaylist_ct switch (type) { + case DISPLAYLIST_USER_INTERFACE_SETTINGS_LIST: + { + menu_displaylist_build_info_t build_list[] = { + {MENU_ENUM_LABEL_MENU_VIEWS_SETTINGS, PARSE_ACTION }, + {MENU_ENUM_LABEL_MENU_SETTINGS, PARSE_ACTION }, + {MENU_ENUM_LABEL_SHOW_ADVANCED_SETTINGS, PARSE_ONLY_BOOL }, + {MENU_ENUM_LABEL_MENU_ENABLE_KIOSK_MODE, PARSE_ONLY_BOOL }, + {MENU_ENUM_LABEL_MENU_KIOSK_MODE_PASSWORD, PARSE_ONLY_STRING}, + {MENU_ENUM_LABEL_NAVIGATION_WRAPAROUND, PARSE_ONLY_BOOL }, + {MENU_ENUM_LABEL_PAUSE_LIBRETRO, PARSE_ONLY_BOOL }, + {MENU_ENUM_LABEL_MOUSE_ENABLE, PARSE_ONLY_BOOL }, + {MENU_ENUM_LABEL_POINTER_ENABLE, PARSE_ONLY_BOOL }, + {MENU_ENUM_LABEL_THREADED_DATA_RUNLOOP_ENABLE, PARSE_ONLY_BOOL }, + {MENU_ENUM_LABEL_PAUSE_NONACTIVE, PARSE_ONLY_BOOL }, + {MENU_ENUM_LABEL_VIDEO_DISABLE_COMPOSITION, PARSE_ONLY_BOOL }, + {MENU_ENUM_LABEL_UI_COMPANION_ENABLE, PARSE_ONLY_BOOL }, + {MENU_ENUM_LABEL_UI_COMPANION_START_ON_BOOT, PARSE_ONLY_BOOL }, + {MENU_ENUM_LABEL_UI_MENUBAR_ENABLE, PARSE_ONLY_BOOL }, + {MENU_ENUM_LABEL_DESKTOP_MENU_ENABLE, PARSE_ONLY_BOOL }, + {MENU_ENUM_LABEL_UI_COMPANION_TOGGLE, PARSE_ONLY_BOOL }, + {MENU_ENUM_LABEL_VIDEO_3DS_DISPLAY_MODE, PARSE_ONLY_UINT }, + {MENU_ENUM_LABEL_VIDEO_3DS_LCD_BOTTOM, PARSE_ONLY_BOOL }, + }; + + for (i = 0; i < ARRAY_SIZE(build_list); i++) + { + if (menu_displaylist_parse_settings_enum(list, + build_list[i].enum_idx, build_list[i].parse_type, + false) == 0) + count++; + } + } + break; + case DISPLAYLIST_OPTIONS_DISK: + menu_entries_append_enum(list, + msg_hash_to_str(MENU_ENUM_LABEL_VALUE_DISK_INDEX), + msg_hash_to_str(MENU_ENUM_LABEL_DISK_INDEX), + MENU_ENUM_LABEL_DISK_INDEX, + MENU_SETTINGS_CORE_DISK_OPTIONS_DISK_INDEX, 0, 0); + count++; + menu_entries_append_enum(list, + msg_hash_to_str(MENU_ENUM_LABEL_VALUE_DISK_CYCLE_TRAY_STATUS), + msg_hash_to_str(MENU_ENUM_LABEL_DISK_CYCLE_TRAY_STATUS), + MENU_ENUM_LABEL_DISK_CYCLE_TRAY_STATUS, + MENU_SETTINGS_CORE_DISK_OPTIONS_DISK_CYCLE_TRAY_STATUS, 0, 0); + count++; + menu_entries_append_enum(list, + msg_hash_to_str(MENU_ENUM_LABEL_VALUE_DISK_IMAGE_APPEND), + msg_hash_to_str(MENU_ENUM_LABEL_DISK_IMAGE_APPEND), + MENU_ENUM_LABEL_DISK_IMAGE_APPEND, + MENU_SETTINGS_CORE_DISK_OPTIONS_DISK_IMAGE_APPEND, 0, 0); + count++; + break; case DISPLAYLIST_MIDI_SETTINGS_LIST: { menu_displaylist_build_info_t build_list[] = { @@ -4982,26 +5035,6 @@ bool menu_displaylist_ctl(enum menu_displaylist_ctl_state type, menu_displaylist info->need_push = true; } break; - case DISPLAYLIST_OPTIONS_DISK: - menu_entries_ctl(MENU_ENTRIES_CTL_CLEAR, info->list); - menu_entries_append_enum(info->list, - msg_hash_to_str(MENU_ENUM_LABEL_VALUE_DISK_INDEX), - msg_hash_to_str(MENU_ENUM_LABEL_DISK_INDEX), - MENU_ENUM_LABEL_DISK_INDEX, - MENU_SETTINGS_CORE_DISK_OPTIONS_DISK_INDEX, 0, 0); - menu_entries_append_enum(info->list, - msg_hash_to_str(MENU_ENUM_LABEL_VALUE_DISK_CYCLE_TRAY_STATUS), - msg_hash_to_str(MENU_ENUM_LABEL_DISK_CYCLE_TRAY_STATUS), - MENU_ENUM_LABEL_DISK_CYCLE_TRAY_STATUS, - MENU_SETTINGS_CORE_DISK_OPTIONS_DISK_CYCLE_TRAY_STATUS, 0, 0); - menu_entries_append_enum(info->list, - msg_hash_to_str(MENU_ENUM_LABEL_VALUE_DISK_IMAGE_APPEND), - msg_hash_to_str(MENU_ENUM_LABEL_DISK_IMAGE_APPEND), - MENU_ENUM_LABEL_DISK_IMAGE_APPEND, - MENU_SETTINGS_CORE_DISK_OPTIONS_DISK_IMAGE_APPEND, 0, 0); - - info->need_push = true; - break; case DISPLAYLIST_NETWORK_INFO: menu_entries_ctl(MENU_ENTRIES_CTL_CLEAR, info->list); #if defined(HAVE_NETWORKING) && !defined(HAVE_SOCKET_LEGACY) && (!defined(SWITCH) || defined(SWITCH) && defined(HAVE_LIBNX)) @@ -5390,6 +5423,8 @@ bool menu_displaylist_ctl(enum menu_displaylist_ctl_state type, menu_displaylist case DISPLAYLIST_LAKKA_SERVICES_LIST: case DISPLAYLIST_MIDI_SETTINGS_LIST: case DISPLAYLIST_CRT_SWITCHRES_SETTINGS_LIST: + case DISPLAYLIST_OPTIONS_DISK: + case DISPLAYLIST_USER_INTERFACE_SETTINGS_LIST: menu_entries_ctl(MENU_ENTRIES_CTL_CLEAR, info->list); count = menu_displaylist_build_list(info->list, type); @@ -5644,67 +5679,6 @@ bool menu_displaylist_ctl(enum menu_displaylist_ctl_state type, menu_displaylist info->need_refresh = true; info->need_push = true; break; - case DISPLAYLIST_USER_INTERFACE_SETTINGS_LIST: - menu_entries_ctl(MENU_ENTRIES_CTL_CLEAR, info->list); - menu_displaylist_parse_settings_enum(info->list, - MENU_ENUM_LABEL_MENU_VIEWS_SETTINGS, PARSE_ACTION, false); - - menu_displaylist_parse_settings_enum(info->list, - MENU_ENUM_LABEL_MENU_SETTINGS, PARSE_ACTION, false); - menu_displaylist_parse_settings_enum(info->list, - MENU_ENUM_LABEL_SHOW_ADVANCED_SETTINGS, - PARSE_ONLY_BOOL, false); - menu_displaylist_parse_settings_enum(info->list, - MENU_ENUM_LABEL_MENU_ENABLE_KIOSK_MODE, - PARSE_ONLY_BOOL, false); - menu_displaylist_parse_settings_enum(info->list, - MENU_ENUM_LABEL_MENU_KIOSK_MODE_PASSWORD, - PARSE_ONLY_STRING, false); - menu_displaylist_parse_settings_enum(info->list, - MENU_ENUM_LABEL_NAVIGATION_WRAPAROUND, - PARSE_ONLY_BOOL, false); - menu_displaylist_parse_settings_enum(info->list, - MENU_ENUM_LABEL_PAUSE_LIBRETRO, - PARSE_ONLY_BOOL, false); - menu_displaylist_parse_settings_enum(info->list, - MENU_ENUM_LABEL_MOUSE_ENABLE, - PARSE_ONLY_BOOL, false); - menu_displaylist_parse_settings_enum(info->list, - MENU_ENUM_LABEL_POINTER_ENABLE, - PARSE_ONLY_BOOL, false); - menu_displaylist_parse_settings_enum(info->list, - MENU_ENUM_LABEL_THREADED_DATA_RUNLOOP_ENABLE, - PARSE_ONLY_BOOL, false); - menu_displaylist_parse_settings_enum(info->list, - MENU_ENUM_LABEL_PAUSE_NONACTIVE, - PARSE_ONLY_BOOL, false); - menu_displaylist_parse_settings_enum(info->list, - MENU_ENUM_LABEL_VIDEO_DISABLE_COMPOSITION, - PARSE_ONLY_BOOL, false); - menu_displaylist_parse_settings_enum(info->list, - MENU_ENUM_LABEL_UI_COMPANION_ENABLE, - PARSE_ONLY_BOOL, false); - menu_displaylist_parse_settings_enum(info->list, - MENU_ENUM_LABEL_UI_COMPANION_START_ON_BOOT, - PARSE_ONLY_BOOL, false); - menu_displaylist_parse_settings_enum(info->list, - MENU_ENUM_LABEL_UI_MENUBAR_ENABLE, - PARSE_ONLY_BOOL, false); - menu_displaylist_parse_settings_enum(info->list, - MENU_ENUM_LABEL_DESKTOP_MENU_ENABLE, - PARSE_ONLY_BOOL, false); - menu_displaylist_parse_settings_enum(info->list, - MENU_ENUM_LABEL_UI_COMPANION_TOGGLE, - PARSE_ONLY_BOOL, false); - menu_displaylist_parse_settings_enum(info->list, - MENU_ENUM_LABEL_VIDEO_3DS_DISPLAY_MODE, - PARSE_ONLY_UINT, false); - menu_displaylist_parse_settings_enum(info->list, - MENU_ENUM_LABEL_VIDEO_3DS_LCD_BOTTOM, - PARSE_ONLY_BOOL, false); - info->need_refresh = true; - info->need_push = true; - break; case DISPLAYLIST_RETRO_ACHIEVEMENTS_SETTINGS_LIST: menu_entries_ctl(MENU_ENTRIES_CTL_CLEAR, info->list); menu_displaylist_parse_settings_enum(info->list,