mirror of
https://github.com/libretro/RetroArch
synced 2025-03-28 19:20:35 +00:00
Add dropdown list for XMB menu color theme
This commit is contained in:
parent
1d962e960b
commit
67b83d9d5f
@ -518,9 +518,8 @@ static void menu_action_setting_disp_set_label_input_desc(
|
||||
if (!settings)
|
||||
return;
|
||||
|
||||
user_idx = (type - MENU_SETTINGS_INPUT_DESC_BEGIN) / (RARCH_FIRST_CUSTOM_BIND + 8);
|
||||
btn_idx = (type - MENU_SETTINGS_INPUT_DESC_BEGIN) - (RARCH_FIRST_CUSTOM_BIND + 8) * user_idx;
|
||||
|
||||
user_idx = (type - MENU_SETTINGS_INPUT_DESC_BEGIN) / (RARCH_FIRST_CUSTOM_BIND + 8);
|
||||
btn_idx = (type - MENU_SETTINGS_INPUT_DESC_BEGIN) - (RARCH_FIRST_CUSTOM_BIND + 8) * user_idx;
|
||||
remap_idx =
|
||||
settings->uints.input_remap_ids[user_idx][btn_idx];
|
||||
|
||||
@ -571,7 +570,6 @@ static void menu_action_setting_disp_set_label_input_desc_kbd(
|
||||
|
||||
user_idx = (type - MENU_SETTINGS_INPUT_DESC_KBD_BEGIN) / RARCH_FIRST_CUSTOM_BIND;
|
||||
btn_idx = (type - MENU_SETTINGS_INPUT_DESC_KBD_BEGIN) - RARCH_FIRST_CUSTOM_BIND * user_idx;
|
||||
|
||||
remap_id =
|
||||
settings->uints.input_keymapper_ids[user_idx][btn_idx];
|
||||
|
||||
@ -607,7 +605,6 @@ static void menu_action_setting_disp_set_label_cheat(
|
||||
if (cheat_index < cheat_manager_get_buf_size())
|
||||
{
|
||||
if (cheat_manager_state.cheats[cheat_index].handler == CHEAT_HANDLER_TYPE_EMU)
|
||||
{
|
||||
snprintf(s, len, "(%s) : %s",
|
||||
cheat_manager_get_code_state(cheat_index) ?
|
||||
msg_hash_to_str(MENU_ENUM_LABEL_VALUE_ON) :
|
||||
@ -616,16 +613,13 @@ static void menu_action_setting_disp_set_label_cheat(
|
||||
? cheat_manager_get_code(cheat_index) :
|
||||
msg_hash_to_str(MENU_ENUM_LABEL_VALUE_NOT_AVAILABLE)
|
||||
);
|
||||
}
|
||||
else
|
||||
{
|
||||
snprintf(s, len, "(%s) : %08X",
|
||||
cheat_manager_get_code_state(cheat_index) ?
|
||||
msg_hash_to_str(MENU_ENUM_LABEL_VALUE_ON) :
|
||||
msg_hash_to_str(MENU_ENUM_LABEL_VALUE_OFF),
|
||||
cheat_manager_state.cheats[cheat_index].address
|
||||
);
|
||||
}
|
||||
}
|
||||
*w = 19;
|
||||
strlcpy(s2, path, len2);
|
||||
@ -816,131 +810,6 @@ static void menu_action_setting_disp_set_label_wifi_is_online(
|
||||
strlcpy(s, msg_hash_to_str(MENU_ENUM_LABEL_VALUE_ONLINE), len);
|
||||
}
|
||||
|
||||
static void menu_action_setting_disp_set_label_xmb_layout(
|
||||
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();
|
||||
|
||||
strlcpy(s2, path, len2);
|
||||
*w = 19;
|
||||
|
||||
if (!settings)
|
||||
return;
|
||||
|
||||
switch (settings->uints.menu_xmb_layout)
|
||||
{
|
||||
case 0:
|
||||
strlcpy(s, "Auto", len);
|
||||
break;
|
||||
case 1:
|
||||
strlcpy(s, "Console", len);
|
||||
break;
|
||||
case 2:
|
||||
strlcpy(s, "Handheld", len);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
static void menu_action_setting_disp_set_label_xmb_menu_color_theme(
|
||||
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();
|
||||
|
||||
strlcpy(s2, path, len2);
|
||||
*w = 19;
|
||||
|
||||
if (!settings)
|
||||
return;
|
||||
|
||||
switch (settings->uints.menu_xmb_color_theme)
|
||||
{
|
||||
case XMB_THEME_WALLPAPER:
|
||||
strlcpy(s,
|
||||
msg_hash_to_str(
|
||||
MENU_ENUM_LABEL_VALUE_XMB_MENU_COLOR_THEME_PLAIN),
|
||||
len);
|
||||
break;
|
||||
case XMB_THEME_LEGACY_RED:
|
||||
strlcpy(s,
|
||||
msg_hash_to_str(
|
||||
MENU_ENUM_LABEL_VALUE_XMB_MENU_COLOR_THEME_LEGACY_RED),
|
||||
len);
|
||||
break;
|
||||
case XMB_THEME_DARK_PURPLE:
|
||||
strlcpy(s,
|
||||
msg_hash_to_str(
|
||||
MENU_ENUM_LABEL_VALUE_XMB_MENU_COLOR_THEME_DARK_PURPLE),
|
||||
len);
|
||||
break;
|
||||
case XMB_THEME_MIDNIGHT_BLUE:
|
||||
strlcpy(s,
|
||||
msg_hash_to_str(
|
||||
MENU_ENUM_LABEL_VALUE_XMB_MENU_COLOR_THEME_MIDNIGHT_BLUE),
|
||||
len);
|
||||
break;
|
||||
case XMB_THEME_GOLDEN:
|
||||
strlcpy(s,
|
||||
msg_hash_to_str(
|
||||
MENU_ENUM_LABEL_VALUE_XMB_MENU_COLOR_THEME_GOLDEN),
|
||||
len);
|
||||
break;
|
||||
case XMB_THEME_ELECTRIC_BLUE:
|
||||
strlcpy(s,
|
||||
msg_hash_to_str(
|
||||
MENU_ENUM_LABEL_VALUE_XMB_MENU_COLOR_THEME_ELECTRIC_BLUE),
|
||||
len);
|
||||
break;
|
||||
case XMB_THEME_APPLE_GREEN:
|
||||
strlcpy(s,
|
||||
msg_hash_to_str(
|
||||
MENU_ENUM_LABEL_VALUE_XMB_MENU_COLOR_THEME_APPLE_GREEN),
|
||||
len);
|
||||
break;
|
||||
case XMB_THEME_UNDERSEA:
|
||||
strlcpy(s,
|
||||
msg_hash_to_str(
|
||||
MENU_ENUM_LABEL_VALUE_XMB_MENU_COLOR_THEME_UNDERSEA),
|
||||
len);
|
||||
break;
|
||||
case XMB_THEME_VOLCANIC_RED:
|
||||
strlcpy(s,
|
||||
msg_hash_to_str(
|
||||
MENU_ENUM_LABEL_VALUE_XMB_MENU_COLOR_THEME_VOLCANIC_RED),
|
||||
len);
|
||||
break;
|
||||
case XMB_THEME_DARK:
|
||||
strlcpy(s,
|
||||
msg_hash_to_str(
|
||||
MENU_ENUM_LABEL_VALUE_XMB_MENU_COLOR_THEME_DARK),
|
||||
len);
|
||||
break;
|
||||
case XMB_THEME_LIGHT:
|
||||
strlcpy(s,
|
||||
msg_hash_to_str(
|
||||
MENU_ENUM_LABEL_VALUE_XMB_MENU_COLOR_THEME_LIGHT),
|
||||
len);
|
||||
break;
|
||||
case XMB_THEME_MORNING_BLUE:
|
||||
strlcpy(s,
|
||||
msg_hash_to_str(
|
||||
MENU_ENUM_LABEL_VALUE_XMB_MENU_COLOR_THEME_MORNING_BLUE),
|
||||
len);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
static void menu_action_setting_disp_set_label_materialui_menu_color_theme(
|
||||
file_list_t* list,
|
||||
unsigned *w, unsigned type, unsigned i,
|
||||
@ -1721,18 +1590,10 @@ 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_XMB_LAYOUT:
|
||||
BIND_ACTION_GET_VALUE(cbs,
|
||||
menu_action_setting_disp_set_label_xmb_layout);
|
||||
break;
|
||||
case MENU_ENUM_LABEL_CONNECT_WIFI:
|
||||
BIND_ACTION_GET_VALUE(cbs,
|
||||
menu_action_setting_disp_set_label_wifi_is_online);
|
||||
break;
|
||||
case MENU_ENUM_LABEL_XMB_MENU_COLOR_THEME:
|
||||
BIND_ACTION_GET_VALUE(cbs,
|
||||
menu_action_setting_disp_set_label_xmb_menu_color_theme);
|
||||
break;
|
||||
case MENU_ENUM_LABEL_MATERIALUI_MENU_COLOR_THEME:
|
||||
BIND_ACTION_GET_VALUE(cbs,
|
||||
menu_action_setting_disp_set_label_materialui_menu_color_theme);
|
||||
|
@ -246,6 +246,111 @@ static void setting_get_string_representation_uint_xmb_icon_theme(void *data,
|
||||
}
|
||||
}
|
||||
|
||||
static void setting_get_string_representation_uint_xmb_layout(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, "Auto", len);
|
||||
break;
|
||||
case 1:
|
||||
strlcpy(s, "Console", len);
|
||||
break;
|
||||
case 2:
|
||||
strlcpy(s, "Handheld", len);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
static void setting_get_string_representation_uint_xmb_menu_color_theme(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 XMB_THEME_WALLPAPER:
|
||||
strlcpy(s,
|
||||
msg_hash_to_str(
|
||||
MENU_ENUM_LABEL_VALUE_XMB_MENU_COLOR_THEME_PLAIN),
|
||||
len);
|
||||
break;
|
||||
case XMB_THEME_LEGACY_RED:
|
||||
strlcpy(s,
|
||||
msg_hash_to_str(
|
||||
MENU_ENUM_LABEL_VALUE_XMB_MENU_COLOR_THEME_LEGACY_RED),
|
||||
len);
|
||||
break;
|
||||
case XMB_THEME_DARK_PURPLE:
|
||||
strlcpy(s,
|
||||
msg_hash_to_str(
|
||||
MENU_ENUM_LABEL_VALUE_XMB_MENU_COLOR_THEME_DARK_PURPLE),
|
||||
len);
|
||||
break;
|
||||
case XMB_THEME_MIDNIGHT_BLUE:
|
||||
strlcpy(s,
|
||||
msg_hash_to_str(
|
||||
MENU_ENUM_LABEL_VALUE_XMB_MENU_COLOR_THEME_MIDNIGHT_BLUE),
|
||||
len);
|
||||
break;
|
||||
case XMB_THEME_GOLDEN:
|
||||
strlcpy(s,
|
||||
msg_hash_to_str(
|
||||
MENU_ENUM_LABEL_VALUE_XMB_MENU_COLOR_THEME_GOLDEN),
|
||||
len);
|
||||
break;
|
||||
case XMB_THEME_ELECTRIC_BLUE:
|
||||
strlcpy(s,
|
||||
msg_hash_to_str(
|
||||
MENU_ENUM_LABEL_VALUE_XMB_MENU_COLOR_THEME_ELECTRIC_BLUE),
|
||||
len);
|
||||
break;
|
||||
case XMB_THEME_APPLE_GREEN:
|
||||
strlcpy(s,
|
||||
msg_hash_to_str(
|
||||
MENU_ENUM_LABEL_VALUE_XMB_MENU_COLOR_THEME_APPLE_GREEN),
|
||||
len);
|
||||
break;
|
||||
case XMB_THEME_UNDERSEA:
|
||||
strlcpy(s,
|
||||
msg_hash_to_str(
|
||||
MENU_ENUM_LABEL_VALUE_XMB_MENU_COLOR_THEME_UNDERSEA),
|
||||
len);
|
||||
break;
|
||||
case XMB_THEME_VOLCANIC_RED:
|
||||
strlcpy(s,
|
||||
msg_hash_to_str(
|
||||
MENU_ENUM_LABEL_VALUE_XMB_MENU_COLOR_THEME_VOLCANIC_RED),
|
||||
len);
|
||||
break;
|
||||
case XMB_THEME_DARK:
|
||||
strlcpy(s,
|
||||
msg_hash_to_str(
|
||||
MENU_ENUM_LABEL_VALUE_XMB_MENU_COLOR_THEME_DARK),
|
||||
len);
|
||||
break;
|
||||
case XMB_THEME_LIGHT:
|
||||
strlcpy(s,
|
||||
msg_hash_to_str(
|
||||
MENU_ENUM_LABEL_VALUE_XMB_MENU_COLOR_THEME_LIGHT),
|
||||
len);
|
||||
break;
|
||||
case XMB_THEME_MORNING_BLUE:
|
||||
strlcpy(s,
|
||||
msg_hash_to_str(
|
||||
MENU_ENUM_LABEL_VALUE_XMB_MENU_COLOR_THEME_MORNING_BLUE),
|
||||
len);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
static void setting_get_string_representation_uint_xmb_shader_pipeline(void *data,
|
||||
char *s, size_t len)
|
||||
{
|
||||
@ -6745,6 +6850,8 @@ static bool setting_append_list(
|
||||
parent_group,
|
||||
general_write_handler,
|
||||
general_read_handler);
|
||||
(*list)[list_info->index - 1].get_string_representation =
|
||||
&setting_get_string_representation_uint_xmb_layout;
|
||||
menu_settings_list_current_add_range(list, list_info, 0, 2, 1, true, true);
|
||||
menu_settings_list_current_add_cmd(list, list_info, CMD_EVENT_REINIT);
|
||||
|
||||
@ -6811,6 +6918,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_uint_xmb_menu_color_theme;
|
||||
menu_settings_list_current_add_range(list, list_info, 0, XMB_THEME_LAST-1, 1, true, true);
|
||||
}
|
||||
#endif
|
||||
|
Loading…
x
Reference in New Issue
Block a user