mirror of
https://github.com/libretro/RetroArch
synced 2025-04-01 04:20: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)
|
if (settings->menu.thumbnails > 3)
|
||||||
settings->menu.thumbnails = 0;
|
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;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -493,4 +493,6 @@ menu_ctx_driver_t menu_ctx_nuklear = {
|
|||||||
"nuklear",
|
"nuklear",
|
||||||
nk_menu_environ,
|
nk_menu_environ,
|
||||||
NULL,
|
NULL,
|
||||||
|
NULL,
|
||||||
|
NULL
|
||||||
};
|
};
|
||||||
|
@ -60,4 +60,6 @@ menu_ctx_driver_t menu_ctx_null = {
|
|||||||
"null",
|
"null",
|
||||||
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",
|
||||||
rgui_environ,
|
rgui_environ,
|
||||||
rgui_pointer_tap,
|
rgui_pointer_tap,
|
||||||
|
NULL,
|
||||||
|
NULL
|
||||||
};
|
};
|
||||||
|
@ -664,8 +664,12 @@ end:
|
|||||||
string_list_free(list);
|
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;
|
menu_entry_t entry;
|
||||||
settings_t *settings = config_get_ptr();
|
settings_t *settings = config_get_ptr();
|
||||||
char *tmp = NULL;
|
char *tmp = NULL;
|
||||||
@ -704,8 +708,12 @@ static void menu_display_handle_thumbnail_upload(void *task_data,
|
|||||||
free(img);
|
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))
|
if (path_file_exists(xmb->thumbnail_file_path))
|
||||||
rarch_task_push_image_load(xmb->thumbnail_file_path, "cb_menu_thumbnail",
|
rarch_task_push_image_load(xmb->thumbnail_file_path, "cb_menu_thumbnail",
|
||||||
menu_display_handle_thumbnail_upload, NULL);
|
menu_display_handle_thumbnail_upload, NULL);
|
||||||
@ -3214,4 +3222,6 @@ menu_ctx_driver_t menu_ctx_xmb = {
|
|||||||
"xmb",
|
"xmb",
|
||||||
xmb_environ,
|
xmb_environ,
|
||||||
xmb_pointer_tap,
|
xmb_pointer_tap,
|
||||||
|
xmb_update_thumbnail_path,
|
||||||
|
xmb_update_thumbnail_image,
|
||||||
};
|
};
|
||||||
|
@ -723,4 +723,6 @@ menu_ctx_driver_t menu_ctx_xui = {
|
|||||||
"xui",
|
"xui",
|
||||||
xui_environ,
|
xui_environ,
|
||||||
NULL,
|
NULL,
|
||||||
|
NULL,
|
||||||
|
NULL
|
||||||
};
|
};
|
||||||
|
@ -1203,4 +1203,6 @@ menu_ctx_driver_t menu_ctx_zarch = {
|
|||||||
"zarch",
|
"zarch",
|
||||||
NULL,
|
NULL,
|
||||||
NULL,
|
NULL,
|
||||||
|
NULL,
|
||||||
|
NULL
|
||||||
};
|
};
|
||||||
|
@ -926,6 +926,24 @@ bool menu_driver_ctl(enum rarch_menu_ctl_state state, void *data)
|
|||||||
bind->menu_label_hash);
|
bind->menu_label_hash);
|
||||||
}
|
}
|
||||||
break;
|
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:
|
default:
|
||||||
case RARCH_MENU_CTL_NONE:
|
case RARCH_MENU_CTL_NONE:
|
||||||
break;
|
break;
|
||||||
|
@ -167,7 +167,9 @@ enum rarch_menu_ctl_state
|
|||||||
RARCH_MENU_CTL_ENVIRONMENT,
|
RARCH_MENU_CTL_ENVIRONMENT,
|
||||||
RARCH_MENU_CTL_DRIVER_DATA_GET,
|
RARCH_MENU_CTL_DRIVER_DATA_GET,
|
||||||
RARCH_MENU_CTL_POINTER_TAP,
|
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
|
enum menu_file_type
|
||||||
@ -347,6 +349,8 @@ typedef struct menu_ctx_driver
|
|||||||
int (*pointer_tap)(void *data, unsigned x, unsigned y, unsigned ptr,
|
int (*pointer_tap)(void *data, unsigned x, unsigned y, unsigned ptr,
|
||||||
menu_file_list_cbs_t *cbs,
|
menu_file_list_cbs_t *cbs,
|
||||||
menu_entry_t *entry, unsigned action);
|
menu_entry_t *entry, unsigned action);
|
||||||
|
void (*update_thumbnail_path)(void *data, unsigned i);
|
||||||
|
void (*update_thumbnail_image)(void *data);
|
||||||
} menu_ctx_driver_t;
|
} menu_ctx_driver_t;
|
||||||
|
|
||||||
typedef struct menu_ctx_load_image
|
typedef struct menu_ctx_load_image
|
||||||
|
Loading…
x
Reference in New Issue
Block a user