mirror of
https://github.com/libretro/RetroArch
synced 2025-03-28 19:20:35 +00:00
Cleanup menu_action.c
This commit is contained in:
parent
97f26dfae1
commit
be4c043735
@ -20,7 +20,7 @@
|
|||||||
#include "menu_entries.h"
|
#include "menu_entries.h"
|
||||||
#include "menu_shader.h"
|
#include "menu_shader.h"
|
||||||
|
|
||||||
static int setting_handler(
|
int setting_handler(
|
||||||
rarch_setting_t *setting, unsigned action)
|
rarch_setting_t *setting, unsigned action)
|
||||||
{
|
{
|
||||||
switch (action)
|
switch (action)
|
||||||
@ -53,24 +53,6 @@ static int setting_handler(
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
int menu_action_setting_boolean(
|
|
||||||
rarch_setting_t *setting, unsigned action)
|
|
||||||
{
|
|
||||||
return setting_handler(setting, action);
|
|
||||||
}
|
|
||||||
|
|
||||||
int menu_action_setting_unsigned_integer(
|
|
||||||
rarch_setting_t *setting, unsigned action)
|
|
||||||
{
|
|
||||||
return setting_handler(setting, action);
|
|
||||||
}
|
|
||||||
|
|
||||||
int menu_action_setting_fraction(
|
|
||||||
rarch_setting_t *setting, unsigned action)
|
|
||||||
{
|
|
||||||
return setting_handler(setting, action);
|
|
||||||
}
|
|
||||||
|
|
||||||
int menu_action_setting_set_current_string(
|
int menu_action_setting_set_current_string(
|
||||||
rarch_setting_t *setting, const char *str)
|
rarch_setting_t *setting, const char *str)
|
||||||
{
|
{
|
||||||
@ -155,58 +137,53 @@ int menu_action_handle_setting(rarch_setting_t *setting,
|
|||||||
if (!setting)
|
if (!setting)
|
||||||
return -1;
|
return -1;
|
||||||
|
|
||||||
if (setting->type == ST_BOOL)
|
switch (setting->type)
|
||||||
return menu_action_setting_boolean(setting, action);
|
|
||||||
if (setting->type == ST_UINT)
|
|
||||||
return menu_action_setting_unsigned_integer(setting, action);
|
|
||||||
if (setting->type == ST_FLOAT)
|
|
||||||
return menu_action_setting_fraction(setting, action);
|
|
||||||
if (setting->type == ST_PATH)
|
|
||||||
return menu_entries_set_current_path_selection(setting,
|
|
||||||
setting->default_value.string, setting->name, type, action);
|
|
||||||
|
|
||||||
if (setting->type == ST_DIR)
|
|
||||||
{
|
{
|
||||||
switch (action)
|
case ST_BOOL:
|
||||||
{
|
case ST_UINT:
|
||||||
case MENU_ACTION_START:
|
case ST_FLOAT:
|
||||||
*setting->value.string = '\0';
|
return setting_handler(setting, action);
|
||||||
|
case ST_PATH:
|
||||||
|
return menu_entries_set_current_path_selection(setting,
|
||||||
|
setting->default_value.string, setting->name, type, action);
|
||||||
|
case ST_DIR:
|
||||||
|
switch (action)
|
||||||
|
{
|
||||||
|
case MENU_ACTION_START:
|
||||||
|
*setting->value.string = '\0';
|
||||||
|
|
||||||
if (setting->change_handler)
|
if (setting->change_handler)
|
||||||
setting->change_handler(setting);
|
setting->change_handler(setting);
|
||||||
|
|
||||||
if (setting->flags & SD_FLAG_EXIT
|
if (setting->flags & SD_FLAG_EXIT
|
||||||
&& setting->cmd_trigger.triggered)
|
&& setting->cmd_trigger.triggered)
|
||||||
{
|
{
|
||||||
setting->cmd_trigger.triggered = false;
|
setting->cmd_trigger.triggered = false;
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
break;
|
||||||
return 0;
|
case ST_STRING:
|
||||||
}
|
switch (action)
|
||||||
|
{
|
||||||
if (setting->type == ST_STRING)
|
case MENU_ACTION_LEFT:
|
||||||
{
|
case MENU_ACTION_RIGHT:
|
||||||
switch (action)
|
if (setting->action_toggle)
|
||||||
{
|
return setting->action_toggle(setting, action);
|
||||||
case MENU_ACTION_LEFT:
|
break;
|
||||||
case MENU_ACTION_RIGHT:
|
case MENU_ACTION_START:
|
||||||
if (setting->action_toggle)
|
if (setting->action_start)
|
||||||
return setting->action_toggle(setting, action);
|
return setting->action_start(setting);
|
||||||
break;
|
break;
|
||||||
case MENU_ACTION_START:
|
case MENU_ACTION_OK:
|
||||||
if (setting->action_start)
|
if (setting->action_ok)
|
||||||
return setting->action_start(setting);
|
return setting->action_ok(setting, action);
|
||||||
break;
|
break;
|
||||||
case MENU_ACTION_OK:
|
}
|
||||||
if (setting->action_ok)
|
break;
|
||||||
return setting->action_ok(setting, action);
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
|
||||||
|
|
||||||
return 0;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
@ -23,13 +23,7 @@
|
|||||||
extern "C" {
|
extern "C" {
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
int menu_action_setting_boolean(
|
int setting_handler(
|
||||||
rarch_setting_t *setting, unsigned action);
|
|
||||||
|
|
||||||
int menu_action_setting_fraction(
|
|
||||||
rarch_setting_t *setting, unsigned action);
|
|
||||||
|
|
||||||
int menu_action_setting_unsigned_integer(
|
|
||||||
rarch_setting_t *setting, unsigned action);
|
rarch_setting_t *setting, unsigned action);
|
||||||
|
|
||||||
int menu_action_set_current_string_based_on_label(
|
int menu_action_set_current_string_based_on_label(
|
||||||
|
@ -917,7 +917,7 @@ static int action_toggle_shader_filter_default(unsigned type, const char *label,
|
|||||||
rarch_setting_t *current_setting = NULL;
|
rarch_setting_t *current_setting = NULL;
|
||||||
if ((current_setting = setting_data_find_setting(
|
if ((current_setting = setting_data_find_setting(
|
||||||
driver.menu->list_settings, "video_smooth")))
|
driver.menu->list_settings, "video_smooth")))
|
||||||
menu_action_setting_boolean(current_setting, action);
|
setting_handler(current_setting, action);
|
||||||
#endif
|
#endif
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user