Implement more settings for Accessibility

This commit is contained in:
twinaphex 2019-12-04 09:24:27 +01:00
parent 9462fd301a
commit ebe9f1861e
6 changed files with 76 additions and 0 deletions

View File

@ -2133,3 +2133,7 @@ MSG_HASH(MENU_ENUM_LABEL_MANUAL_CONTENT_SCAN_OVERWRITE,
"manual_content_scan_overwrite")
MSG_HASH(MENU_ENUM_LABEL_MANUAL_CONTENT_SCAN_START,
"manual_content_scan_start")
MSG_HASH(MENU_ENUM_LABEL_ACCESSIBILITY_ENABLED,
"accessibility_enabled")
MSG_HASH(MENU_ENUM_LABEL_ACCESSIBILITY_NARRATOR_SPEECH_SPEED,
"accessibility_narrator_speech_speed")

View File

@ -10156,3 +10156,11 @@ MSG_HASH(
MSG_MANUAL_CONTENT_SCAN_END,
"Scan complete: "
)
MSG_HASH(MENU_ENUM_LABEL_VALUE_ACCESSIBILITY_ENABLED,
"Accessibility needed")
MSG_HASH(MENU_ENUM_SUBLABEL_ACCESSIBILITY_ENABLED,
"Turn on/off accessibility narrator for menu navigation")
MSG_HASH(MENU_ENUM_SUBLABEL_ACCESSIBILITY_NARRATOR_SPEECH_SPEED,
"Set speech speed for the narrator, from fast to slow")
MSG_HASH(MENU_ENUM_LABEL_VALUE_ACCESSIBILITY_NARRATOR_SPEECH_SPEED,
"Narrator Speech Speed")

View File

