From 839940b4bb2c9fa801a3901995d8492ad56a4bd8 Mon Sep 17 00:00:00 2001 From: twinaphex Date: Tue, 25 Sep 2018 15:22:25 +0200 Subject: [PATCH] Add representation to state slot setting --- menu/cbs/menu_cbs_get_value.c | 25 ------------------------- menu/menu_setting.c | 14 ++++++++++++++ 2 files changed, 14 insertions(+), 25 deletions(-) diff --git a/menu/cbs/menu_cbs_get_value.c b/menu/cbs/menu_cbs_get_value.c index 6302a8a585..921a51b623 100644 --- a/menu/cbs/menu_cbs_get_value.c +++ b/menu/cbs/menu_cbs_get_value.c @@ -751,27 +751,6 @@ static void menu_action_setting_disp_set_label_entry( strlcpy(s2, path, len2); } -static void menu_action_setting_disp_set_label_state( - 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 = 16; - snprintf(s, len, "%d", settings->ints.state_slot); - if (settings->ints.state_slot == -1) - strlcat(s, " (Auto)", len); -} - static void menu_action_setting_disp_set_label_wifi_is_online( file_list_t* list, unsigned *w, unsigned type, unsigned i, @@ -1366,10 +1345,6 @@ static int menu_cbs_init_bind_get_string_representation_compare_label( case MENU_ENUM_LABEL_MENU_DRIVER: BIND_ACTION_GET_VALUE(cbs, menu_action_setting_disp_set_label); break; - case MENU_ENUM_LABEL_STATE_SLOT: - BIND_ACTION_GET_VALUE(cbs, - menu_action_setting_disp_set_label_state); - break; case MENU_ENUM_LABEL_CONNECT_WIFI: BIND_ACTION_GET_VALUE(cbs, menu_action_setting_disp_set_label_wifi_is_online); diff --git a/menu/menu_setting.c b/menu/menu_setting.c index 5e49776cb9..25dcd64b29 100644 --- a/menu/menu_setting.c +++ b/menu/menu_setting.c @@ -175,6 +175,18 @@ static int setting_action_ok_uint(void *data, bool wraparound) return 0; } +static void setting_get_string_representation_state_slot(void *data, + char *s, size_t len) +{ + rarch_setting_t *setting = (rarch_setting_t*)data; + if (!setting) + return; + + snprintf(s, len, "%d", *setting->value.target.integer); + if (*setting->value.target.integer == -1) + strlcat(s, " (Auto)", len); +} + static void setting_get_string_representation_float_video_msg_color(void *data, char *s, size_t len) { @@ -2945,6 +2957,8 @@ static bool setting_append_list( general_read_handler); (*list)[list_info->index - 1].action_ok = &setting_action_ok_uint; (*list)[list_info->index - 1].offset_by = -1; + (*list)[list_info->index - 1].get_string_representation = + &setting_get_string_representation_state_slot; menu_settings_list_current_add_range(list, list_info, -1, 0, 1, true, false); CONFIG_ACTION(