static int menu_input_key_bind_set_mode_common( enum menu_input_binds_ctl_state state, rarch_setting_t *setting) { unsigned bind_type = 0; menu_displaylist_info_t info = {0}; struct retro_keybind *keybind = NULL; unsigned index_offset = setting->index_offset; file_list_t *menu_stack = menu_entries_get_menu_stack_ptr(0); size_t selection = menu_navigation_get_selection(); switch (state) { case MENU_INPUT_BINDS_CTL_BIND_SINGLE: keybind = (struct retro_keybind*)setting_get_ptr(setting); if (!keybind) return -1; bind_type = setting_get_bind_type(setting); menu_input_binds.begin = bind_type; menu_input_binds.last = bind_type; menu_input_binds.target = keybind; menu_input_binds.user = index_offset; info.list = menu_stack; info.type = MENU_SETTINGS_CUSTOM_BIND_KEYBOARD; info.directory_ptr = selection; info.enum_idx = MENU_ENUM_LABEL_CUSTOM_BIND; strlcpy(info.label, msg_hash_to_str(MENU_ENUM_LABEL_CUSTOM_BIND), sizeof(info.label)); if (menu_displaylist_ctl(DISPLAYLIST_INFO, &info)) menu_displaylist_process(&info); break; case MENU_INPUT_BINDS_CTL_BIND_ALL: menu_input_binds.target = &input_config_binds[index_offset][0]; menu_input_binds.begin = MENU_SETTINGS_BIND_BEGIN; menu_input_binds.last = MENU_SETTINGS_BIND_LAST; info.list = menu_stack; info.type = MENU_SETTINGS_CUSTOM_BIND_KEYBOARD; info.directory_ptr = selection; info.enum_idx = MENU_ENUM_LABEL_CUSTOM_BIND_ALL; strlcpy(info.label, msg_hash_to_str(MENU_ENUM_LABEL_CUSTOM_BIND_ALL), sizeof(info.label)); if (menu_displaylist_ctl(DISPLAYLIST_INFO, &info)) menu_displaylist_process(&info); break; default: case MENU_INPUT_BINDS_CTL_BIND_NONE: break; } return 0; }
void ozone_init_horizontal_list(ozone_handle_t *ozone) { menu_displaylist_info_t info; settings_t *settings = config_get_ptr(); menu_displaylist_info_init(&info); info.list = ozone->horizontal_list; info.path = strdup( settings->paths.directory_playlist); info.label = strdup( msg_hash_to_str(MENU_ENUM_LABEL_CONTENT_COLLECTION_LIST)); info.exts = strdup( file_path_str(FILE_PATH_LPL_EXTENSION_NO_DOT)); info.type_default = FILE_TYPE_PLAIN; info.enum_idx = MENU_ENUM_LABEL_CONTENT_COLLECTION_LIST; if (settings->bools.menu_content_show_playlists && !string_is_empty(info.path)) { if (menu_displaylist_ctl(DISPLAYLIST_DATABASE_PLAYLISTS_HORIZONTAL, &info)) menu_displaylist_process(&info); } menu_displaylist_info_free(&info); }