Refactor menu_cbs_get_value.c
This commit is contained in:
parent
71f4ff6b84
commit
e7d2e7ebcb
|
@ -1590,195 +1590,207 @@ static int menu_cbs_init_bind_get_string_representation_compare_label(
|
||||||
static int menu_cbs_init_bind_get_string_representation_compare_type(
|
static int menu_cbs_init_bind_get_string_representation_compare_type(
|
||||||
menu_file_list_cbs_t *cbs, unsigned type)
|
menu_file_list_cbs_t *cbs, unsigned type)
|
||||||
{
|
{
|
||||||
|
unsigned i;
|
||||||
|
typedef struct info_range_list
|
||||||
|
{
|
||||||
|
unsigned min;
|
||||||
|
unsigned max;
|
||||||
|
void (*cb)(file_list_t* list,
|
||||||
|
unsigned *w, unsigned type, unsigned i,
|
||||||
|
const char *label, char *s, size_t len,
|
||||||
|
const char *path,
|
||||||
|
char *path_buf, size_t path_buf_size);
|
||||||
|
} info_range_list_t;
|
||||||
|
|
||||||
|
info_range_list_t info_list[] = {
|
||||||
#ifdef HAVE_AUDIOMIXER
|
#ifdef HAVE_AUDIOMIXER
|
||||||
if (type >= MENU_SETTINGS_AUDIO_MIXER_STREAM_BEGIN
|
|
||||||
&& type <= MENU_SETTINGS_AUDIO_MIXER_STREAM_END)
|
|
||||||
{
|
|
||||||
BIND_ACTION_GET_VALUE(cbs,
|
|
||||||
menu_action_setting_audio_mixer_stream_name);
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
else if (type >= MENU_SETTINGS_AUDIO_MIXER_STREAM_ACTIONS_VOLUME_BEGIN
|
|
||||||
&& type <= MENU_SETTINGS_AUDIO_MIXER_STREAM_ACTIONS_VOLUME_END)
|
|
||||||
{
|
|
||||||
BIND_ACTION_GET_VALUE(cbs,
|
|
||||||
menu_action_setting_audio_mixer_stream_volume);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
#endif
|
|
||||||
if (type >= MENU_SETTINGS_INPUT_DESC_BEGIN
|
|
||||||
&& type <= MENU_SETTINGS_INPUT_DESC_END)
|
|
||||||
{
|
|
||||||
BIND_ACTION_GET_VALUE(cbs,
|
|
||||||
menu_action_setting_disp_set_label_input_desc);
|
|
||||||
}
|
|
||||||
else if (type >= MENU_SETTINGS_CHEAT_BEGIN
|
|
||||||
&& type <= MENU_SETTINGS_CHEAT_END)
|
|
||||||
{
|
|
||||||
BIND_ACTION_GET_VALUE(cbs,
|
|
||||||
menu_action_setting_disp_set_label_cheat);
|
|
||||||
}
|
|
||||||
else if (type >= MENU_SETTINGS_PERF_COUNTERS_BEGIN
|
|
||||||
&& type <= MENU_SETTINGS_PERF_COUNTERS_END)
|
|
||||||
{
|
|
||||||
BIND_ACTION_GET_VALUE(cbs,
|
|
||||||
menu_action_setting_disp_set_label_perf_counters);
|
|
||||||
}
|
|
||||||
else if (type >= MENU_SETTINGS_LIBRETRO_PERF_COUNTERS_BEGIN
|
|
||||||
&& type <= MENU_SETTINGS_LIBRETRO_PERF_COUNTERS_END)
|
|
||||||
{
|
|
||||||
BIND_ACTION_GET_VALUE(cbs,
|
|
||||||
menu_action_setting_disp_set_label_libretro_perf_counters);
|
|
||||||
}
|
|
||||||
else if (type >= MENU_SETTINGS_INPUT_DESC_KBD_BEGIN
|
|
||||||
&& type <= MENU_SETTINGS_INPUT_DESC_KBD_END)
|
|
||||||
{
|
|
||||||
BIND_ACTION_GET_VALUE(cbs,
|
|
||||||
menu_action_setting_disp_set_label_input_desc_kbd);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
switch (type)
|
|
||||||
{
|
{
|
||||||
case MENU_SETTINGS_CORE_OPTION_CREATE:
|
MENU_SETTINGS_AUDIO_MIXER_STREAM_BEGIN,
|
||||||
BIND_ACTION_GET_VALUE(cbs,
|
MENU_SETTINGS_AUDIO_MIXER_STREAM_END,
|
||||||
menu_action_setting_disp_set_label_core_option_create);
|
menu_action_setting_audio_mixer_stream_name
|
||||||
break;
|
},
|
||||||
case FILE_TYPE_CORE:
|
{
|
||||||
case FILE_TYPE_DIRECT_LOAD:
|
MENU_SETTINGS_AUDIO_MIXER_STREAM_ACTIONS_VOLUME_BEGIN,
|
||||||
BIND_ACTION_GET_VALUE(cbs,
|
MENU_SETTINGS_AUDIO_MIXER_STREAM_ACTIONS_VOLUME_END,
|
||||||
menu_action_setting_disp_set_label_menu_file_core);
|
menu_action_setting_audio_mixer_stream_volume
|
||||||
break;
|
},
|
||||||
case FILE_TYPE_PLAIN:
|
|
||||||
BIND_ACTION_GET_VALUE(cbs,
|
|
||||||
menu_action_setting_disp_set_label_menu_file_plain);
|
|
||||||
break;
|
|
||||||
case FILE_TYPE_MOVIE:
|
|
||||||
BIND_ACTION_GET_VALUE(cbs,
|
|
||||||
menu_action_setting_disp_set_label_movie);
|
|
||||||
break;
|
|
||||||
case FILE_TYPE_MUSIC:
|
|
||||||
BIND_ACTION_GET_VALUE(cbs,
|
|
||||||
menu_action_setting_disp_set_label_music);
|
|
||||||
break;
|
|
||||||
case FILE_TYPE_IMAGE:
|
|
||||||
case FILE_TYPE_IMAGEVIEWER:
|
|
||||||
BIND_ACTION_GET_VALUE(cbs,
|
|
||||||
menu_action_setting_disp_set_label_menu_file_imageviewer);
|
|
||||||
break;
|
|
||||||
case FILE_TYPE_USE_DIRECTORY:
|
|
||||||
BIND_ACTION_GET_VALUE(cbs,
|
|
||||||
menu_action_setting_disp_set_label_menu_file_use_directory);
|
|
||||||
break;
|
|
||||||
case FILE_TYPE_DIRECTORY:
|
|
||||||
BIND_ACTION_GET_VALUE(cbs,
|
|
||||||
menu_action_setting_disp_set_label_menu_file_directory);
|
|
||||||
break;
|
|
||||||
case FILE_TYPE_PARENT_DIRECTORY:
|
|
||||||
BIND_ACTION_GET_VALUE(cbs,
|
|
||||||
menu_action_setting_disp_set_label_menu_file_parent_directory);
|
|
||||||
break;
|
|
||||||
case FILE_TYPE_CARCHIVE:
|
|
||||||
BIND_ACTION_GET_VALUE(cbs,
|
|
||||||
menu_action_setting_disp_set_label_menu_file_carchive);
|
|
||||||
break;
|
|
||||||
case FILE_TYPE_OVERLAY:
|
|
||||||
BIND_ACTION_GET_VALUE(cbs,
|
|
||||||
menu_action_setting_disp_set_label_menu_file_overlay);
|
|
||||||
break;
|
|
||||||
#ifdef HAVE_VIDEO_LAYOUT
|
|
||||||
case FILE_TYPE_VIDEO_LAYOUT:
|
|
||||||
BIND_ACTION_GET_VALUE(cbs,
|
|
||||||
menu_action_setting_disp_set_label_menu_file_video_layout);
|
|
||||||
break;
|
|
||||||
#endif
|
#endif
|
||||||
case FILE_TYPE_FONT:
|
{
|
||||||
BIND_ACTION_GET_VALUE(cbs,
|
MENU_SETTINGS_INPUT_DESC_BEGIN,
|
||||||
menu_action_setting_disp_set_label_menu_file_font);
|
MENU_SETTINGS_INPUT_DESC_END,
|
||||||
break;
|
menu_action_setting_disp_set_label_input_desc
|
||||||
case FILE_TYPE_SHADER:
|
},
|
||||||
BIND_ACTION_GET_VALUE(cbs,
|
{
|
||||||
menu_action_setting_disp_set_label_menu_file_shader);
|
MENU_SETTINGS_CHEAT_BEGIN,
|
||||||
break;
|
MENU_SETTINGS_CHEAT_END,
|
||||||
case FILE_TYPE_SHADER_PRESET:
|
menu_action_setting_disp_set_label_cheat
|
||||||
BIND_ACTION_GET_VALUE(cbs,
|
},
|
||||||
menu_action_setting_disp_set_label_menu_file_shader_preset);
|
{
|
||||||
break;
|
MENU_SETTINGS_PERF_COUNTERS_BEGIN,
|
||||||
case FILE_TYPE_CONFIG:
|
MENU_SETTINGS_PERF_COUNTERS_END,
|
||||||
BIND_ACTION_GET_VALUE(cbs,
|
menu_action_setting_disp_set_label_perf_counters
|
||||||
menu_action_setting_disp_set_label_menu_file_config);
|
},
|
||||||
break;
|
{
|
||||||
case FILE_TYPE_IN_CARCHIVE:
|
MENU_SETTINGS_LIBRETRO_PERF_COUNTERS_BEGIN,
|
||||||
BIND_ACTION_GET_VALUE(cbs,
|
MENU_SETTINGS_LIBRETRO_PERF_COUNTERS_END,
|
||||||
menu_action_setting_disp_set_label_menu_file_in_carchive);
|
menu_action_setting_disp_set_label_libretro_perf_counters
|
||||||
break;
|
},
|
||||||
case FILE_TYPE_VIDEOFILTER:
|
{
|
||||||
case FILE_TYPE_AUDIOFILTER:
|
MENU_SETTINGS_INPUT_DESC_KBD_BEGIN,
|
||||||
BIND_ACTION_GET_VALUE(cbs,
|
MENU_SETTINGS_INPUT_DESC_KBD_END,
|
||||||
menu_action_setting_disp_set_label_menu_file_filter);
|
menu_action_setting_disp_set_label_input_desc_kbd
|
||||||
break;
|
},
|
||||||
case FILE_TYPE_DOWNLOAD_CORE:
|
};
|
||||||
BIND_ACTION_GET_VALUE(cbs,
|
|
||||||
menu_action_setting_disp_set_label_menu_file_url_core);
|
for (i = 0; i < ARRAY_SIZE(info_list); i++)
|
||||||
break;
|
{
|
||||||
case FILE_TYPE_RDB:
|
if (type >= info_list[i].min && type <= info_list[i].max)
|
||||||
BIND_ACTION_GET_VALUE(cbs,
|
{
|
||||||
menu_action_setting_disp_set_label_menu_file_rdb);
|
BIND_ACTION_GET_VALUE(cbs, info_list[i].cb);
|
||||||
break;
|
return 0;
|
||||||
case FILE_TYPE_CURSOR:
|
|
||||||
BIND_ACTION_GET_VALUE(cbs,
|
|
||||||
menu_action_setting_disp_set_label_menu_file_cursor);
|
|
||||||
break;
|
|
||||||
case FILE_TYPE_CHEAT:
|
|
||||||
BIND_ACTION_GET_VALUE(cbs,
|
|
||||||
menu_action_setting_disp_set_label_menu_file_cheat);
|
|
||||||
break;
|
|
||||||
case MENU_SETTINGS_CHEAT_MATCH:
|
|
||||||
BIND_ACTION_GET_VALUE(cbs,
|
|
||||||
menu_action_setting_disp_set_label_cheat_match);
|
|
||||||
break;
|
|
||||||
case MENU_SETTING_SUBGROUP:
|
|
||||||
case MENU_SETTINGS_CUSTOM_BIND_ALL:
|
|
||||||
case MENU_SETTINGS_CUSTOM_BIND_DEFAULT_ALL:
|
|
||||||
case MENU_SETTING_ACTION:
|
|
||||||
case MENU_SETTING_ACTION_LOADSTATE:
|
|
||||||
case 7: /* Run */
|
|
||||||
case MENU_SETTING_ACTION_DELETE_ENTRY:
|
|
||||||
case MENU_SETTING_ACTION_CORE_DISK_OPTIONS:
|
|
||||||
BIND_ACTION_GET_VALUE(cbs,
|
|
||||||
menu_action_setting_disp_set_label_menu_more);
|
|
||||||
break;
|
|
||||||
case MENU_SETTINGS_CORE_DISK_OPTIONS_DISK_INDEX:
|
|
||||||
BIND_ACTION_GET_VALUE(cbs,
|
|
||||||
menu_action_setting_disp_set_label_menu_disk_index);
|
|
||||||
break;
|
|
||||||
case 31: /* Database entry */
|
|
||||||
BIND_ACTION_GET_VALUE(cbs, menu_action_setting_disp_set_label_db_entry);
|
|
||||||
break;
|
|
||||||
case 25: /* URL directory entries */
|
|
||||||
case 26: /* URL entries */
|
|
||||||
BIND_ACTION_GET_VALUE(cbs, menu_action_setting_disp_set_label_entry_url);
|
|
||||||
break;
|
|
||||||
case MENU_SETTING_DROPDOWN_SETTING_INT_ITEM:
|
|
||||||
case MENU_SETTING_DROPDOWN_SETTING_UINT_ITEM:
|
|
||||||
case MENU_SETTING_DROPDOWN_SETTING_FLOAT_ITEM:
|
|
||||||
case MENU_SETTING_DROPDOWN_ITEM:
|
|
||||||
case MENU_SETTING_NO_ITEM:
|
|
||||||
BIND_ACTION_GET_VALUE(cbs, menu_action_setting_disp_set_label_no_items);
|
|
||||||
break;
|
|
||||||
case 32: /* Recent history entry */
|
|
||||||
case 65535: /* System info entry */
|
|
||||||
BIND_ACTION_GET_VALUE(cbs, menu_action_setting_disp_set_label_entry);
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
#if 0
|
|
||||||
RARCH_LOG("type: %d\n", type);
|
|
||||||
#endif
|
|
||||||
BIND_ACTION_GET_VALUE(cbs, menu_action_setting_disp_set_label);
|
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
switch (type)
|
||||||
|
{
|
||||||
|
case MENU_SETTINGS_CORE_OPTION_CREATE:
|
||||||
|
BIND_ACTION_GET_VALUE(cbs,
|
||||||
|
menu_action_setting_disp_set_label_core_option_create);
|
||||||
|
break;
|
||||||
|
case FILE_TYPE_CORE:
|
||||||
|
case FILE_TYPE_DIRECT_LOAD:
|
||||||
|
BIND_ACTION_GET_VALUE(cbs,
|
||||||
|
menu_action_setting_disp_set_label_menu_file_core);
|
||||||
|
break;
|
||||||
|
case FILE_TYPE_PLAIN:
|
||||||
|
BIND_ACTION_GET_VALUE(cbs,
|
||||||
|
menu_action_setting_disp_set_label_menu_file_plain);
|
||||||
|
break;
|
||||||
|
case FILE_TYPE_MOVIE:
|
||||||
|
BIND_ACTION_GET_VALUE(cbs,
|
||||||
|
menu_action_setting_disp_set_label_movie);
|
||||||
|
break;
|
||||||
|
case FILE_TYPE_MUSIC:
|
||||||
|
BIND_ACTION_GET_VALUE(cbs,
|
||||||
|
menu_action_setting_disp_set_label_music);
|
||||||
|
break;
|
||||||
|
case FILE_TYPE_IMAGE:
|
||||||
|
case FILE_TYPE_IMAGEVIEWER:
|
||||||
|
BIND_ACTION_GET_VALUE(cbs,
|
||||||
|
menu_action_setting_disp_set_label_menu_file_imageviewer);
|
||||||
|
break;
|
||||||
|
case FILE_TYPE_USE_DIRECTORY:
|
||||||
|
BIND_ACTION_GET_VALUE(cbs,
|
||||||
|
menu_action_setting_disp_set_label_menu_file_use_directory);
|
||||||
|
break;
|
||||||
|
case FILE_TYPE_DIRECTORY:
|
||||||
|
BIND_ACTION_GET_VALUE(cbs,
|
||||||
|
menu_action_setting_disp_set_label_menu_file_directory);
|
||||||
|
break;
|
||||||
|
case FILE_TYPE_PARENT_DIRECTORY:
|
||||||
|
BIND_ACTION_GET_VALUE(cbs,
|
||||||
|
menu_action_setting_disp_set_label_menu_file_parent_directory);
|
||||||
|
break;
|
||||||
|
case FILE_TYPE_CARCHIVE:
|
||||||
|
BIND_ACTION_GET_VALUE(cbs,
|
||||||
|
menu_action_setting_disp_set_label_menu_file_carchive);
|
||||||
|
break;
|
||||||
|
case FILE_TYPE_OVERLAY:
|
||||||
|
BIND_ACTION_GET_VALUE(cbs,
|
||||||
|
menu_action_setting_disp_set_label_menu_file_overlay);
|
||||||
|
break;
|
||||||
|
#ifdef HAVE_VIDEO_LAYOUT
|
||||||
|
case FILE_TYPE_VIDEO_LAYOUT:
|
||||||
|
BIND_ACTION_GET_VALUE(cbs,
|
||||||
|
menu_action_setting_disp_set_label_menu_file_video_layout);
|
||||||
|
break;
|
||||||
|
#endif
|
||||||
|
case FILE_TYPE_FONT:
|
||||||
|
BIND_ACTION_GET_VALUE(cbs,
|
||||||
|
menu_action_setting_disp_set_label_menu_file_font);
|
||||||
|
break;
|
||||||
|
case FILE_TYPE_SHADER:
|
||||||
|
BIND_ACTION_GET_VALUE(cbs,
|
||||||
|
menu_action_setting_disp_set_label_menu_file_shader);
|
||||||
|
break;
|
||||||
|
case FILE_TYPE_SHADER_PRESET:
|
||||||
|
BIND_ACTION_GET_VALUE(cbs,
|
||||||
|
menu_action_setting_disp_set_label_menu_file_shader_preset);
|
||||||
|
break;
|
||||||
|
case FILE_TYPE_CONFIG:
|
||||||
|
BIND_ACTION_GET_VALUE(cbs,
|
||||||
|
menu_action_setting_disp_set_label_menu_file_config);
|
||||||
|
break;
|
||||||
|
case FILE_TYPE_IN_CARCHIVE:
|
||||||
|
BIND_ACTION_GET_VALUE(cbs,
|
||||||
|
menu_action_setting_disp_set_label_menu_file_in_carchive);
|
||||||
|
break;
|
||||||
|
case FILE_TYPE_VIDEOFILTER:
|
||||||
|
case FILE_TYPE_AUDIOFILTER:
|
||||||
|
BIND_ACTION_GET_VALUE(cbs,
|
||||||
|
menu_action_setting_disp_set_label_menu_file_filter);
|
||||||
|
break;
|
||||||
|
case FILE_TYPE_DOWNLOAD_CORE:
|
||||||
|
BIND_ACTION_GET_VALUE(cbs,
|
||||||
|
menu_action_setting_disp_set_label_menu_file_url_core);
|
||||||
|
break;
|
||||||
|
case FILE_TYPE_RDB:
|
||||||
|
BIND_ACTION_GET_VALUE(cbs,
|
||||||
|
menu_action_setting_disp_set_label_menu_file_rdb);
|
||||||
|
break;
|
||||||
|
case FILE_TYPE_CURSOR:
|
||||||
|
BIND_ACTION_GET_VALUE(cbs,
|
||||||
|
menu_action_setting_disp_set_label_menu_file_cursor);
|
||||||
|
break;
|
||||||
|
case FILE_TYPE_CHEAT:
|
||||||
|
BIND_ACTION_GET_VALUE(cbs,
|
||||||
|
menu_action_setting_disp_set_label_menu_file_cheat);
|
||||||
|
break;
|
||||||
|
case MENU_SETTINGS_CHEAT_MATCH:
|
||||||
|
BIND_ACTION_GET_VALUE(cbs,
|
||||||
|
menu_action_setting_disp_set_label_cheat_match);
|
||||||
|
break;
|
||||||
|
case MENU_SETTING_SUBGROUP:
|
||||||
|
case MENU_SETTINGS_CUSTOM_BIND_ALL:
|
||||||
|
case MENU_SETTINGS_CUSTOM_BIND_DEFAULT_ALL:
|
||||||
|
case MENU_SETTING_ACTION:
|
||||||
|
case MENU_SETTING_ACTION_LOADSTATE:
|
||||||
|
case 7: /* Run */
|
||||||
|
case MENU_SETTING_ACTION_DELETE_ENTRY:
|
||||||
|
case MENU_SETTING_ACTION_CORE_DISK_OPTIONS:
|
||||||
|
BIND_ACTION_GET_VALUE(cbs,
|
||||||
|
menu_action_setting_disp_set_label_menu_more);
|
||||||
|
break;
|
||||||
|
case MENU_SETTINGS_CORE_DISK_OPTIONS_DISK_INDEX:
|
||||||
|
BIND_ACTION_GET_VALUE(cbs,
|
||||||
|
menu_action_setting_disp_set_label_menu_disk_index);
|
||||||
|
break;
|
||||||
|
case 31: /* Database entry */
|
||||||
|
BIND_ACTION_GET_VALUE(cbs, menu_action_setting_disp_set_label_db_entry);
|
||||||
|
break;
|
||||||
|
case 25: /* URL directory entries */
|
||||||
|
case 26: /* URL entries */
|
||||||
|
BIND_ACTION_GET_VALUE(cbs, menu_action_setting_disp_set_label_entry_url);
|
||||||
|
break;
|
||||||
|
case MENU_SETTING_DROPDOWN_SETTING_INT_ITEM:
|
||||||
|
case MENU_SETTING_DROPDOWN_SETTING_UINT_ITEM:
|
||||||
|
case MENU_SETTING_DROPDOWN_SETTING_FLOAT_ITEM:
|
||||||
|
case MENU_SETTING_DROPDOWN_ITEM:
|
||||||
|
case MENU_SETTING_NO_ITEM:
|
||||||
|
BIND_ACTION_GET_VALUE(cbs, menu_action_setting_disp_set_label_no_items);
|
||||||
|
break;
|
||||||
|
case 32: /* Recent history entry */
|
||||||
|
case 65535: /* System info entry */
|
||||||
|
BIND_ACTION_GET_VALUE(cbs, menu_action_setting_disp_set_label_entry);
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
#if 0
|
||||||
|
RARCH_LOG("type: %d\n", type);
|
||||||
|
#endif
|
||||||
|
BIND_ACTION_GET_VALUE(cbs, menu_action_setting_disp_set_label);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue