diff --git a/menu/menu_driver.h b/menu/menu_driver.h index f3ef34fbc2..722dd6fdf9 100644 --- a/menu/menu_driver.h +++ b/menu/menu_driver.h @@ -227,31 +227,6 @@ typedef struct } menu_handle_t; -typedef struct menu_file_list_cbs -{ - int (*action_iterate)(const char *label, unsigned action); - int (*action_deferred_push)(menu_displaylist_info_t *info); - int (*action_ok)(const char *path, const char *label, unsigned type, - size_t idx); - int (*action_cancel)(const char *path, const char *label, unsigned type, - size_t idx); - int (*action_start)(unsigned type, const char *label, unsigned action); - int (*action_select)(unsigned type, const char *label, unsigned action); - int (*action_content_list_switch)(void *data, void *userdata, const char - *path, const char *label, unsigned type); - int (*action_toggle)(unsigned type, const char *label, unsigned action, - bool wraparound); - int (*action_refresh)(file_list_t *list, file_list_t *menu_list); - int (*action_up_or_down)(unsigned type, const char *label, unsigned action); - void (*action_get_representation)(file_list_t* list, - unsigned *w, unsigned type, unsigned i, - const char *label, - char *type_str, size_t type_str_size, - const char *entry_label, - const char *path, - char *path_buf, size_t path_buf_size); -} menu_file_list_cbs_t; - typedef struct menu_ctx_driver { void (*set_texture)(void); diff --git a/menu/menu_entries_cbs_toggle.c b/menu/menu_entries_cbs_toggle.c index faabad7b5e..7d93c5a35a 100644 --- a/menu/menu_entries_cbs_toggle.c +++ b/menu/menu_entries_cbs_toggle.c @@ -214,9 +214,8 @@ static int action_toggle_mainmenu(unsigned type, const char *label, else push_list = 2; - cbs = (menu_file_list_cbs_t*) - menu_list_get_actiondata_at_offset(menu_list->selection_buf, - menu->navigation.selection_ptr); + cbs = menu_list_get_actiondata_at_offset(menu_list->selection_buf, + menu->navigation.selection_ptr); switch (push_list) { diff --git a/menu/menu_entry.c b/menu/menu_entry.c index 0333a673ba..c49b54da5c 100644 --- a/menu/menu_entry.c +++ b/menu/menu_entry.c @@ -342,7 +342,7 @@ void menu_entry_get(menu_entry_t *entry, size_t i, menu_list_get_at_offset(list, i, &path, &entry_label, &entry->type); - cbs = (menu_file_list_cbs_t*)menu_list_get_actiondata_at_offset(list, i); + cbs = menu_list_get_actiondata_at_offset(list, i); if (cbs && cbs->action_get_representation && use_representation) cbs->action_get_representation(list, @@ -402,8 +402,7 @@ int menu_entry_select(uint32_t i) menu_entry_get(&entry, i, NULL, false); - cbs = (menu_file_list_cbs_t*) - menu_list_get_actiondata_at_offset(menu_list->selection_buf, i); + cbs = menu_list_get_actiondata_at_offset(menu_list->selection_buf, i); if (setting_is_of_path_type(setting)) return 0; @@ -455,7 +454,7 @@ int menu_entry_action(menu_entry_t *entry, unsigned i, enum menu_action action) menu_navigation_t *nav = menu_navigation_get_ptr(); menu_handle_t *menu = menu_driver_get_ptr(); menu_list_t *menu_list = menu_list_get_ptr(); - menu_file_list_cbs_t *cbs = (menu_file_list_cbs_t*)menu_list_get_actiondata_at_offset(menu_list->selection_buf, i); + menu_file_list_cbs_t *cbs = menu_list_get_actiondata_at_offset(menu_list->selection_buf, i); switch (action) { diff --git a/menu/menu_input.c b/menu/menu_input.c index 8094a24333..97125aab16 100644 --- a/menu/menu_input.c +++ b/menu/menu_input.c @@ -938,8 +938,8 @@ void menu_input_post_iterate(int *ret, unsigned action) menu_list_t *menu_list = menu_list_get_ptr(); settings_t *settings = config_get_ptr(); size_t selected = menu_navigation_get_current_selection(); - menu_file_list_cbs_t *cbs = (menu_file_list_cbs_t*) - menu_list_get_actiondata_at_offset(menu_list->selection_buf, selected); + menu_file_list_cbs_t *cbs = menu_list_get_actiondata_at_offset + (menu_list->selection_buf, selected); menu_entry_get(&entry, selected, NULL, false); diff --git a/menu/menu_list.c b/menu/menu_list.c index fb424ab189..dba9ec9090 100644 --- a/menu/menu_list.c +++ b/menu/menu_list.c @@ -229,7 +229,7 @@ void menu_list_get_last_stack(const menu_list_t *list, file_list_get_last(list->menu_stack, path, label, file_type); } -void *menu_list_get_actiondata_at_offset(const file_list_t *list, size_t idx) +menu_file_list_cbs_t *menu_list_get_actiondata_at_offset(const file_list_t *list, size_t idx) { if (!list) return NULL; diff --git a/menu/menu_list.h b/menu/menu_list.h index ac8152ebf3..4e8885eb1a 100644 --- a/menu/menu_list.h +++ b/menu/menu_list.h @@ -32,6 +32,31 @@ typedef struct menu_list file_list_t *selection_buf; } menu_list_t; +typedef struct menu_file_list_cbs +{ + int (*action_iterate)(const char *label, unsigned action); + int (*action_deferred_push)(menu_displaylist_info_t *info); + int (*action_ok)(const char *path, const char *label, unsigned type, + size_t idx); + int (*action_cancel)(const char *path, const char *label, unsigned type, + size_t idx); + int (*action_start)(unsigned type, const char *label, unsigned action); + int (*action_select)(unsigned type, const char *label, unsigned action); + int (*action_content_list_switch)(void *data, void *userdata, const char + *path, const char *label, unsigned type); + int (*action_toggle)(unsigned type, const char *label, unsigned action, + bool wraparound); + int (*action_refresh)(file_list_t *list, file_list_t *menu_list); + int (*action_up_or_down)(unsigned type, const char *label, unsigned action); + void (*action_get_representation)(file_list_t* list, + unsigned *w, unsigned type, unsigned i, + const char *label, + char *type_str, size_t type_str_size, + const char *entry_label, + const char *path, + char *path_buf, size_t path_buf_size); +} menu_file_list_cbs_t; + menu_list_t *menu_list_get_ptr(void); void menu_list_free(menu_list_t *menu_list); @@ -54,7 +79,7 @@ void menu_list_pop_stack_by_needle(menu_list_t *list, void menu_list_get_at_offset(const file_list_t *list, size_t idx, const char **path, const char **label, unsigned *file_type); -void *menu_list_get_actiondata_at_offset(const file_list_t *list, size_t idx); +menu_file_list_cbs_t *menu_list_get_actiondata_at_offset(const file_list_t *list, size_t idx); size_t menu_list_get_stack_size(menu_list_t *list);