mirror of
https://github.com/libretro/RetroArch
synced 2025-03-20 10:20:51 +00:00
Refactor menu_displaylist_setting away
This commit is contained in:
parent
9948899c63
commit
4e883c4568
@ -8833,7 +8833,6 @@ static int materialui_menu_entry_action(
|
||||
static int materialui_list_push(void *data, void *userdata,
|
||||
menu_displaylist_info_t *info, unsigned type)
|
||||
{
|
||||
menu_displaylist_ctx_parse_entry_t entry;
|
||||
int ret = -1;
|
||||
core_info_list_t *list = NULL;
|
||||
menu_handle_t *menu = (menu_handle_t*)data;
|
||||
@ -8893,25 +8892,26 @@ static int materialui_list_push(void *data, void *userdata,
|
||||
|
||||
menu_entries_ctl(MENU_ENTRIES_CTL_CLEAR, info->list);
|
||||
|
||||
entry.data = menu;
|
||||
entry.info = info;
|
||||
entry.parse_type = PARSE_ACTION;
|
||||
entry.add_empty_entry = false;
|
||||
|
||||
if (rarch_ctl(RARCH_CTL_CORE_IS_RUNNING, NULL))
|
||||
{
|
||||
if (!rarch_ctl(RARCH_CTL_IS_DUMMY_CORE, NULL))
|
||||
{
|
||||
entry.enum_idx = MENU_ENUM_LABEL_CONTENT_SETTINGS;
|
||||
menu_displaylist_setting(&entry);
|
||||
MENU_DISPLAYLIST_PARSE_SETTINGS_ENUM(
|
||||
info->list,
|
||||
MENU_ENUM_LABEL_CONTENT_SETTINGS,
|
||||
PARSE_ACTION,
|
||||
false);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if (system->load_no_content)
|
||||
{
|
||||
entry.enum_idx = MENU_ENUM_LABEL_START_CORE;
|
||||
menu_displaylist_setting(&entry);
|
||||
MENU_DISPLAYLIST_PARSE_SETTINGS_ENUM(
|
||||
info->list,
|
||||
MENU_ENUM_LABEL_START_CORE,
|
||||
PARSE_ACTION,
|
||||
false);
|
||||
}
|
||||
|
||||
#ifndef HAVE_DYNAMIC
|
||||
@ -8920,107 +8920,158 @@ static int materialui_list_push(void *data, void *userdata,
|
||||
{
|
||||
if (settings->bools.menu_show_load_core)
|
||||
{
|
||||
entry.enum_idx = MENU_ENUM_LABEL_CORE_LIST;
|
||||
menu_displaylist_setting(&entry);
|
||||
MENU_DISPLAYLIST_PARSE_SETTINGS_ENUM(
|
||||
info->list,
|
||||
MENU_ENUM_LABEL_CORE_LIST,
|
||||
PARSE_ACTION,
|
||||
false);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (settings->bools.menu_show_load_content)
|
||||
{
|
||||
entry.enum_idx = MENU_ENUM_LABEL_LOAD_CONTENT_LIST;
|
||||
menu_displaylist_setting(&entry);
|
||||
MENU_DISPLAYLIST_PARSE_SETTINGS_ENUM(
|
||||
info->list,
|
||||
MENU_ENUM_LABEL_LOAD_CONTENT_LIST,
|
||||
PARSE_ACTION,
|
||||
false);
|
||||
|
||||
if (menu_displaylist_has_subsystems())
|
||||
{
|
||||
entry.enum_idx = MENU_ENUM_LABEL_SUBSYSTEM_SETTINGS;
|
||||
menu_displaylist_setting(&entry);
|
||||
MENU_DISPLAYLIST_PARSE_SETTINGS_ENUM(
|
||||
info->list,
|
||||
MENU_ENUM_LABEL_SUBSYSTEM_SETTINGS,
|
||||
PARSE_ACTION,
|
||||
false);
|
||||
}
|
||||
}
|
||||
|
||||
if (settings->bools.menu_content_show_history)
|
||||
{
|
||||
entry.enum_idx = MENU_ENUM_LABEL_LOAD_CONTENT_HISTORY;
|
||||
menu_displaylist_setting(&entry);
|
||||
MENU_DISPLAYLIST_PARSE_SETTINGS_ENUM(
|
||||
info->list,
|
||||
MENU_ENUM_LABEL_SUBSYSTEM_SETTINGS,
|
||||
PARSE_ACTION,
|
||||
false);
|
||||
}
|
||||
|
||||
if (settings->bools.menu_show_load_disc)
|
||||
{
|
||||
entry.enum_idx = MENU_ENUM_LABEL_LOAD_DISC;
|
||||
menu_displaylist_setting(&entry);
|
||||
MENU_DISPLAYLIST_PARSE_SETTINGS_ENUM(
|
||||
info->list,
|
||||
MENU_ENUM_LABEL_LOAD_DISC,
|
||||
PARSE_ACTION,
|
||||
false);
|
||||
}
|
||||
|
||||
if (settings->bools.menu_show_dump_disc)
|
||||
{
|
||||
entry.enum_idx = MENU_ENUM_LABEL_DUMP_DISC;
|
||||
menu_displaylist_setting(&entry);
|
||||
MENU_DISPLAYLIST_PARSE_SETTINGS_ENUM(
|
||||
info->list,
|
||||
MENU_ENUM_LABEL_DUMP_DISC,
|
||||
PARSE_ACTION,
|
||||
false);
|
||||
}
|
||||
|
||||
#if defined(HAVE_NETWORKING)
|
||||
#ifdef HAVE_LAKKA
|
||||
entry.enum_idx = MENU_ENUM_LABEL_UPDATE_LAKKA;
|
||||
menu_displaylist_setting(&entry);
|
||||
MENU_DISPLAYLIST_PARSE_SETTINGS_ENUM(
|
||||
info->list,
|
||||
MENU_ENUM_LABEL_UPDATE_LAKKA,
|
||||
PARSE_ACTION,
|
||||
false);
|
||||
#else
|
||||
#ifdef HAVE_ONLINE_UPDATER
|
||||
if (settings->bools.menu_show_online_updater)
|
||||
{
|
||||
entry.enum_idx = MENU_ENUM_LABEL_ONLINE_UPDATER;
|
||||
menu_displaylist_setting(&entry);
|
||||
MENU_DISPLAYLIST_PARSE_SETTINGS_ENUM(
|
||||
info->list,
|
||||
MENU_ENUM_LABEL_ONLINE_UPDATER,
|
||||
PARSE_ACTION,
|
||||
false);
|
||||
}
|
||||
#endif
|
||||
#endif
|
||||
if (settings->uints.menu_content_show_add_entry ==
|
||||
MENU_ADD_CONTENT_ENTRY_DISPLAY_MAIN_TAB)
|
||||
{
|
||||
entry.enum_idx = MENU_ENUM_LABEL_ADD_CONTENT_LIST;
|
||||
menu_displaylist_setting(&entry);
|
||||
MENU_DISPLAYLIST_PARSE_SETTINGS_ENUM(
|
||||
info->list,
|
||||
MENU_ENUM_LABEL_ADD_CONTENT_LIST,
|
||||
PARSE_ACTION,
|
||||
false);
|
||||
}
|
||||
|
||||
if (settings->bools.menu_content_show_netplay)
|
||||
{
|
||||
entry.enum_idx = MENU_ENUM_LABEL_NETPLAY;
|
||||
menu_displaylist_setting(&entry);
|
||||
MENU_DISPLAYLIST_PARSE_SETTINGS_ENUM(
|
||||
info->list,
|
||||
MENU_ENUM_LABEL_NETPLAY,
|
||||
PARSE_ACTION,
|
||||
false);
|
||||
}
|
||||
#endif
|
||||
if (settings->bools.menu_show_information)
|
||||
{
|
||||
entry.enum_idx = MENU_ENUM_LABEL_INFORMATION_LIST;
|
||||
menu_displaylist_setting(&entry);
|
||||
MENU_DISPLAYLIST_PARSE_SETTINGS_ENUM(
|
||||
info->list,
|
||||
MENU_ENUM_LABEL_INFORMATION_LIST,
|
||||
PARSE_ACTION,
|
||||
false);
|
||||
}
|
||||
|
||||
if (settings->bools.menu_show_configurations)
|
||||
{
|
||||
entry.enum_idx = MENU_ENUM_LABEL_CONFIGURATIONS_LIST;
|
||||
menu_displaylist_setting(&entry);
|
||||
MENU_DISPLAYLIST_PARSE_SETTINGS_ENUM(
|
||||
info->list,
|
||||
MENU_ENUM_LABEL_CONFIGURATIONS_LIST,
|
||||
PARSE_ACTION,
|
||||
false);
|
||||
}
|
||||
|
||||
if (settings->bools.menu_show_help)
|
||||
{
|
||||
entry.enum_idx = MENU_ENUM_LABEL_HELP_LIST;
|
||||
menu_displaylist_setting(&entry);
|
||||
MENU_DISPLAYLIST_PARSE_SETTINGS_ENUM(
|
||||
info->list,
|
||||
MENU_ENUM_LABEL_HELP_LIST,
|
||||
PARSE_ACTION,
|
||||
false);
|
||||
}
|
||||
#if !defined(IOS)
|
||||
|
||||
if (settings->bools.menu_show_restart_retroarch)
|
||||
{
|
||||
entry.enum_idx = MENU_ENUM_LABEL_RESTART_RETROARCH;
|
||||
menu_displaylist_setting(&entry);
|
||||
MENU_DISPLAYLIST_PARSE_SETTINGS_ENUM(
|
||||
info->list,
|
||||
MENU_ENUM_LABEL_RESTART_RETROARCH,
|
||||
PARSE_ACTION,
|
||||
false);
|
||||
}
|
||||
|
||||
entry.enum_idx = MENU_ENUM_LABEL_QUIT_RETROARCH;
|
||||
menu_displaylist_setting(&entry);
|
||||
MENU_DISPLAYLIST_PARSE_SETTINGS_ENUM(
|
||||
info->list,
|
||||
MENU_ENUM_LABEL_QUIT_RETROARCH,
|
||||
PARSE_ACTION,
|
||||
false);
|
||||
#endif
|
||||
#if defined(HAVE_LAKKA)
|
||||
if (settings->bools.menu_show_reboot)
|
||||
{
|
||||
entry.enum_idx = MENU_ENUM_LABEL_REBOOT;
|
||||
menu_displaylist_setting(&entry);
|
||||
MENU_DISPLAYLIST_PARSE_SETTINGS_ENUM(
|
||||
info->list,
|
||||
MENU_ENUM_LABEL_REBOOT,
|
||||
PARSE_ACTION,
|
||||
false);
|
||||
}
|
||||
|
||||
if (settings->bools.menu_show_shutdown)
|
||||
{
|
||||
entry.enum_idx = MENU_ENUM_LABEL_SHUTDOWN;
|
||||
menu_displaylist_setting(&entry);
|
||||
MENU_DISPLAYLIST_PARSE_SETTINGS_ENUM(
|
||||
info->list,
|
||||
MENU_ENUM_LABEL_SHUTDOWN,
|
||||
PARSE_ACTION,
|
||||
false);
|
||||
}
|
||||
#endif
|
||||
info->need_push = true;
|
||||
|
@ -1420,7 +1420,6 @@ static void *ozone_list_get_entry(void *data,
|
||||
static int ozone_list_push(void *data, void *userdata,
|
||||
menu_displaylist_info_t *info, unsigned type)
|
||||
{
|
||||
menu_displaylist_ctx_parse_entry_t entry;
|
||||
int ret = -1;
|
||||
core_info_list_t *list = NULL;
|
||||
menu_handle_t *menu = (menu_handle_t*)data;
|
||||
@ -1484,25 +1483,26 @@ static int ozone_list_push(void *data, void *userdata,
|
||||
rarch_system_info_t *system = runloop_get_system_info();
|
||||
menu_entries_ctl(MENU_ENTRIES_CTL_CLEAR, info->list);
|
||||
|
||||
entry.data = menu;
|
||||
entry.info = info;
|
||||
entry.parse_type = PARSE_ACTION;
|
||||
entry.add_empty_entry = false;
|
||||
|
||||
if (rarch_ctl(RARCH_CTL_CORE_IS_RUNNING, NULL))
|
||||
{
|
||||
if (!rarch_ctl(RARCH_CTL_IS_DUMMY_CORE, NULL))
|
||||
{
|
||||
entry.enum_idx = MENU_ENUM_LABEL_CONTENT_SETTINGS;
|
||||
menu_displaylist_setting(&entry);
|
||||
MENU_DISPLAYLIST_PARSE_SETTINGS_ENUM(
|
||||
info->list,
|
||||
MENU_ENUM_LABEL_CONTENT_SETTINGS,
|
||||
PARSE_ACTION,
|
||||
false);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if (system->load_no_content)
|
||||
{
|
||||
entry.enum_idx = MENU_ENUM_LABEL_START_CORE;
|
||||
menu_displaylist_setting(&entry);
|
||||
MENU_DISPLAYLIST_PARSE_SETTINGS_ENUM(
|
||||
info->list,
|
||||
MENU_ENUM_LABEL_START_CORE,
|
||||
PARSE_ACTION,
|
||||
false);
|
||||
}
|
||||
|
||||
#ifndef HAVE_DYNAMIC
|
||||
@ -1511,118 +1511,175 @@ static int ozone_list_push(void *data, void *userdata,
|
||||
{
|
||||
if (settings->bools.menu_show_load_core)
|
||||
{
|
||||
entry.enum_idx = MENU_ENUM_LABEL_CORE_LIST;
|
||||
menu_displaylist_setting(&entry);
|
||||
MENU_DISPLAYLIST_PARSE_SETTINGS_ENUM(
|
||||
info->list,
|
||||
MENU_ENUM_LABEL_CORE_LIST,
|
||||
PARSE_ACTION,
|
||||
false);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (settings->bools.menu_show_load_content)
|
||||
{
|
||||
entry.enum_idx = MENU_ENUM_LABEL_LOAD_CONTENT_LIST;
|
||||
menu_displaylist_setting(&entry);
|
||||
MENU_DISPLAYLIST_PARSE_SETTINGS_ENUM(
|
||||
info->list,
|
||||
MENU_ENUM_LABEL_LOAD_CONTENT_LIST,
|
||||
PARSE_ACTION,
|
||||
false);
|
||||
|
||||
if (menu_displaylist_has_subsystems())
|
||||
{
|
||||
entry.enum_idx = MENU_ENUM_LABEL_SUBSYSTEM_SETTINGS;
|
||||
menu_displaylist_setting(&entry);
|
||||
MENU_DISPLAYLIST_PARSE_SETTINGS_ENUM(
|
||||
info->list,
|
||||
MENU_ENUM_LABEL_SUBSYSTEM_SETTINGS,
|
||||
PARSE_ACTION,
|
||||
false);
|
||||
}
|
||||
}
|
||||
|
||||
if (settings->bools.menu_show_load_disc)
|
||||
{
|
||||
entry.enum_idx = MENU_ENUM_LABEL_LOAD_DISC;
|
||||
menu_displaylist_setting(&entry);
|
||||
MENU_DISPLAYLIST_PARSE_SETTINGS_ENUM(
|
||||
info->list,
|
||||
MENU_ENUM_LABEL_LOAD_DISC,
|
||||
PARSE_ACTION,
|
||||
false);
|
||||
}
|
||||
|
||||
if (settings->bools.menu_show_dump_disc)
|
||||
{
|
||||
entry.enum_idx = MENU_ENUM_LABEL_DUMP_DISC;
|
||||
menu_displaylist_setting(&entry);
|
||||
MENU_DISPLAYLIST_PARSE_SETTINGS_ENUM(
|
||||
info->list,
|
||||
MENU_ENUM_LABEL_DUMP_DISC,
|
||||
PARSE_ACTION,
|
||||
false);
|
||||
}
|
||||
|
||||
entry.enum_idx = MENU_ENUM_LABEL_ADD_CONTENT_LIST;
|
||||
menu_displaylist_setting(&entry);
|
||||
MENU_DISPLAYLIST_PARSE_SETTINGS_ENUM(
|
||||
info->list,
|
||||
MENU_ENUM_LABEL_ADD_CONTENT_LIST,
|
||||
PARSE_ACTION,
|
||||
false);
|
||||
#ifdef HAVE_QT
|
||||
if (settings->bools.desktop_menu_enable)
|
||||
{
|
||||
entry.enum_idx = MENU_ENUM_LABEL_SHOW_WIMP;
|
||||
menu_displaylist_setting(&entry);
|
||||
MENU_DISPLAYLIST_PARSE_SETTINGS_ENUM(
|
||||
info->list,
|
||||
MENU_ENUM_LABEL_SHOW_WIMP,
|
||||
PARSE_ACTION,
|
||||
false);
|
||||
}
|
||||
#endif
|
||||
#if defined(HAVE_NETWORKING)
|
||||
#if defined(HAVE_ONLINE_UPDATER)
|
||||
if (settings->bools.menu_show_online_updater && !settings->bools.kiosk_mode_enable)
|
||||
{
|
||||
entry.enum_idx = MENU_ENUM_LABEL_ONLINE_UPDATER;
|
||||
menu_displaylist_setting(&entry);
|
||||
MENU_DISPLAYLIST_PARSE_SETTINGS_ENUM(
|
||||
info->list,
|
||||
MENU_ENUM_LABEL_ONLINE_UPDATER,
|
||||
PARSE_ACTION,
|
||||
false);
|
||||
}
|
||||
#endif
|
||||
#endif
|
||||
if (!settings->bools.menu_content_show_settings && !string_is_empty(settings->paths.menu_content_show_settings_password))
|
||||
{
|
||||
entry.enum_idx = MENU_ENUM_LABEL_XMB_MAIN_MENU_ENABLE_SETTINGS;
|
||||
menu_displaylist_setting(&entry);
|
||||
MENU_DISPLAYLIST_PARSE_SETTINGS_ENUM(
|
||||
info->list,
|
||||
MENU_ENUM_LABEL_XMB_MAIN_MENU_ENABLE_SETTINGS,
|
||||
PARSE_ACTION,
|
||||
false);
|
||||
}
|
||||
|
||||
if (settings->bools.kiosk_mode_enable && !string_is_empty(settings->paths.kiosk_mode_password))
|
||||
{
|
||||
entry.enum_idx = MENU_ENUM_LABEL_MENU_DISABLE_KIOSK_MODE;
|
||||
menu_displaylist_setting(&entry);
|
||||
MENU_DISPLAYLIST_PARSE_SETTINGS_ENUM(
|
||||
info->list,
|
||||
MENU_ENUM_LABEL_MENU_DISABLE_KIOSK_MODE,
|
||||
PARSE_ACTION,
|
||||
false);
|
||||
}
|
||||
|
||||
if (settings->bools.menu_show_information)
|
||||
{
|
||||
entry.enum_idx = MENU_ENUM_LABEL_INFORMATION_LIST;
|
||||
menu_displaylist_setting(&entry);
|
||||
MENU_DISPLAYLIST_PARSE_SETTINGS_ENUM(
|
||||
info->list,
|
||||
MENU_ENUM_LABEL_INFORMATION_LIST,
|
||||
PARSE_ACTION,
|
||||
false);
|
||||
}
|
||||
|
||||
#if defined(HAVE_LAKKA_SWITCH) || defined(HAVE_LIBNX)
|
||||
entry.enum_idx = MENU_ENUM_LABEL_SWITCH_CPU_PROFILE;
|
||||
menu_displaylist_setting(&entry);
|
||||
MENU_DISPLAYLIST_PARSE_SETTINGS_ENUM(
|
||||
info->list,
|
||||
MENU_ENUM_LABEL_SWITCH_CPU_PROFILE,
|
||||
PARSE_ACTION,
|
||||
false);
|
||||
#endif
|
||||
|
||||
#ifdef HAVE_LAKKA_SWITCH
|
||||
entry.enum_idx = MENU_ENUM_LABEL_SWITCH_GPU_PROFILE;
|
||||
menu_displaylist_setting(&entry);
|
||||
MENU_DISPLAYLIST_PARSE_SETTINGS_ENUM(
|
||||
info->list,
|
||||
MENU_ENUM_LABEL_SWITCH_GPU_PROFILE,
|
||||
PARSE_ACTION,
|
||||
false);
|
||||
#endif
|
||||
|
||||
if (settings->bools.menu_show_configurations && !settings->bools.kiosk_mode_enable)
|
||||
{
|
||||
entry.enum_idx = MENU_ENUM_LABEL_CONFIGURATIONS_LIST;
|
||||
menu_displaylist_setting(&entry);
|
||||
MENU_DISPLAYLIST_PARSE_SETTINGS_ENUM(
|
||||
info->list,
|
||||
MENU_ENUM_LABEL_CONFIGURATIONS_LIST,
|
||||
PARSE_ACTION,
|
||||
false);
|
||||
}
|
||||
|
||||
if (settings->bools.menu_show_help)
|
||||
{
|
||||
entry.enum_idx = MENU_ENUM_LABEL_HELP_LIST;
|
||||
menu_displaylist_setting(&entry);
|
||||
MENU_DISPLAYLIST_PARSE_SETTINGS_ENUM(
|
||||
info->list,
|
||||
MENU_ENUM_LABEL_HELP_LIST,
|
||||
PARSE_ACTION,
|
||||
false);
|
||||
}
|
||||
|
||||
#if !defined(IOS)
|
||||
if (settings->bools.menu_show_restart_retroarch)
|
||||
{
|
||||
entry.enum_idx = MENU_ENUM_LABEL_RESTART_RETROARCH;
|
||||
menu_displaylist_setting(&entry);
|
||||
MENU_DISPLAYLIST_PARSE_SETTINGS_ENUM(
|
||||
info->list,
|
||||
MENU_ENUM_LABEL_RESTART_RETROARCH,
|
||||
PARSE_ACTION,
|
||||
false);
|
||||
}
|
||||
|
||||
if (settings->bools.menu_show_quit_retroarch)
|
||||
{
|
||||
entry.enum_idx = MENU_ENUM_LABEL_QUIT_RETROARCH;
|
||||
menu_displaylist_setting(&entry);
|
||||
MENU_DISPLAYLIST_PARSE_SETTINGS_ENUM(
|
||||
info->list,
|
||||
MENU_ENUM_LABEL_QUIT_RETROARCH,
|
||||
PARSE_ACTION,
|
||||
false);
|
||||
}
|
||||
#endif
|
||||
|
||||
if (settings->bools.menu_show_reboot)
|
||||
{
|
||||
entry.enum_idx = MENU_ENUM_LABEL_REBOOT;
|
||||
menu_displaylist_setting(&entry);
|
||||
MENU_DISPLAYLIST_PARSE_SETTINGS_ENUM(
|
||||
info->list,
|
||||
MENU_ENUM_LABEL_REBOOT,
|
||||
PARSE_ACTION,
|
||||
false);
|
||||
}
|
||||
|
||||
if (settings->bools.menu_show_shutdown)
|
||||
{
|
||||
entry.enum_idx = MENU_ENUM_LABEL_SHUTDOWN;
|
||||
menu_displaylist_setting(&entry);
|
||||
MENU_DISPLAYLIST_PARSE_SETTINGS_ENUM(
|
||||
info->list,
|
||||
MENU_ENUM_LABEL_SHUTDOWN,
|
||||
PARSE_ACTION,
|
||||
false);
|
||||
}
|
||||
|
||||
info->need_push = true;
|
||||
|
@ -4120,7 +4120,6 @@ static int stripes_list_bind_init(menu_file_list_cbs_t *cbs,
|
||||
static int stripes_list_push(void *data, void *userdata,
|
||||
menu_displaylist_info_t *info, unsigned type)
|
||||
{
|
||||
menu_displaylist_ctx_parse_entry_t entry;
|
||||
int ret = -1;
|
||||
int i = 0;
|
||||
core_info_list_t *list = NULL;
|
||||
@ -4192,16 +4191,22 @@ static int stripes_list_push(void *data, void *userdata,
|
||||
{
|
||||
if (!rarch_ctl(RARCH_CTL_IS_DUMMY_CORE, NULL))
|
||||
{
|
||||
entry.enum_idx = MENU_ENUM_LABEL_CONTENT_SETTINGS;
|
||||
menu_displaylist_setting(&entry);
|
||||
MENU_DISPLAYLIST_PARSE_SETTINGS_ENUM(
|
||||
info->list,
|
||||
MENU_ENUM_LABEL_CONTENT_SETTINGS,
|
||||
PARSE_ACTION,
|
||||
false);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if (system->load_no_content)
|
||||
{
|
||||
entry.enum_idx = MENU_ENUM_LABEL_START_CORE;
|
||||
menu_displaylist_setting(&entry);
|
||||
MENU_DISPLAYLIST_PARSE_SETTINGS_ENUM(
|
||||
info->list,
|
||||
MENU_ENUM_LABEL_START_CORE,
|
||||
PARSE_ACTION,
|
||||
false);
|
||||
}
|
||||
|
||||
#ifndef HAVE_DYNAMIC
|
||||
@ -4210,90 +4215,132 @@ static int stripes_list_push(void *data, void *userdata,
|
||||
{
|
||||
if (settings->bools.menu_show_load_core)
|
||||
{
|
||||
entry.enum_idx = MENU_ENUM_LABEL_CORE_LIST;
|
||||
menu_displaylist_setting(&entry);
|
||||
MENU_DISPLAYLIST_PARSE_SETTINGS_ENUM(
|
||||
info->list,
|
||||
MENU_ENUM_LABEL_CORE_LIST,
|
||||
PARSE_ACTION,
|
||||
false);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (settings->bools.menu_show_load_content)
|
||||
{
|
||||
entry.enum_idx = MENU_ENUM_LABEL_LOAD_CONTENT_LIST;
|
||||
menu_displaylist_setting(&entry);
|
||||
MENU_DISPLAYLIST_PARSE_SETTINGS_ENUM(
|
||||
info->list,
|
||||
MENU_ENUM_LABEL_LOAD_CONTENT_LIST,
|
||||
PARSE_ACTION,
|
||||
false);
|
||||
|
||||
if (menu_displaylist_has_subsystems())
|
||||
{
|
||||
entry.enum_idx = MENU_ENUM_LABEL_SUBSYSTEM_SETTINGS;
|
||||
menu_displaylist_setting(&entry);
|
||||
MENU_DISPLAYLIST_PARSE_SETTINGS_ENUM(
|
||||
info->list,
|
||||
MENU_ENUM_LABEL_SUBSYSTEM_SETTINGS,
|
||||
PARSE_ACTION,
|
||||
false);
|
||||
}
|
||||
}
|
||||
|
||||
entry.enum_idx = MENU_ENUM_LABEL_ADD_CONTENT_LIST;
|
||||
menu_displaylist_setting(&entry);
|
||||
MENU_DISPLAYLIST_PARSE_SETTINGS_ENUM(
|
||||
info->list,
|
||||
MENU_ENUM_LABEL_ADD_CONTENT_LIST,
|
||||
PARSE_ACTION,
|
||||
false);
|
||||
#if defined(HAVE_NETWORKING)
|
||||
{
|
||||
settings_t *settings = config_get_ptr();
|
||||
if (settings->bools.menu_show_online_updater && !settings->bools.kiosk_mode_enable)
|
||||
{
|
||||
entry.enum_idx = MENU_ENUM_LABEL_ONLINE_UPDATER;
|
||||
menu_displaylist_setting(&entry);
|
||||
MENU_DISPLAYLIST_PARSE_SETTINGS_ENUM(
|
||||
info->list,
|
||||
MENU_ENUM_LABEL_ONLINE_UPDATER,
|
||||
PARSE_ACTION,
|
||||
false);
|
||||
}
|
||||
}
|
||||
#endif
|
||||
if (!settings->bools.menu_content_show_settings && !string_is_empty(settings->paths.menu_content_show_settings_password))
|
||||
{
|
||||
entry.enum_idx = MENU_ENUM_LABEL_XMB_MAIN_MENU_ENABLE_SETTINGS;
|
||||
menu_displaylist_setting(&entry);
|
||||
MENU_DISPLAYLIST_PARSE_SETTINGS_ENUM(
|
||||
info->list,
|
||||
MENU_ENUM_LABEL_XMB_MAIN_MENU_ENABLE_SETTINGS,
|
||||
PARSE_ACTION,
|
||||
false);
|
||||
}
|
||||
|
||||
if (settings->bools.kiosk_mode_enable && !string_is_empty(settings->paths.kiosk_mode_password))
|
||||
{
|
||||
entry.enum_idx = MENU_ENUM_LABEL_MENU_DISABLE_KIOSK_MODE;
|
||||
menu_displaylist_setting(&entry);
|
||||
MENU_DISPLAYLIST_PARSE_SETTINGS_ENUM(
|
||||
info->list,
|
||||
MENU_ENUM_LABEL_MENU_DISABLE_KIOSK_MODE,
|
||||
PARSE_ACTION,
|
||||
false);
|
||||
}
|
||||
|
||||
if (settings->bools.menu_show_information)
|
||||
{
|
||||
entry.enum_idx = MENU_ENUM_LABEL_INFORMATION_LIST;
|
||||
menu_displaylist_setting(&entry);
|
||||
MENU_DISPLAYLIST_PARSE_SETTINGS_ENUM(
|
||||
info->list,
|
||||
MENU_ENUM_LABEL_INFORMATION_LIST,
|
||||
PARSE_ACTION,
|
||||
false);
|
||||
}
|
||||
|
||||
#ifndef HAVE_DYNAMIC
|
||||
if (settings->bools.menu_show_restart_retroarch)
|
||||
{
|
||||
entry.enum_idx = MENU_ENUM_LABEL_RESTART_RETROARCH;
|
||||
menu_displaylist_setting(&entry);
|
||||
MENU_DISPLAYLIST_PARSE_SETTINGS_ENUM(
|
||||
info->list,
|
||||
MENU_ENUM_LABEL_RESTART_RETROARCH,
|
||||
PARSE_ACTION,
|
||||
false);
|
||||
}
|
||||
#endif
|
||||
|
||||
if (settings->bools.menu_show_configurations && !settings->bools.kiosk_mode_enable)
|
||||
{
|
||||
entry.enum_idx = MENU_ENUM_LABEL_CONFIGURATIONS_LIST;
|
||||
menu_displaylist_setting(&entry);
|
||||
MENU_DISPLAYLIST_PARSE_SETTINGS_ENUM(
|
||||
info->list,
|
||||
MENU_ENUM_LABEL_CONFIGURATIONS_LIST,
|
||||
PARSE_ACTION,
|
||||
false);
|
||||
}
|
||||
|
||||
if (settings->bools.menu_show_help)
|
||||
{
|
||||
entry.enum_idx = MENU_ENUM_LABEL_HELP_LIST;
|
||||
menu_displaylist_setting(&entry);
|
||||
MENU_DISPLAYLIST_PARSE_SETTINGS_ENUM(
|
||||
info->list,
|
||||
MENU_ENUM_LABEL_HELP_LIST,
|
||||
PARSE_ACTION,
|
||||
false);
|
||||
}
|
||||
|
||||
#if !defined(IOS)
|
||||
if (settings->bools.menu_show_quit_retroarch)
|
||||
{
|
||||
entry.enum_idx = MENU_ENUM_LABEL_QUIT_RETROARCH;
|
||||
menu_displaylist_setting(&entry);
|
||||
MENU_DISPLAYLIST_PARSE_SETTINGS_ENUM(
|
||||
info->list,
|
||||
MENU_ENUM_LABEL_QUIT_RETROARCH,
|
||||
PARSE_ACTION,
|
||||
false);
|
||||
}
|
||||
#endif
|
||||
|
||||
if (settings->bools.menu_show_reboot)
|
||||
{
|
||||
entry.enum_idx = MENU_ENUM_LABEL_REBOOT;
|
||||
menu_displaylist_setting(&entry);
|
||||
MENU_DISPLAYLIST_PARSE_SETTINGS_ENUM(
|
||||
info->list,
|
||||
MENU_ENUM_LABEL_REBOOT,
|
||||
PARSE_ACTION,
|
||||
false);
|
||||
}
|
||||
|
||||
entry.enum_idx = MENU_ENUM_LABEL_SHUTDOWN;
|
||||
menu_displaylist_setting(&entry);
|
||||
MENU_DISPLAYLIST_PARSE_SETTINGS_ENUM(
|
||||
info->list,
|
||||
MENU_ENUM_LABEL_SHUTDOWN,
|
||||
PARSE_ACTION,
|
||||
false);
|
||||
info->need_push = true;
|
||||
ret = 0;
|
||||
}
|
||||
|
@ -6659,7 +6659,6 @@ static int xmb_list_bind_init(menu_file_list_cbs_t *cbs,
|
||||
static int xmb_list_push(void *data, void *userdata,
|
||||
menu_displaylist_info_t *info, unsigned type)
|
||||
{
|
||||
menu_displaylist_ctx_parse_entry_t entry;
|
||||
int ret = -1;
|
||||
core_info_list_t *list = NULL;
|
||||
menu_handle_t *menu = (menu_handle_t*)data;
|
||||
@ -6738,25 +6737,26 @@ static int xmb_list_push(void *data, void *userdata,
|
||||
rarch_system_info_t *system = runloop_get_system_info();
|
||||
menu_entries_ctl(MENU_ENTRIES_CTL_CLEAR, info->list);
|
||||
|
||||
entry.data = menu;
|
||||
entry.info = info;
|
||||
entry.parse_type = PARSE_ACTION;
|
||||
entry.add_empty_entry = false;
|
||||
|
||||
if (rarch_ctl(RARCH_CTL_CORE_IS_RUNNING, NULL))
|
||||
{
|
||||
if (!rarch_ctl(RARCH_CTL_IS_DUMMY_CORE, NULL))
|
||||
{
|
||||
entry.enum_idx = MENU_ENUM_LABEL_CONTENT_SETTINGS;
|
||||
menu_displaylist_setting(&entry);
|
||||
MENU_DISPLAYLIST_PARSE_SETTINGS_ENUM(
|
||||
info->list,
|
||||
MENU_ENUM_LABEL_CONTENT_SETTINGS,
|
||||
PARSE_ACTION,
|
||||
false);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if (system->load_no_content)
|
||||
{
|
||||
entry.enum_idx = MENU_ENUM_LABEL_START_CORE;
|
||||
menu_displaylist_setting(&entry);
|
||||
MENU_DISPLAYLIST_PARSE_SETTINGS_ENUM(
|
||||
info->list,
|
||||
MENU_ENUM_LABEL_START_CORE,
|
||||
PARSE_ACTION,
|
||||
false);
|
||||
}
|
||||
|
||||
#ifndef HAVE_DYNAMIC
|
||||
@ -6765,118 +6765,175 @@ static int xmb_list_push(void *data, void *userdata,
|
||||
{
|
||||
if (menu_show_load_core)
|
||||
{
|
||||
entry.enum_idx = MENU_ENUM_LABEL_CORE_LIST;
|
||||
menu_displaylist_setting(&entry);
|
||||
MENU_DISPLAYLIST_PARSE_SETTINGS_ENUM(
|
||||
info->list,
|
||||
MENU_ENUM_LABEL_CORE_LIST,
|
||||
PARSE_ACTION,
|
||||
false);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (menu_show_load_content)
|
||||
{
|
||||
entry.enum_idx = MENU_ENUM_LABEL_LOAD_CONTENT_LIST;
|
||||
menu_displaylist_setting(&entry);
|
||||
MENU_DISPLAYLIST_PARSE_SETTINGS_ENUM(
|
||||
info->list,
|
||||
MENU_ENUM_LABEL_LOAD_CONTENT_LIST,
|
||||
PARSE_ACTION,
|
||||
false);
|
||||
|
||||
if (menu_displaylist_has_subsystems())
|
||||
{
|
||||
entry.enum_idx = MENU_ENUM_LABEL_SUBSYSTEM_SETTINGS;
|
||||
menu_displaylist_setting(&entry);
|
||||
MENU_DISPLAYLIST_PARSE_SETTINGS_ENUM(
|
||||
info->list,
|
||||
MENU_ENUM_LABEL_SUBSYSTEM_SETTINGS,
|
||||
PARSE_ACTION,
|
||||
false);
|
||||
}
|
||||
}
|
||||
|
||||
if (menu_show_load_disc)
|
||||
{
|
||||
entry.enum_idx = MENU_ENUM_LABEL_LOAD_DISC;
|
||||
menu_displaylist_setting(&entry);
|
||||
MENU_DISPLAYLIST_PARSE_SETTINGS_ENUM(
|
||||
info->list,
|
||||
MENU_ENUM_LABEL_LOAD_DISC,
|
||||
PARSE_ACTION,
|
||||
false);
|
||||
}
|
||||
|
||||
if (menu_show_dump_disc)
|
||||
{
|
||||
entry.enum_idx = MENU_ENUM_LABEL_DUMP_DISC;
|
||||
menu_displaylist_setting(&entry);
|
||||
MENU_DISPLAYLIST_PARSE_SETTINGS_ENUM(
|
||||
info->list,
|
||||
MENU_ENUM_LABEL_DUMP_DISC,
|
||||
PARSE_ACTION,
|
||||
false);
|
||||
}
|
||||
|
||||
entry.enum_idx = MENU_ENUM_LABEL_ADD_CONTENT_LIST;
|
||||
menu_displaylist_setting(&entry);
|
||||
MENU_DISPLAYLIST_PARSE_SETTINGS_ENUM(
|
||||
info->list,
|
||||
MENU_ENUM_LABEL_ADD_CONTENT_LIST,
|
||||
PARSE_ACTION,
|
||||
false);
|
||||
#ifdef HAVE_QT
|
||||
if (desktop_menu_enable)
|
||||
{
|
||||
entry.enum_idx = MENU_ENUM_LABEL_SHOW_WIMP;
|
||||
menu_displaylist_setting(&entry);
|
||||
MENU_DISPLAYLIST_PARSE_SETTINGS_ENUM(
|
||||
info->list,
|
||||
MENU_ENUM_LABEL_SHOW_WIMP,
|
||||
PARSE_ACTION,
|
||||
false);
|
||||
}
|
||||
#endif
|
||||
#if defined(HAVE_NETWORKING)
|
||||
#if defined(HAVE_ONLINE_UPDATER)
|
||||
if (menu_show_online_updater && !kiosk_mode_enable)
|
||||
{
|
||||
entry.enum_idx = MENU_ENUM_LABEL_ONLINE_UPDATER;
|
||||
menu_displaylist_setting(&entry);
|
||||
MENU_DISPLAYLIST_PARSE_SETTINGS_ENUM(
|
||||
info->list,
|
||||
MENU_ENUM_LABEL_ONLINE_UPDATER,
|
||||
PARSE_ACTION,
|
||||
false);
|
||||
}
|
||||
#endif
|
||||
#endif
|
||||
if ( !menu_content_show_settings &&
|
||||
!string_is_empty(menu_content_show_settings_password))
|
||||
{
|
||||
entry.enum_idx = MENU_ENUM_LABEL_XMB_MAIN_MENU_ENABLE_SETTINGS;
|
||||
menu_displaylist_setting(&entry);
|
||||
MENU_DISPLAYLIST_PARSE_SETTINGS_ENUM(
|
||||
info->list,
|
||||
MENU_ENUM_LABEL_XMB_MAIN_MENU_ENABLE_SETTINGS,
|
||||
PARSE_ACTION,
|
||||
false);
|
||||
}
|
||||
|
||||
if (kiosk_mode_enable && !string_is_empty(kiosk_mode_password))
|
||||
{
|
||||
entry.enum_idx = MENU_ENUM_LABEL_MENU_DISABLE_KIOSK_MODE;
|
||||
menu_displaylist_setting(&entry);
|
||||
MENU_DISPLAYLIST_PARSE_SETTINGS_ENUM(
|
||||
info->list,
|
||||
MENU_ENUM_LABEL_MENU_DISABLE_KIOSK_MODE,
|
||||
PARSE_ACTION,
|
||||
false);
|
||||
}
|
||||
|
||||
if (menu_show_information)
|
||||
{
|
||||
entry.enum_idx = MENU_ENUM_LABEL_INFORMATION_LIST;
|
||||
menu_displaylist_setting(&entry);
|
||||
MENU_DISPLAYLIST_PARSE_SETTINGS_ENUM(
|
||||
info->list,
|
||||
MENU_ENUM_LABEL_INFORMATION_LIST,
|
||||
PARSE_ACTION,
|
||||
false);
|
||||
}
|
||||
|
||||
#if defined(HAVE_LAKKA_SWITCH) || defined(HAVE_LIBNX)
|
||||
entry.enum_idx = MENU_ENUM_LABEL_SWITCH_CPU_PROFILE;
|
||||
menu_displaylist_setting(&entry);
|
||||
MENU_DISPLAYLIST_PARSE_SETTINGS_ENUM(
|
||||
info->list,
|
||||
MENU_ENUM_LABEL_SWITCH_CPU_PROFILE,
|
||||
PARSE_ACTION,
|
||||
false);
|
||||
#endif
|
||||
|
||||
#ifdef HAVE_LAKKA_SWITCH
|
||||
entry.enum_idx = MENU_ENUM_LABEL_SWITCH_GPU_PROFILE;
|
||||
menu_displaylist_setting(&entry);
|
||||
MENU_DISPLAYLIST_PARSE_SETTINGS_ENUM(
|
||||
info->list,
|
||||
MENU_ENUM_LABEL_SWITCH_GPU_PROFILE,
|
||||
PARSE_ACTION,
|
||||
false);
|
||||
#endif
|
||||
|
||||
if (menu_show_configurations && !kiosk_mode_enable)
|
||||
{
|
||||
entry.enum_idx = MENU_ENUM_LABEL_CONFIGURATIONS_LIST;
|
||||
menu_displaylist_setting(&entry);
|
||||
MENU_DISPLAYLIST_PARSE_SETTINGS_ENUM(
|
||||
info->list,
|
||||
MENU_ENUM_LABEL_CONFIGURATIONS_LIST,
|
||||
PARSE_ACTION,
|
||||
false);
|
||||
}
|
||||
|
||||
if (menu_show_help)
|
||||
{
|
||||
entry.enum_idx = MENU_ENUM_LABEL_HELP_LIST;
|
||||
menu_displaylist_setting(&entry);
|
||||
MENU_DISPLAYLIST_PARSE_SETTINGS_ENUM(
|
||||
info->list,
|
||||
MENU_ENUM_LABEL_HELP_LIST,
|
||||
PARSE_ACTION,
|
||||
false);
|
||||
}
|
||||
|
||||
#if !defined(IOS)
|
||||
if (menu_show_restart_ra)
|
||||
{
|
||||
entry.enum_idx = MENU_ENUM_LABEL_RESTART_RETROARCH;
|
||||
menu_displaylist_setting(&entry);
|
||||
MENU_DISPLAYLIST_PARSE_SETTINGS_ENUM(
|
||||
info->list,
|
||||
MENU_ENUM_LABEL_RESTART_RETROARCH,
|
||||
PARSE_ACTION,
|
||||
false);
|
||||
}
|
||||
|
||||
if (menu_show_quit_retroarch)
|
||||
{
|
||||
entry.enum_idx = MENU_ENUM_LABEL_QUIT_RETROARCH;
|
||||
menu_displaylist_setting(&entry);
|
||||
MENU_DISPLAYLIST_PARSE_SETTINGS_ENUM(
|
||||
info->list,
|
||||
MENU_ENUM_LABEL_QUIT_RETROARCH,
|
||||
PARSE_ACTION,
|
||||
false);
|
||||
}
|
||||
#endif
|
||||
if (menu_show_reboot)
|
||||
{
|
||||
entry.enum_idx = MENU_ENUM_LABEL_REBOOT;
|
||||
menu_displaylist_setting(&entry);
|
||||
MENU_DISPLAYLIST_PARSE_SETTINGS_ENUM(
|
||||
info->list,
|
||||
MENU_ENUM_LABEL_REBOOT,
|
||||
PARSE_ACTION,
|
||||
false);
|
||||
}
|
||||
|
||||
if (menu_show_shutdown)
|
||||
{
|
||||
entry.enum_idx = MENU_ENUM_LABEL_SHUTDOWN;
|
||||
menu_displaylist_setting(&entry);
|
||||
MENU_DISPLAYLIST_PARSE_SETTINGS_ENUM(
|
||||
info->list,
|
||||
MENU_ENUM_LABEL_SHUTDOWN,
|
||||
PARSE_ACTION,
|
||||
false);
|
||||
}
|
||||
|
||||
info->need_push = true;
|
||||
|
@ -108,10 +108,6 @@
|
||||
#include "../manual_content_scan.h"
|
||||
#include "../core_backup.h"
|
||||
|
||||
#define MENU_DISPLAYLIST_PARSE_SETTINGS_ENUM(list, label, parse_type, add_empty_entry) menu_displaylist_parse_settings_internal_enum(list, parse_type, add_empty_entry, menu_setting_find_enum(label), label, true)
|
||||
|
||||
#define MENU_DISPLAYLIST_PARSE_SETTINGS(list, label, parse_type, add_empty_entry, entry_type) menu_displaylist_parse_settings_internal_enum(list, parse_type, add_empty_entry, menu_setting_find(label), entry_type, false)
|
||||
|
||||
/* Spacers used for '<content> - <core name>' labels
|
||||
* in playlists */
|
||||
#define PL_LABEL_SPACER_DEFAULT " | "
|
||||
@ -2235,7 +2231,7 @@ error:
|
||||
}
|
||||
#endif
|
||||
|
||||
static int menu_displaylist_parse_settings_internal_enum(
|
||||
int menu_displaylist_parse_settings_enum(
|
||||
file_list_t *info_list,
|
||||
enum menu_displaylist_parse_type parse_type,
|
||||
bool add_empty_entry,
|
||||
@ -4797,17 +4793,6 @@ void menu_displaylist_info_init(menu_displaylist_info_t *info)
|
||||
info->setting = NULL;
|
||||
}
|
||||
|
||||
bool menu_displaylist_setting(menu_displaylist_ctx_parse_entry_t *entry)
|
||||
{
|
||||
if (MENU_DISPLAYLIST_PARSE_SETTINGS_ENUM(
|
||||
entry->info->list,
|
||||
entry->enum_idx,
|
||||
entry->parse_type,
|
||||
entry->add_empty_entry) == -1)
|
||||
return false;
|
||||
return true;
|
||||
}
|
||||
|
||||
typedef struct menu_displaylist_build_info {
|
||||
enum msg_hash_enums enum_idx;
|
||||
enum menu_displaylist_parse_type parse_type;
|
||||
|
@ -320,6 +320,10 @@ typedef struct menu_displaylist_ctx_entry
|
||||
file_list_t *list;
|
||||
} menu_displaylist_ctx_entry_t;
|
||||
|
||||
#define MENU_DISPLAYLIST_PARSE_SETTINGS_ENUM(list, label, parse_type, add_empty_entry) menu_displaylist_parse_settings_enum(list, parse_type, add_empty_entry, menu_setting_find_enum(label), label, true)
|
||||
|
||||
#define MENU_DISPLAYLIST_PARSE_SETTINGS(list, label, parse_type, add_empty_entry, entry_type) menu_displaylist_parse_settings_enum(list, parse_type, add_empty_entry, menu_setting_find(label), entry_type, false)
|
||||
|
||||
bool menu_displaylist_process(menu_displaylist_info_t *info);
|
||||
|
||||
void menu_displaylist_info_free(menu_displaylist_info_t *info);
|
||||
@ -330,8 +334,6 @@ void menu_displaylist_info_init(menu_displaylist_info_t *info);
|
||||
|
||||
bool menu_displaylist_ctl(enum menu_displaylist_ctl_state type, menu_displaylist_info_t *info);
|
||||
|
||||
bool menu_displaylist_setting(menu_displaylist_ctx_parse_entry_t *entry);
|
||||
|
||||
#ifdef HAVE_NETWORKING
|
||||
unsigned menu_displaylist_netplay_refresh_rooms(file_list_t *list);
|
||||
#endif
|
||||
@ -348,6 +350,15 @@ void filebrowser_clear_type(void);
|
||||
|
||||
void filebrowser_set_type(enum filebrowser_enums type);
|
||||
|
||||
int menu_displaylist_parse_settings_enum(
|
||||
file_list_t *info_list,
|
||||
enum menu_displaylist_parse_type parse_type,
|
||||
bool add_empty_entry,
|
||||
rarch_setting_t *setting,
|
||||
unsigned entry_type,
|
||||
bool is_enum
|
||||
);
|
||||
|
||||
RETRO_END_DECLS
|
||||
|
||||
#endif
|
||||
|
Loading…
x
Reference in New Issue
Block a user