Start adding new setting type - ST_ACTION

This commit is contained in:
twinaphex 2014-10-23 00:10:58 +02:00
parent 273c81ae96
commit 32af71a9ca
4 changed files with 26 additions and 0 deletions

View File

@ -152,6 +152,7 @@ int menu_action_handle_setting(rarch_setting_t *setting,
case ST_STRING:
case ST_DIR:
case ST_BIND:
case ST_ACTION:
return setting_handler(setting, action);
case ST_PATH:
return menu_entries_set_current_path_selection(setting,

View File

@ -154,6 +154,8 @@ void setting_data_reset_setting(rarch_setting_t* setting)
}
break;
/* TODO */
case ST_ACTION:
break;
case ST_HEX:
break;
case ST_GROUP:
@ -249,6 +251,8 @@ static bool setting_data_load_config(
settings->value.keybind);
}
break;
case ST_ACTION:
break;
/* TODO */
case ST_HEX:
break;
@ -365,6 +369,7 @@ bool setting_data_save_config(rarch_setting_t* settings,
}
break;
/* TODO */
case ST_ACTION:
case ST_HEX:
break;
case ST_GROUP:
@ -457,6 +462,8 @@ void setting_data_set_with_string_representation(rarch_setting_t* setting,
break;
/* TODO */
case ST_ACTION:
break;
case ST_HEX:
break;
case ST_GROUP:
@ -674,6 +681,7 @@ void setting_data_get_string_representation(rarch_setting_t* setting,
}
break;
/* TODO */
case ST_ACTION:
case ST_HEX:
break;
case ST_GROUP:
@ -1095,6 +1103,14 @@ static int setting_data_uint_action_ok_linefeed(void *data, unsigned action)
return 0;
}
rarch_setting_t setting_data_action_setting(enum setting_type type, const char* name)
{
rarch_setting_t result = { type, name };
result.short_description = name;
return result;
}
rarch_setting_t setting_data_group_setting(enum setting_type type, const char* name)
{
rarch_setting_t result = { type, name };
@ -2624,6 +2640,11 @@ static void general_write_handler(void *data)
if (!(settings_list_append(list, list_info, setting_data_group_setting (ST_END_SUB_GROUP, 0)))) return false; \
}
#define CONFIG_ACTION(NAME, SHORT) \
{ \
if (!settings_list_append(list, list_info, setting_data_action_setting (NAME, SHORT))) return false; \
}
#define CONFIG_BOOL(TARGET, NAME, SHORT, DEF, OFF, ON, group_info, subgroup_info, CHANGE_HANDLER, READ_HANDLER) \
{ \
if (!settings_list_append(list, list_info, setting_data_bool_setting (NAME, SHORT, &TARGET, DEF, OFF, ON, group_info, subgroup_info, CHANGE_HANDLER, READ_HANDLER)))return false; \

View File

@ -44,6 +44,9 @@ void setting_data_get_string_representation(rarch_setting_t* setting,
char* buf, size_t sizeof_buf);
/* List building helper functions. */
rarch_setting_t setting_data_action_setting(enum setting_type type,
const char* name);
rarch_setting_t setting_data_group_setting(enum setting_type type,
const char* name);

View File

@ -28,6 +28,7 @@ extern "C" {
enum setting_type
{
ST_NONE = 0,
ST_ACTION,
ST_BOOL,
ST_INT,
ST_UINT,