@ -128,6 +128,7 @@ default_sublabel_macro(action_bind_sublabel_saving_settings_list, MENU_
default_sublabel_macro(action_bind_sublabel_logging_settings_list, MENU_ENUM_SUBLABEL_LOGGING_SETTINGS)
default_sublabel_macro(action_bind_sublabel_user_interface_settings_list, MENU_ENUM_SUBLABEL_USER_INTERFACE_SETTINGS)
default_sublabel_macro(action_bind_sublabel_ai_service_settings_list, MENU_ENUM_SUBLABEL_AI_SERVICE_SETTINGS)
default_sublabel_macro(action_bind_sublabel__settings_list, MENU_ENUM_SUBLABEL_ACCESSIBILITY_SETTINGS)
default_sublabel_macro(action_bind_sublabel_accessibility_settings_list, MENU_ENUM_SUBLABEL_ACCESSIBILITY_SETTINGS)
default_sublabel_macro(action_bind_sublabel_ai_service_mode, MENU_ENUM_SUBLABEL_AI_SERVICE_MODE)
default_sublabel_macro(action_bind_sublabel_ai_service_pause, MENU_ENUM_SUBLABEL_AI_SERVICE_PAUSE)
@ -2794,6 +2795,11 @@ int menu_cbs_init_bind_sublabel(menu_file_list_cbs_t *cbs,
case MENU_ENUM_LABEL_AI_SERVICE_SETTINGS:
BIND_ACTION_SUBLABEL(cbs, action_bind_sublabel_ai_service_settings_list);
break;
#if 0
case MENU_ENUM_LABEL_ACCESSIBILITY_NARRATOR_SPEECH_SPEED:
BIND_ACTION_SUBLABEL(cbs, action_bind_sublabel_accessibility_narrator_speech_speed);
break;
#endif
case MENU_ENUM_LABEL_ACCESSIBILITY_SETTINGS:
BIND_ACTION_SUBLABEL(cbs, action_bind_sublabel_accessibility_settings_list);
break;

View File

@ -4786,6 +4786,20 @@ unsigned menu_displaylist_build_list(file_list_t *list, enum menu_displaylist_ct
}
break;
case DISPLAYLIST_ACCESSIBILITY_SETTINGS_LIST:
{
menu_displaylist_build_info_selective_t build_list[] = {
{MENU_ENUM_LABEL_ACCESSIBILITY_NARRATOR_SPEECH_SPEED, PARSE_ONLY_BOOL, true },
{MENU_ENUM_LABEL_ACCESSIBILITY_NARRATOR_SPEECH_SPEED, PARSE_ONLY_UINT, true },
};
for (i = 0; i < ARRAY_SIZE(build_list); i++)
{
if (menu_displaylist_parse_settings_enum(list,
build_list[i].enum_idx, build_list[i].parse_type,
false) == 0)
count++;
}
}
break;
case DISPLAYLIST_AI_SERVICE_SETTINGS_LIST:
{

View File

@ -143,6 +143,7 @@ enum settings_list_type
SETTINGS_LIST_MENU_FILE_BROWSER,
SETTINGS_LIST_MULTIMEDIA,
SETTINGS_LIST_AI_SERVICE,
SETTINGS_LIST_ACCESSIBILITY,
SETTINGS_LIST_USER_INTERFACE,
SETTINGS_LIST_POWER_MANAGEMENT,
SETTINGS_LIST_MENU_SOUNDS,
@ -13783,6 +13784,46 @@ static bool setting_append_list(
SD_FLAG_CMD_APPLY_AUTO);
#endif
END_SUB_GROUP(list, list_info, parent_group);
END_GROUP(list, list_info, parent_group);
break;
case SETTINGS_LIST_ACCESSIBILITY:
START_GROUP(list, list_info, &group_info,
msg_hash_to_str(MENU_ENUM_LABEL_VALUE_ACCESSIBILITY_SETTINGS),
parent_group);
parent_group = msg_hash_to_str(MENU_ENUM_LABEL_ACCESSIBILITY_SETTINGS);
START_SUB_GROUP(list, list_info, "State", &group_info, &subgroup_info, parent_group);
CONFIG_BOOL(
list, list_info,
&settings->bools.ai_service_enable,
MENU_ENUM_LABEL_AI_SERVICE_ENABLE,
MENU_ENUM_LABEL_VALUE_AI_SERVICE_ENABLE,
false,
MENU_ENUM_LABEL_VALUE_OFF,
MENU_ENUM_LABEL_VALUE_ON,
&group_info,
&subgroup_info,
parent_group,
general_write_handler,
general_read_handler,
SD_FLAG_NONE);
CONFIG_UINT(
list, list_info,
&settings->uints.accessibility_narrator_speech_speed,
MENU_ENUM_LABEL_ACCESSIBILITY_NARRATOR_SPEECH_SPEED,
MENU_ENUM_LABEL_VALUE_ACCESSIBILITY_NARRATOR_SPEECH_SPEED,
DEFAULT_AI_SERVICE_MODE,
&group_info,
&subgroup_info,
parent_group,
general_write_handler,
general_read_handler);
menu_settings_list_current_add_range(list, list_info, 1, 10, 1, true, true);
END_SUB_GROUP(list, list_info, parent_group);
END_GROUP(list, list_info, parent_group);
break;
@ -16646,6 +16687,7 @@ static rarch_setting_t *menu_setting_new_internal(rarch_setting_info_t *list_inf
#ifdef HAVE_TRANSLATE
SETTINGS_LIST_AI_SERVICE,
#endif
SETTINGS_LIST_ACCESSIBILITY,
SETTINGS_LIST_USER_INTERFACE,
SETTINGS_LIST_POWER_MANAGEMENT,
SETTINGS_LIST_MENU_SOUNDS,

View File

@ -1761,6 +1761,8 @@ enum msg_hash_enums
MENU_LABEL(MAIN_MENU),
MENU_LABEL(INPUT_SETTINGS),
MENU_LABEL(ACCESSIBILITY_SETTINGS),
MENU_LABEL(ACCESSIBILITY_ENABLED),
MENU_LABEL(ACCESSIBILITY_NARRATOR_SPEECH_SPEED),
MENU_LABEL(AI_SERVICE_SETTINGS),
MENU_LABEL(AI_SERVICE_MODE),
MENU_LABEL(AI_SERVICE_TARGET_LANG),