Add dropdown lists for poll type behavior and menu toggle type

This commit is contained in:
twinaphex 2018-09-23 11:40:26 +02:00
parent 6c3610decc
commit ba9150f7c0
2 changed files with 31 additions and 40 deletions

View File

@ -885,42 +885,6 @@ static void menu_action_setting_disp_set_label_state(
strlcat(s, " (Auto)", len);
}
static void menu_action_setting_disp_set_label_poll_type_behavior(
file_list_t* list,
unsigned *w, unsigned type, unsigned i,
const char *label,
char *s, size_t len,
const char *entry_label,
const char *path,
char *s2, size_t len2)
{
settings_t *settings = config_get_ptr();
if (!settings)
return;
strlcpy(s2, path, len2);
*w = 19;
switch (settings->uints.input_poll_type_behavior)
{
case 0:
strlcpy(s,
msg_hash_to_str(
MENU_ENUM_LABEL_VALUE_INPUT_POLL_TYPE_BEHAVIOR_EARLY), len);
break;
case 1:
strlcpy(s,
msg_hash_to_str(
MENU_ENUM_LABEL_VALUE_INPUT_POLL_TYPE_BEHAVIOR_NORMAL), len);
break;
case 2:
strlcpy(s,
msg_hash_to_str(
MENU_ENUM_LABEL_VALUE_INPUT_POLL_TYPE_BEHAVIOR_LATE), len);
break;
}
}
static void menu_action_setting_disp_set_label_xmb_theme(
file_list_t* list,
unsigned *w, unsigned type, unsigned i,
@ -1987,10 +1951,6 @@ static int menu_cbs_init_bind_get_string_representation_compare_label(
BIND_ACTION_GET_VALUE(cbs,
menu_action_setting_disp_set_label_state);
break;
case MENU_ENUM_LABEL_INPUT_POLL_TYPE_BEHAVIOR:
BIND_ACTION_GET_VALUE(cbs,
menu_action_setting_disp_set_label_poll_type_behavior);
break;
case MENU_ENUM_LABEL_XMB_LAYOUT:
BIND_ACTION_GET_VALUE(cbs,
menu_action_setting_disp_set_label_xmb_layout);

View File

@ -793,6 +793,33 @@ static void setting_get_string_representation_toggle_gamepad_combo(void *data,
}
}
static void setting_get_string_representation_poll_type_behavior(void *data,
char *s, size_t len)
{
rarch_setting_t *setting = (rarch_setting_t*)data;
if (!setting)
return;
switch (*setting->value.target.unsigned_integer)
{
case 0:
strlcpy(s,
msg_hash_to_str(
MENU_ENUM_LABEL_VALUE_INPUT_POLL_TYPE_BEHAVIOR_EARLY), len);
break;
case 1:
strlcpy(s,
msg_hash_to_str(
MENU_ENUM_LABEL_VALUE_INPUT_POLL_TYPE_BEHAVIOR_NORMAL), len);
break;
case 2:
strlcpy(s,
msg_hash_to_str(
MENU_ENUM_LABEL_VALUE_INPUT_POLL_TYPE_BEHAVIOR_LATE), len);
break;
}
}
#ifdef HAVE_LANGEXTRA
static void setting_get_string_representation_uint_user_language(void *data,
char *s, size_t len)
@ -5112,6 +5139,9 @@ static bool setting_append_list(
parent_group,
general_write_handler,
general_read_handler);
(*list)[list_info->index - 1].action_ok = &setting_action_ok_uint;
(*list)[list_info->index - 1].get_string_representation =
&setting_get_string_representation_poll_type_behavior;
menu_settings_list_current_add_range(list, list_info, 0, 2, 1, true, true);
settings_data_list_current_add_flags(list, list_info, SD_FLAG_LAKKA_ADVANCED);
@ -5207,6 +5237,7 @@ static bool setting_append_list(
parent_group,
general_write_handler,
general_read_handler);
(*list)[list_info->index - 1].action_ok = &setting_action_ok_uint;
(*list)[list_info->index - 1].get_string_representation =
&setting_get_string_representation_toggle_gamepad_combo;
menu_settings_list_current_add_range(list, list_info, 0, 4, 1, true, true);