UI: Theme: Add Asset Shelf global styling

Simplify theming by making Asset Shelf style global, not per editor.

See PR for details and screenshots.

Part of #135192

Pull Request: https://projects.blender.org/blender/blender/pulls/140553
This commit is contained in:
Pablo Vazquez
2025-06-18 14:54:42 +02:00
committed by Pablo Vazquez
parent 19c15e0218
commit 11e729219a
6 changed files with 31 additions and 43 deletions

View File

@@ -309,10 +309,6 @@ const bTheme U_theme_default = {
.button_text_hi = RGBA(0xffffffff),
.navigation_bar = RGBA(0x1d1d1dff),
.execution_buts = RGBA(0x303030ff),
.asset_shelf = {
.header_back = RGBA(0x1d1d1dff),
.back = RGBA(0x303030ff),
},
.grid = RGBA(0x54545480),
.wire = RGBA(0x000000ff),
.wire_edit = RGBA(0x000000ff),
@@ -676,10 +672,6 @@ const bTheme U_theme_default = {
.button_text_hi = RGBA(0xffffffff),
.navigation_bar = RGBA(0x1d1d1dff),
.execution_buts = RGBA(0x303030ff),
.asset_shelf = {
.header_back = RGBA(0x1d1d1dff),
.back = RGBA(0x303030ff),
},
.grid = RGBA(0x303030ff),
.wire_edit = RGBA(0xc0c0c0ff),
.vertex_select = RGBA(0xff8500ff),
@@ -994,6 +986,10 @@ const bTheme U_theme_default = {
.edited_object = RGBA(0x00806266),
.row_alternate = RGBA(0xffffff04),
},
.asset_shelf = {
.header_back = RGBA(0x1d1d1dff),
.back = RGBA(0x303030ff),
},
.tarm = {
{
.solid = RGBA(0x9a0000ff),

View File

@@ -485,13 +485,6 @@
</gradients>
</ThemeSpaceGradient>
</space>
<asset_shelf>
<ThemeAssetShelf
header_back="#adadadff"
back="#999999ff"
>
</ThemeAssetShelf>
</asset_shelf>
</ThemeView3D>
</view_3d>
<graph_editor>
@@ -774,13 +767,6 @@
>
</ThemeSpaceGeneric>
</space>
<asset_shelf>
<ThemeAssetShelf
header_back="#1d1d1dff"
back="#303030ff"
>
</ThemeAssetShelf>
</asset_shelf>
</ThemeImageEditor>
</image_editor>
<sequence_editor>
@@ -1244,6 +1230,13 @@
</space_list>
</ThemeSpreadsheet>
</spreadsheet>
<asset_shelf>
<ThemeAssetShelf
header_back="#adadadff"
back="#999999ff"
>
</ThemeAssetShelf>
</asset_shelf>
<bone_color_sets>
<ThemeBoneColorSet
normal="#9a0000"

View File

@@ -114,8 +114,8 @@ static void do_versions_theme(const UserDef *userdef, bTheme *btheme)
}
if (!USER_VERSION_ATLEAST(400, 14)) {
FROM_DEFAULT_V4_UCHAR(space_view3d.asset_shelf.back);
FROM_DEFAULT_V4_UCHAR(space_view3d.asset_shelf.header_back);
FROM_DEFAULT_V4_UCHAR(asset_shelf.back);
FROM_DEFAULT_V4_UCHAR(asset_shelf.header_back);
}
if (!USER_VERSION_ATLEAST(400, 24)) {
@@ -162,8 +162,8 @@ static void do_versions_theme(const UserDef *userdef, bTheme *btheme)
}
if (!USER_VERSION_ATLEAST(402, 21)) {
FROM_DEFAULT_V4_UCHAR(space_image.asset_shelf.back);
FROM_DEFAULT_V4_UCHAR(space_image.asset_shelf.header_back);
FROM_DEFAULT_V4_UCHAR(asset_shelf.back);
FROM_DEFAULT_V4_UCHAR(asset_shelf.header_back);
}
if (!USER_VERSION_ATLEAST(402, 47)) {
@@ -317,6 +317,11 @@ static void do_versions_theme(const UserDef *userdef, bTheme *btheme)
FROM_DEFAULT_V4_UCHAR(space_node.nodeclass_vector);
}
if (!USER_VERSION_ATLEAST(500, 15)) {
FROM_DEFAULT_V4_UCHAR(asset_shelf.header_back);
FROM_DEFAULT_V4_UCHAR(asset_shelf.back);
}
/**
* Always bump subversion in BKE_blender_version.h when adding versioning
* code here, and wrap it inside a USER_VERSION_ATLEAST check.

View File

@@ -182,10 +182,10 @@ const uchar *UI_ThemeGetColorPtr(bTheme *btheme, int spacetype, int colorid)
cp = ts->execution_buts;
}
else if (g_theme_state.regionid == RGN_TYPE_ASSET_SHELF) {
cp = ts->asset_shelf.back;
cp = btheme->asset_shelf.back;
}
else if (g_theme_state.regionid == RGN_TYPE_ASSET_SHELF_HEADER) {
cp = ts->asset_shelf.header_back;
cp = btheme->asset_shelf.header_back;
}
else {
cp = ts->button;

View File

@@ -263,8 +263,6 @@ typedef struct ThemeSpace {
/** Region background. */
unsigned char execution_buts[4];
ThemeAssetShelf asset_shelf;
unsigned char shade1[4];
unsigned char shade2[4];
@@ -521,6 +519,8 @@ typedef struct bTheme {
ThemeSpace space_statusbar;
ThemeSpace space_spreadsheet;
ThemeAssetShelf asset_shelf;
/* 20 sets of bone colors for this theme */
ThemeWireColor tarm[20];
// ThemeWireColor tobj[20];

View File

@@ -2314,14 +2314,6 @@ static void rna_def_userdef_theme_asset_shelf(BlenderRNA *brna)
RNA_def_property_update(prop, 0, "rna_userdef_theme_update");
}
static void rna_def_userdef_theme_spaces_asset_shelf_main(StructRNA *srna)
{
PropertyRNA *prop = RNA_def_property(srna, "asset_shelf", PROP_POINTER, PROP_NONE);
RNA_def_property_flag(prop, PROP_NEVER_NULL);
RNA_def_property_struct_type(prop, "ThemeAssetShelf");
RNA_def_property_ui_text(prop, "Asset Shelf", "Settings for asset shelf");
}
static void rna_def_userdef_theme_spaces_vertex(StructRNA *srna, const bool has_vertex_active)
{
PropertyRNA *prop;
@@ -2861,8 +2853,6 @@ static void rna_def_userdef_theme_space_view3d(BlenderRNA *brna)
RNA_def_property_ui_text(
prop, "Object Origin Size", "Diameter in pixels for object/light origin display");
RNA_def_property_update(prop, 0, "rna_userdef_theme_update");
rna_def_userdef_theme_spaces_asset_shelf_main(srna);
}
static void rna_def_userdef_theme_space_graph(BlenderRNA *brna)
@@ -3600,8 +3590,6 @@ static void rna_def_userdef_theme_space_image(BlenderRNA *brna)
rna_def_userdef_theme_spaces_curves(srna, false, false, false, true);
rna_def_userdef_theme_spaces_paint_curves(srna);
rna_def_userdef_theme_spaces_asset_shelf_main(srna);
}
static void rna_def_userdef_theme_space_seq(BlenderRNA *brna)
@@ -4475,6 +4463,7 @@ static void rna_def_userdef_themes(BlenderRNA *brna)
static const EnumPropertyItem active_theme_area[] = {
{0, "USER_INTERFACE", ICON_WORKSPACE, "User Interface", ""},
{19, "STYLE", ICON_FONTPREVIEW, "Text Style", ""},
{24, "ASSET_SHELF", ICON_ASSET_MANAGER, "Asset Shelf", ""},
{1, "VIEW_3D", ICON_VIEW3D, "3D Viewport", ""},
{4, "DOPESHEET_EDITOR", ICON_ACTION, "Dope Sheet/Timeline", ""},
{16, "FILE_BROWSER", ICON_FILEBROWSER, "File/Asset Browser", ""},
@@ -4638,6 +4627,11 @@ static void rna_def_userdef_themes(BlenderRNA *brna)
RNA_def_property_ui_text(prop, "Spreadsheet", "");
/* end space types */
prop = RNA_def_property(srna, "asset_shelf", PROP_POINTER, PROP_NONE);
RNA_def_property_flag(prop, PROP_NEVER_NULL);
RNA_def_property_struct_type(prop, "ThemeAssetShelf");
RNA_def_property_ui_text(prop, "Asset Shelf", "Settings for asset shelf");
prop = RNA_def_property(srna, "bone_color_sets", PROP_COLLECTION, PROP_NONE);
RNA_def_property_flag(prop, PROP_NEVER_NULL);
RNA_def_property_collection_sdna(prop, nullptr, "tarm", "");
@@ -4855,7 +4849,6 @@ 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_asset_shelf(brna);
rna_def_userdef_theme_space_view3d(brna);
rna_def_userdef_theme_space_graph(brna);
@@ -4875,6 +4868,7 @@ static void rna_def_userdef_dothemes(BlenderRNA *brna)
rna_def_userdef_theme_space_topbar(brna);
rna_def_userdef_theme_space_statusbar(brna);
rna_def_userdef_theme_space_spreadsheet(brna);
rna_def_userdef_theme_asset_shelf(brna);
rna_def_userdef_theme_colorset(brna);
rna_def_userdef_theme_collection_color(brna);
rna_def_userdef_theme_strip_color(brna);