- Refactor menu_entries.c code

- Create SD_FLAG_ALLOW_INPUT
This commit is contained in:
twinaphex 2014-09-09 02:48:47 +02:00
parent e56f76f8af
commit 4790ffda7d
3 changed files with 23 additions and 41 deletions

View File

@ -145,6 +145,13 @@ void menu_entries_pop(file_list_t *list)
}
}
static int setting_set_flags(rarch_setting_t *setting)
{
if (setting->flags & SD_FLAG_ALLOW_INPUT)
return MENU_FILE_LINEFEED;
return 0;
}
int menu_entries_push_list(menu_handle_t *menu,
file_list_t *list,
const char *path, const char *label,
@ -198,8 +205,11 @@ int menu_entries_push_list(menu_handle_t *menu,
!strcmp(label, "Overlay Options") ||
!strcmp(label, "Privacy Options") ||
!strcmp(label, "Video Options") ||
!strcmp(label, "Audio Options") ||
!strcmp(label, "Path Options") ||
!strcmp(label, "Font Options")
!strcmp(label, "Font Options") ||
!strcmp(label, "User Options") ||
!strcmp(label, "Netplay Options")
)
{
rarch_setting_t *setting_data = (rarch_setting_t*)setting_data_get_list();
@ -228,7 +238,7 @@ int menu_entries_push_list(menu_handle_t *menu,
continue;
file_list_push(list, setting->short_description,
setting->name, 0, 0);
setting->name, setting_set_flags(setting), 0);
}
}
else if (!strcmp(label, "settings"))
@ -398,22 +408,6 @@ int menu_entries_push_list(menu_handle_t *menu,
do_action = true;
}
else if (!strcmp(label, "User Options"))
{
file_list_clear(list);
add_setting_entry(menu,list,"netplay_nickname", MENU_FILE_LINEFEED, setting_data);
add_setting_entry(menu,list,"user_language", MENU_FILE_LINEFEED, setting_data);
}
else if (!strcmp(label, "Netplay Options"))
{
file_list_clear(list);
add_setting_entry(menu,list,"netplay_enable", 0, setting_data);
add_setting_entry(menu,list,"netplay_mode", 0, setting_data);
add_setting_entry(menu,list,"netplay_spectator_mode_enable", 0, setting_data);
add_setting_entry(menu,list,"netplay_ip_address", 0, setting_data);
add_setting_entry(menu,list,"netplay_tcp_udp_port", MENU_FILE_LINEFEED, setting_data);
add_setting_entry(menu,list,"netplay_delay_frames", 0, setting_data);
}
else if (!strcmp(label, "core_counters"))
{
file_list_clear(list);
@ -442,19 +436,6 @@ int menu_entries_push_list(menu_handle_t *menu,
file_list_push(list, "No options available.", "",
MENU_SETTINGS_CORE_OPTION_NONE, 0);
}
else if (!strcmp(label, "Audio Options"))
{
file_list_clear(list);
add_setting_entry(menu,list,"audio_dsp_plugin", 0, setting_data);
add_setting_entry(menu,list,"audio_enable", 0, setting_data);
add_setting_entry(menu,list,"audio_mute_enable", 0, setting_data);
add_setting_entry(menu,list,"audio_latency", 0, setting_data);
add_setting_entry(menu,list,"audio_sync", 0, setting_data);
add_setting_entry(menu,list,"audio_rate_control_delta", 0, setting_data);
add_setting_entry(menu,list,"system_bgm_enable", 0, setting_data);
add_setting_entry(menu,list,"audio_volume", 0, setting_data);
add_setting_entry(menu,list,"audio_device", MENU_FILE_LINEFEED, setting_data);
}
else if (!strcmp(label, "Input Options"))
{
file_list_clear(list);

View File

@ -2456,7 +2456,7 @@ rarch_setting_t *setting_data_get_list(void)
END_SUB_GROUP()
START_SUB_GROUP("Miscellaneous")
CONFIG_STRING(g_settings.audio.device, "audio_device", "Device", "", GROUP_NAME, SUBGROUP_NAME, general_write_handler, general_read_handler)
CONFIG_STRING(g_settings.audio.device, "audio_device", "Device", "", GROUP_NAME, SUBGROUP_NAME, general_write_handler, general_read_handler) WITH_FLAGS(SD_FLAG_ALLOW_INPUT)
CONFIG_UINT(g_settings.audio.out_rate, "audio_out_rate", "Audio Output Rate", out_rate, GROUP_NAME, SUBGROUP_NAME, general_write_handler, general_read_handler)
CONFIG_PATH(g_settings.audio.dsp_plugin, "audio_dsp_plugin", "DSP Plugin", g_settings.audio.filter_dir, GROUP_NAME, SUBGROUP_NAME, general_write_handler, general_read_handler) WITH_FLAGS(SD_FLAG_ALLOW_EMPTY) WITH_VALUES("dsp")
END_SUB_GROUP()
@ -2542,12 +2542,12 @@ rarch_setting_t *setting_data_get_list(void)
START_SUB_GROUP("State")
CONFIG_BOOL(g_extern.netplay_enable, "netplay_enable", "Netplay Enable", false, "OFF", "ON", GROUP_NAME, SUBGROUP_NAME, general_write_handler, general_read_handler)
#ifdef HAVE_NETPLAY
CONFIG_STRING(g_extern.netplay_server, "netplay_ip_address", "IP Address", "", GROUP_NAME, SUBGROUP_NAME, general_write_handler, general_read_handler)
CONFIG_STRING(g_extern.netplay_server, "netplay_ip_address", "IP Address", "", GROUP_NAME, SUBGROUP_NAME, general_write_handler, general_read_handler) WITH_FLAGS(SD_FLAG_ALLOW_INPUT)
#endif
CONFIG_BOOL(g_extern.netplay_is_client, "netplay_mode", "Netplay Client Enable", false, "OFF", "ON", GROUP_NAME, SUBGROUP_NAME, general_write_handler, general_read_handler)
CONFIG_BOOL(g_extern.netplay_is_spectate, "netplay_spectator_mode_enable", "Netplay Spectator Enable", false, "OFF", "ON", GROUP_NAME, SUBGROUP_NAME, general_write_handler, general_read_handler)
CONFIG_UINT(g_extern.netplay_sync_frames, "netplay_delay_frames", "Netplay Delay Frames", 0, GROUP_NAME, SUBGROUP_NAME, general_write_handler, general_read_handler) WITH_RANGE(0, 10, 1, true, false)
CONFIG_UINT(g_extern.netplay_port, "netplay_tcp_udp_port", "Netplay TCP/UDP Port", RARCH_DEFAULT_PORT, GROUP_NAME, SUBGROUP_NAME, general_write_handler, general_read_handler) WITH_RANGE(1, 99999, 1, true, true)
CONFIG_UINT(g_extern.netplay_port, "netplay_tcp_udp_port", "Netplay TCP/UDP Port", RARCH_DEFAULT_PORT, GROUP_NAME, SUBGROUP_NAME, general_write_handler, general_read_handler) WITH_RANGE(1, 99999, 1, true, true) WITH_FLAGS(SD_FLAG_ALLOW_INPUT)
END_SUB_GROUP()
END_GROUP()
#endif
@ -2557,8 +2557,8 @@ rarch_setting_t *setting_data_get_list(void)
/*******************/
START_GROUP("User Options")
START_SUB_GROUP("State")
CONFIG_STRING(g_settings.username, "netplay_nickname", "Username", "", GROUP_NAME, SUBGROUP_NAME, general_write_handler, general_read_handler)
CONFIG_UINT(g_settings.user_language, "user_language", "Language", def_user_language, GROUP_NAME, SUBGROUP_NAME, general_write_handler, general_read_handler) WITH_RANGE(0, RETRO_LANGUAGE_LAST-1, 1, true, true)
CONFIG_STRING(g_settings.username, "netplay_nickname", "Username", "", GROUP_NAME, SUBGROUP_NAME, general_write_handler, general_read_handler) WITH_FLAGS(SD_FLAG_ALLOW_INPUT)
CONFIG_UINT(g_settings.user_language, "user_language", "Language", def_user_language, GROUP_NAME, SUBGROUP_NAME, general_write_handler, general_read_handler) WITH_RANGE(0, RETRO_LANGUAGE_LAST-1, 1, true, true) WITH_FLAGS(SD_FLAG_ALLOW_INPUT)
END_SUB_GROUP()
END_GROUP()

View File

@ -47,11 +47,12 @@ enum setting_type
enum setting_flags
{
SD_FLAG_PATH_DIR = 1,
SD_FLAG_PATH_FILE = 2,
SD_FLAG_ALLOW_EMPTY = 4,
SD_FLAG_VALUE_DESC = 8,
SD_FLAG_HAS_RANGE = 16
SD_FLAG_PATH_DIR = (1 << 0),
SD_FLAG_PATH_FILE = (1 << 1),
SD_FLAG_ALLOW_EMPTY = (1 << 2),
SD_FLAG_VALUE_DESC = (1 << 3),
SD_FLAG_HAS_RANGE = (1 << 4),
SD_FLAG_ALLOW_INPUT = (1 << 5),
};
typedef struct rarch_setting_t