Refactor remaining setting screens

This commit is contained in:
twinaphex 2016-07-02 20:40:27 +02:00
parent abe2a14b16
commit 3c81b2597d
16 changed files with 910 additions and 51 deletions

View File

@ -1184,7 +1184,7 @@ const char *msg_hash_to_str_de(enum msg_hash_enums msg)
return "Menü-Einstellungen";
case MENU_ENUM_LABEL_VALUE_MULTIMEDIA_SETTINGS:
return "Media-Player-Einstellungen"; /* UPDATE/FIXME */
case MENU_ENUM_LABEL_VALUE_UI_SETTINGS:
case MENU_ENUM_LABEL_VALUE_USER_INTERFACE_SETTINGS:
return "Benutzeroberflächen-Einstellungen";
case MENU_ENUM_LABEL_VALUE_MENU_FILE_BROWSER_SETTINGS:
return "Menü-Dateibrowser-Einstellungen";

View File

@ -2295,7 +2295,7 @@ const char *msg_hash_to_str_es(enum msg_hash_enums msg)
return "Menú";
case MENU_ENUM_LABEL_VALUE_MULTIMEDIA_SETTINGS:
return "Multimedia";
case MENU_ENUM_LABEL_VALUE_UI_SETTINGS:
case MENU_ENUM_LABEL_VALUE_USER_INTERFACE_SETTINGS:
return "Interfaz de usuario";
case MENU_ENUM_LABEL_VALUE_MENU_FILE_BROWSER_SETTINGS:
return "Navegador de archivos del menú";

View File

@ -980,7 +980,7 @@ const char *msg_hash_to_str_fr(enum msg_hash_enums msg)
return "Menu";
case MENU_ENUM_LABEL_VALUE_MULTIMEDIA_SETTINGS:
return "Multimédia";
case MENU_ENUM_LABEL_VALUE_UI_SETTINGS:
case MENU_ENUM_LABEL_VALUE_USER_INTERFACE_SETTINGS:
return "Interface graphique";
case MENU_ENUM_LABEL_VALUE_MENU_FILE_BROWSER_SETTINGS:
return "Navigateur de fichiers";

View File

@ -1991,7 +1991,7 @@ const char *msg_hash_to_str_it(enum msg_hash_enums msg)
return "Menù";
case MENU_ENUM_LABEL_VALUE_MULTIMEDIA_SETTINGS:
return "Multimedia";
case MENU_ENUM_LABEL_VALUE_UI_SETTINGS:
case MENU_ENUM_LABEL_VALUE_USER_INTERFACE_SETTINGS:
return "Interfaccia Utente";
case MENU_ENUM_LABEL_VALUE_MENU_FILE_BROWSER_SETTINGS:
return "Seleziona file";

View File

@ -843,7 +843,7 @@ const char *msg_hash_to_str_nl(enum msg_hash_enums msg)
return "Menu";
case MENU_ENUM_LABEL_VALUE_MULTIMEDIA_SETTINGS:
return "Multimedia";
case MENU_ENUM_LABEL_VALUE_UI_SETTINGS:
case MENU_ENUM_LABEL_VALUE_USER_INTERFACE_SETTINGS:
return "Gebruikersinterface";
case MENU_ENUM_LABEL_VALUE_MENU_FILE_BROWSER_SETTINGS:
return "Menu Bestandsbeheer";

View File

@ -965,7 +965,7 @@ const char *msg_hash_to_str_pl(enum msg_hash_enums msg)
return "Ustawienia menu";
case MENU_ENUM_LABEL_VALUE_MULTIMEDIA_SETTINGS:
return "Ustawienia multimediów";
case MENU_ENUM_LABEL_VALUE_UI_SETTINGS:
case MENU_ENUM_LABEL_VALUE_USER_INTERFACE_SETTINGS:
return "Ustawienia interfejsu u¿ytkownika";
case MENU_ENUM_LABEL_VALUE_MENU_FILE_BROWSER_SETTINGS:
return "Menu File Browser Settings";

View File

@ -1872,7 +1872,7 @@ const char *msg_hash_to_str_pt(enum msg_hash_enums msg)
return "Menu";
case MENU_ENUM_LABEL_VALUE_MULTIMEDIA_SETTINGS:
return "Reprodução de Mídia"; /* UPDATE/FIXME */
case MENU_ENUM_LABEL_VALUE_UI_SETTINGS:
case MENU_ENUM_LABEL_VALUE_USER_INTERFACE_SETTINGS:
return "Interface de Usuário";
case MENU_ENUM_LABEL_VALUE_MENU_FILE_BROWSER_SETTINGS:
return "Menu de Navegação";

View File

@ -1294,6 +1294,24 @@ static const char *menu_hash_to_str_us_label_enum(enum msg_hash_enums msg)
return "deferred_onscreen_display_settings_list";
case MENU_ENUM_LABEL_DEFERRED_ONSCREEN_OVERLAY_SETTINGS_LIST:
return "deferred_onscreen_overlay_settings_list";
case MENU_ENUM_LABEL_DEFERRED_MENU_SETTINGS_LIST:
return "deferred_menu_settings_list";
case MENU_ENUM_LABEL_DEFERRED_USER_INTERFACE_SETTINGS_LIST:
return "deferred_user_interface_settings_list";
case MENU_ENUM_LABEL_DEFERRED_MENU_FILE_BROWSER_SETTINGS_LIST:
return "deferred_menu_file_browser_settings_list";
case MENU_ENUM_LABEL_DEFERRED_RETRO_ACHIEVEMENTS_SETTINGS_LIST:
return "deferred_retro_achievements_settings_list";
case MENU_ENUM_LABEL_DEFERRED_UPDATER_SETTINGS_LIST:
return "deferred_updater_settings_list";
case MENU_ENUM_LABEL_DEFERRED_NETWORK_SETTINGS_LIST:
return "deferred_network_settings_list";
case MENU_ENUM_LABEL_DEFERRED_USER_SETTINGS_LIST:
return "deferred_user_settings_list";
case MENU_ENUM_LABEL_DEFERRED_DIRECTORY_SETTINGS_LIST:
return "deferred_directory_settings_list";
case MENU_ENUM_LABEL_DEFERRED_PRIVACY_SETTINGS_LIST:
return "deferred_privacy_settings_list";
case MENU_ENUM_LABEL_ACCOUNTS_LIST:
return "accounts_list";
case MENU_ENUM_LABEL_DEFERRED_INPUT_HOTKEY_BINDS_LIST:
@ -1332,6 +1350,24 @@ static const char *menu_hash_to_str_us_label_enum(enum msg_hash_enums msg)
return "onscreen_overlay_settings";
case MENU_ENUM_LABEL_AUDIO_SETTINGS:
return "audio_settings";
case MENU_ENUM_LABEL_MENU_SETTINGS:
return "menu_settings";
case MENU_ENUM_LABEL_USER_INTERFACE_SETTINGS:
return "user_interface_settings";
case MENU_ENUM_LABEL_MENU_FILE_BROWSER_SETTINGS:
return "menu_file_browser_settings";
case MENU_ENUM_LABEL_RETRO_ACHIEVEMENTS_SETTINGS:
return "retro_achievements_settings";
case MENU_ENUM_LABEL_UPDATER_SETTINGS:
return "updater_settings";
case MENU_ENUM_LABEL_NETWORK_SETTINGS:
return "network_settings";
case MENU_ENUM_LABEL_USER_SETTINGS:
return "user_settings";
case MENU_ENUM_LABEL_DIRECTORY_SETTINGS:
return "directory_settings";
case MENU_ENUM_LABEL_PRIVACY_SETTINGS:
return "privacy_settings";
case MENU_ENUM_LABEL_DEBUG_PANEL_ENABLE:
return "debug_panel_enable";
case MENU_ENUM_LABEL_HELP_SCANNING_CONTENT:
@ -2454,6 +2490,8 @@ const char *msg_hash_to_str_us(enum msg_hash_enums msg)
return "Password";
case MENU_ENUM_LABEL_VALUE_ACCOUNTS_RETRO_ACHIEVEMENTS:
return "Retro Achievements";
case MENU_ENUM_LABEL_VALUE_RETRO_ACHIEVEMENTS_SETTINGS:
return "Retro Achievements";
case MENU_ENUM_LABEL_VALUE_ACCOUNTS_LIST:
return "Accounts";
case MENU_ENUM_LABEL_VALUE_ACCOUNTS_LIST_END:
@ -3350,12 +3388,14 @@ const char *msg_hash_to_str_us(enum msg_hash_enums msg)
return "Menu";
case MENU_ENUM_LABEL_VALUE_MULTIMEDIA_SETTINGS:
return "Multimedia";
case MENU_ENUM_LABEL_VALUE_UI_SETTINGS:
case MENU_ENUM_LABEL_VALUE_USER_INTERFACE_SETTINGS:
return "User Interface";
case MENU_ENUM_LABEL_VALUE_MENU_FILE_BROWSER_SETTINGS:
return "Menu File Browser";
case MENU_ENUM_LABEL_VALUE_CORE_UPDATER_SETTINGS:
return "Updater";
case MENU_ENUM_LABEL_VALUE_UPDATER_SETTINGS:
return "Updater";
case MENU_ENUM_LABEL_VALUE_NETWORK_SETTINGS:
return "Network";
case MENU_ENUM_LABEL_VALUE_LAKKA_SERVICES:

View File

