From ba9150f7c080f684d1c36a607c44bb2ea7a8753c Mon Sep 17 00:00:00 2001 From: twinaphex Date: Sun, 23 Sep 2018 11:40:26 +0200 Subject: [PATCH] Add dropdown lists for poll type behavior and menu toggle type --- menu/cbs/menu_cbs_get_value.c | 40 ----------------------------------- menu/menu_setting.c | 31 +++++++++++++++++++++++++++ 2 files changed, 31 insertions(+), 40 deletions(-) diff --git a/menu/cbs/menu_cbs_get_value.c b/menu/cbs/menu_cbs_get_value.c index 0e90c1b0ee..b569b222df 100644 --- a/menu/cbs/menu_cbs_get_value.c +++ b/menu/cbs/menu_cbs_get_value.c @@ -885,42 +885,6 @@ static void menu_action_setting_disp_set_label_state( strlcat(s, " (Auto)", len); } -static void menu_action_setting_disp_set_label_poll_type_behavior( - file_list_t* list, - unsigned *w, unsigned type, unsigned i, - const char *label, - char *s, size_t len, - const char *entry_label, - const char *path, - char *s2, size_t len2) -{ - settings_t *settings = config_get_ptr(); - - if (!settings) - return; - - strlcpy(s2, path, len2); - *w = 19; - switch (settings->uints.input_poll_type_behavior) - { - case 0: - strlcpy(s, - msg_hash_to_str( - MENU_ENUM_LABEL_VALUE_INPUT_POLL_TYPE_BEHAVIOR_EARLY), len); - break; - case 1: - strlcpy(s, - msg_hash_to_str( - MENU_ENUM_LABEL_VALUE_INPUT_POLL_TYPE_BEHAVIOR_NORMAL), len); - break; - case 2: - strlcpy(s, - msg_hash_to_str( - MENU_ENUM_LABEL_VALUE_INPUT_POLL_TYPE_BEHAVIOR_LATE), len); - break; - } -} - static void menu_action_setting_disp_set_label_xmb_theme( file_list_t* list, unsigned *w, unsigned type, unsigned i, @@ -1987,10 +1951,6 @@ static int menu_cbs_init_bind_get_string_representation_compare_label( BIND_ACTION_GET_VALUE(cbs, menu_action_setting_disp_set_label_state); break; - case MENU_ENUM_LABEL_INPUT_POLL_TYPE_BEHAVIOR: - BIND_ACTION_GET_VALUE(cbs, - menu_action_setting_disp_set_label_poll_type_behavior); - break; case MENU_ENUM_LABEL_XMB_LAYOUT: BIND_ACTION_GET_VALUE(cbs, menu_action_setting_disp_set_label_xmb_layout); diff --git a/menu/menu_setting.c b/menu/menu_setting.c index ad03ef305c..860e1c6257 100644 --- a/menu/menu_setting.c +++ b/menu/menu_setting.c @@ -793,6 +793,33 @@ static void setting_get_string_representation_toggle_gamepad_combo(void *data, } } +static void setting_get_string_representation_poll_type_behavior(void *data, + char *s, size_t len) +{ + rarch_setting_t *setting = (rarch_setting_t*)data; + if (!setting) + return; + + switch (*setting->value.target.unsigned_integer) + { + case 0: + strlcpy(s, + msg_hash_to_str( + MENU_ENUM_LABEL_VALUE_INPUT_POLL_TYPE_BEHAVIOR_EARLY), len); + break; + case 1: + strlcpy(s, + msg_hash_to_str( + MENU_ENUM_LABEL_VALUE_INPUT_POLL_TYPE_BEHAVIOR_NORMAL), len); + break; + case 2: + strlcpy(s, + msg_hash_to_str( + MENU_ENUM_LABEL_VALUE_INPUT_POLL_TYPE_BEHAVIOR_LATE), len); + break; + } +} + #ifdef HAVE_LANGEXTRA static void setting_get_string_representation_uint_user_language(void *data, char *s, size_t len) @@ -5112,6 +5139,9 @@ static bool setting_append_list( parent_group, general_write_handler, general_read_handler); + (*list)[list_info->index - 1].action_ok = &setting_action_ok_uint; + (*list)[list_info->index - 1].get_string_representation = + &setting_get_string_representation_poll_type_behavior; menu_settings_list_current_add_range(list, list_info, 0, 2, 1, true, true); settings_data_list_current_add_flags(list, list_info, SD_FLAG_LAKKA_ADVANCED); @@ -5207,6 +5237,7 @@ static bool setting_append_list( parent_group, general_write_handler, general_read_handler); + (*list)[list_info->index - 1].action_ok = &setting_action_ok_uint; (*list)[list_info->index - 1].get_string_representation = &setting_get_string_representation_toggle_gamepad_combo; menu_settings_list_current_add_range(list, list_info, 0, 4, 1, true, true);