diff --git a/frontend/menu/backend/menu_common_backend.c b/frontend/menu/backend/menu_common_backend.c index 5d2bdca9b9..0a08b9f0f6 100644 --- a/frontend/menu/backend/menu_common_backend.c +++ b/frontend/menu/backend/menu_common_backend.c @@ -1425,18 +1425,6 @@ static int menu_action_ok(const char *menu_path, menu_common_setting_set_current_string_path(setting, menu_path, path); menu_entries_pop_stack(driver.menu->menu_stack, setting->name); } - else if (!strcmp(menu_label, "configurations")) - { - char config[PATH_MAX]; - fill_pathname_join(config, menu_path, path, sizeof(config)); - menu_flush_stack_type(driver.menu->menu_stack,MENU_SETTINGS); - driver.menu->msg_force = true; - if (rarch_replace_config(config)) - { - menu_clear_navigation(driver.menu); - return -1; - } - } else if (!strcmp(menu_label, "disk_image_append")) { char image[PATH_MAX]; @@ -1451,6 +1439,31 @@ static int menu_action_ok(const char *menu_path, return 0; + case MENU_FILE_CONFIG: + + { + char config[PATH_MAX]; + fill_pathname_join(config, menu_path, path, sizeof(config)); + menu_flush_stack_type(driver.menu->menu_stack,MENU_SETTINGS); + driver.menu->msg_force = true; + if (rarch_replace_config(config)) + { + menu_clear_navigation(driver.menu); + return -1; + } + } + + return 0; + + case MENU_FILE_OVERLAY: + case MENU_FILE_AUDIOFILTER: + case MENU_FILE_VIDEOFILTER: + + menu_common_setting_set_current_string_path(setting, menu_path, path); + menu_entries_pop_stack(driver.menu->menu_stack, setting->name); + + return 0; + case MENU_FILE_SHADER_PRESET: #ifdef HAVE_SHADER_MANAGER { diff --git a/frontend/menu/disp/shared.h b/frontend/menu/disp/shared.h index 0a8a8a79d2..1f85de1026 100644 --- a/frontend/menu/disp/shared.h +++ b/frontend/menu/disp/shared.h @@ -177,6 +177,23 @@ static void disp_set_label(unsigned *w, unsigned type, unsigned i, strlcpy(type_str, "(SHADER)", type_str_size); *w = 8; } + else if ( + type == MENU_FILE_VIDEOFILTER || + type == MENU_FILE_AUDIOFILTER) + { + strlcpy(type_str, "(FILTER)", type_str_size); + *w = 8; + } + else if (type == MENU_FILE_CONFIG) + { + strlcpy(type_str, "(CONFIG)", type_str_size); + *w = 8; + } + else if (type == MENU_FILE_OVERLAY) + { + strlcpy(type_str, "(OVERLAY)", type_str_size); + *w = 9; + } else if (type >= MENU_SETTINGS_CORE_OPTION_START) strlcpy( type_str, diff --git a/frontend/menu/menu_common.h b/frontend/menu/menu_common.h index 3a1a88a0f7..596742c175 100644 --- a/frontend/menu/menu_common.h +++ b/frontend/menu/menu_common.h @@ -66,6 +66,10 @@ typedef enum MENU_FILE_PLAYLIST_ENTRY, MENU_FILE_SHADER_PRESET, MENU_FILE_SHADER, + MENU_FILE_VIDEOFILTER, + MENU_FILE_AUDIOFILTER, + MENU_FILE_OVERLAY, + MENU_FILE_CONFIG, MENU_FILE_USE_DIRECTORY, MENU_FILE_SWITCH, MENU_FILE_CARCHIVE, diff --git a/frontend/menu/menu_entries.c b/frontend/menu/menu_entries.c index 44db800738..47c759981e 100644 --- a/frontend/menu/menu_entries.c +++ b/frontend/menu/menu_entries.c @@ -670,7 +670,10 @@ int menu_parse_and_resolve(file_list_t *list, file_list_t *menu_list) if (!strcmp(label, "core_list")) exts = EXT_EXECUTABLES; else if (!strcmp(label, "configurations")) + { exts = "cfg"; + default_type_plain = MENU_FILE_CONFIG; + } else if (!strcmp(label, "video_shader_preset")) { exts = "cgp|glslp"; @@ -682,11 +685,20 @@ int menu_parse_and_resolve(file_list_t *list, file_list_t *menu_list) default_type_plain = MENU_FILE_SHADER; } else if (!strcmp(label, "video_filter")) + { exts = "filt"; + default_type_plain = MENU_FILE_VIDEOFILTER; + } else if (!strcmp(label, "audio_dsp_plugin")) + { exts = "dsp"; + default_type_plain = MENU_FILE_AUDIOFILTER; + } else if (!strcmp(label, "input_overlay")) + { exts = "cfg"; + default_type_plain = MENU_FILE_OVERLAY; + } else if (!strcmp(label, "game_history_path")) exts = "cfg"; else if (menu_common_type_is(label, menu_type) == MENU_FILE_DIRECTORY)