diff --git a/menu/cbs/menu_cbs_ok.c b/menu/cbs/menu_cbs_ok.c index 9be1824309..284b7b5da8 100644 --- a/menu/cbs/menu_cbs_ok.c +++ b/menu/cbs/menu_cbs_ok.c @@ -1576,6 +1576,13 @@ static int action_ok_menu_wallpaper(const char *path, return action_ok_lookup_setting(path, label, type, idx, entry_idx); } +static int action_ok_menu_font(const char *path, + const char *label, unsigned type, size_t idx, size_t entry_idx) +{ + filebrowser_set_type(FILEBROWSER_SELECT_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) { @@ -4165,6 +4172,9 @@ static int menu_cbs_init_bind_ok_compare_label(menu_file_list_cbs_t *cbs, case MENU_ENUM_LABEL_MENU_WALLPAPER: BIND_ACTION_OK(cbs, action_ok_menu_wallpaper); break; + case MENU_ENUM_LABEL_VIDEO_FONT_PATH: + BIND_ACTION_OK(cbs, action_ok_menu_font); + break; case MENU_ENUM_LABEL_BROWSE_START: BIND_ACTION_OK(cbs, action_ok_browse_url_start); break; diff --git a/menu/widgets/menu_filebrowser.c b/menu/widgets/menu_filebrowser.c index 5be8df4f7f..b2f9203ed3 100644 --- a/menu/widgets/menu_filebrowser.c +++ b/menu/widgets/menu_filebrowser.c @@ -140,7 +140,10 @@ void filebrowser_parse(void *data, unsigned type_data) break; case RARCH_PLAIN_FILE: default: - file_type = (enum msg_file_type)info->type_default; + if (filebrowser_types == FILEBROWSER_SELECT_FONT) + file_type = FILE_TYPE_FONT; + else + file_type = (enum msg_file_type)info->type_default; switch (type) { /* in case of deferred_core_list we have to interpret diff --git a/menu/widgets/menu_filebrowser.h b/menu/widgets/menu_filebrowser.h index 26c6101bf0..cbc25daa65 100644 --- a/menu/widgets/menu_filebrowser.h +++ b/menu/widgets/menu_filebrowser.h @@ -31,6 +31,7 @@ enum filebrowser_enums FILEBROWSER_SCAN_DIR, FILEBROWSER_SELECT_FILE, FILEBROWSER_SELECT_IMAGE, + FILEBROWSER_SELECT_FONT, FILEBROWSER_SELECT_COLLECTION };