@ -149,6 +149,51 @@ static int deferred_push_onscreen_overlay_settings_list(menu_displaylist_info_t
return deferred_push_dlist(info, DISPLAYLIST_ONSCREEN_OVERLAY_SETTINGS_LIST);
}
static int deferred_push_menu_settings_list(menu_displaylist_info_t *info)
{
return deferred_push_dlist(info, DISPLAYLIST_MENU_SETTINGS_LIST);
}
static int deferred_push_user_interface_settings_list(menu_displaylist_info_t *info)
{
return deferred_push_dlist(info, DISPLAYLIST_USER_INTERFACE_SETTINGS_LIST);
}
static int deferred_push_menu_file_browser_settings_list(menu_displaylist_info_t *info)
{
return deferred_push_dlist(info, DISPLAYLIST_MENU_FILE_BROWSER_SETTINGS_LIST);
}
static int deferred_push_retro_achievements_settings_list(menu_displaylist_info_t *info)
{
return deferred_push_dlist(info, DISPLAYLIST_RETRO_ACHIEVEMENTS_SETTINGS_LIST);
}
static int deferred_push_updater_settings_list(menu_displaylist_info_t *info)
{
return deferred_push_dlist(info, DISPLAYLIST_UPDATER_SETTINGS_LIST);
}
static int deferred_push_network_settings_list(menu_displaylist_info_t *info)
{
return deferred_push_dlist(info, DISPLAYLIST_NETWORK_SETTINGS_LIST);
}
static int deferred_push_user_settings_list(menu_displaylist_info_t *info)
{
return deferred_push_dlist(info, DISPLAYLIST_USER_SETTINGS_LIST);
}
static int deferred_push_directory_settings_list(menu_displaylist_info_t *info)
{
return deferred_push_dlist(info, DISPLAYLIST_DIRECTORY_SETTINGS_LIST);
}
static int deferred_push_privacy_settings_list(menu_displaylist_info_t *info)
{
return deferred_push_dlist(info, DISPLAYLIST_PRIVACY_SETTINGS_LIST);
}
static int deferred_push_audio_settings_list(menu_displaylist_info_t *info)
{
return deferred_push_dlist(info, DISPLAYLIST_AUDIO_SETTINGS_LIST);
@ -642,42 +687,95 @@ static int menu_cbs_init_bind_deferred_push_compare_label(
BIND_ACTION_DEFERRED_PUSH(cbs, deferred_push_core_settings_list);
return 0;
}
else if (string_is_equal(label, msg_hash_to_str(MENU_ENUM_LABEL_DEFERRED_CONFIGURATION_SETTINGS_LIST)))
if (string_is_equal(label, msg_hash_to_str(MENU_ENUM_LABEL_DEFERRED_CONFIGURATION_SETTINGS_LIST)))
{
BIND_ACTION_DEFERRED_PUSH(cbs, deferred_push_configuration_settings_list);
return 0;
}
else if (string_is_equal(label, msg_hash_to_str(MENU_ENUM_LABEL_DEFERRED_SAVING_SETTINGS_LIST)))
if (string_is_equal(label, msg_hash_to_str(MENU_ENUM_LABEL_DEFERRED_SAVING_SETTINGS_LIST)))
{
BIND_ACTION_DEFERRED_PUSH(cbs, deferred_push_saving_settings_list);
return 0;
}
else if (string_is_equal(label, msg_hash_to_str(MENU_ENUM_LABEL_DEFERRED_LOGGING_SETTINGS_LIST)))
if (string_is_equal(label, msg_hash_to_str(MENU_ENUM_LABEL_DEFERRED_LOGGING_SETTINGS_LIST)))
{
BIND_ACTION_DEFERRED_PUSH(cbs, deferred_push_logging_settings_list);
return 0;
}
else if (string_is_equal(label, msg_hash_to_str(MENU_ENUM_LABEL_DEFERRED_FRAME_THROTTLE_SETTINGS_LIST)))
if (string_is_equal(label, msg_hash_to_str(MENU_ENUM_LABEL_DEFERRED_FRAME_THROTTLE_SETTINGS_LIST)))
{
BIND_ACTION_DEFERRED_PUSH(cbs, deferred_push_frame_throttle_settings_list);
return 0;
}
else if (string_is_equal(label, msg_hash_to_str(MENU_ENUM_LABEL_DEFERRED_REWIND_SETTINGS_LIST)))
if (string_is_equal(label, msg_hash_to_str(MENU_ENUM_LABEL_DEFERRED_REWIND_SETTINGS_LIST)))
{
BIND_ACTION_DEFERRED_PUSH(cbs, deferred_push_rewind_settings_list);
return 0;
}
else if (string_is_equal(label, msg_hash_to_str(MENU_ENUM_LABEL_DEFERRED_ONSCREEN_DISPLAY_SETTINGS_LIST)))
if (string_is_equal(label, msg_hash_to_str(MENU_ENUM_LABEL_DEFERRED_ONSCREEN_DISPLAY_SETTINGS_LIST)))
{
BIND_ACTION_DEFERRED_PUSH(cbs, deferred_push_onscreen_display_settings_list);
return 0;
}
else if (string_is_equal(label, msg_hash_to_str(MENU_ENUM_LABEL_DEFERRED_ONSCREEN_OVERLAY_SETTINGS_LIST)))
if (string_is_equal(label, msg_hash_to_str(MENU_ENUM_LABEL_DEFERRED_ONSCREEN_OVERLAY_SETTINGS_LIST)))
{
BIND_ACTION_DEFERRED_PUSH(cbs, deferred_push_onscreen_overlay_settings_list);
return 0;
}
else if (string_is_equal(label, msg_hash_to_str(MENU_ENUM_LABEL_DEFERRED_CORE_CONTENT_DIRS_LIST)))
if (string_is_equal(label, msg_hash_to_str(MENU_ENUM_LABEL_DEFERRED_MENU_SETTINGS_LIST)))
{
BIND_ACTION_DEFERRED_PUSH(cbs, deferred_push_menu_settings_list);
return 0;
}
if (string_is_equal(label, msg_hash_to_str(MENU_ENUM_LABEL_DEFERRED_USER_INTERFACE_SETTINGS_LIST)))
{
BIND_ACTION_DEFERRED_PUSH(cbs, deferred_push_user_interface_settings_list);
return 0;
}
if (string_is_equal(label, msg_hash_to_str(MENU_ENUM_LABEL_DEFERRED_MENU_FILE_BROWSER_SETTINGS_LIST)))
{
BIND_ACTION_DEFERRED_PUSH(cbs, deferred_push_menu_file_browser_settings_list);
return 0;
}
if (string_is_equal(label, msg_hash_to_str(MENU_ENUM_LABEL_DEFERRED_RETRO_ACHIEVEMENTS_SETTINGS_LIST)))
{
BIND_ACTION_DEFERRED_PUSH(cbs, deferred_push_retro_achievements_settings_list);
return 0;
}
if (string_is_equal(label, msg_hash_to_str(MENU_ENUM_LABEL_DEFERRED_UPDATER_SETTINGS_LIST)))
{
BIND_ACTION_DEFERRED_PUSH(cbs, deferred_push_updater_settings_list);
return 0;
}
if (string_is_equal(label, msg_hash_to_str(MENU_ENUM_LABEL_DEFERRED_NETWORK_SETTINGS_LIST)))
{
BIND_ACTION_DEFERRED_PUSH(cbs, deferred_push_network_settings_list);
return 0;
}
if (string_is_equal(label, msg_hash_to_str(MENU_ENUM_LABEL_DEFERRED_USER_SETTINGS_LIST)))
{
BIND_ACTION_DEFERRED_PUSH(cbs, deferred_push_user_settings_list);
return 0;
}
if (string_is_equal(label, msg_hash_to_str(MENU_ENUM_LABEL_DEFERRED_DIRECTORY_SETTINGS_LIST)))
{
BIND_ACTION_DEFERRED_PUSH(cbs, deferred_push_directory_settings_list);
return 0;
}
if (string_is_equal(label, msg_hash_to_str(MENU_ENUM_LABEL_DEFERRED_PRIVACY_SETTINGS_LIST)))
{
BIND_ACTION_DEFERRED_PUSH(cbs, deferred_push_privacy_settings_list);
return 0;
}
if (string_is_equal(label, msg_hash_to_str(MENU_ENUM_LABEL_DEFERRED_CORE_CONTENT_DIRS_LIST)))
{
#ifdef HAVE_NETWORKING
BIND_ACTION_DEFERRED_PUSH(cbs, deferred_push_core_content_dirs_list);

View File

@ -514,6 +514,69 @@ int generic_action_ok_displaylist_push(const char *path,
info_label = msg_hash_to_str(MENU_ENUM_LABEL_DEFERRED_ONSCREEN_OVERLAY_SETTINGS_LIST);
info.enum_idx = MENU_ENUM_LABEL_DEFERRED_ONSCREEN_OVERLAY_SETTINGS_LIST;
break;
case ACTION_OK_DL_MENU_SETTINGS_LIST:
info.directory_ptr = idx;
info.type = type;
info_path = path;
info_label = msg_hash_to_str(MENU_ENUM_LABEL_DEFERRED_MENU_SETTINGS_LIST);
info.enum_idx = MENU_ENUM_LABEL_DEFERRED_MENU_SETTINGS_LIST;
break;
case ACTION_OK_DL_USER_INTERFACE_SETTINGS_LIST:
info.directory_ptr = idx;
info.type = type;
info_path = path;
info_label = msg_hash_to_str(MENU_ENUM_LABEL_DEFERRED_USER_INTERFACE_SETTINGS_LIST);
info.enum_idx = MENU_ENUM_LABEL_DEFERRED_USER_INTERFACE_SETTINGS_LIST;
break;
case ACTION_OK_DL_MENU_FILE_BROWSER_SETTINGS_LIST:
info.directory_ptr = idx;
info.type = type;
info_path = path;
info_label = msg_hash_to_str(MENU_ENUM_LABEL_DEFERRED_MENU_FILE_BROWSER_SETTINGS_LIST);
info.enum_idx = MENU_ENUM_LABEL_DEFERRED_MENU_FILE_BROWSER_SETTINGS_LIST;
break;
case ACTION_OK_DL_RETRO_ACHIEVEMENTS_SETTINGS_LIST:
info.directory_ptr = idx;
info.type = type;
info_path = path;
info_label = msg_hash_to_str(MENU_ENUM_LABEL_DEFERRED_RETRO_ACHIEVEMENTS_SETTINGS_LIST);
info.enum_idx = MENU_ENUM_LABEL_DEFERRED_RETRO_ACHIEVEMENTS_SETTINGS_LIST;
break;
case ACTION_OK_DL_UPDATER_SETTINGS_LIST:
info.directory_ptr = idx;
info.type = type;
info_path = path;
info_label = msg_hash_to_str(MENU_ENUM_LABEL_DEFERRED_UPDATER_SETTINGS_LIST);
info.enum_idx = MENU_ENUM_LABEL_DEFERRED_UPDATER_SETTINGS_LIST;
break;
case ACTION_OK_DL_NETWORK_SETTINGS_LIST:
info.directory_ptr = idx;
info.type = type;
info_path = path;
info_label = msg_hash_to_str(MENU_ENUM_LABEL_DEFERRED_NETWORK_SETTINGS_LIST);
info.enum_idx = MENU_ENUM_LABEL_DEFERRED_NETWORK_SETTINGS_LIST;
break;
case ACTION_OK_DL_USER_SETTINGS_LIST:
info.directory_ptr = idx;
info.type = type;
info_path = path;
info_label = msg_hash_to_str(MENU_ENUM_LABEL_DEFERRED_USER_SETTINGS_LIST);
info.enum_idx = MENU_ENUM_LABEL_DEFERRED_USER_SETTINGS_LIST;
break;
case ACTION_OK_DL_DIRECTORY_SETTINGS_LIST:
info.directory_ptr = idx;
info.type = type;
info_path = path;
info_label = msg_hash_to_str(MENU_ENUM_LABEL_DEFERRED_DIRECTORY_SETTINGS_LIST);
info.enum_idx = MENU_ENUM_LABEL_DEFERRED_DIRECTORY_SETTINGS_LIST;
break;
case ACTION_OK_DL_PRIVACY_SETTINGS_LIST:
info.directory_ptr = idx;
info.type = type;
info_path = path;
info_label = msg_hash_to_str(MENU_ENUM_LABEL_DEFERRED_PRIVACY_SETTINGS_LIST);
info.enum_idx = MENU_ENUM_LABEL_DEFERRED_PRIVACY_SETTINGS_LIST;
break;
case ACTION_OK_DL_AUDIO_SETTINGS_LIST:
info.directory_ptr = idx;
info.type = type;
@ -2394,6 +2457,69 @@ static int action_ok_onscreen_overlay_list(const char *path,
entry_idx, ACTION_OK_DL_ONSCREEN_OVERLAY_SETTINGS_LIST);
}
static int action_ok_menu_list(const char *path,
const char *label, unsigned type, size_t idx, size_t entry_idx)
{
return generic_action_ok_displaylist_push(path, label, type, idx,
entry_idx, ACTION_OK_DL_MENU_SETTINGS_LIST);
}
static int action_ok_user_interface_list(const char *path,
const char *label, unsigned type, size_t idx, size_t entry_idx)
{
return generic_action_ok_displaylist_push(path, label, type, idx,
entry_idx, ACTION_OK_DL_USER_INTERFACE_SETTINGS_LIST);
}
static int action_ok_menu_file_browser_list(const char *path,
const char *label, unsigned type, size_t idx, size_t entry_idx)
{
return generic_action_ok_displaylist_push(path, label, type, idx,
entry_idx, ACTION_OK_DL_MENU_FILE_BROWSER_SETTINGS_LIST);
}
static int action_ok_retro_achievements_list(const char *path,
const char *label, unsigned type, size_t idx, size_t entry_idx)
{
return generic_action_ok_displaylist_push(path, label, type, idx,
entry_idx, ACTION_OK_DL_RETRO_ACHIEVEMENTS_SETTINGS_LIST);
}
static int action_ok_updater_list(const char *path,
const char *label, unsigned type, size_t idx, size_t entry_idx)
{
return generic_action_ok_displaylist_push(path, label, type, idx,
entry_idx, ACTION_OK_DL_UPDATER_SETTINGS_LIST);
}
static int action_ok_network_list(const char *path,
const char *label, unsigned type, size_t idx, size_t entry_idx)
{
return generic_action_ok_displaylist_push(path, label, type, idx,
entry_idx, ACTION_OK_DL_NETWORK_SETTINGS_LIST);
}
static int action_ok_user_list(const char *path,
const char *label, unsigned type, size_t idx, size_t entry_idx)
{
return generic_action_ok_displaylist_push(path, label, type, idx,
entry_idx, ACTION_OK_DL_USER_SETTINGS_LIST);
}
static int action_ok_directory_list(const char *path,
const char *label, unsigned type, size_t idx, size_t entry_idx)
{
return generic_action_ok_displaylist_push(path, label, type, idx,
entry_idx, ACTION_OK_DL_DIRECTORY_SETTINGS_LIST);
}
static int action_ok_privacy_list(const char *path,
const char *label, unsigned type, size_t idx, size_t entry_idx)
{
return generic_action_ok_displaylist_push(path, label, type, idx,
entry_idx, ACTION_OK_DL_PRIVACY_SETTINGS_LIST);
}
static int action_ok_rdb_entry(const char *path,
const char *label, unsigned type, size_t idx, size_t entry_idx)
{
@ -3048,6 +3174,33 @@ static int menu_cbs_init_bind_ok_compare_label(menu_file_list_cbs_t *cbs,
case MENU_ENUM_LABEL_ONSCREEN_OVERLAY_SETTINGS:
BIND_ACTION_OK(cbs, action_ok_onscreen_overlay_list);
break;
case MENU_ENUM_LABEL_MENU_SETTINGS:
BIND_ACTION_OK(cbs, action_ok_menu_list);
break;
case MENU_ENUM_LABEL_USER_INTERFACE_SETTINGS:
BIND_ACTION_OK(cbs, action_ok_user_interface_list);
break;
case MENU_ENUM_LABEL_MENU_FILE_BROWSER_SETTINGS:
BIND_ACTION_OK(cbs, action_ok_menu_file_browser_list);
break;
case MENU_ENUM_LABEL_RETRO_ACHIEVEMENTS_SETTINGS:
BIND_ACTION_OK(cbs, action_ok_retro_achievements_list);
break;
case MENU_ENUM_LABEL_UPDATER_SETTINGS:
BIND_ACTION_OK(cbs, action_ok_updater_list);
break;
case MENU_ENUM_LABEL_NETWORK_SETTINGS:
BIND_ACTION_OK(cbs, action_ok_network_list);
break;
case MENU_ENUM_LABEL_USER_SETTINGS:
BIND_ACTION_OK(cbs, action_ok_user_list);
break;
case MENU_ENUM_LABEL_DIRECTORY_SETTINGS:
BIND_ACTION_OK(cbs, action_ok_directory_list);
break;
case MENU_ENUM_LABEL_PRIVACY_SETTINGS:
BIND_ACTION_OK(cbs, action_ok_privacy_list);
break;
case MENU_ENUM_LABEL_SCREEN_RESOLUTION:
BIND_ACTION_OK(cbs, action_ok_video_resolution);
break;

View File

@ -249,6 +249,69 @@ static int action_get_onscreen_overlay_settings_list(const char *path, const cha
return 0;
}
static int action_get_menu_settings_list(const char *path, const char *label,
unsigned menu_type, char *s, size_t len)
{
sanitize_to_string(s, msg_hash_to_str(MENU_ENUM_LABEL_VALUE_MENU_SETTINGS), len);
return 0;
}
static int action_get_user_interface_settings_list(const char *path, const char *label,
unsigned menu_type, char *s, size_t len)
{
sanitize_to_string(s, msg_hash_to_str(MENU_ENUM_LABEL_VALUE_USER_INTERFACE_SETTINGS), len);
return 0;
}
static int action_get_menu_file_browser_settings_list(const char *path, const char *label,
unsigned menu_type, char *s, size_t len)
{
sanitize_to_string(s, msg_hash_to_str(MENU_ENUM_LABEL_VALUE_MENU_FILE_BROWSER_SETTINGS), len);
return 0;
}
static int action_get_retro_achievements_settings_list(const char *path, const char *label,
unsigned menu_type, char *s, size_t len)
{
sanitize_to_string(s, msg_hash_to_str(MENU_ENUM_LABEL_VALUE_RETRO_ACHIEVEMENTS_SETTINGS), len);
return 0;
}
static int action_get_network_settings_list(const char *path, const char *label,
unsigned menu_type, char *s, size_t len)
{
sanitize_to_string(s, msg_hash_to_str(MENU_ENUM_LABEL_VALUE_NETWORK_SETTINGS), len);
return 0;
}
static int action_get_user_settings_list(const char *path, const char *label,
unsigned menu_type, char *s, size_t len)
{
sanitize_to_string(s, msg_hash_to_str(MENU_ENUM_LABEL_VALUE_USER_SETTINGS), len);
return 0;
}
static int action_get_directory_settings_list(const char *path, const char *label,
unsigned menu_type, char *s, size_t len)
{
sanitize_to_string(s, msg_hash_to_str(MENU_ENUM_LABEL_VALUE_DIRECTORY_SETTINGS), len);
return 0;
}
static int action_get_privacy_settings_list(const char *path, const char *label,
unsigned menu_type, char *s, size_t len)
{
sanitize_to_string(s, msg_hash_to_str(MENU_ENUM_LABEL_VALUE_PRIVACY_SETTINGS), len);
return 0;
}
static int action_get_updater_settings_list(const char *path, const char *label,
unsigned menu_type, char *s, size_t len)
{
sanitize_to_string(s, msg_hash_to_str(MENU_ENUM_LABEL_VALUE_UPDATER_SETTINGS), len);
return 0;
}
static int action_get_audio_settings_list(const char *path, const char *label,
unsigned menu_type, char *s, size_t len)
{
@ -841,6 +904,60 @@ static int menu_cbs_init_bind_title_compare_label(menu_file_list_cbs_t *cbs,
return 0;
}
if (string_is_equal(label, msg_hash_to_str(MENU_ENUM_LABEL_DEFERRED_MENU_SETTINGS_LIST)))
{
BIND_ACTION_GET_TITLE(cbs, action_get_menu_settings_list);
return 0;
}
if (string_is_equal(label, msg_hash_to_str(MENU_ENUM_LABEL_DEFERRED_USER_INTERFACE_SETTINGS_LIST)))
{
BIND_ACTION_GET_TITLE(cbs, action_get_user_interface_settings_list);
return 0;
}
if (string_is_equal(label, msg_hash_to_str(MENU_ENUM_LABEL_DEFERRED_MENU_FILE_BROWSER_SETTINGS_LIST)))
{
BIND_ACTION_GET_TITLE(cbs, action_get_menu_file_browser_settings_list);
return 0;
}
if (string_is_equal(label, msg_hash_to_str(MENU_ENUM_LABEL_DEFERRED_RETRO_ACHIEVEMENTS_SETTINGS_LIST)))
{
BIND_ACTION_GET_TITLE(cbs, action_get_retro_achievements_settings_list);
return 0;
}
if (string_is_equal(label, msg_hash_to_str(MENU_ENUM_LABEL_DEFERRED_UPDATER_SETTINGS_LIST)))
{
BIND_ACTION_GET_TITLE(cbs, action_get_updater_settings_list);
return 0;
}
if (string_is_equal(label, msg_hash_to_str(MENU_ENUM_LABEL_DEFERRED_NETWORK_SETTINGS_LIST)))
{
BIND_ACTION_GET_TITLE(cbs, action_get_network_settings_list);
return 0;
}
if (string_is_equal(label, msg_hash_to_str(MENU_ENUM_LABEL_DEFERRED_USER_SETTINGS_LIST)))
{
BIND_ACTION_GET_TITLE(cbs, action_get_user_settings_list);
return 0;
}
if (string_is_equal(label, msg_hash_to_str(MENU_ENUM_LABEL_DEFERRED_DIRECTORY_SETTINGS_LIST)))
{
BIND_ACTION_GET_TITLE(cbs, action_get_directory_settings_list);
return 0;
}
if (string_is_equal(label, msg_hash_to_str(MENU_ENUM_LABEL_DEFERRED_PRIVACY_SETTINGS_LIST)))
{
BIND_ACTION_GET_TITLE(cbs, action_get_privacy_settings_list);
return 0;
}
if (string_is_equal(label, msg_hash_to_str(MENU_ENUM_LABEL_DEFERRED_CORE_CONTENT_DIRS_LIST)))
{
BIND_ACTION_GET_TITLE(cbs, action_get_download_core_content_list);

View File

@ -77,6 +77,15 @@ enum
ACTION_OK_DL_DEFERRED_CORE_LIST_SET,
ACTION_OK_DL_ONSCREEN_DISPLAY_SETTINGS_LIST,
ACTION_OK_DL_ONSCREEN_OVERLAY_SETTINGS_LIST,
ACTION_OK_DL_MENU_SETTINGS_LIST,
ACTION_OK_DL_USER_INTERFACE_SETTINGS_LIST,
ACTION_OK_DL_MENU_FILE_BROWSER_SETTINGS_LIST,
ACTION_OK_DL_RETRO_ACHIEVEMENTS_SETTINGS_LIST,
ACTION_OK_DL_UPDATER_SETTINGS_LIST,
ACTION_OK_DL_NETWORK_SETTINGS_LIST,
ACTION_OK_DL_USER_SETTINGS_LIST,
ACTION_OK_DL_DIRECTORY_SETTINGS_LIST,
ACTION_OK_DL_PRIVACY_SETTINGS_LIST,
ACTION_OK_DL_CONTENT_SETTINGS
};

View File

@ -2253,12 +2253,18 @@ static int menu_displaylist_parse_settings_internal(void *data,
case PARSE_ONLY_FLOAT:
precond = ST_FLOAT;
break;
case PARSE_ONLY_HEX:
precond = ST_HEX;
break;
case PARSE_ONLY_STRING:
precond = ST_STRING;
break;
case PARSE_ONLY_PATH:
precond = ST_PATH;
break;
case PARSE_ONLY_DIR:
precond = ST_DIR;
break;
case PARSE_ONLY_STRING_OPTIONS:
precond = ST_STRING_OPTIONS;
break;
@ -2321,6 +2327,10 @@ static int menu_displaylist_parse_settings_internal(void *data,
if (type == ST_FLOAT)
break;
goto loop;
case PARSE_ONLY_HEX:
if (type == ST_HEX)
break;
goto loop;
case PARSE_ONLY_STRING:
if (type == ST_STRING)
break;
@ -2329,6 +2339,10 @@ static int menu_displaylist_parse_settings_internal(void *data,
if (type == ST_PATH)
break;
goto loop;
case PARSE_ONLY_DIR:
if (type == ST_DIR)
break;
goto loop;
case PARSE_ONLY_STRING_OPTIONS:
if (type == ST_STRING_OPTIONS)
break;
@ -2356,11 +2370,13 @@ loop:
break;
case PARSE_ONLY_BIND:
case PARSE_ONLY_FLOAT:
case PARSE_ONLY_HEX:
case PARSE_ONLY_BOOL:
case PARSE_ONLY_INT:
case PARSE_ONLY_UINT:
case PARSE_ONLY_STRING:
case PARSE_ONLY_PATH:
case PARSE_ONLY_DIR:
case PARSE_ONLY_STRING_OPTIONS:
case PARSE_ACTION:
time_to_exit = true;
@ -2422,12 +2438,18 @@ static int menu_displaylist_parse_settings_internal_enum(void *data,
case PARSE_ONLY_FLOAT:
precond = ST_FLOAT;
break;
case PARSE_ONLY_HEX:
precond = ST_HEX;
break;
case PARSE_ONLY_STRING:
precond = ST_STRING;
break;
case PARSE_ONLY_PATH:
precond = ST_PATH;
break;
case PARSE_ONLY_DIR:
precond = ST_DIR;
break;
case PARSE_ONLY_STRING_OPTIONS:
precond = ST_STRING_OPTIONS;
break;
@ -2490,6 +2512,10 @@ static int menu_displaylist_parse_settings_internal_enum(void *data,
if (type == ST_FLOAT)
break;
goto loop;
case PARSE_ONLY_HEX:
if (type == ST_HEX)
break;
goto loop;
case PARSE_ONLY_STRING:
if (type == ST_STRING)
break;
@ -2498,6 +2524,10 @@ static int menu_displaylist_parse_settings_internal_enum(void *data,
if (type == ST_PATH)
break;
goto loop;
case PARSE_ONLY_DIR:
if (type == ST_DIR)
break;
goto loop;
case PARSE_ONLY_STRING_OPTIONS:
if (type == ST_STRING_OPTIONS)
break;
@ -2525,10 +2555,12 @@ loop:
break;
case PARSE_ONLY_BIND:
case PARSE_ONLY_FLOAT:
case PARSE_ONLY_HEX:
case PARSE_ONLY_BOOL:
case PARSE_ONLY_INT:
case PARSE_ONLY_UINT:
case PARSE_ONLY_PATH:
case PARSE_ONLY_DIR:
case PARSE_ONLY_STRING:
case PARSE_ONLY_STRING_OPTIONS:
case PARSE_ACTION:
@ -3744,6 +3776,15 @@ bool menu_displaylist_ctl(enum menu_displaylist_ctl_state type, void *data)
case DISPLAYLIST_REWIND_SETTINGS_LIST:
case DISPLAYLIST_ONSCREEN_DISPLAY_SETTINGS_LIST:
case DISPLAYLIST_ONSCREEN_OVERLAY_SETTINGS_LIST:
case DISPLAYLIST_MENU_SETTINGS_LIST:
case DISPLAYLIST_USER_INTERFACE_SETTINGS_LIST:
case DISPLAYLIST_MENU_FILE_BROWSER_SETTINGS_LIST:
case DISPLAYLIST_RETRO_ACHIEVEMENTS_SETTINGS_LIST:
case DISPLAYLIST_UPDATER_SETTINGS_LIST:
case DISPLAYLIST_NETWORK_SETTINGS_LIST:
case DISPLAYLIST_USER_SETTINGS_LIST:
case DISPLAYLIST_DIRECTORY_SETTINGS_LIST:
case DISPLAYLIST_PRIVACY_SETTINGS_LIST:
case DISPLAYLIST_AUDIO_SETTINGS_LIST:
case DISPLAYLIST_CORE_SETTINGS_LIST:
case DISPLAYLIST_INPUT_SETTINGS_LIST:
@ -4185,6 +4226,299 @@ bool menu_displaylist_ctl(enum menu_displaylist_ctl_state type, void *data)
info->need_refresh = true;
info->need_push = true;
case DISPLAYLIST_MENU_SETTINGS_LIST:
menu_displaylist_parse_settings_enum(menu, info,
MENU_ENUM_LABEL_MENU_WALLPAPER,
PARSE_ONLY_PATH, false);
menu_displaylist_parse_settings_enum(menu, info,
MENU_ENUM_LABEL_DYNAMIC_WALLPAPER,
PARSE_ONLY_BOOL, false);
menu_displaylist_parse_settings_enum(menu, info,
MENU_ENUM_LABEL_PAUSE_LIBRETRO,
PARSE_ONLY_BOOL, false);
menu_displaylist_parse_settings_enum(menu, info,
MENU_ENUM_LABEL_MOUSE_ENABLE,
PARSE_ONLY_BOOL, false);
menu_displaylist_parse_settings_enum(menu, info,
MENU_ENUM_LABEL_POINTER_ENABLE,
PARSE_ONLY_BOOL, false);
menu_displaylist_parse_settings_enum(menu, info,
MENU_ENUM_LABEL_MENU_LINEAR_FILTER,
PARSE_ONLY_BOOL, false);
menu_displaylist_parse_settings_enum(menu, info,
MENU_ENUM_LABEL_NAVIGATION_WRAPAROUND,
PARSE_ONLY_BOOL, false);
menu_displaylist_parse_settings_enum(menu, info,
MENU_ENUM_LABEL_SHOW_ADVANCED_SETTINGS,
PARSE_ONLY_BOOL, false);
menu_displaylist_parse_settings_enum(menu, info,
MENU_ENUM_LABEL_THREADED_DATA_RUNLOOP_ENABLE,
PARSE_ONLY_BOOL, false);
menu_displaylist_parse_settings_enum(menu, info,
MENU_ENUM_LABEL_ENTRY_NORMAL_COLOR,
PARSE_ONLY_HEX, false);
menu_displaylist_parse_settings_enum(menu, info,
MENU_ENUM_LABEL_ENTRY_HOVER_COLOR,
PARSE_ONLY_HEX, false);
menu_displaylist_parse_settings_enum(menu, info,
MENU_ENUM_LABEL_TITLE_COLOR,
PARSE_ONLY_HEX, false);
menu_displaylist_parse_settings_enum(menu, info,
MENU_ENUM_LABEL_DPI_OVERRIDE_ENABLE,
PARSE_ONLY_BOOL, false);
menu_displaylist_parse_settings_enum(menu, info,
MENU_ENUM_LABEL_DPI_OVERRIDE_VALUE,
PARSE_ONLY_UINT, false);
menu_displaylist_parse_settings_enum(menu, info,
MENU_ENUM_LABEL_XMB_ALPHA_FACTOR,
PARSE_ONLY_UINT, false);
menu_displaylist_parse_settings_enum(menu, info,
MENU_ENUM_LABEL_XMB_SCALE_FACTOR,
PARSE_ONLY_UINT, false);
menu_displaylist_parse_settings_enum(menu, info,
MENU_ENUM_LABEL_XMB_FONT,
PARSE_ONLY_PATH, false);
menu_displaylist_parse_settings_enum(menu, info,
MENU_ENUM_LABEL_XMB_THEME,
PARSE_ONLY_UINT, false);
menu_displaylist_parse_settings_enum(menu, info,
MENU_ENUM_LABEL_XMB_SHADOWS_ENABLE,
PARSE_ONLY_BOOL, false);
menu_displaylist_parse_settings_enum(menu, info,
MENU_ENUM_LABEL_XMB_RIBBON_ENABLE,
PARSE_ONLY_UINT, false);
menu_displaylist_parse_settings_enum(menu, info,
MENU_ENUM_LABEL_XMB_GRADIENT,
PARSE_ONLY_UINT, false);
menu_displaylist_parse_settings_enum(menu, info,
MENU_ENUM_LABEL_RGUI_SHOW_START_SCREEN,
PARSE_ONLY_BOOL, false);
menu_displaylist_parse_settings_enum(menu, info,
MENU_ENUM_LABEL_THUMBNAILS,
PARSE_ONLY_UINT, false);
menu_displaylist_parse_settings_enum(menu, info,
MENU_ENUM_LABEL_TIMEDATE_ENABLE,
PARSE_ONLY_BOOL, false);
menu_displaylist_parse_settings_enum(menu, info,
MENU_ENUM_LABEL_CORE_ENABLE,
PARSE_ONLY_BOOL, false);
info->need_refresh = true;
info->need_push = true;
break;
case DISPLAYLIST_USER_INTERFACE_SETTINGS_LIST:
menu_displaylist_parse_settings_enum(menu, info,
MENU_ENUM_LABEL_PAUSE_NONACTIVE,
PARSE_ONLY_BOOL, false);
menu_displaylist_parse_settings_enum(menu, info,
MENU_ENUM_LABEL_VIDEO_DISABLE_COMPOSITION,
PARSE_ONLY_BOOL, false);
menu_displaylist_parse_settings_enum(menu, info,
MENU_ENUM_LABEL_UI_COMPANION_ENABLE,
PARSE_ONLY_BOOL, false);
menu_displaylist_parse_settings_enum(menu, info,
MENU_ENUM_LABEL_UI_COMPANION_START_ON_BOOT,
PARSE_ONLY_BOOL, false);
menu_displaylist_parse_settings_enum(menu, info,
MENU_ENUM_LABEL_UI_MENUBAR_ENABLE,
PARSE_ONLY_BOOL, false);
info->need_refresh = true;
info->need_push = true;
break;
case DISPLAYLIST_MENU_FILE_BROWSER_SETTINGS_LIST:
menu_displaylist_parse_settings_enum(menu, info,
MENU_ENUM_LABEL_NAVIGATION_BROWSER_FILTER_SUPPORTED_EXTENSIONS_ENABLE,
PARSE_ONLY_BOOL, false);
info->need_refresh = true;
info->need_push = true;
break;
case DISPLAYLIST_RETRO_ACHIEVEMENTS_SETTINGS_LIST:
menu_displaylist_parse_settings_enum(menu, info,
MENU_ENUM_LABEL_CHEEVOS_ENABLE,
PARSE_ONLY_BOOL, false);
menu_displaylist_parse_settings_enum(menu, info,
MENU_ENUM_LABEL_CHEEVOS_TEST_UNOFFICIAL,
PARSE_ONLY_BOOL, false);
menu_displaylist_parse_settings_enum(menu, info,
MENU_ENUM_LABEL_CHEEVOS_HARDCORE_MODE_ENABLE,
PARSE_ONLY_BOOL, false);
info->need_refresh = true;
info->need_push = true;
break;
case DISPLAYLIST_UPDATER_SETTINGS_LIST:
menu_displaylist_parse_settings_enum(menu, info,
MENU_ENUM_LABEL_CORE_UPDATER_BUILDBOT_URL,
PARSE_ONLY_STRING, false);
menu_displaylist_parse_settings_enum(menu, info,
MENU_ENUM_LABEL_BUILDBOT_ASSETS_URL,
PARSE_ONLY_STRING, false);
menu_displaylist_parse_settings_enum(menu, info,
MENU_ENUM_LABEL_CORE_UPDATER_AUTO_EXTRACT_ARCHIVE,
PARSE_ONLY_BOOL, false);
info->need_refresh = true;
info->need_push = true;
break;
case DISPLAYLIST_NETWORK_SETTINGS_LIST:
menu_displaylist_parse_settings_enum(menu, info,
MENU_ENUM_LABEL_NETPLAY_ENABLE,
PARSE_ONLY_BOOL, false);
menu_displaylist_parse_settings_enum(menu, info,
MENU_ENUM_LABEL_NETPLAY_CLIENT_SWAP_INPUT,
PARSE_ONLY_BOOL, false);
menu_displaylist_parse_settings_enum(menu, info,
MENU_ENUM_LABEL_NETPLAY_IP_ADDRESS,
PARSE_ONLY_STRING, false);
menu_displaylist_parse_settings_enum(menu, info,
MENU_ENUM_LABEL_NETPLAY_MODE,
PARSE_ONLY_BOOL, false);
menu_displaylist_parse_settings_enum(menu, info,
MENU_ENUM_LABEL_NETPLAY_SPECTATOR_MODE_ENABLE,
PARSE_ONLY_BOOL, false);
menu_displaylist_parse_settings_enum(menu, info,
MENU_ENUM_LABEL_NETPLAY_DELAY_FRAMES,
PARSE_ONLY_UINT, false);
menu_displaylist_parse_settings_enum(menu, info,
MENU_ENUM_LABEL_NETPLAY_TCP_UDP_PORT,
PARSE_ONLY_UINT, false);
menu_displaylist_parse_settings_enum(menu, info,
MENU_ENUM_LABEL_NETWORK_CMD_ENABLE,
PARSE_ONLY_BOOL, false);
menu_displaylist_parse_settings_enum(menu, info,
MENU_ENUM_LABEL_NETWORK_CMD_PORT,
PARSE_ONLY_UINT, false);
menu_displaylist_parse_settings_enum(menu, info,
MENU_ENUM_LABEL_NETWORK_REMOTE_ENABLE,
PARSE_ONLY_BOOL, false);
menu_displaylist_parse_settings_enum(menu, info,
MENU_ENUM_LABEL_NETWORK_REMOTE_PORT,
PARSE_ONLY_UINT, false);
{
unsigned user;
for(user = 0; user < settings->input.max_users; user++)
{
/* TODO - implement stuff from menu_setting.c - line 7547 */
}
}
menu_displaylist_parse_settings_enum(menu, info,
MENU_ENUM_LABEL_STDIN_CMD_ENABLE,
PARSE_ONLY_BOOL, false);
info->need_refresh = true;
info->need_push = true;
break;
case DISPLAYLIST_USER_SETTINGS_LIST:
menu_displaylist_parse_settings_enum(menu, info,
MENU_ENUM_LABEL_ACCOUNTS_LIST,
PARSE_ACTION, false);
menu_displaylist_parse_settings_enum(menu, info,
MENU_ENUM_LABEL_NETPLAY_NICKNAME,
PARSE_ONLY_STRING, false);
menu_displaylist_parse_settings_enum(menu, info,
MENU_ENUM_LABEL_USER_LANGUAGE,
PARSE_ONLY_UINT, false);
info->need_refresh = true;
info->need_push = true;
break;
case DISPLAYLIST_DIRECTORY_SETTINGS_LIST:
menu_displaylist_parse_settings_enum(menu, info,
MENU_ENUM_LABEL_SYSTEM_DIRECTORY,
PARSE_ONLY_DIR, false);
menu_displaylist_parse_settings_enum(menu, info,
MENU_ENUM_LABEL_CORE_ASSETS_DIRECTORY,
PARSE_ONLY_DIR, false);
menu_displaylist_parse_settings_enum(menu, info,
MENU_ENUM_LABEL_ASSETS_DIRECTORY,
PARSE_ONLY_DIR, false);
menu_displaylist_parse_settings_enum(menu, info,
MENU_ENUM_LABEL_DYNAMIC_WALLPAPERS_DIRECTORY,
PARSE_ONLY_DIR, false);
menu_displaylist_parse_settings_enum(menu, info,
MENU_ENUM_LABEL_THUMBNAILS_DIRECTORY,
PARSE_ONLY_DIR, false);
menu_displaylist_parse_settings_enum(menu, info,
MENU_ENUM_LABEL_RGUI_BROWSER_DIRECTORY,
PARSE_ONLY_DIR, false);
menu_displaylist_parse_settings_enum(menu, info,
MENU_ENUM_LABEL_RGUI_CONFIG_DIRECTORY,
PARSE_ONLY_DIR, false);
menu_displaylist_parse_settings_enum(menu, info,
MENU_ENUM_LABEL_LIBRETRO_DIR_PATH,
PARSE_ONLY_DIR, false);
menu_displaylist_parse_settings_enum(menu, info,
MENU_ENUM_LABEL_LIBRETRO_INFO_PATH,
PARSE_ONLY_DIR, false);
menu_displaylist_parse_settings_enum(menu, info,
MENU_ENUM_LABEL_CONTENT_DATABASE_DIRECTORY,
PARSE_ONLY_DIR, false);
menu_displaylist_parse_settings_enum(menu, info,
MENU_ENUM_LABEL_CURSOR_DIRECTORY,
PARSE_ONLY_DIR, false);
menu_displaylist_parse_settings_enum(menu, info,
MENU_ENUM_LABEL_CHEAT_DATABASE_PATH,
PARSE_ONLY_DIR, false);
menu_displaylist_parse_settings_enum(menu, info,
MENU_ENUM_LABEL_VIDEO_FILTER_DIR,
PARSE_ONLY_DIR, false);
menu_displaylist_parse_settings_enum(menu, info,
MENU_ENUM_LABEL_AUDIO_FILTER_DIR,
PARSE_ONLY_DIR, false);
menu_displaylist_parse_settings_enum(menu, info,
MENU_ENUM_LABEL_VIDEO_SHADER_DIR,
PARSE_ONLY_DIR, false);
menu_displaylist_parse_settings_enum(menu, info,
MENU_ENUM_LABEL_RECORDING_OUTPUT_DIRECTORY,
PARSE_ONLY_DIR, false);
menu_displaylist_parse_settings_enum(menu, info,
MENU_ENUM_LABEL_RECORDING_CONFIG_DIRECTORY,
PARSE_ONLY_DIR, false);
menu_displaylist_parse_settings_enum(menu, info,
MENU_ENUM_LABEL_OVERLAY_DIRECTORY,
PARSE_ONLY_DIR, false);
menu_displaylist_parse_settings_enum(menu, info,
MENU_ENUM_LABEL_OSK_OVERLAY_DIRECTORY,
PARSE_ONLY_DIR, false);
menu_displaylist_parse_settings_enum(menu, info,
MENU_ENUM_LABEL_SCREENSHOT_DIRECTORY,
PARSE_ONLY_DIR, false);
menu_displaylist_parse_settings_enum(menu, info,
MENU_ENUM_LABEL_JOYPAD_AUTOCONFIG_DIR,
PARSE_ONLY_DIR, false);
menu_displaylist_parse_settings_enum(menu, info,
MENU_ENUM_LABEL_INPUT_REMAPPING_DIRECTORY,
PARSE_ONLY_DIR, false);
menu_displaylist_parse_settings_enum(menu, info,
MENU_ENUM_LABEL_PLAYLIST_DIRECTORY,
PARSE_ONLY_DIR, false);
menu_displaylist_parse_settings_enum(menu, info,
MENU_ENUM_LABEL_SAVEFILE_DIRECTORY,
PARSE_ONLY_DIR, false);
menu_displaylist_parse_settings_enum(menu, info,
MENU_ENUM_LABEL_SAVESTATE_DIRECTORY,
PARSE_ONLY_DIR, false);
menu_displaylist_parse_settings_enum(menu, info,
MENU_ENUM_LABEL_CACHE_DIRECTORY,
PARSE_ONLY_DIR, false);
info->need_refresh = true;
info->need_push = true;
break;
case DISPLAYLIST_PRIVACY_SETTINGS_LIST:
menu_displaylist_parse_settings_enum(menu, info,
MENU_ENUM_LABEL_CAMERA_ALLOW,
PARSE_ONLY_BOOL, false);
menu_displaylist_parse_settings_enum(menu, info,
MENU_ENUM_LABEL_LOCATION_ALLOW,
PARSE_ONLY_BOOL, false);
info->need_refresh = true;
info->need_push = true;
break;
case DISPLAYLIST_VIDEO_SETTINGS_LIST:
menu_displaylist_parse_settings_enum(menu, info,
@ -4440,30 +4774,30 @@ bool menu_displaylist_ctl(enum menu_displaylist_ctl_state type, void *data)
MENU_ENUM_LABEL_ONSCREEN_DISPLAY_SETTINGS, PARSE_ACTION, false);
ret = menu_displaylist_parse_settings_enum(menu, info,
MENU_ENUM_LABEL_ONSCREEN_OVERLAY_SETTINGS, PARSE_ACTION, false);
ret = menu_displaylist_parse_settings(menu, info,
msg_hash_to_str(MENU_ENUM_LABEL_VALUE_MENU_SETTINGS), PARSE_ONLY_GROUP, false);
ret = menu_displaylist_parse_settings(menu, info,
msg_hash_to_str(MENU_ENUM_LABEL_VALUE_UI_SETTINGS), PARSE_ONLY_GROUP, false);
ret = menu_displaylist_parse_settings(menu, info,
msg_hash_to_str(MENU_ENUM_LABEL_VALUE_MENU_FILE_BROWSER_SETTINGS), PARSE_ONLY_GROUP, false);
ret = menu_displaylist_parse_settings(menu, info,
msg_hash_to_str(MENU_ENUM_LABEL_VALUE_ACCOUNTS_RETRO_ACHIEVEMENTS), PARSE_ONLY_GROUP, false);
ret = menu_displaylist_parse_settings(menu, info,
msg_hash_to_str(MENU_ENUM_LABEL_VALUE_CORE_UPDATER_SETTINGS), PARSE_ONLY_GROUP, false);
ret = menu_displaylist_parse_settings(menu, info,
msg_hash_to_str(MENU_ENUM_LABEL_VALUE_NETWORK_SETTINGS), PARSE_ONLY_GROUP, false);
ret = menu_displaylist_parse_settings_enum(menu, info,
MENU_ENUM_LABEL_MENU_SETTINGS, PARSE_ACTION, false);
ret = menu_displaylist_parse_settings_enum(menu, info,
MENU_ENUM_LABEL_USER_INTERFACE_SETTINGS, PARSE_ACTION, false);
ret = menu_displaylist_parse_settings_enum(menu, info,
MENU_ENUM_LABEL_MENU_FILE_BROWSER_SETTINGS, PARSE_ACTION, false);
ret = menu_displaylist_parse_settings_enum(menu, info,
MENU_ENUM_LABEL_RETRO_ACHIEVEMENTS_SETTINGS, PARSE_ACTION, false);
ret = menu_displaylist_parse_settings_enum(menu, info,
MENU_ENUM_LABEL_UPDATER_SETTINGS, PARSE_ACTION, false);
ret = menu_displaylist_parse_settings_enum(menu, info,
MENU_ENUM_LABEL_NETWORK_SETTINGS, PARSE_ACTION, false);
#ifdef HAVE_LAKKA
ret = menu_displaylist_parse_settings(menu, info,
msg_hash_to_str(MENU_ENUM_LABEL_VALUE_LAKKA_SERVICES), PARSE_ONLY_GROUP, false);
ret = menu_displaylist_parse_settings_enum(menu, info,
MENU_ENUM_LABEL_LAKKA_SERVICES, PARSE_ACTION, false);
#endif
ret = menu_displaylist_parse_settings_enum(menu, info,
MENU_ENUM_LABEL_PLAYLIST_SETTINGS, PARSE_ACTION, false);
ret = menu_displaylist_parse_settings(menu, info,
msg_hash_to_str(MENU_ENUM_LABEL_VALUE_USER_SETTINGS), PARSE_ONLY_GROUP, false);
ret = menu_displaylist_parse_settings(menu, info,
msg_hash_to_str(MENU_ENUM_LABEL_VALUE_DIRECTORY_SETTINGS), PARSE_ONLY_GROUP, false);
ret = menu_displaylist_parse_settings(menu, info,
msg_hash_to_str(MENU_ENUM_LABEL_VALUE_PRIVACY_SETTINGS), PARSE_ONLY_GROUP, false);
ret = menu_displaylist_parse_settings_enum(menu, info,
MENU_ENUM_LABEL_USER_SETTINGS, PARSE_ACTION, false);
ret = menu_displaylist_parse_settings_enum(menu, info,
MENU_ENUM_LABEL_DIRECTORY_SETTINGS, PARSE_ACTION, false);
ret = menu_displaylist_parse_settings_enum(menu, info,
MENU_ENUM_LABEL_PRIVACY_SETTINGS, PARSE_ACTION, false);
info->need_push = true;
break;
case DISPLAYLIST_HORIZONTAL:

View File

@ -44,7 +44,9 @@ enum menu_displaylist_parse_type
PARSE_ONLY_STRING = (1 << 9),
PARSE_ONLY_PATH = (1 << 10),
PARSE_ONLY_STRING_OPTIONS = (1 << 11),
PARSE_SUB_GROUP = (1 << 12)
PARSE_ONLY_HEX = (1 << 12),
PARSE_ONLY_DIR = (1 << 13),
PARSE_SUB_GROUP = (1 << 14)
};
enum menu_displaylist_ctl_state
@ -113,6 +115,15 @@ enum menu_displaylist_ctl_state
DISPLAYLIST_INPUT_HOTKEY_BINDS_LIST,
DISPLAYLIST_ONSCREEN_OVERLAY_SETTINGS_LIST,
DISPLAYLIST_ONSCREEN_DISPLAY_SETTINGS_LIST,
DISPLAYLIST_MENU_SETTINGS_LIST,
DISPLAYLIST_USER_INTERFACE_SETTINGS_LIST,
DISPLAYLIST_MENU_FILE_BROWSER_SETTINGS_LIST,
DISPLAYLIST_RETRO_ACHIEVEMENTS_SETTINGS_LIST,
DISPLAYLIST_UPDATER_SETTINGS_LIST,
DISPLAYLIST_NETWORK_SETTINGS_LIST,
DISPLAYLIST_USER_SETTINGS_LIST,
DISPLAYLIST_DIRECTORY_SETTINGS_LIST,
DISPLAYLIST_PRIVACY_SETTINGS_LIST,
DISPLAYLIST_PLAYLIST_SETTINGS_LIST,
DISPLAYLIST_ACCOUNTS_CHEEVOS_LIST,
DISPLAYLIST_LOAD_CONTENT_LIST,

View File

@ -4281,6 +4281,60 @@ static bool setting_append_list(
parent_group);
menu_settings_list_current_add_enum_idx(list, list_info, MENU_ENUM_LABEL_ONSCREEN_OVERLAY_SETTINGS);
CONFIG_ACTION(
list, list_info,
msg_hash_to_str(MENU_ENUM_LABEL_MENU_SETTINGS),
msg_hash_to_str(MENU_ENUM_LABEL_VALUE_MENU_SETTINGS),
&group_info,
&subgroup_info,
parent_group);
menu_settings_list_current_add_enum_idx(list, list_info, MENU_ENUM_LABEL_MENU_SETTINGS);
CONFIG_ACTION(
list, list_info,
msg_hash_to_str(MENU_ENUM_LABEL_USER_INTERFACE_SETTINGS),
msg_hash_to_str(MENU_ENUM_LABEL_VALUE_USER_INTERFACE_SETTINGS),
&group_info,
&subgroup_info,
parent_group);
menu_settings_list_current_add_enum_idx(list, list_info, MENU_ENUM_LABEL_USER_INTERFACE_SETTINGS);
CONFIG_ACTION(
list, list_info,
msg_hash_to_str(MENU_ENUM_LABEL_MENU_FILE_BROWSER_SETTINGS),
msg_hash_to_str(MENU_ENUM_LABEL_VALUE_MENU_FILE_BROWSER_SETTINGS),
&group_info,
&subgroup_info,
parent_group);
menu_settings_list_current_add_enum_idx(list, list_info, MENU_ENUM_LABEL_MENU_FILE_BROWSER_SETTINGS);
CONFIG_ACTION(
list, list_info,
msg_hash_to_str(MENU_ENUM_LABEL_RETRO_ACHIEVEMENTS_SETTINGS),
msg_hash_to_str(MENU_ENUM_LABEL_VALUE_RETRO_ACHIEVEMENTS_SETTINGS),
&group_info,
&subgroup_info,
parent_group);
menu_settings_list_current_add_enum_idx(list, list_info, MENU_ENUM_LABEL_RETRO_ACHIEVEMENTS_SETTINGS);
CONFIG_ACTION(
list, list_info,
msg_hash_to_str(MENU_ENUM_LABEL_UPDATER_SETTINGS),
msg_hash_to_str(MENU_ENUM_LABEL_VALUE_UPDATER_SETTINGS),
&group_info,
&subgroup_info,
parent_group);
menu_settings_list_current_add_enum_idx(list, list_info, MENU_ENUM_LABEL_UPDATER_SETTINGS);
CONFIG_ACTION(
list, list_info,
msg_hash_to_str(MENU_ENUM_LABEL_NETWORK_SETTINGS),
msg_hash_to_str(MENU_ENUM_LABEL_VALUE_NETWORK_SETTINGS),
&group_info,
&subgroup_info,
parent_group);
menu_settings_list_current_add_enum_idx(list, list_info, MENU_ENUM_LABEL_NETWORK_SETTINGS);
CONFIG_ACTION(
list, list_info,
msg_hash_to_str(MENU_ENUM_LABEL_PLAYLIST_SETTINGS),
@ -4290,6 +4344,33 @@ static bool setting_append_list(
parent_group);
menu_settings_list_current_add_enum_idx(list, list_info, MENU_ENUM_LABEL_PLAYLIST_SETTINGS);
CONFIG_ACTION(
list, list_info,
msg_hash_to_str(MENU_ENUM_LABEL_USER_SETTINGS),
msg_hash_to_str(MENU_ENUM_LABEL_VALUE_USER_SETTINGS),
&group_info,
&subgroup_info,
parent_group);
menu_settings_list_current_add_enum_idx(list, list_info, MENU_ENUM_LABEL_USER_SETTINGS);
CONFIG_ACTION(
list, list_info,
msg_hash_to_str(MENU_ENUM_LABEL_DIRECTORY_SETTINGS),
msg_hash_to_str(MENU_ENUM_LABEL_VALUE_DIRECTORY_SETTINGS),
&group_info,
&subgroup_info,
parent_group);
menu_settings_list_current_add_enum_idx(list, list_info, MENU_ENUM_LABEL_DIRECTORY_SETTINGS);
CONFIG_ACTION(
list, list_info,
msg_hash_to_str(MENU_ENUM_LABEL_PRIVACY_SETTINGS),
msg_hash_to_str(MENU_ENUM_LABEL_VALUE_PRIVACY_SETTINGS),
&group_info,
&subgroup_info,
parent_group);
menu_settings_list_current_add_enum_idx(list, list_info, MENU_ENUM_LABEL_PRIVACY_SETTINGS);
for (user = 0; user < MAX_USERS; user++)
setting_append_list_input_player_options(list, list_info, parent_group, user);
@ -6493,7 +6574,7 @@ static bool setting_append_list(
parent_group);
menu_settings_list_current_add_enum_idx(list, list_info, MENU_ENUM_LABEL_MENU_SETTINGS);
parent_group = msg_hash_to_str(MENU_ENUM_LABEL_SETTINGS);
parent_group = msg_hash_to_str(MENU_ENUM_LABEL_MENU_SETTINGS);
START_SUB_GROUP(list, list_info, "State", &group_info, &subgroup_info, parent_group);
@ -6925,7 +7006,7 @@ static bool setting_append_list(
msg_hash_to_str(MENU_ENUM_LABEL_VALUE_MENU_FILE_BROWSER_SETTINGS),
parent_group);
parent_group = msg_hash_to_str(MENU_ENUM_LABEL_SETTINGS);
parent_group = msg_hash_to_str(MENU_ENUM_LABEL_MENU_FILE_BROWSER_SETTINGS);
START_SUB_GROUP(list, list_info, "State", &group_info, &subgroup_info, parent_group);
@ -7001,10 +7082,10 @@ static bool setting_append_list(
case SETTINGS_LIST_USER_INTERFACE:
#ifndef HAVE_LAKKA
START_GROUP(list, list_info, &group_info,
msg_hash_to_str(MENU_ENUM_LABEL_VALUE_UI_SETTINGS),
msg_hash_to_str(MENU_ENUM_LABEL_VALUE_USER_INTERFACE_SETTINGS),
parent_group);
parent_group = msg_hash_to_str(MENU_ENUM_LABEL_SETTINGS);
parent_group = msg_hash_to_str(MENU_ENUM_LABEL_USER_INTERFACE_SETTINGS);
START_SUB_GROUP(list, list_info, "State", &group_info, &subgroup_info, parent_group);
@ -7145,6 +7226,7 @@ static bool setting_append_list(
START_GROUP(list, list_info, &group_info,
msg_hash_to_str(MENU_ENUM_LABEL_VALUE_CHEEVOS_SETTINGS),
parent_group);
parent_group = msg_hash_to_str(MENU_ENUM_LABEL_RETRO_ACHIEVEMENTS_SETTINGS);
START_SUB_GROUP(list, list_info, "State", &group_info, &subgroup_info, parent_group);
CONFIG_BOOL(
@ -7208,6 +7290,7 @@ static bool setting_append_list(
START_GROUP(list, list_info, &group_info,
msg_hash_to_str(MENU_ENUM_LABEL_VALUE_CORE_UPDATER_SETTINGS),
parent_group);
parent_group = msg_hash_to_str(MENU_ENUM_LABEL_UPDATER_SETTINGS);
START_SUB_GROUP(list, list_info, "State", &group_info, &subgroup_info, parent_group);
CONFIG_STRING(
@ -7271,7 +7354,7 @@ static bool setting_append_list(
msg_hash_to_str(MENU_ENUM_LABEL_VALUE_NETWORK_SETTINGS),
parent_group);
parent_group = msg_hash_to_str(MENU_ENUM_LABEL_SETTINGS);
parent_group = msg_hash_to_str(MENU_ENUM_LABEL_NETWORK_SETTINGS);
START_SUB_GROUP(list, list_info, "Netplay", &group_info, &subgroup_info, parent_group);
@ -7581,7 +7664,7 @@ static bool setting_append_list(
msg_hash_to_str(MENU_ENUM_LABEL_VALUE_USER_SETTINGS),
parent_group);
parent_group = msg_hash_to_str(MENU_ENUM_LABEL_SETTINGS);
parent_group = msg_hash_to_str(MENU_ENUM_LABEL_USER_SETTINGS);
START_SUB_GROUP(list, list_info, "State", &group_info, &subgroup_info, parent_group);
@ -7712,7 +7795,7 @@ static bool setting_append_list(
parent_group);
menu_settings_list_current_add_enum_idx(list, list_info, MENU_ENUM_LABEL_DIRECTORY_SETTINGS);
parent_group = msg_hash_to_str(MENU_ENUM_LABEL_SETTINGS);
parent_group = msg_hash_to_str(MENU_ENUM_LABEL_DIRECTORY_SETTINGS);
START_SUB_GROUP(list, list_info, "State", &group_info, &subgroup_info, parent_group);
@ -8122,7 +8205,7 @@ static bool setting_append_list(
START_GROUP(list, list_info, &group_info,
msg_hash_to_str(MENU_ENUM_LABEL_VALUE_PRIVACY_SETTINGS), parent_group);
parent_group = msg_hash_to_str(MENU_ENUM_LABEL_SETTINGS);
parent_group = msg_hash_to_str(MENU_ENUM_LABEL_PRIVACY_SETTINGS);
START_SUB_GROUP(list, list_info, "State",
&group_info, &subgroup_info, parent_group);

View File

@ -561,13 +561,22 @@ enum msg_hash_enums
MENU_ENUM_LABEL_VALUE_BASIC_MENU_ENUM_CONTROLS_QUIT,
MENU_ENUM_LABEL_VALUE_BASIC_MENU_ENUM_CONTROLS_TOGGLE_KEYBOARD,
MENU_ENUM_LABEL_MENU_SETTINGS,
MENU_ENUM_LABEL_VALUE_MENU_SETTINGS,
MENU_ENUM_LABEL_THUMBNAILS_UPDATER_LIST,
MENU_ENUM_LABEL_VALUE_THUMBNAILS_UPDATER_LIST,
MENU_ENUM_LABEL_USER_INTERFACE_SETTINGS,
MENU_ENUM_LABEL_MENU_FILE_BROWSER_SETTINGS,
MENU_ENUM_LABEL_RETRO_ACHIEVEMENTS_SETTINGS,
MENU_ENUM_LABEL_VALUE_RETRO_ACHIEVEMENTS_SETTINGS,
MENU_ENUM_LABEL_UPDATER_SETTINGS,
MENU_ENUM_LABEL_VALUE_UPDATER_SETTINGS,
MENU_ENUM_LABEL_NETWORK_SETTINGS,
MENU_ENUM_LABEL_USER_SETTINGS,
MENU_ENUM_LABEL_DIRECTORY_SETTINGS,
MENU_ENUM_LABEL_PRIVACY_SETTINGS,
MENU_ENUM_LABEL_MENU_ENUM_LINEAR_FILTER,
MENU_ENUM_LABEL_VALUE_MENU_ENUM_LINEAR_FILTER,
@ -692,6 +701,15 @@ enum msg_hash_enums
MENU_ENUM_LABEL_DEFERRED_REWIND_SETTINGS_LIST,
MENU_ENUM_LABEL_DEFERRED_ONSCREEN_DISPLAY_SETTINGS_LIST,
MENU_ENUM_LABEL_DEFERRED_ONSCREEN_OVERLAY_SETTINGS_LIST,
MENU_ENUM_LABEL_DEFERRED_MENU_SETTINGS_LIST,
MENU_ENUM_LABEL_DEFERRED_USER_INTERFACE_SETTINGS_LIST,
MENU_ENUM_LABEL_DEFERRED_MENU_FILE_BROWSER_SETTINGS_LIST,
MENU_ENUM_LABEL_DEFERRED_RETRO_ACHIEVEMENTS_SETTINGS_LIST,
MENU_ENUM_LABEL_DEFERRED_UPDATER_SETTINGS_LIST,
MENU_ENUM_LABEL_DEFERRED_NETWORK_SETTINGS_LIST,
MENU_ENUM_LABEL_DEFERRED_USER_SETTINGS_LIST,
MENU_ENUM_LABEL_DEFERRED_DIRECTORY_SETTINGS_LIST,
MENU_ENUM_LABEL_DEFERRED_PRIVACY_SETTINGS_LIST,
MENU_ENUM_LABEL_DEFERRED_LOGGING_SETTINGS_LIST,
MENU_ENUM_LABEL_DEFERRED_AUDIO_SETTINGS_LIST,
MENU_ENUM_LABEL_DEFERRED_CORE_SETTINGS_LIST,
@ -1364,20 +1382,16 @@ enum msg_hash_enums
MENU_ENUM_LABEL_VALUE_MENU_ENUM_FILE_BROWSER_SETTINGS,
MENU_ENUM_LABEL_MENU_ENUM_SETTINGS,
MENU_ENUM_LABEL_VALUE_MENU_ENUM_SETTINGS,
MENU_ENUM_LABEL_UI_SETTINGS,
MENU_ENUM_LABEL_VALUE_UI_SETTINGS,
MENU_ENUM_LABEL_VALUE_USER_INTERFACE_SETTINGS,
MENU_ENUM_LABEL_PATCH_SETTINGS,
MENU_ENUM_LABEL_PLAYLIST_SETTINGS,
MENU_ENUM_LABEL_VALUE_PLAYLIST_SETTINGS,
MENU_ENUM_LABEL_CORE_UPDATER_SETTINGS,
MENU_ENUM_LABEL_VALUE_CORE_UPDATER_SETTINGS,
MENU_ENUM_LABEL_NETWORK_SETTINGS,
MENU_ENUM_LABEL_VALUE_NETWORK_SETTINGS,
MENU_ENUM_LABEL_VALUE_LAKKA_SERVICES,
MENU_ENUM_LABEL_ARCHIVE_SETTINGS,
MENU_ENUM_LABEL_USER_SETTINGS,
MENU_ENUM_LABEL_VALUE_USER_SETTINGS,
MENU_ENUM_LABEL_DIRECTORY_SETTINGS,
MENU_ENUM_LABEL_VALUE_DIRECTORY_SETTINGS,
MENU_ENUM_LABEL_VALUE_PRIVACY_SETTINGS,
MENU_ENUM_LABEL_SHADER_APPLY_CHANGES,