Start using menu_entries_add_enum

This commit is contained in:
twinaphex 2016-06-15 01:15:37 +02:00
parent fef343ff9e
commit 1159ca17ff
3 changed files with 47 additions and 4 deletions

View File

@ -2331,24 +2331,28 @@ static int menu_displaylist_parse_load_content_settings(
runloop_ctl(RUNLOOP_CTL_SYSTEM_INFO_GET, &system);
menu_entries_add(info->list,
menu_entries_add_enum(info->list,
menu_hash_to_str(MENU_LABEL_VALUE_RESUME_CONTENT),
menu_hash_to_str(MENU_LABEL_RESUME_CONTENT),
MENU_ENUM_LABEL_RESUME_CONTENT,
MENU_SETTING_ACTION_RUN, 0, 0);
menu_entries_add(info->list,
menu_entries_add_enum(info->list,
menu_hash_to_str(MENU_LABEL_VALUE_RESTART_CONTENT),
menu_hash_to_str(MENU_LABEL_RESTART_CONTENT),
MENU_ENUM_LABEL_RESTART_CONTENT,
MENU_SETTING_ACTION_RUN, 0, 0);
menu_entries_add(info->list,
menu_entries_add_enum(info->list,
menu_hash_to_str(MENU_LABEL_VALUE_CLOSE_CONTENT),
menu_hash_to_str(MENU_LABEL_CLOSE_CONTENT),
MENU_ENUM_LABEL_CLOSE_CONTENT,
MENU_SETTING_ACTION_CLOSE, 0, 0);
menu_entries_add(info->list,
menu_entries_add_enum(info->list,
menu_hash_to_str(MENU_LABEL_VALUE_TAKE_SCREENSHOT),
menu_hash_to_str(MENU_LABEL_TAKE_SCREENSHOT),
MENU_ENUM_LABEL_TAKE_SCREENSHOT,
MENU_SETTING_ACTION_SCREENSHOT, 0, 0);
menu_displaylist_parse_settings(menu, info,

View File

@ -538,6 +538,41 @@ void menu_entries_add(file_list_t *list, const char *path, const char *label,
menu_cbs_init(list, cbs, path, label, type, idx);
}
void menu_entries_add_enum(file_list_t *list, const char *path, const char *label,
enum menu_hash_enums enum_idx,
unsigned type, size_t directory_ptr, size_t entry_idx)
{
menu_ctx_list_t list_info;
size_t idx;
menu_file_list_cbs_t *cbs = NULL;
if (!list || !label)
return;
file_list_append(list, path, label, type, directory_ptr, entry_idx);
idx = list->size - 1;
list_info.list = list;
list_info.path = path;
list_info.label = label;
list_info.idx = idx;
menu_driver_ctl(RARCH_MENU_CTL_LIST_INSERT, &list_info);
file_list_free_actiondata(list, idx);
cbs = (menu_file_list_cbs_t*)
calloc(1, sizeof(menu_file_list_cbs_t));
if (!cbs)
return;
file_list_set_actiondata(list, idx, cbs);
cbs->setting = menu_setting_find_enum(enum_idx);
menu_cbs_init(list, cbs, path, label, type, idx);
}
void menu_entries_prepend(file_list_t *list, const char *path, const char *label,
unsigned type, size_t directory_ptr, size_t entry_idx)
{

View File

@ -176,6 +176,10 @@ rarch_setting_t *menu_entries_get_setting(uint32_t i);
void menu_entries_prepend(file_list_t *list, const char *path, const char *label,
unsigned type, size_t directory_ptr, size_t entry_idx);
void menu_entries_add_enum(file_list_t *list, const char *path, const char *label,
enum menu_hash_enums enum_idx,
unsigned type, size_t directory_ptr, size_t entry_idx);
bool menu_entries_ctl(enum menu_entries_ctl_state state, void *data);
RETRO_END_DECLS