diff --git a/frontend/menu/menu_entries.c b/frontend/menu/menu_entries.c index 1778982bb1..0e53622c86 100644 --- a/frontend/menu/menu_entries.c +++ b/frontend/menu/menu_entries.c @@ -96,19 +96,6 @@ void menu_build_scroll_indices(file_list_t *list) list->size - 1; } -static void add_setting_entry(menu_handle_t *menu, - file_list_t *list, - const char *label, unsigned id, - rarch_setting_t *settings) -{ - rarch_setting_t *setting = (rarch_setting_t*) - setting_data_find_setting(settings, label); - - if (setting) - file_list_push(list, setting->short_description, - setting->name, id, 0); -} - void menu_entries_pop_list(file_list_t *list) { if (file_list_get_size(list) > 1) @@ -177,32 +164,6 @@ int push_list(menu_handle_t *menu, setting->name, setting_set_flags(setting), 0); } } - else if (!strcmp(label, "Input Options")) - { - unsigned i; - - settings_list_free(menu->list_settings); - menu->list_settings = (rarch_setting_t *)setting_data_new(SL_FLAG_ALL_SETTINGS); - - file_list_clear(list); - file_list_push(list, "Player", "input_bind_player_no", 0, 0); - file_list_push(list, "Device", "input_bind_device_id", 0, 0); - file_list_push(list, "Device Type", "input_bind_device_type", 0, 0); - file_list_push(list, "Analog D-pad Mode", "input_bind_analog_dpad_mode", 0, 0); - add_setting_entry(menu,list,"input_axis_threshold", 0, menu->list_settings); - add_setting_entry(menu,list,"input_autodetect_enable", 0, menu->list_settings); - add_setting_entry(menu,list,"input_turbo_period", 0, menu->list_settings); - add_setting_entry(menu,list,"input_duty_cycle", 0, menu->list_settings); - file_list_push(list, "Bind Mode", "", - MENU_SETTINGS_CUSTOM_BIND_MODE, 0); - file_list_push(list, "Configure All (RetroPad)", "", - MENU_SETTINGS_CUSTOM_BIND_ALL, 0); - file_list_push(list, "Default All (RetroPad)", "", - MENU_SETTINGS_CUSTOM_BIND_DEFAULT_ALL, 0); - add_setting_entry(menu,list,"osk_enable", 0, menu->list_settings); - for (i = MENU_SETTINGS_BIND_BEGIN; i <= MENU_SETTINGS_BIND_ALL_LAST; i++) - add_setting_entry(menu, list, input_config_bind_map[i - MENU_SETTINGS_BIND_BEGIN].base, i, menu->list_settings); - } if (driver.menu_ctx && driver.menu_ctx->populate_entries) driver.menu_ctx->populate_entries(menu, path, label, menu_type); diff --git a/frontend/menu/menu_entries_cbs.c b/frontend/menu/menu_entries_cbs.c index 0b0072bce5..28bc2b8c86 100644 --- a/frontend/menu/menu_entries_cbs.c +++ b/frontend/menu/menu_entries_cbs.c @@ -1623,16 +1623,60 @@ static int deferred_push_category(void *data, void *userdata, return 0; } +static void add_setting_entry(menu_handle_t *menu, + file_list_t *list, + const char *label, unsigned id, + rarch_setting_t *settings) +{ + rarch_setting_t *setting = (rarch_setting_t*) + setting_data_find_setting(settings, label); + + if (setting) + file_list_push(list, setting->short_description, + setting->name, id, 0); +} + static int deferred_push_input_options(void *data, void *userdata, const char *path, const char *label, unsigned type) { + unsigned i; file_list_t *list = (file_list_t*)data; file_list_t *menu_list = (file_list_t*)userdata; if (!list || !menu_list) return -1; - return push_list(driver.menu, list, path, label, type); + settings_list_free(driver.menu->list_settings); + driver.menu->list_settings = (rarch_setting_t *)setting_data_new(SL_FLAG_ALL_SETTINGS); + + file_list_clear(list); + file_list_push(list, "Player", "input_bind_player_no", 0, 0); + file_list_push(list, "Device", "input_bind_device_id", 0, 0); + file_list_push(list, "Device Type", "input_bind_device_type", 0, 0); + file_list_push(list, "Analog D-pad Mode", "input_bind_analog_dpad_mode", 0, 0); + add_setting_entry(driver.menu,list,"input_axis_threshold", 0, driver.menu->list_settings); + add_setting_entry(driver.menu,list,"input_autodetect_enable", 0, driver.menu->list_settings); + add_setting_entry(driver.menu,list,"input_turbo_period", 0, driver.menu->list_settings); + add_setting_entry(driver.menu,list,"input_duty_cycle", 0, driver.menu->list_settings); + file_list_push(list, "Bind Mode", "", + MENU_SETTINGS_CUSTOM_BIND_MODE, 0); + file_list_push(list, "Configure All (RetroPad)", "", + MENU_SETTINGS_CUSTOM_BIND_ALL, 0); + file_list_push(list, "Default All (RetroPad)", "", + MENU_SETTINGS_CUSTOM_BIND_DEFAULT_ALL, 0); + add_setting_entry(driver.menu,list,"osk_enable", 0, driver.menu->list_settings); + for (i = MENU_SETTINGS_BIND_BEGIN; i <= MENU_SETTINGS_BIND_ALL_LAST; i++) + add_setting_entry( + driver.menu, + list, + input_config_bind_map[i - MENU_SETTINGS_BIND_BEGIN].base, + i, + driver.menu->list_settings); + + if (driver.menu_ctx && driver.menu_ctx->populate_entries) + driver.menu_ctx->populate_entries(driver.menu, path, label, type); + + return 0; } static int deferred_push_shader_options(void *data, void *userdata,