mirror of
https://github.com/libretro/RetroArch.git
synced 2025-02-26 12:48:27 +00:00
(XMB) Finalize the thumbnail type switching on keypress
This commit is contained in:
parent
68a17c5401
commit
7150ea5df2
@ -97,6 +97,9 @@ int action_switch_thumbnail(const char *path,
|
||||
if (settings->menu.thumbnails > 3)
|
||||
settings->menu.thumbnails = 0;
|
||||
|
||||
menu_driver_ctl(RARCH_MENU_CTL_UPDATE_THUMBNAIL_PATH, NULL);
|
||||
menu_driver_ctl(RARCH_MENU_CTL_UPDATE_THUMBNAIL_IMAGE, NULL);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -493,4 +493,6 @@ menu_ctx_driver_t menu_ctx_nuklear = {
|
||||
"nuklear",
|
||||
nk_menu_environ,
|
||||
NULL,
|
||||
NULL,
|
||||
NULL
|
||||
};
|
||||
|
@ -60,4 +60,6 @@ menu_ctx_driver_t menu_ctx_null = {
|
||||
"null",
|
||||
NULL,
|
||||
NULL,
|
||||
NULL, /* update_thumbnail_path */
|
||||
NULL, /* update_thumbnail_image */
|
||||
};
|
||||
|
@ -915,4 +915,6 @@ menu_ctx_driver_t menu_ctx_rgui = {
|
||||
"rgui",
|
||||
rgui_environ,
|
||||
rgui_pointer_tap,
|
||||
NULL,
|
||||
NULL
|
||||
};
|
||||
|
@ -664,8 +664,12 @@ end:
|
||||
string_list_free(list);
|
||||
}
|
||||
|
||||
static void xmb_update_thumbnail_path(xmb_handle_t *xmb, unsigned i)
|
||||
static void xmb_update_thumbnail_path(void *data, unsigned i)
|
||||
{
|
||||
xmb_handle_t *xmb = (xmb_handle_t*)data;
|
||||
if (!xmb)
|
||||
return;
|
||||
|
||||
menu_entry_t entry;
|
||||
settings_t *settings = config_get_ptr();
|
||||
char *tmp = NULL;
|
||||
@ -704,8 +708,12 @@ static void menu_display_handle_thumbnail_upload(void *task_data,
|
||||
free(img);
|
||||
}
|
||||
|
||||
static void xmb_update_thumbnail_image(xmb_handle_t *xmb)
|
||||
static void xmb_update_thumbnail_image(void *data)
|
||||
{
|
||||
xmb_handle_t *xmb = (xmb_handle_t*)data;
|
||||
if (!xmb)
|
||||
return;
|
||||
|
||||
if (path_file_exists(xmb->thumbnail_file_path))
|
||||
rarch_task_push_image_load(xmb->thumbnail_file_path, "cb_menu_thumbnail",
|
||||
menu_display_handle_thumbnail_upload, NULL);
|
||||
@ -3214,4 +3222,6 @@ menu_ctx_driver_t menu_ctx_xmb = {
|
||||
"xmb",
|
||||
xmb_environ,
|
||||
xmb_pointer_tap,
|
||||
xmb_update_thumbnail_path,
|
||||
xmb_update_thumbnail_image,
|
||||
};
|
||||
|
@ -723,4 +723,6 @@ menu_ctx_driver_t menu_ctx_xui = {
|
||||
"xui",
|
||||
xui_environ,
|
||||
NULL,
|
||||
NULL,
|
||||
NULL
|
||||
};
|
||||
|
@ -1203,4 +1203,6 @@ menu_ctx_driver_t menu_ctx_zarch = {
|
||||
"zarch",
|
||||
NULL,
|
||||
NULL,
|
||||
NULL,
|
||||
NULL
|
||||
};
|
||||
|
@ -926,6 +926,24 @@ bool menu_driver_ctl(enum rarch_menu_ctl_state state, void *data)
|
||||
bind->menu_label_hash);
|
||||
}
|
||||
break;
|
||||
case RARCH_MENU_CTL_UPDATE_THUMBNAIL_PATH:
|
||||
{
|
||||
size_t selection;
|
||||
if (!menu_navigation_ctl(MENU_NAVIGATION_CTL_GET_SELECTION, &selection))
|
||||
return false;
|
||||
|
||||
if (!menu_driver_ctx || !menu_driver_ctx->update_thumbnail_path)
|
||||
return false;
|
||||
menu_driver_ctx->update_thumbnail_path(menu_userdata, selection);
|
||||
}
|
||||
break;
|
||||
case RARCH_MENU_CTL_UPDATE_THUMBNAIL_IMAGE:
|
||||
{
|
||||
if (!menu_driver_ctx || !menu_driver_ctx->update_thumbnail_image)
|
||||
return false;
|
||||
menu_driver_ctx->update_thumbnail_image(menu_userdata);
|
||||
}
|
||||
break;
|
||||
default:
|
||||
case RARCH_MENU_CTL_NONE:
|
||||
break;
|
||||
|
@ -167,7 +167,9 @@ enum rarch_menu_ctl_state
|
||||
RARCH_MENU_CTL_ENVIRONMENT,
|
||||
RARCH_MENU_CTL_DRIVER_DATA_GET,
|
||||
RARCH_MENU_CTL_POINTER_TAP,
|
||||
RARCH_MENU_CTL_BIND_INIT
|
||||
RARCH_MENU_CTL_BIND_INIT,
|
||||
RARCH_MENU_CTL_UPDATE_THUMBNAIL_PATH,
|
||||
RARCH_MENU_CTL_UPDATE_THUMBNAIL_IMAGE
|
||||
};
|
||||
|
||||
enum menu_file_type
|
||||
@ -347,6 +349,8 @@ typedef struct menu_ctx_driver
|
||||
int (*pointer_tap)(void *data, unsigned x, unsigned y, unsigned ptr,
|
||||
menu_file_list_cbs_t *cbs,
|
||||
menu_entry_t *entry, unsigned action);
|
||||
void (*update_thumbnail_path)(void *data, unsigned i);
|
||||
void (*update_thumbnail_image)(void *data);
|
||||
} menu_ctx_driver_t;
|
||||
|
||||
typedef struct menu_ctx_load_image
|
||||
|
Loading…
x
Reference in New Issue
Block a user