diff --git a/menu/cbs/menu_cbs_ok.c b/menu/cbs/menu_cbs_ok.c index f20b53df3e..498443646b 100644 --- a/menu/cbs/menu_cbs_ok.c +++ b/menu/cbs/menu_cbs_ok.c @@ -835,10 +835,74 @@ int generic_action_ok_displaylist_push(const char *path, case ACTION_OK_DL_AUDIO_DSP_PLUGIN: filebrowser_clear_type(); info.directory_ptr = idx; - info_path = settings->paths.directory_audio_filter; info_label = msg_hash_to_str(MENU_ENUM_LABEL_AUDIO_DSP_PLUGIN); info.enum_idx = MENU_ENUM_LABEL_AUDIO_DSP_PLUGIN; dl_type = DISPLAYLIST_FILE_BROWSER_SELECT_FILE; + + action_ok_get_file_browser_start_path( + settings->paths.path_audio_dsp_plugin, + settings->paths.directory_audio_filter, + parent_dir, sizeof(parent_dir), true); + + info_path = parent_dir; + break; + case ACTION_OK_DL_VIDEO_FILTER: + filebrowser_clear_type(); + info.directory_ptr = idx; + info_label = msg_hash_to_str(MENU_ENUM_LABEL_VIDEO_FILTER); + info.enum_idx = MENU_ENUM_LABEL_VIDEO_FILTER; + dl_type = DISPLAYLIST_FILE_BROWSER_SELECT_FILE; + + action_ok_get_file_browser_start_path( + settings->paths.path_softfilter_plugin, + settings->paths.directory_video_filter, + parent_dir, sizeof(parent_dir), true); + + info_path = parent_dir; + break; + case ACTION_OK_DL_OVERLAY_PRESET: + filebrowser_clear_type(); + info.directory_ptr = idx; + info_label = msg_hash_to_str(MENU_ENUM_LABEL_OVERLAY_PRESET); + info.enum_idx = MENU_ENUM_LABEL_OVERLAY_PRESET; + dl_type = DISPLAYLIST_FILE_BROWSER_SELECT_FILE; + + action_ok_get_file_browser_start_path( + settings->paths.path_overlay, + settings->paths.directory_overlay, + parent_dir, sizeof(parent_dir), true); + + info_path = parent_dir; + break; +#if defined(HAVE_VIDEO_LAYOUT) + case ACTION_OK_DL_VIDEO_LAYOUT: + filebrowser_clear_type(); + info.directory_ptr = idx; + info_label = msg_hash_to_str(MENU_ENUM_LABEL_VIDEO_LAYOUT_PATH); + info.enum_idx = MENU_ENUM_LABEL_VIDEO_LAYOUT_PATH; + dl_type = DISPLAYLIST_FILE_BROWSER_SELECT_FILE; + + action_ok_get_file_browser_start_path( + settings->paths.path_video_layout, + settings->paths.directory_video_layout, + parent_dir, sizeof(parent_dir), true); + + info_path = parent_dir; + break; +#endif + case ACTION_OK_DL_VIDEO_FONT: + filebrowser_set_type(FILEBROWSER_SELECT_VIDEO_FONT); + info.directory_ptr = idx; + info_label = msg_hash_to_str(MENU_ENUM_LABEL_VIDEO_FONT_PATH); + info.enum_idx = MENU_ENUM_LABEL_VIDEO_FONT_PATH; + dl_type = DISPLAYLIST_FILE_BROWSER_SELECT_FILE; + + action_ok_get_file_browser_start_path( + settings->paths.path_font, + NULL, + parent_dir, sizeof(parent_dir), true); + + info_path = parent_dir; break; case ACTION_OK_DL_SHADER_PARAMETERS: info.type = MENU_SETTING_ACTION; @@ -1062,12 +1126,27 @@ int generic_action_ok_displaylist_push(const char *path, #endif break; case ACTION_OK_DL_RGUI_MENU_THEME_PRESET: - filebrowser_clear_type(); - info.type = type; - info.directory_ptr = idx; - info_path = settings->paths.directory_assets; - info_label = label; - dl_type = DISPLAYLIST_FILE_BROWSER_SELECT_FILE; + { + char rgui_assets_dir[PATH_MAX_LENGTH]; + rgui_assets_dir[0] = '\0'; + + filebrowser_clear_type(); + info.type = type; + info.directory_ptr = idx; + info_label = label; + dl_type = DISPLAYLIST_FILE_BROWSER_SELECT_FILE; + + fill_pathname_join(rgui_assets_dir, + settings->paths.directory_assets, "rgui", + sizeof(rgui_assets_dir)); + + action_ok_get_file_browser_start_path( + settings->paths.path_rgui_theme_preset, + rgui_assets_dir, + parent_dir, sizeof(parent_dir), true); + + info_path = parent_dir; + } break; case ACTION_OK_DL_CORE_LIST: filebrowser_clear_type(); @@ -2742,13 +2821,6 @@ static int action_ok_menu_wallpaper(const char *path, return action_ok_lookup_setting(path, label, type, idx, entry_idx); } -static int action_ok_video_font(const char *path, - const char *label, unsigned type, size_t idx, size_t entry_idx) -{ - filebrowser_set_type(FILEBROWSER_SELECT_VIDEO_FONT); - return action_ok_lookup_setting(path, label, type, idx, entry_idx); -} - static int action_ok_menu_wallpaper_load(const char *path, const char *label, unsigned type, size_t idx, size_t entry_idx) { @@ -5463,6 +5535,12 @@ DEFAULT_ACTION_OK_FUNC(action_ok_shader_preset, ACTION_OK_DL_SHADER_PRESET) #endif DEFAULT_ACTION_OK_FUNC(action_ok_push_generic_list, ACTION_OK_DL_GENERIC) DEFAULT_ACTION_OK_FUNC(action_ok_audio_dsp_plugin, ACTION_OK_DL_AUDIO_DSP_PLUGIN) +DEFAULT_ACTION_OK_FUNC(action_ok_video_filter, ACTION_OK_DL_VIDEO_FILTER) +DEFAULT_ACTION_OK_FUNC(action_ok_overlay_preset, ACTION_OK_DL_OVERLAY_PRESET) +#if defined(HAVE_VIDEO_LAYOUT) +DEFAULT_ACTION_OK_FUNC(action_ok_video_layout, ACTION_OK_DL_VIDEO_LAYOUT) +#endif +DEFAULT_ACTION_OK_FUNC(action_ok_video_font, ACTION_OK_DL_VIDEO_FONT) DEFAULT_ACTION_OK_FUNC(action_ok_rpl_entry, ACTION_OK_DL_RPL_ENTRY) DEFAULT_ACTION_OK_FUNC(action_ok_open_archive_detect_core, ACTION_OK_DL_OPEN_ARCHIVE_DETECT_CORE) DEFAULT_ACTION_OK_FUNC(action_ok_file_load_music, ACTION_OK_DL_MUSIC) @@ -7540,6 +7618,11 @@ static int menu_cbs_init_bind_ok_compare_label(menu_file_list_cbs_t *cbs, {MENU_ENUM_LABEL_CHEAT_ADD_MATCHES, cheat_manager_add_matches}, #endif {MENU_ENUM_LABEL_AUDIO_DSP_PLUGIN, action_ok_audio_dsp_plugin}, + {MENU_ENUM_LABEL_VIDEO_FILTER, action_ok_video_filter}, + {MENU_ENUM_LABEL_OVERLAY_PRESET, action_ok_overlay_preset}, +#if defined(HAVE_VIDEO_LAYOUT) + {MENU_ENUM_LABEL_VIDEO_LAYOUT_PATH, action_ok_video_layout}, +#endif {MENU_ENUM_LABEL_REMAP_FILE_LOAD, action_ok_remap_file}, {MENU_ENUM_LABEL_RECORD_CONFIG, action_ok_record_configfile}, {MENU_ENUM_LABEL_STREAM_CONFIG, action_ok_stream_configfile}, @@ -7734,6 +7817,11 @@ static int menu_cbs_init_bind_ok_compare_label(menu_file_list_cbs_t *cbs, {MENU_ENUM_LABEL_CHEAT_FILE_LOAD, action_ok_cheat_file}, {MENU_ENUM_LABEL_CHEAT_FILE_LOAD_APPEND, action_ok_cheat_file_append}, {MENU_ENUM_LABEL_AUDIO_DSP_PLUGIN, action_ok_audio_dsp_plugin}, + {MENU_ENUM_LABEL_VIDEO_FILTER, action_ok_video_filter}, + {MENU_ENUM_LABEL_OVERLAY_PRESET, action_ok_overlay_preset}, +#if defined(HAVE_VIDEO_LAYOUT) + {MENU_ENUM_LABEL_VIDEO_LAYOUT_PATH, action_ok_video_layout}, +#endif {MENU_ENUM_LABEL_REMAP_FILE_LOAD, action_ok_remap_file}, {MENU_ENUM_LABEL_RECORD_CONFIG, action_ok_record_configfile}, {MENU_ENUM_LABEL_STREAM_CONFIG, action_ok_stream_configfile}, diff --git a/menu/cbs/menu_cbs_title.c b/menu/cbs/menu_cbs_title.c index b971e6e9a3..00b35e38ec 100644 --- a/menu/cbs/menu_cbs_title.c +++ b/menu/cbs/menu_cbs_title.c @@ -659,12 +659,12 @@ DEFAULT_FILL_TITLE_MACRO(action_get_title_disk_image_append, MENU_ENUM_LABEL_ DEFAULT_FILL_TITLE_MACRO(action_get_title_cheat_file_load, MENU_ENUM_LABEL_VALUE_CHEAT_FILE) DEFAULT_FILL_TITLE_MACRO(action_get_title_cheat_file_load_append, MENU_ENUM_LABEL_VALUE_CHEAT_FILE_APPEND) DEFAULT_FILL_TITLE_MACRO(action_get_title_remap_file_load, MENU_ENUM_LABEL_VALUE_REMAP_FILE) -DEFAULT_FILL_TITLE_MACRO(action_get_title_overlay, MENU_ENUM_LABEL_VALUE_OVERLAY) +DEFAULT_FILL_TITLE_MACRO(action_get_title_overlay, MENU_ENUM_LABEL_VALUE_OVERLAY_PRESET) DEFAULT_FILL_TITLE_MACRO(action_get_title_video_filter, MENU_ENUM_LABEL_VALUE_VIDEO_FILTER) DEFAULT_FILL_TITLE_MACRO(action_get_title_cheat_directory, MENU_ENUM_LABEL_VALUE_CHEAT_DATABASE_PATH) DEFAULT_FILL_TITLE_MACRO(action_get_title_core_directory, MENU_ENUM_LABEL_VALUE_LIBRETRO_DIR_PATH) DEFAULT_FILL_TITLE_MACRO(action_get_title_core_info_directory, MENU_ENUM_LABEL_VALUE_LIBRETRO_INFO_PATH) -DEFAULT_FILL_TITLE_MACRO(action_get_title_audio_filter, MENU_ENUM_LABEL_VALUE_AUDIO_FILTER_DIR) +DEFAULT_FILL_TITLE_MACRO(action_get_title_audio_filter, MENU_ENUM_LABEL_VALUE_AUDIO_DSP_PLUGIN) DEFAULT_FILL_TITLE_MACRO(action_get_title_video_shader_preset, MENU_ENUM_LABEL_VIDEO_SHADER_PRESET_TWO) DEFAULT_FILL_TITLE_MACRO(action_get_title_configurations, MENU_ENUM_LABEL_VALUE_CONFIG) DEFAULT_FILL_TITLE_MACRO(action_get_title_content_database_directory, MENU_ENUM_LABEL_VALUE_CONTENT_DATABASE_DIRECTORY) @@ -702,7 +702,8 @@ DEFAULT_FILL_TITLE_MACRO(action_get_title_system_directory, MENU_ENUM_LABE DEFAULT_FILL_TITLE_MACRO(action_get_title_assets_directory, MENU_ENUM_LABEL_VALUE_ASSETS_DIRECTORY) DEFAULT_FILL_TITLE_MACRO(action_get_title_extraction_directory, MENU_ENUM_LABEL_VALUE_CACHE_DIRECTORY) DEFAULT_FILL_TITLE_MACRO(action_get_title_menu, MENU_ENUM_LABEL_VALUE_MENU_SETTINGS) -DEFAULT_FILL_TITLE_MACRO(action_get_title_font_path, MENU_ENUM_LABEL_VALUE_XMB_FONT) +DEFAULT_FILL_TITLE_MACRO(action_get_title_video_font_path, MENU_ENUM_LABEL_VALUE_VIDEO_FONT_PATH) +DEFAULT_FILL_TITLE_MACRO(action_get_title_xmb_font, MENU_ENUM_LABEL_VALUE_XMB_FONT) DEFAULT_FILL_TITLE_MACRO(action_get_title_log_dir, MENU_ENUM_LABEL_VALUE_LOG_DIR) DEFAULT_FILL_TITLE_MACRO(action_get_title_manual_content_scan_dir, MENU_ENUM_LABEL_VALUE_MANUAL_CONTENT_SCAN_DIR) @@ -1167,9 +1168,9 @@ static int menu_cbs_init_bind_title_compare_label(menu_file_list_cbs_t *cbs, {MENU_ENUM_LABEL_DEFERRED_ACCOUNTS_LIST, action_get_user_accounts_list}, {MENU_ENUM_LABEL_VIDEO_FONT_PATH, - action_get_title_font_path}, + action_get_title_video_font_path}, {MENU_ENUM_LABEL_XMB_FONT, - action_get_title_font_path}, + action_get_title_xmb_font}, {MENU_ENUM_LABEL_VIDEO_FILTER, action_get_title_video_filter}, {MENU_ENUM_LABEL_AUDIO_DSP_PLUGIN, @@ -1567,8 +1568,10 @@ static int menu_cbs_init_bind_title_compare_label(menu_file_list_cbs_t *cbs, BIND_ACTION_GET_TITLE(cbs, action_get_title_overlay); break; case MENU_ENUM_LABEL_VIDEO_FONT_PATH: + BIND_ACTION_GET_TITLE(cbs, action_get_title_video_font_path); + break; case MENU_ENUM_LABEL_XMB_FONT: - BIND_ACTION_GET_TITLE(cbs, action_get_title_font_path); + BIND_ACTION_GET_TITLE(cbs, action_get_title_xmb_font); break; case MENU_ENUM_LABEL_VIDEO_FILTER: BIND_ACTION_GET_TITLE(cbs, action_get_title_video_filter); diff --git a/menu/menu_cbs.h b/menu/menu_cbs.h index 784f6448ed..2bbf8a3e1f 100644 --- a/menu/menu_cbs.h +++ b/menu/menu_cbs.h @@ -75,6 +75,12 @@ enum ACTION_OK_DL_RDB_ENTRY_SUBMENU, ACTION_OK_DL_CDROM_INFO_LIST, ACTION_OK_DL_AUDIO_DSP_PLUGIN, + ACTION_OK_DL_VIDEO_FILTER, + ACTION_OK_DL_OVERLAY_PRESET, +#if defined(HAVE_VIDEO_LAYOUT) + ACTION_OK_DL_VIDEO_LAYOUT, +#endif + ACTION_OK_DL_VIDEO_FONT, ACTION_OK_DL_SHADER_PASS, ACTION_OK_DL_FAVORITES_LIST, ACTION_OK_DL_IMAGES_LIST,