Refactor input user binds settings

This commit is contained in:
twinaphex 2016-06-16 22:32:27 +02:00
parent f80adc7eba
commit 8545a58c41
3 changed files with 40 additions and 8 deletions

View File

@ -26,6 +26,38 @@ static const char *menu_hash_to_str_us_label_enum(enum menu_hash_enums msg)
{
switch (msg)
{
case MENU_ENUM_LABEL_INPUT_USER_1_BINDS:
return "1_input_binds_list";
case MENU_ENUM_LABEL_INPUT_USER_2_BINDS:
return "2_input_binds_list";
case MENU_ENUM_LABEL_INPUT_USER_3_BINDS:
return "3_input_binds_list";
case MENU_ENUM_LABEL_INPUT_USER_4_BINDS:
return "4_input_binds_list";
case MENU_ENUM_LABEL_INPUT_USER_5_BINDS:
return "5_input_binds_list";
case MENU_ENUM_LABEL_INPUT_USER_6_BINDS:
return "6_input_binds_list";
case MENU_ENUM_LABEL_INPUT_USER_7_BINDS:
return "7_input_binds_list";
case MENU_ENUM_LABEL_INPUT_USER_8_BINDS:
return "8_input_binds_list";
case MENU_ENUM_LABEL_INPUT_USER_9_BINDS:
return "9_input_binds_list";
case MENU_ENUM_LABEL_INPUT_USER_10_BINDS:
return "10_input_binds_list";
case MENU_ENUM_LABEL_INPUT_USER_11_BINDS:
return "11_input_binds_list";
case MENU_ENUM_LABEL_INPUT_USER_12_BINDS:
return "12_input_binds_list";
case MENU_ENUM_LABEL_INPUT_USER_13_BINDS:
return "13_input_binds_list";
case MENU_ENUM_LABEL_INPUT_USER_14_BINDS:
return "14_input_binds_list";
case MENU_ENUM_LABEL_INPUT_USER_15_BINDS:
return "15_input_binds_list";
case MENU_ENUM_LABEL_INPUT_USER_16_BINDS:
return "16_input_binds_list";
case MENU_ENUM_LABEL_VIDEO_VIEWPORT_CUSTOM_X:
return "video_viewport_custom_x";
case MENU_ENUM_LABEL_VIDEO_VIEWPORT_CUSTOM_Y:

View File

@ -4011,10 +4011,8 @@ bool menu_displaylist_ctl(enum menu_displaylist_ctl_state type, void *data)
unsigned user;
for (user = 0; user < settings->input.max_users; user++)
{
char binds_list[PATH_MAX_LENGTH] = {0};
snprintf(binds_list, sizeof(binds_list), "%d_input_binds_list", user + 1);
menu_displaylist_parse_settings(menu, info,
binds_list, PARSE_ACTION, false);
menu_displaylist_parse_settings_enum(menu, info,
MENU_ENUM_LABEL_INPUT_USER_1_BINDS + user, PARSE_ACTION, false);
}
}

View File

@ -5561,9 +5561,10 @@ static bool setting_append_list(
{
static char binds_list[MAX_USERS][PATH_MAX_LENGTH];
static char binds_label[MAX_USERS][PATH_MAX_LENGTH];
unsigned user_value = user + 1;
snprintf(binds_list[user], sizeof(binds_list[user]), "%d_input_binds_list", user + 1);
snprintf(binds_label[user], sizeof(binds_label[user]), "Input User %d Binds", user + 1);
snprintf(binds_list[user], sizeof(binds_list[user]), "%d_input_binds_list", user_value);
snprintf(binds_label[user], sizeof(binds_label[user]), "Input User %d Binds", user_value);
CONFIG_ACTION(
list, list_info,
@ -5572,9 +5573,10 @@ static bool setting_append_list(
&group_info,
&subgroup_info,
parent_group);
(*list)[list_info->index - 1].index = user + 1;
(*list)[list_info->index - 1].index = user_value;
(*list)[list_info->index - 1].index_offset = user;
/* add enum_idx */
menu_settings_list_current_add_enum_idx(list, list_info, MENU_ENUM_LABEL_INPUT_USER_1_BINDS + user);
}
END_SUB_GROUP(list, list_info, parent_group);