Implement action start callback for ST_PATH

This commit is contained in:
twinaphex 2014-10-16 17:55:24 +02:00
parent be4c043735
commit bd1d8e65bc
2 changed files with 27 additions and 11 deletions

View File

@ -150,19 +150,20 @@ int menu_action_handle_setting(rarch_setting_t *setting,
switch (action)
{
case MENU_ACTION_START:
*setting->value.string = '\0';
if (setting->change_handler)
setting->change_handler(setting);
if (setting->flags & SD_FLAG_EXIT
&& setting->cmd_trigger.triggered)
{
setting->cmd_trigger.triggered = false;
return -1;
}
if (setting->action_start)
return setting->action_start(setting);
break;
}
if (setting->change_handler)
setting->change_handler(setting);
if (setting->flags & SD_FLAG_EXIT
&& setting->cmd_trigger.triggered)
{
setting->cmd_trigger.triggered = false;
return -1;
}
break;
case ST_STRING:
switch (action)

View File

@ -735,6 +735,18 @@ static int setting_data_bool_action_start_default(void *data)
return 0;
}
static int setting_data_string_dir_action_start_default(void *data)
{
rarch_setting_t *setting = (rarch_setting_t*)data;
if (!setting)
return -1;
*setting->value.string = '\0';
return 0;
}
static int setting_data_bool_action_toggle_default(void *data, unsigned action)
{
rarch_setting_t *setting = (rarch_setting_t*)data;
@ -1065,6 +1077,9 @@ rarch_setting_t setting_data_string_setting(enum setting_type type,
result.value.string = target;
result.default_value.string = default_value;
if (type == ST_DIR)
result.action_start = setting_data_string_dir_action_start_default;
return result;
}