diff --git a/release/datafiles/icons_svg/edge_bevel.svg b/release/datafiles/icons_svg/edge_bevel.svg new file mode 100644 index 00000000000..86c25f0b8f3 --- /dev/null +++ b/release/datafiles/icons_svg/edge_bevel.svg @@ -0,0 +1 @@ + diff --git a/release/datafiles/icons_svg/edge_crease.svg b/release/datafiles/icons_svg/edge_crease.svg new file mode 100644 index 00000000000..d1a06eaf1af --- /dev/null +++ b/release/datafiles/icons_svg/edge_crease.svg @@ -0,0 +1 @@ + diff --git a/release/datafiles/icons_svg/edge_seam.svg b/release/datafiles/icons_svg/edge_seam.svg new file mode 100644 index 00000000000..2b5f2657f55 --- /dev/null +++ b/release/datafiles/icons_svg/edge_seam.svg @@ -0,0 +1 @@ + diff --git a/release/datafiles/icons_svg/edge_sharp.svg b/release/datafiles/icons_svg/edge_sharp.svg new file mode 100644 index 00000000000..309795974ba --- /dev/null +++ b/release/datafiles/icons_svg/edge_sharp.svg @@ -0,0 +1 @@ + diff --git a/release/datafiles/icons_svg/vertex_crease.svg b/release/datafiles/icons_svg/vertex_crease.svg new file mode 100644 index 00000000000..eb90e5d95ae --- /dev/null +++ b/release/datafiles/icons_svg/vertex_crease.svg @@ -0,0 +1 @@ + diff --git a/scripts/startup/bl_ui/space_image.py b/scripts/startup/bl_ui/space_image.py index d12b3230dd3..20734270987 100644 --- a/scripts/startup/bl_ui/space_image.py +++ b/scripts/startup/bl_ui/space_image.py @@ -460,7 +460,7 @@ class IMAGE_MT_uvs(Menu): layout.separator() - layout.operator("uv.mark_seam").clear = False + layout.operator("uv.mark_seam", icon="ICON_EDGE_SEAM").clear = False layout.operator("uv.mark_seam", text="Clear Seam").clear = True layout.operator("uv.seams_from_islands") diff --git a/scripts/startup/bl_ui/space_view3d.py b/scripts/startup/bl_ui/space_view3d.py index b2d2bf433bf..8ffd98e25d1 100644 --- a/scripts/startup/bl_ui/space_view3d.py +++ b/scripts/startup/bl_ui/space_view3d.py @@ -1440,7 +1440,7 @@ class VIEW3D_MT_uv_map(Menu): layout.separator() - layout.operator("mesh.mark_seam").clear = False + layout.operator("mesh.mark_seam", icon="EDGE_SEAM").clear = False layout.operator("mesh.mark_seam", text="Clear Seam").clear = True layout.separator() @@ -4566,7 +4566,7 @@ class VIEW3D_MT_edit_mesh_context_menu(Menu): col.separator() - col.operator("transform.vert_crease") + col.operator("transform.vert_crease", icon="VERTEX_CREASE") col.separator() @@ -4618,17 +4618,17 @@ class VIEW3D_MT_edit_mesh_context_menu(Menu): col.separator() # Edge Flags - col.operator("transform.edge_crease") - col.operator("transform.edge_bevelweight") + col.operator("transform.edge_bevelweight", icon='EDGE_BEVEL') + col.operator("transform.edge_crease", icon='EDGE_CREASE') col.separator() - col.operator("mesh.mark_seam").clear = False + col.operator("mesh.mark_seam", icon="EDGE_SEAM").clear = False col.operator("mesh.mark_seam", text="Clear Seam").clear = True col.separator() - col.operator("mesh.mark_sharp") + col.operator("mesh.mark_sharp", icon="EDGE_SHARP").clear = False col.operator("mesh.mark_sharp", text="Clear Sharp").clear = True col.operator("mesh.set_sharpness_by_angle") @@ -4774,7 +4774,7 @@ class VIEW3D_MT_edit_mesh_vertices(Menu): layout.separator() - layout.operator("transform.vert_crease") + layout.operator("transform.vert_crease", icon="VERTEX_CREASE") layout.separator() @@ -4828,17 +4828,17 @@ class VIEW3D_MT_edit_mesh_edges(Menu): layout.separator() - layout.operator("transform.edge_crease") - layout.operator("transform.edge_bevelweight") + layout.operator("transform.edge_bevelweight", icon="EDGE_BEVEL") + layout.operator("transform.edge_crease", icon="EDGE_CREASE") layout.separator() - layout.operator("mesh.mark_seam").clear = False + layout.operator("mesh.mark_seam", icon="EDGE_SEAM").clear = False layout.operator("mesh.mark_seam", text="Clear Seam").clear = True layout.separator() - layout.operator("mesh.mark_sharp") + layout.operator("mesh.mark_sharp", icon="EDGE_SHARP") layout.operator("mesh.mark_sharp", text="Clear Sharp").clear = True layout.operator("mesh.mark_sharp", text="Mark Sharp from Vertices").use_verts = True @@ -7187,7 +7187,7 @@ class VIEW3D_PT_overlay_edit_mesh(Panel): bl_space_type = 'VIEW_3D' bl_region_type = 'HEADER' bl_label = "Mesh Edit Mode" - bl_ui_units_x = 12 + bl_ui_units_x = 14 @classmethod def poll(cls, context): @@ -7207,6 +7207,19 @@ class VIEW3D_PT_overlay_edit_mesh(Panel): col = layout.column() col.active = display_all + row = col.row(align=True) + row.prop(overlay, "show_edge_bevel_weight", text="Bevel", icon="EDGE_BEVEL", toggle=True) + row.prop(overlay, "show_edge_crease", text="Crease", icon="EDGE_CREASE", toggle=True) + row.prop(overlay, "show_edge_seams", text="Seam", icon="EDGE_SEAM", toggle=True) + row.prop( + overlay, + "show_edge_sharp", + text="Sharp", + icon="EDGE_SHARP", + text_ctxt=i18n_contexts.plural, + toggle=True) + + col.separator() split = col.split() sub = split.column() @@ -7215,13 +7228,6 @@ class VIEW3D_PT_overlay_edit_mesh(Panel): sub.active = is_any_solid_shading sub.prop(overlay, "show_face_center", text="Center") - row = col.row(align=True) - row.prop(overlay, "show_edge_crease", text="Creases", toggle=True) - row.prop(overlay, "show_edge_sharp", text="Sharp", text_ctxt=i18n_contexts.plural, toggle=True) - row.prop(overlay, "show_edge_bevel_weight", text="Bevel", toggle=True) - row.prop(overlay, "show_edge_seams", text="Seams", toggle=True) - - col.separator() col.prop(overlay, "show_extra_indices", text="Indices") diff --git a/source/blender/editors/datafiles/CMakeLists.txt b/source/blender/editors/datafiles/CMakeLists.txt index efb0df19bc9..f4176dda8de 100644 --- a/source/blender/editors/datafiles/CMakeLists.txt +++ b/source/blender/editors/datafiles/CMakeLists.txt @@ -317,6 +317,10 @@ if(WITH_BLENDER) driver_transform duplicate edgesel + edge_bevel + edge_crease + edge_seam + edge_sharp editmode_hlt empty_arrows empty_axis @@ -901,6 +905,7 @@ if(WITH_BLENDER) uv_sync_select uv_vertexsel vertexsel + vertex_crease view3d viewzoom view_camera diff --git a/source/blender/editors/include/UI_icons.hh b/source/blender/editors/include/UI_icons.hh index 8c5477bca6f..69f08bd8aab 100644 --- a/source/blender/editors/include/UI_icons.hh +++ b/source/blender/editors/include/UI_icons.hh @@ -630,6 +630,10 @@ DEF_ICON(SOLO_ON) DEF_ICON(CENTER_ONLY) DEF_ICON(CURSOR) DEF_ICON(EDGESEL) +DEF_ICON_COLOR(EDGE_BEVEL) +DEF_ICON_COLOR(EDGE_CREASE) +DEF_ICON_COLOR(EDGE_SEAM) +DEF_ICON_COLOR(EDGE_SHARP) DEF_ICON(FACE_CORNER) DEF_ICON(FACESEL) DEF_ICON(INVERSESQUARECURVE) @@ -653,6 +657,7 @@ DEF_ICON(SHARPCURVE) DEF_ICON(SMOOTHCURVE) DEF_ICON(SPHERECURVE) DEF_ICON(VERTEXSEL) +DEF_ICON_COLOR(VERTEX_CREASE) /* SNAPPING */ DEF_ICON(SNAP_EDGE) diff --git a/source/blender/editors/interface/interface_icons.cc b/source/blender/editors/interface/interface_icons.cc index 7ec0a86a1d3..bfff04bc0ef 100644 --- a/source/blender/editors/interface/interface_icons.cc +++ b/source/blender/editors/interface/interface_icons.cc @@ -1548,6 +1548,10 @@ static void svg_replace_color_attributes(std::string &svg, {"blender_tool_transform", tool_transform}, {"blender_tool_white", tool_white}, {"blender_tool_red", tool_red}, + {"blender_bevel_weight", nullptr, TH_EDGE_BEVEL}, + {"blender_mesh_crease", nullptr, TH_EDGE_CREASE}, + {"blender_edge_seam", nullptr, TH_EDGE_SEAM}, + {"blender_edge_sharp", nullptr, TH_EDGE_SHARP}, }; for (const ColorItem &item : items) { diff --git a/source/blender/editors/interface/resources.cc b/source/blender/editors/interface/resources.cc index ea953c08528..6b0eaafd48f 100644 --- a/source/blender/editors/interface/resources.cc +++ b/source/blender/editors/interface/resources.cc @@ -405,17 +405,17 @@ const uchar *UI_ThemeGetColorPtr(bTheme *btheme, int spacetype, int colorid) case TH_EDGE_MODE_SELECT: cp = ts->edge_mode_select; break; - case TH_EDGE_SEAM: - cp = ts->edge_seam; - break; - case TH_EDGE_SHARP: - cp = ts->edge_sharp; + case TH_EDGE_BEVEL: + cp = btheme->space_view3d.edge_bevel; break; case TH_EDGE_CREASE: - cp = ts->edge_crease; + cp = btheme->space_view3d.edge_crease; break; - case TH_EDGE_BEVEL: - cp = ts->edge_bevel; + case TH_EDGE_SEAM: + cp = btheme->space_view3d.edge_seam; + break; + case TH_EDGE_SHARP: + cp = btheme->space_view3d.edge_sharp; break; case TH_EDITMESH_ACTIVE: cp = ts->editmesh_active; diff --git a/source/blender/makesrna/intern/rna_userdef.cc b/source/blender/makesrna/intern/rna_userdef.cc index db4704040b9..fcdece4cddc 100644 --- a/source/blender/makesrna/intern/rna_userdef.cc +++ b/source/blender/makesrna/intern/rna_userdef.cc @@ -2424,23 +2424,23 @@ static void rna_def_userdef_theme_spaces_edge(StructRNA *srna) prop = RNA_def_property(srna, "edge_seam", PROP_FLOAT, PROP_COLOR_GAMMA); RNA_def_property_array(prop, 3); RNA_def_property_ui_text(prop, "Edge Seam", ""); - RNA_def_property_update(prop, 0, "rna_userdef_theme_update"); + RNA_def_property_update(prop, 0, "rna_userdef_gpu_update"); prop = RNA_def_property(srna, "edge_sharp", PROP_FLOAT, PROP_COLOR_GAMMA); RNA_def_property_array(prop, 3); RNA_def_property_ui_text(prop, "Edge Sharp", ""); - RNA_def_property_update(prop, 0, "rna_userdef_theme_update"); + RNA_def_property_update(prop, 0, "rna_userdef_gpu_update"); prop = RNA_def_property(srna, "edge_crease", PROP_FLOAT, PROP_COLOR_GAMMA); RNA_def_property_array(prop, 3); RNA_def_property_ui_text(prop, "Edge Crease", ""); RNA_def_property_translation_context(prop, BLT_I18NCONTEXT_ID_WINDOWMANAGER); - RNA_def_property_update(prop, 0, "rna_userdef_theme_update"); + RNA_def_property_update(prop, 0, "rna_userdef_gpu_update"); prop = RNA_def_property(srna, "edge_bevel", PROP_FLOAT, PROP_COLOR_GAMMA); RNA_def_property_array(prop, 3); RNA_def_property_ui_text(prop, "Edge Bevel", ""); - RNA_def_property_update(prop, 0, "rna_userdef_theme_update"); + RNA_def_property_update(prop, 0, "rna_userdef_gpu_update"); prop = RNA_def_property(srna, "edge_facesel", PROP_FLOAT, PROP_COLOR_GAMMA); RNA_def_property_array(prop, 3);