mirror of
https://github.com/libretro/RetroArch
synced 2025-02-28 12:40:23 +00:00
(Menu) Refactor menu_common_setting_set_current_path_selection
This commit is contained in:
parent
6c8efe8abe
commit
5e2eead66a
@ -1834,7 +1834,7 @@ static void menu_common_setting_set_current_path_selection(rarch_setting_t *sett
|
||||
menu_common_setting_push_current_menu(driver.menu->menu_stack, start_path, type, driver.menu->selection_ptr, action);
|
||||
break;
|
||||
case MENU_ACTION_START:
|
||||
strlcpy(setting->value.string, setting->default_value.string, setting->size);
|
||||
*setting->value.string = '\0';
|
||||
break;
|
||||
}
|
||||
|
||||
@ -3000,12 +3000,8 @@ static int menu_common_setting_set(unsigned id, unsigned action, rarch_setting_t
|
||||
setting->change_handler(setting);
|
||||
}
|
||||
}
|
||||
else if (setting && setting->type == ST_PATH && !(strcmp(setting->name, "input_overlay")))
|
||||
{
|
||||
#ifdef HAVE_OVERLAY
|
||||
menu_common_setting_set_current_path_selection(setting, g_extern.overlay_dir, id, action);
|
||||
#endif
|
||||
}
|
||||
else if (setting && setting->type == ST_PATH)
|
||||
menu_common_setting_set_current_path_selection(setting, setting->default_value.string, id, action);
|
||||
else
|
||||
{
|
||||
switch (id)
|
||||
@ -3098,18 +3094,6 @@ static int menu_common_setting_set(unsigned id, unsigned action, rarch_setting_t
|
||||
if (action == MENU_ACTION_OK)
|
||||
menu_save_new_config();
|
||||
break;
|
||||
case MENU_CONTENT_HISTORY_PATH:
|
||||
if (setting)
|
||||
menu_common_setting_set_current_path_selection(setting, "", id, action);
|
||||
break;
|
||||
case MENU_SETTINGS_VIDEO_SOFTFILTER:
|
||||
if (setting)
|
||||
menu_common_setting_set_current_path_selection(setting, g_settings.video.filter_dir, id, action);
|
||||
break;
|
||||
case MENU_SETTINGS_AUDIO_DSP_FILTER:
|
||||
if (setting)
|
||||
menu_common_setting_set_current_path_selection(setting, g_settings.audio.filter_dir, id, action);
|
||||
break;
|
||||
// controllers
|
||||
case MENU_SETTINGS_BIND_PLAYER:
|
||||
if (action == MENU_ACTION_START)
|
||||
@ -3702,7 +3686,7 @@ static void menu_common_setting_set_label(char *type_str,
|
||||
else if (setting && setting->type == ST_FLOAT)
|
||||
menu_common_setting_set_label_st_float(setting, type_str, type_str_size);
|
||||
else if (setting && setting->type == ST_DIR)
|
||||
strlcpy(type_str, *setting->value.string ? setting->value.string : setting->empty_path, type_str_size);
|
||||
strlcpy(type_str, *setting->value.string ? setting->value.string : setting->dir.empty_path, type_str_size);
|
||||
else if (setting && setting->type == ST_PATH)
|
||||
strlcpy(type_str, path_basename(setting->value.string), type_str_size);
|
||||
else if (setting && setting->type == ST_STRING)
|
||||
|
@ -572,7 +572,7 @@ rarch_setting_t setting_data_string_setting(enum setting_type type,
|
||||
rarch_setting_t result = { type, name, size, short_description, group,
|
||||
subgroup };
|
||||
|
||||
result.empty_path = empty;
|
||||
result.dir.empty_path = empty;
|
||||
result.change_handler = change_handler;
|
||||
result.read_handler = read_handler;
|
||||
result.value.string = target;
|
||||
@ -1754,7 +1754,7 @@ rarch_setting_t* setting_data_get_list(void)
|
||||
CONFIG_BOOL(g_settings.video.allow_rotate, "video_allow_rotate", "Allow rotation", allow_rotate, GROUP_NAME, SUBGROUP_NAME, general_write_handler, general_read_handler)
|
||||
CONFIG_BOOL(g_settings.video.crop_overscan, "video_crop_overscan", "Crop Overscan (reload)", crop_overscan, GROUP_NAME, SUBGROUP_NAME, general_write_handler, general_read_handler)
|
||||
#ifndef HAVE_FILTERS_BUILTIN
|
||||
CONFIG_PATH(g_settings.video.softfilter_plugin, "video_filter", "Software filter", "", GROUP_NAME, SUBGROUP_NAME, general_write_handler, general_read_handler) WITH_FLAGS(SD_FLAG_ALLOW_EMPTY) WITH_VALUES("filt")
|
||||
CONFIG_PATH(g_settings.video.softfilter_plugin, "video_filter", "Software filter", g_settings.video.filter_dir, GROUP_NAME, SUBGROUP_NAME, general_write_handler, general_read_handler) WITH_FLAGS(SD_FLAG_ALLOW_EMPTY) WITH_VALUES("filt")
|
||||
#endif
|
||||
#ifdef _XBOX1
|
||||
CONFIG_UINT(g_settings.video.swap_interval, "video_filter_flicker", "Flicker filter", 0, GROUP_NAME, SUBGROUP_NAME, general_write_handler, general_read_handler) WITH_RANGE(0, 5, 1, true, true)
|
||||
@ -1801,7 +1801,7 @@ rarch_setting_t* setting_data_get_list(void)
|
||||
START_SUB_GROUP("Miscellaneous")
|
||||
CONFIG_STRING(g_settings.audio.device, "audio_device", "Device", "", GROUP_NAME, SUBGROUP_NAME, general_write_handler, general_read_handler)
|
||||
CONFIG_UINT(g_settings.audio.out_rate, "audio_out_rate", "Audio Output Rate", out_rate, GROUP_NAME, SUBGROUP_NAME, general_write_handler, general_read_handler)
|
||||
CONFIG_PATH(g_settings.audio.dsp_plugin, "audio_dsp_plugin", "DSP Plugin", "", GROUP_NAME, SUBGROUP_NAME, general_write_handler, general_read_handler) WITH_FLAGS(SD_FLAG_ALLOW_EMPTY) WITH_VALUES("dsp")
|
||||
CONFIG_PATH(g_settings.audio.dsp_plugin, "audio_dsp_plugin", "DSP Plugin", g_settings.audio.filter_dir, GROUP_NAME, SUBGROUP_NAME, general_write_handler, general_read_handler) WITH_FLAGS(SD_FLAG_ALLOW_EMPTY) WITH_VALUES("dsp")
|
||||
END_SUB_GROUP()
|
||||
END_GROUP()
|
||||
|
||||
@ -1870,7 +1870,7 @@ rarch_setting_t* setting_data_get_list(void)
|
||||
/*******************/
|
||||
START_GROUP("Overlay Options")
|
||||
START_SUB_GROUP("State")
|
||||
CONFIG_PATH(g_settings.input.overlay, "input_overlay", "Overlay Preset", "", GROUP_NAME, SUBGROUP_NAME, general_write_handler, general_read_handler) WITH_FLAGS(SD_FLAG_ALLOW_EMPTY) WITH_VALUES("cfg")
|
||||
CONFIG_PATH(g_settings.input.overlay, "input_overlay", "Overlay Preset", g_extern.overlay_dir, GROUP_NAME, SUBGROUP_NAME, general_write_handler, general_read_handler) WITH_FLAGS(SD_FLAG_ALLOW_EMPTY) WITH_VALUES("cfg")
|
||||
CONFIG_FLOAT(g_settings.input.overlay_opacity, "input_overlay_opacity", "Overlay Opacity", 0.7f, "%.2f", GROUP_NAME, SUBGROUP_NAME, general_write_handler, general_read_handler) WITH_RANGE(0, 1, 0.01, true, true)
|
||||
CONFIG_FLOAT(g_settings.input.overlay_scale, "input_overlay_scale", "Overlay Scale", 1.0f, "%.2f", GROUP_NAME, SUBGROUP_NAME, general_write_handler, general_read_handler) WITH_RANGE(0, 2, 0.01, true, true)
|
||||
END_SUB_GROUP()
|
||||
|
@ -96,8 +96,12 @@ typedef struct rarch_setting_t
|
||||
struct retro_keybind* keybind;
|
||||
} value;
|
||||
|
||||
struct
|
||||
{
|
||||
const char *empty_path;
|
||||
} dir;
|
||||
|
||||
float step;
|
||||
const char *empty_path;
|
||||
const char *rounding_fraction;
|
||||
bool enforce_minrange;
|
||||
bool enforce_maxrange;
|
||||
|
Loading…
x
Reference in New Issue
Block a user