Add MaterialUI menu color theme setting
This commit is contained in:
parent
e0504bfc62
commit
180c0c87c1
|
@ -474,6 +474,7 @@ static void config_set_defaults(void)
|
||||||
settings->menu.xmb.shader_pipeline = menu_shader_pipeline;
|
settings->menu.xmb.shader_pipeline = menu_shader_pipeline;
|
||||||
settings->menu.xmb.font[0] = '\0';
|
settings->menu.xmb.font[0] = '\0';
|
||||||
#endif
|
#endif
|
||||||
|
settings->menu.materialui.menu_color_theme = 0;
|
||||||
|
|
||||||
settings->menu.throttle_framerate = true;
|
settings->menu.throttle_framerate = true;
|
||||||
settings->menu.linear_filter = true;
|
settings->menu.linear_filter = true;
|
||||||
|
@ -1532,6 +1533,7 @@ static bool config_load_file(const char *path, bool set_defaults)
|
||||||
#ifdef HAVE_XMB
|
#ifdef HAVE_XMB
|
||||||
CONFIG_GET_INT_BASE(conf, settings, menu.xmb.menu_color_theme, "xmb_menu_color_theme");
|
CONFIG_GET_INT_BASE(conf, settings, menu.xmb.menu_color_theme, "xmb_menu_color_theme");
|
||||||
#endif
|
#endif
|
||||||
|
CONFIG_GET_INT_BASE(conf, settings, menu.materialui.menu_color_theme, "materialui_menu_color_theme");
|
||||||
CONFIG_GET_BOOL_BASE(conf, settings, menu.xmb.shadows_enable, "xmb_shadows_enable");
|
CONFIG_GET_BOOL_BASE(conf, settings, menu.xmb.shadows_enable, "xmb_shadows_enable");
|
||||||
CONFIG_GET_INT_BASE(conf, settings, menu.xmb.shader_pipeline, "menu_shader_pipeline");
|
CONFIG_GET_INT_BASE(conf, settings, menu.xmb.shader_pipeline, "menu_shader_pipeline");
|
||||||
if (config_get_path(conf, "xmb_font", tmp_str, sizeof(tmp_str)))
|
if (config_get_path(conf, "xmb_font", tmp_str, sizeof(tmp_str)))
|
||||||
|
@ -2946,6 +2948,7 @@ bool config_save_file(const char *path)
|
||||||
#ifdef HAVE_XMB
|
#ifdef HAVE_XMB
|
||||||
config_set_int(conf, "xmb_menu_color_theme", settings->menu.xmb.menu_color_theme);
|
config_set_int(conf, "xmb_menu_color_theme", settings->menu.xmb.menu_color_theme);
|
||||||
#endif
|
#endif
|
||||||
|
config_set_int(conf, "materialui_menu_color_theme", settings->menu.materialui.menu_color_theme);
|
||||||
config_set_bool(conf, "xmb_shadows_enable", settings->menu.xmb.shadows_enable);
|
config_set_bool(conf, "xmb_shadows_enable", settings->menu.xmb.shadows_enable);
|
||||||
config_set_int(conf, "menu_shader_pipeline", settings->menu.xmb.shader_pipeline);
|
config_set_int(conf, "menu_shader_pipeline", settings->menu.xmb.shader_pipeline);
|
||||||
config_set_path(conf, "xmb_font",
|
config_set_path(conf, "xmb_font",
|
||||||
|
|
|
@ -1070,7 +1070,9 @@ const char *msg_hash_to_str_fr(enum msg_hash_enums msg)
|
||||||
return "XMB : Police";
|
return "XMB : Police";
|
||||||
case MENU_ENUM_LABEL_VALUE_XMB_THEME:
|
case MENU_ENUM_LABEL_VALUE_XMB_THEME:
|
||||||
return "XMB : Theme";
|
return "XMB : Theme";
|
||||||
case MENU_ENUM_LABEL_VALUE_XMB_GRADIENT:
|
case MENU_ENUM_LABEL_VALUE_XMB_MENU_COLOR_THEME:
|
||||||
|
return "Dégradé de font d'écran";
|
||||||
|
case MENU_ENUM_LABEL_VALUE_MATERIALUI_MENU_COLOR_THEME:
|
||||||
return "Dégradé de font d'écran";
|
return "Dégradé de font d'écran";
|
||||||
case MENU_ENUM_LABEL_VALUE_XMB_SHADOWS_ENABLE:
|
case MENU_ENUM_LABEL_VALUE_XMB_SHADOWS_ENABLE:
|
||||||
return "Ombres pour les icones";
|
return "Ombres pour les icones";
|
||||||
|
|
|
@ -1626,8 +1626,10 @@ static const char *menu_hash_to_str_us_label_enum(enum msg_hash_enums msg)
|
||||||
return "xmb_font";
|
return "xmb_font";
|
||||||
case MENU_ENUM_LABEL_XMB_THEME:
|
case MENU_ENUM_LABEL_XMB_THEME:
|
||||||
return "xmb_theme";
|
return "xmb_theme";
|
||||||
case MENU_ENUM_LABEL_XMB_GRADIENT:
|
case MENU_ENUM_LABEL_XMB_MENU_COLOR_THEME:
|
||||||
return "xmb_menu_color_theme";
|
return "xmb_menu_color_theme";
|
||||||
|
case MENU_ENUM_LABEL_MATERIALUI_MENU_COLOR_THEME:
|
||||||
|
return "materialui_menu_color_theme";
|
||||||
case MENU_ENUM_LABEL_XMB_SHADOWS_ENABLE:
|
case MENU_ENUM_LABEL_XMB_SHADOWS_ENABLE:
|
||||||
return "xmb_shadows_enable";
|
return "xmb_shadows_enable";
|
||||||
case MENU_ENUM_LABEL_XMB_RIBBON_ENABLE:
|
case MENU_ENUM_LABEL_XMB_RIBBON_ENABLE:
|
||||||
|
@ -2832,7 +2834,9 @@ const char *msg_hash_to_str_us(enum msg_hash_enums msg)
|
||||||
return "XMB Font";
|
return "XMB Font";
|
||||||
case MENU_ENUM_LABEL_VALUE_XMB_THEME:
|
case MENU_ENUM_LABEL_VALUE_XMB_THEME:
|
||||||
return "XMB Theme";
|
return "XMB Theme";
|
||||||
case MENU_ENUM_LABEL_VALUE_XMB_GRADIENT:
|
case MENU_ENUM_LABEL_VALUE_XMB_MENU_COLOR_THEME:
|
||||||
|
return "Menu Color Theme";
|
||||||
|
case MENU_ENUM_LABEL_VALUE_MATERIALUI_MENU_COLOR_THEME:
|
||||||
return "Menu Color Theme";
|
return "Menu Color Theme";
|
||||||
case MENU_ENUM_LABEL_VALUE_XMB_SHADOWS_ENABLE:
|
case MENU_ENUM_LABEL_VALUE_XMB_SHADOWS_ENABLE:
|
||||||
return "Icon Shadows Enable";
|
return "Icon Shadows Enable";
|
||||||
|
|
|
@ -682,7 +682,7 @@ static void menu_action_setting_disp_set_label_xmb_theme(
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static void menu_action_setting_disp_set_label_xmb_gradient(
|
static void menu_action_setting_disp_set_label_xmb_menu_color_theme(
|
||||||
file_list_t* list,
|
file_list_t* list,
|
||||||
unsigned *w, unsigned type, unsigned i,
|
unsigned *w, unsigned type, unsigned i,
|
||||||
const char *label,
|
const char *label,
|
||||||
|
@ -731,6 +731,36 @@ static void menu_action_setting_disp_set_label_xmb_gradient(
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void menu_action_setting_disp_set_label_materialui_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->menu.materialui.menu_color_theme)
|
||||||
|
{
|
||||||
|
case 0:
|
||||||
|
strlcpy(s, "White", len);
|
||||||
|
break;
|
||||||
|
case 1:
|
||||||
|
strlcpy(s, "Dark", len);
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
static void menu_action_setting_disp_set_label_thumbnails(
|
static void menu_action_setting_disp_set_label_thumbnails(
|
||||||
file_list_t* list,
|
file_list_t* list,
|
||||||
unsigned *w, unsigned type, unsigned i,
|
unsigned *w, unsigned type, unsigned i,
|
||||||
|
@ -1413,9 +1443,13 @@ static int menu_cbs_init_bind_get_string_representation_compare_label(
|
||||||
BIND_ACTION_GET_VALUE(cbs,
|
BIND_ACTION_GET_VALUE(cbs,
|
||||||
menu_action_setting_disp_set_label_xmb_theme);
|
menu_action_setting_disp_set_label_xmb_theme);
|
||||||
break;
|
break;
|
||||||
case MENU_ENUM_LABEL_XMB_GRADIENT:
|
case MENU_ENUM_LABEL_XMB_MENU_COLOR_THEME:
|
||||||
BIND_ACTION_GET_VALUE(cbs,
|
BIND_ACTION_GET_VALUE(cbs,
|
||||||
menu_action_setting_disp_set_label_xmb_gradient);
|
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);
|
||||||
break;
|
break;
|
||||||
case MENU_ENUM_LABEL_THUMBNAILS:
|
case MENU_ENUM_LABEL_THUMBNAILS:
|
||||||
BIND_ACTION_GET_VALUE(cbs,
|
BIND_ACTION_GET_VALUE(cbs,
|
||||||
|
@ -1517,7 +1551,7 @@ static int menu_cbs_init_bind_get_string_representation_compare_label(
|
||||||
break;
|
break;
|
||||||
case MENU_LABEL_XMB_GRADIENT:
|
case MENU_LABEL_XMB_GRADIENT:
|
||||||
BIND_ACTION_GET_VALUE(cbs,
|
BIND_ACTION_GET_VALUE(cbs,
|
||||||
menu_action_setting_disp_set_label_xmb_gradient);
|
menu_action_setting_disp_set_label_xmb_menu_color_theme);
|
||||||
break;
|
break;
|
||||||
case MENU_LABEL_THUMBNAILS:
|
case MENU_LABEL_THUMBNAILS:
|
||||||
BIND_ACTION_GET_VALUE(cbs,
|
BIND_ACTION_GET_VALUE(cbs,
|
||||||
|
|
|
@ -780,10 +780,10 @@ static void mui_frame(void *data)
|
||||||
0.22, 0.28, 0.31, 1,
|
0.22, 0.28, 0.31, 1,
|
||||||
};
|
};
|
||||||
float almost_black[16] = {
|
float almost_black[16] = {
|
||||||
0.13, 0.13, 0.13, 1,
|
0.13, 0.13, 0.13, 0.90,
|
||||||
0.13, 0.13, 0.13, 1,
|
0.13, 0.13, 0.13, 0.90,
|
||||||
0.13, 0.13, 0.13, 1,
|
0.13, 0.13, 0.13, 0.90,
|
||||||
0.13, 0.13, 0.13, 1,
|
0.13, 0.13, 0.13, 0.90,
|
||||||
};
|
};
|
||||||
|
|
||||||
/* This controls the main background color */
|
/* This controls the main background color */
|
||||||
|
@ -811,6 +811,7 @@ static void mui_frame(void *data)
|
||||||
float *highlighted_entry_color = lightblue_bg;
|
float *highlighted_entry_color = lightblue_bg;
|
||||||
float *footer_bg_color = white_bg;
|
float *footer_bg_color = white_bg;
|
||||||
float *body_bg_color = white_transp_bg;
|
float *body_bg_color = white_transp_bg;
|
||||||
|
settings_t *settings = config_get_ptr();
|
||||||
|
|
||||||
uint32_t font_normal_color = 0x212121ff;
|
uint32_t font_normal_color = 0x212121ff;
|
||||||
uint32_t font_hover_color = 0x212121ff;
|
uint32_t font_hover_color = 0x212121ff;
|
||||||
|
@ -822,6 +823,8 @@ static void mui_frame(void *data)
|
||||||
if (!mui)
|
if (!mui)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
DARK_THEME = settings->menu.materialui.menu_color_theme;
|
||||||
|
|
||||||
clearcolor.r = 1.0f;
|
clearcolor.r = 1.0f;
|
||||||
clearcolor.g = 1.0f;
|
clearcolor.g = 1.0f;
|
||||||
clearcolor.b = 1.0f;
|
clearcolor.b = 1.0f;
|
||||||
|
|
|
@ -4433,7 +4433,10 @@ bool menu_displaylist_ctl(enum menu_displaylist_ctl_state type, void *data)
|
||||||
MENU_ENUM_LABEL_XMB_RIBBON_ENABLE,
|
MENU_ENUM_LABEL_XMB_RIBBON_ENABLE,
|
||||||
PARSE_ONLY_UINT, false);
|
PARSE_ONLY_UINT, false);
|
||||||
menu_displaylist_parse_settings_enum(menu, info,
|
menu_displaylist_parse_settings_enum(menu, info,
|
||||||
MENU_ENUM_LABEL_XMB_GRADIENT,
|
MENU_ENUM_LABEL_XMB_MENU_COLOR_THEME,
|
||||||
|
PARSE_ONLY_UINT, false);
|
||||||
|
menu_displaylist_parse_settings_enum(menu, info,
|
||||||
|
MENU_ENUM_LABEL_MATERIALUI_MENU_COLOR_THEME,
|
||||||
PARSE_ONLY_UINT, false);
|
PARSE_ONLY_UINT, false);
|
||||||
menu_displaylist_parse_settings_enum(menu, info,
|
menu_displaylist_parse_settings_enum(menu, info,
|
||||||
MENU_ENUM_LABEL_RGUI_SHOW_START_SCREEN,
|
MENU_ENUM_LABEL_RGUI_SHOW_START_SCREEN,
|
||||||
|
|
|
@ -6923,8 +6923,8 @@ static bool setting_append_list(
|
||||||
CONFIG_UINT(
|
CONFIG_UINT(
|
||||||
list, list_info,
|
list, list_info,
|
||||||
&settings->menu.xmb.menu_color_theme,
|
&settings->menu.xmb.menu_color_theme,
|
||||||
msg_hash_to_str(MENU_ENUM_LABEL_XMB_GRADIENT),
|
msg_hash_to_str(MENU_ENUM_LABEL_XMB_MENU_COLOR_THEME),
|
||||||
msg_hash_to_str(MENU_ENUM_LABEL_VALUE_XMB_GRADIENT),
|
msg_hash_to_str(MENU_ENUM_LABEL_VALUE_XMB_MENU_COLOR_THEME),
|
||||||
menu_background_gradient,
|
menu_background_gradient,
|
||||||
&group_info,
|
&group_info,
|
||||||
&subgroup_info,
|
&subgroup_info,
|
||||||
|
@ -6932,7 +6932,25 @@ static bool setting_append_list(
|
||||||
general_write_handler,
|
general_write_handler,
|
||||||
general_read_handler);
|
general_read_handler);
|
||||||
menu_settings_list_current_add_range(list, list_info, 0, 8, 1, true, true);
|
menu_settings_list_current_add_range(list, list_info, 0, 8, 1, true, true);
|
||||||
menu_settings_list_current_add_enum_idx(list, list_info, MENU_ENUM_LABEL_XMB_GRADIENT);
|
menu_settings_list_current_add_enum_idx(list, list_info, MENU_ENUM_LABEL_XMB_MENU_COLOR_THEME);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* only MaterialUI uses these values, don't show them on other drivers */
|
||||||
|
if (string_is_equal(settings->menu.driver, "glui"))
|
||||||
|
{
|
||||||
|
CONFIG_UINT(
|
||||||
|
list, list_info,
|
||||||
|
&settings->menu.materialui.menu_color_theme,
|
||||||
|
msg_hash_to_str(MENU_ENUM_LABEL_MATERIALUI_MENU_COLOR_THEME),
|
||||||
|
msg_hash_to_str(MENU_ENUM_LABEL_VALUE_MATERIALUI_MENU_COLOR_THEME),
|
||||||
|
menu_background_gradient,
|
||||||
|
&group_info,
|
||||||
|
&subgroup_info,
|
||||||
|
parent_group,
|
||||||
|
general_write_handler,
|
||||||
|
general_read_handler);
|
||||||
|
menu_settings_list_current_add_range(list, list_info, 0, 1, 1, true, true);
|
||||||
|
menu_settings_list_current_add_enum_idx(list, list_info, MENU_ENUM_LABEL_MATERIALUI_MENU_COLOR_THEME);
|
||||||
}
|
}
|
||||||
|
|
||||||
CONFIG_BOOL(
|
CONFIG_BOOL(
|
||||||
|
|
|
@ -496,11 +496,12 @@ enum msg_hash_enums
|
||||||
MENU_ENUM_LABEL_XMB_ALPHA_FACTOR,
|
MENU_ENUM_LABEL_XMB_ALPHA_FACTOR,
|
||||||
MENU_ENUM_LABEL_XMB_FONT,
|
MENU_ENUM_LABEL_XMB_FONT,
|
||||||
MENU_ENUM_LABEL_XMB_THEME,
|
MENU_ENUM_LABEL_XMB_THEME,
|
||||||
MENU_ENUM_LABEL_XMB_GRADIENT,
|
MENU_ENUM_LABEL_XMB_MENU_COLOR_THEME,
|
||||||
MENU_ENUM_LABEL_XMB_SHADOWS_ENABLE,
|
MENU_ENUM_LABEL_XMB_SHADOWS_ENABLE,
|
||||||
MENU_ENUM_LABEL_XMB_RIBBON_ENABLE,
|
MENU_ENUM_LABEL_XMB_RIBBON_ENABLE,
|
||||||
MENU_ENUM_LABEL_THUMBNAILS,
|
MENU_ENUM_LABEL_THUMBNAILS,
|
||||||
MENU_ENUM_LABEL_TIMEDATE_ENABLE,
|
MENU_ENUM_LABEL_TIMEDATE_ENABLE,
|
||||||
|
MENU_ENUM_LABEL_MATERIALUI_MENU_COLOR_THEME,
|
||||||
|
|
||||||
MENU_ENUM_LABEL_VALUE_MENU_WALLPAPER,
|
MENU_ENUM_LABEL_VALUE_MENU_WALLPAPER,
|
||||||
MENU_ENUM_LABEL_VALUE_DYNAMIC_WALLPAPER,
|
MENU_ENUM_LABEL_VALUE_DYNAMIC_WALLPAPER,
|
||||||
|
@ -517,12 +518,14 @@ enum msg_hash_enums
|
||||||
MENU_ENUM_LABEL_VALUE_XMB_ALPHA_FACTOR,
|
MENU_ENUM_LABEL_VALUE_XMB_ALPHA_FACTOR,
|
||||||
MENU_ENUM_LABEL_VALUE_XMB_FONT,
|
MENU_ENUM_LABEL_VALUE_XMB_FONT,
|
||||||
MENU_ENUM_LABEL_VALUE_XMB_THEME,
|
MENU_ENUM_LABEL_VALUE_XMB_THEME,
|
||||||
MENU_ENUM_LABEL_VALUE_XMB_GRADIENT,
|
MENU_ENUM_LABEL_VALUE_XMB_MENU_COLOR_THEME,
|
||||||
MENU_ENUM_LABEL_VALUE_XMB_SHADOWS_ENABLE,
|
MENU_ENUM_LABEL_VALUE_XMB_SHADOWS_ENABLE,
|
||||||
MENU_ENUM_LABEL_VALUE_XMB_RIBBON_ENABLE,
|
MENU_ENUM_LABEL_VALUE_XMB_RIBBON_ENABLE,
|
||||||
MENU_ENUM_LABEL_VALUE_THUMBNAILS,
|
MENU_ENUM_LABEL_VALUE_THUMBNAILS,
|
||||||
MENU_ENUM_LABEL_VALUE_TIMEDATE_ENABLE,
|
MENU_ENUM_LABEL_VALUE_TIMEDATE_ENABLE,
|
||||||
|
|
||||||
|
MENU_ENUM_LABEL_VALUE_MATERIALUI_MENU_COLOR_THEME,
|
||||||
|
|
||||||
/* UI settings */
|
/* UI settings */
|
||||||
MENU_ENUM_LABEL_VIDEO_DISABLE_COMPOSITION,
|
MENU_ENUM_LABEL_VIDEO_DISABLE_COMPOSITION,
|
||||||
MENU_ENUM_LABEL_UI_COMPANION_ENABLE,
|
MENU_ENUM_LABEL_UI_COMPANION_ENABLE,
|
||||||
|
|
Loading…
Reference in New Issue