From fe0fe0a5ed5048c07e98dbab4d46a2a5ad0c43eb Mon Sep 17 00:00:00 2001 From: Pablo Vazquez Date: Thu, 19 Jun 2025 23:28:48 +0200 Subject: [PATCH] UI: Theme: Remove unused region styling in editors Move the styling of sidebar/toolbar regions away from common editor settings into its own section, so styling can be enabled only in the editors that actually have these regions. Part of the simplifying theme making, #135192 See PR for details and screenshots. Pull Request: https://projects.blender.org/blender/blender/pulls/140680 --- .../datafiles/userdef/userdef_default_theme.c | 29 ------ source/blender/makesrna/intern/rna_userdef.cc | 95 +++++++++++++------ 2 files changed, 67 insertions(+), 57 deletions(-) diff --git a/release/datafiles/userdef/userdef_default_theme.c b/release/datafiles/userdef/userdef_default_theme.c index 736fa8dff95..493a5940a74 100644 --- a/release/datafiles/userdef/userdef_default_theme.c +++ b/release/datafiles/userdef/userdef_default_theme.c @@ -281,11 +281,6 @@ const bTheme U_theme_default = { .header = RGBA(0x303030b3), .header_text = RGBA(0xeeeeeeff), .header_text_hi = RGBA(0xffffffff), - .tab_back = RGBA(0x18181800), - .button = RGBA(0x30303000), - .button_title = RGBA(0xccccccff), - .button_text = RGBA(0xccccccff), - .button_text_hi = RGBA(0xffffffff), .active = RGBA(0x4772b3ff), .vertex_size = 3, .outline_width = 1, @@ -456,11 +451,6 @@ const bTheme U_theme_default = { .header = RGBA(0x303030b3), .header_text = RGBA(0xeeeeeeff), .header_text_hi = RGBA(0xffffffff), - .tab_back = RGBA(0x18181800), - .button = RGBA(0x30303000), - .button_title = RGBA(0xffffffff), - .button_text = RGBA(0xccccccff), - .button_text_hi = RGBA(0xffffffff), .vertex_size = 3, .outline_width = 1, .facedot_size = 4, @@ -726,11 +716,6 @@ const bTheme U_theme_default = { .header = RGBA(0x282828b3), .header_text = RGBA(0xeeeeeeff), .header_text_hi = RGBA(0xffffffff), - .tab_back = RGBA(0x18181800), - .button = RGBA(0x30303000), - .button_title = RGBA(0xffffffff), - .button_text = RGBA(0xccccccff), - .button_text_hi = RGBA(0xffffffff), .active = RGBA(0x334d80ff), .vertex_size = 3, .outline_width = 1, @@ -824,11 +809,6 @@ const bTheme U_theme_default = { .header = RGBA(0x303030b3), .header_text = RGBA(0xeeeeeeff), .header_text_hi = RGBA(0xffffffff), - .tab_back = RGBA(0x18181800), - .button = RGBA(0x30303000), - .button_title = RGBA(0xffffffff), - .button_text = RGBA(0xccccccff), - .button_text_hi = RGBA(0xffffffff), .console_output = RGBA(0x71a8ffff), .console_input = RGBA(0xf2f2f2ff), .console_info = RGBA(0x95d600ff), @@ -895,11 +875,6 @@ const bTheme U_theme_default = { .header = RGBA(0x181818b3), .header_text = RGBA(0xeeeeeeff), .header_text_hi = RGBA(0xffffffff), - .tab_back = RGBA(0x18181800), - .button = RGBA(0x30303000), - .button_title = RGBA(0xffffffff), - .button_text = RGBA(0xccccccff), - .button_text_hi = RGBA(0xffffffff), .vertex_size = 3, .outline_width = 1, .facedot_size = 4, @@ -913,10 +888,6 @@ const bTheme U_theme_default = { .header = RGBA(0x181818b3), .header_text = RGBA(0x888888ff), .header_text_hi = RGBA(0xffffffff), - .tab_back = RGBA(0x18181800), - .button = RGBA(0x30303000), - .button_text = RGBA(0xcccccc00), - .button_text_hi = RGBA(0xffffffff), .vertex_size = 3, .outline_width = 1, .facedot_size = 4, diff --git a/source/blender/makesrna/intern/rna_userdef.cc b/source/blender/makesrna/intern/rna_userdef.cc index f80e5c88d01..0df0fb12864 100644 --- a/source/blender/makesrna/intern/rna_userdef.cc +++ b/source/blender/makesrna/intern/rna_userdef.cc @@ -1030,6 +1030,11 @@ static PointerRNA rna_Theme_space_gradient_get(PointerRNA *ptr) return RNA_pointer_create_with_parent(*ptr, &RNA_ThemeSpaceGradient, ptr->data); } +static PointerRNA rna_Theme_space_region_generic_get(PointerRNA *ptr) +{ + return RNA_pointer_create_with_parent(*ptr, &RNA_ThemeSpaceRegionGeneric, ptr->data); +} + static PointerRNA rna_Theme_space_list_generic_get(PointerRNA *ptr) { return RNA_pointer_create_with_parent(*ptr, &RNA_ThemeSpaceListGeneric, ptr->data); @@ -2159,34 +2164,6 @@ static void rna_def_userdef_theme_space_common(StructRNA *srna) RNA_def_property_array(prop, 3); RNA_def_property_ui_text(prop, "Header Text Highlight", ""); RNA_def_property_update(prop, 0, "rna_userdef_theme_update"); - - /* buttons */ - // if (!ELEM(spacetype, SPACE_PROPERTIES, SPACE_OUTLINER)) { - prop = RNA_def_property(srna, "button", PROP_FLOAT, PROP_COLOR_GAMMA); - RNA_def_property_array(prop, 4); - RNA_def_property_ui_text(prop, "Region Background", ""); - RNA_def_property_update(prop, 0, "rna_userdef_theme_update"); - - prop = RNA_def_property(srna, "button_title", PROP_FLOAT, PROP_COLOR_GAMMA); - RNA_def_property_array(prop, 3); - RNA_def_property_ui_text(prop, "Region Text Titles", ""); - RNA_def_property_update(prop, 0, "rna_userdef_theme_update"); - - prop = RNA_def_property(srna, "button_text", PROP_FLOAT, PROP_COLOR_GAMMA); - RNA_def_property_array(prop, 3); - RNA_def_property_ui_text(prop, "Region Text", ""); - RNA_def_property_update(prop, 0, "rna_userdef_theme_update"); - - prop = RNA_def_property(srna, "button_text_hi", PROP_FLOAT, PROP_COLOR_GAMMA); - RNA_def_property_array(prop, 3); - RNA_def_property_ui_text(prop, "Region Text Highlight", ""); - RNA_def_property_update(prop, 0, "rna_userdef_theme_update"); - - /* tabs */ - prop = RNA_def_property(srna, "tab_back", PROP_FLOAT, PROP_COLOR_GAMMA); - RNA_def_property_array(prop, 4); - RNA_def_property_ui_text(prop, "Navigation/Tabs Background", ""); - RNA_def_property_update(prop, 0, "rna_userdef_theme_update"); } static void rna_def_userdef_theme_space_gradient(BlenderRNA *brna) @@ -2226,6 +2203,43 @@ static void rna_def_userdef_theme_space_generic(BlenderRNA *brna) rna_def_userdef_theme_space_common(srna); } +/* sidebar / toolbar region */ +static void rna_def_userdef_theme_space_region_generic(BlenderRNA *brna) +{ + StructRNA *srna; + PropertyRNA *prop; + + srna = RNA_def_struct(brna, "ThemeSpaceRegionGeneric", nullptr); + RNA_def_struct_sdna(srna, "ThemeSpace"); + RNA_def_struct_ui_text(srna, "Theme Space Region Settings", ""); + + prop = RNA_def_property(srna, "button", PROP_FLOAT, PROP_COLOR_GAMMA); + RNA_def_property_array(prop, 4); + RNA_def_property_ui_text(prop, "Region Background", ""); + RNA_def_property_update(prop, 0, "rna_userdef_theme_update"); + + prop = RNA_def_property(srna, "button_title", PROP_FLOAT, PROP_COLOR_GAMMA); + RNA_def_property_array(prop, 3); + RNA_def_property_ui_text(prop, "Region Text Titles", ""); + RNA_def_property_update(prop, 0, "rna_userdef_theme_update"); + + prop = RNA_def_property(srna, "button_text", PROP_FLOAT, PROP_COLOR_GAMMA); + RNA_def_property_array(prop, 3); + RNA_def_property_ui_text(prop, "Region Text", ""); + RNA_def_property_update(prop, 0, "rna_userdef_theme_update"); + + prop = RNA_def_property(srna, "button_text_hi", PROP_FLOAT, PROP_COLOR_GAMMA); + RNA_def_property_array(prop, 3); + RNA_def_property_ui_text(prop, "Region Text Highlight", ""); + RNA_def_property_update(prop, 0, "rna_userdef_theme_update"); + + /* tabs */ + prop = RNA_def_property(srna, "tab_back", PROP_FLOAT, PROP_COLOR_GAMMA); + RNA_def_property_array(prop, 4); + RNA_def_property_ui_text(prop, "Navigation/Tabs Background", ""); + RNA_def_property_update(prop, 0, "rna_userdef_theme_update"); +} + /* list / channels */ static void rna_def_userdef_theme_space_list_generic(BlenderRNA *brna) { @@ -2279,6 +2293,18 @@ static void rna_def_userdef_theme_spaces_gradient(StructRNA *srna) RNA_def_property_ui_text(prop, "Theme Space", "Settings for space"); } +static void rna_def_userdef_theme_spaces_region_main(StructRNA *srna) +{ + PropertyRNA *prop; + + prop = RNA_def_property(srna, "space_region", PROP_POINTER, PROP_NONE); + RNA_def_property_flag(prop, PROP_NEVER_NULL); + RNA_def_property_struct_type(prop, "ThemeSpaceRegionGeneric"); + RNA_def_property_pointer_funcs( + prop, "rna_Theme_space_region_generic_get", nullptr, nullptr, nullptr); + RNA_def_property_ui_text(prop, "Toolbar/Sidebar", "Settings for space region"); +} + static void rna_def_userdef_theme_spaces_list_main(StructRNA *srna) { PropertyRNA *prop; @@ -2617,6 +2643,7 @@ static void rna_def_userdef_theme_space_view3d(BlenderRNA *brna) RNA_def_struct_sdna(srna, "ThemeSpace"); RNA_def_struct_ui_text(srna, "Theme 3D Viewport", "Theme settings for the 3D viewport"); + rna_def_userdef_theme_spaces_region_main(srna); rna_def_userdef_theme_spaces_gradient(srna); /* General Viewport options */ @@ -2863,6 +2890,7 @@ static void rna_def_userdef_theme_space_graph(BlenderRNA *brna) rna_def_userdef_theme_spaces_main(srna); rna_def_userdef_theme_spaces_list_main(srna); + rna_def_userdef_theme_spaces_region_main(srna); prop = RNA_def_property(srna, "grid", PROP_FLOAT, PROP_COLOR_GAMMA); RNA_def_property_array(prop, 3); @@ -2948,6 +2976,7 @@ static void rna_def_userdef_theme_space_file(BlenderRNA *brna) RNA_def_struct_ui_text(srna, "Theme File Browser", "Theme settings for the File Browser"); rna_def_userdef_theme_spaces_main(srna); + rna_def_userdef_theme_spaces_region_main(srna); prop = RNA_def_property(srna, "selected_file", PROP_FLOAT, PROP_COLOR_GAMMA); RNA_def_property_float_sdna(prop, nullptr, "hilite"); @@ -3021,6 +3050,7 @@ static void rna_def_userdef_theme_space_userpref(BlenderRNA *brna) RNA_def_struct_ui_text(srna, "Theme Preferences", "Theme settings for the Blender Preferences"); rna_def_userdef_theme_spaces_main(srna); + rna_def_userdef_theme_spaces_region_main(srna); } static void rna_def_userdef_theme_space_console(BlenderRNA *brna) @@ -3154,6 +3184,7 @@ static void rna_def_userdef_theme_space_text(BlenderRNA *brna) RNA_def_struct_ui_text(srna, "Theme Text Editor", "Theme settings for the Text Editor"); rna_def_userdef_theme_spaces_main(srna); + rna_def_userdef_theme_spaces_region_main(srna); prop = RNA_def_property(srna, "line_numbers", PROP_FLOAT, PROP_COLOR_GAMMA); RNA_def_property_float_sdna(prop, nullptr, "line_numbers"); @@ -3249,6 +3280,7 @@ static void rna_def_userdef_theme_space_node(BlenderRNA *brna) RNA_def_struct_ui_text(srna, "Theme Node Editor", "Theme settings for the Node Editor"); rna_def_userdef_theme_spaces_main(srna); + rna_def_userdef_theme_spaces_region_main(srna); prop = RNA_def_property(srna, "grid", PROP_FLOAT, PROP_COLOR_GAMMA); RNA_def_property_array(prop, 3); @@ -3488,6 +3520,7 @@ static void rna_def_userdef_theme_space_image(BlenderRNA *brna) RNA_def_struct_ui_text(srna, "Theme Image Editor", "Theme settings for the Image Editor"); rna_def_userdef_theme_spaces_main(srna); + rna_def_userdef_theme_spaces_region_main(srna); prop = RNA_def_property(srna, "grid", PROP_FLOAT, PROP_COLOR_GAMMA); RNA_def_property_array(prop, 4); @@ -3601,6 +3634,7 @@ static void rna_def_userdef_theme_space_seq(BlenderRNA *brna) rna_def_userdef_theme_spaces_main(srna); rna_def_userdef_theme_spaces_list_main(srna); + rna_def_userdef_theme_spaces_region_main(srna); prop = RNA_def_property(srna, "grid", PROP_FLOAT, PROP_COLOR_GAMMA); RNA_def_property_array(prop, 3); @@ -3832,6 +3866,7 @@ static void rna_def_userdef_theme_space_action(BlenderRNA *brna) rna_def_userdef_theme_spaces_main(srna); rna_def_userdef_theme_spaces_list_main(srna); + rna_def_userdef_theme_spaces_region_main(srna); prop = RNA_def_property(srna, "grid", PROP_FLOAT, PROP_COLOR_GAMMA); RNA_def_property_array(prop, 3); @@ -4054,6 +4089,7 @@ static void rna_def_userdef_theme_space_nla(BlenderRNA *brna) rna_def_userdef_theme_spaces_main(srna); rna_def_userdef_theme_spaces_list_main(srna); + rna_def_userdef_theme_spaces_region_main(srna); prop = RNA_def_property(srna, "grid", PROP_FLOAT, PROP_COLOR_GAMMA); RNA_def_property_array(prop, 3); @@ -4286,6 +4322,7 @@ static void rna_def_userdef_theme_space_clip(BlenderRNA *brna) rna_def_userdef_theme_spaces_main(srna); rna_def_userdef_theme_spaces_list_main(srna); + rna_def_userdef_theme_spaces_region_main(srna); prop = RNA_def_property(srna, "grid", PROP_FLOAT, PROP_COLOR_GAMMA); RNA_def_property_array(prop, 4); @@ -4449,6 +4486,7 @@ static void rna_def_userdef_theme_space_spreadsheet(BlenderRNA *brna) RNA_def_property_update(prop, 0, "rna_userdef_theme_update"); rna_def_userdef_theme_spaces_main(srna); + rna_def_userdef_theme_spaces_region_main(srna); } static void rna_def_userdef_themes(BlenderRNA *brna) @@ -4845,6 +4883,7 @@ static void rna_def_userdef_dothemes(BlenderRNA *brna) rna_def_userdef_theme_space_generic(brna); rna_def_userdef_theme_space_gradient(brna); rna_def_userdef_theme_space_list_generic(brna); + rna_def_userdef_theme_space_region_generic(brna); rna_def_userdef_theme_space_view3d(brna); rna_def_userdef_theme_space_graph(brna);