[Bf-blender-cvs] [e83d4d96376] master: UI: reorganize proportional editing options
Campbell Barton
noreply at git.blender.org
Tue Apr 30 06:53:34 CEST 2019
Commit: e83d4d963766487919edb8858de0020ef2c3cfe8
Author: Campbell Barton
Date: Tue Apr 30 13:42:18 2019 +1000
Branches: master
https://developer.blender.org/rBe83d4d963766487919edb8858de0020ef2c3cfe8
UI: reorganize proportional editing options
- Move connected & projected into individual toggles.
- Top-level proportional editing button now only toggles.
- Use popover for proportional edit-mode falloff and options.
Note that it's no longer possible to toggle connected via key bindings,
although this could be supported again if it's needed.
Resolves T58081
===================================================================
M release/scripts/presets/keyconfig/keymap_data/blender_default.py
M release/scripts/startup/bl_ui/properties_grease_pencil_common.py
M release/scripts/startup/bl_ui/space_image.py
M release/scripts/startup/bl_ui/space_sequencer.py
M release/scripts/startup/bl_ui/space_view3d.py
M source/blender/editors/armature/armature_ops.c
M source/blender/editors/curve/curve_ops.c
M source/blender/editors/gpencil/gpencil_ops.c
M source/blender/editors/mask/mask_edit.c
M source/blender/editors/mesh/mesh_ops.c
M source/blender/editors/metaball/mball_ops.c
M source/blender/editors/object/object_ops.c
M source/blender/editors/space_action/action_ops.c
M source/blender/editors/space_graph/graph_ops.c
M source/blender/editors/transform/transform.c
M source/blender/editors/transform/transform_generics.c
M source/blender/editors/transform/transform_ops.c
M source/blender/makesdna/DNA_scene_types.h
M source/blender/makesrna/RNA_enum_types.h
M source/blender/makesrna/intern/rna_scene.c
===================================================================
diff --git a/release/scripts/presets/keyconfig/keymap_data/blender_default.py b/release/scripts/presets/keyconfig/keymap_data/blender_default.py
index a0798ab60ab..97dd0743b6a 100644
--- a/release/scripts/presets/keyconfig/keymap_data/blender_default.py
+++ b/release/scripts/presets/keyconfig/keymap_data/blender_default.py
@@ -261,11 +261,11 @@ def _template_items_uv_select_mode(params):
def _template_items_proportional_editing(*, connected=False):
return [
op_menu_pie("VIEW3D_MT_proportional_editing_falloff_pie", {"type": 'O', "value": 'PRESS', "shift": True}),
- ("wm.context_toggle_enum", {"type": 'O', "value": 'PRESS'},
- {"properties": [("data_path", 'tool_settings.proportional_edit'), ("value_1", 'DISABLED'), ("value_2", 'ENABLED')]}),
+ ("wm.context_toggle", {"type": 'O', "value": 'PRESS'},
+ {"properties": [("data_path", 'tool_settings.use_proportional_edit')]}),
*(() if not connected else (
- ("wm.context_toggle_enum", {"type": 'O', "value": 'PRESS', "alt": True},
- {"properties": [("data_path", 'tool_settings.proportional_edit'), ("value_1", 'DISABLED'), ("value_2", 'CONNECTED')]}),
+ ("wm.context_toggle", {"type": 'O', "value": 'PRESS', "alt": True},
+ {"properties": [("data_path", 'tool_settings.use_proportional_connected')]}),
))
]
diff --git a/release/scripts/startup/bl_ui/properties_grease_pencil_common.py b/release/scripts/startup/bl_ui/properties_grease_pencil_common.py
index 14c616d14d5..734828bceaa 100644
--- a/release/scripts/startup/bl_ui/properties_grease_pencil_common.py
+++ b/release/scripts/startup/bl_ui/properties_grease_pencil_common.py
@@ -386,7 +386,7 @@ class GPENCIL_MT_pie_tool_palette(Menu):
row.operator("transform.resize", text="Scale", icon='MAN_SCALE')
row = col.row(align=True)
row.label(text="Proportional Edit:")
- row.prop(context.tool_settings, "proportional_edit", text="", icon_only=True)
+ row.prop(context.tool_settings, "use_proportional_edit", text="", icon_only=True)
row.prop(context.tool_settings, "proportional_edit_falloff", text="", icon_only=True)
# NW - Select (Non-Modal)
@@ -808,7 +808,7 @@ class GreasePencilToolsPanel:
layout.label(text="Proportional Edit:")
row = layout.row()
- row.prop(context.tool_settings, "proportional_edit", text="")
+ row.prop(context.tool_settings, "use_proportional_edit", text="")
row.prop(context.tool_settings, "proportional_edit_falloff", text="")
layout.separator()
diff --git a/release/scripts/startup/bl_ui/space_image.py b/release/scripts/startup/bl_ui/space_image.py
index 1db1eea9a47..8bffeedc25d 100644
--- a/release/scripts/startup/bl_ui/space_image.py
+++ b/release/scripts/startup/bl_ui/space_image.py
@@ -265,20 +265,6 @@ class IMAGE_MT_uvs_showhide(Menu):
layout.operator("uv.hide", text="Hide Unselected").unselected = True
-class IMAGE_MT_uvs_proportional(Menu):
- bl_label = "Proportional Editing"
-
- def draw(self, context):
- layout = self.layout
-
- layout.props_enum(context.tool_settings, "proportional_edit")
-
- layout.separator()
-
- layout.label(text="Falloff:")
- layout.props_enum(context.tool_settings, "proportional_edit_falloff")
-
-
class IMAGE_MT_uvs_transform(Menu):
bl_label = "Transform"
@@ -538,10 +524,9 @@ class IMAGE_HT_tool_header(Header):
# Proportional Editing
row = layout.row(align=True)
- row.prop(tool_settings, "proportional_edit", icon_only=True)
- # if tool_settings.proportional_edit != 'DISABLED':
+ row.prop(tool_settings, "use_proportional_edit", icon_only=True)
sub = row.row(align=True)
- sub.active = tool_settings.proportional_edit != 'DISABLED'
+ sub.active = tool_settings.use_proportional_edit
sub.prop(tool_settings, "proportional_edit_falloff", icon_only=True)
layout.separator_spacer()
@@ -1588,7 +1573,6 @@ classes = (
IMAGE_MT_image_invert,
IMAGE_MT_uvs,
IMAGE_MT_uvs_showhide,
- IMAGE_MT_uvs_proportional,
IMAGE_MT_uvs_transform,
IMAGE_MT_uvs_snap,
IMAGE_MT_uvs_mirror,
diff --git a/release/scripts/startup/bl_ui/space_sequencer.py b/release/scripts/startup/bl_ui/space_sequencer.py
index bc21daa2043..b6494e33f93 100644
--- a/release/scripts/startup/bl_ui/space_sequencer.py
+++ b/release/scripts/startup/bl_ui/space_sequencer.py
@@ -125,8 +125,8 @@ class SEQUENCER_HT_header(Header):
# Proportional editing
if gpd and gpd.use_stroke_edit_mode:
row = layout.row(align=True)
- row.prop(tool_settings, "proportional_edit", icon_only=True)
- if tool_settings.proportional_edit != 'DISABLED':
+ row.prop(tool_settings, "use_proportional_edit", icon_only=True)
+ if tool_settings.use_proportional_edit:
row.prop(tool_settings, "proportional_edit_falloff", icon_only=True)
diff --git a/release/scripts/startup/bl_ui/space_view3d.py b/release/scripts/startup/bl_ui/space_view3d.py
index fd45012eef8..b6e24671515 100644
--- a/release/scripts/startup/bl_ui/space_view3d.py
+++ b/release/scripts/startup/bl_ui/space_view3d.py
@@ -466,29 +466,29 @@ class VIEW3D_HT_header(Header):
)
# Proportional editing
- gpd = context.gpencil_data
- if object_mode in {'EDIT', 'PARTICLE_EDIT'}:
- row = layout.row(align=True)
- row.prop(tool_settings, "proportional_edit", icon_only=True)
- sub = row.row(align=True)
- sub.active = tool_settings.proportional_edit != 'DISABLED'
- sub.prop(tool_settings, "proportional_edit_falloff", icon_only=True)
-
- elif object_mode == 'OBJECT':
+ if object_mode in {'EDIT', 'PARTICLE_EDIT', 'SCULPT_GPENCIL', 'EDIT_GPENCIL', 'OBJECT'}:
row = layout.row(align=True)
- row.prop(tool_settings, "use_proportional_edit_objects", icon_only=True)
- sub = row.row(align=True)
- sub.active = tool_settings.use_proportional_edit_objects
- sub.prop(tool_settings, "proportional_edit_falloff", icon_only=True)
+ kw = {}
+ if object_mode == 'OBJECT':
+ attr = "use_proportional_edit_objects"
+ else:
+ attr = "use_proportional_edit"
- elif gpd is not None and obj.type == 'GPENCIL':
- if gpd.use_stroke_edit_mode or gpd.is_stroke_sculpt_mode:
- row = layout.row(align=True)
- row.prop(tool_settings, "proportional_edit", icon_only=True)
+ if tool_settings.use_proportional_connected:
+ kw["icon"] = 'PROP_CON'
+ elif tool_settings.use_proportional_projected:
+ kw["icon"] = 'PROP_PROJECTED'
- sub = row.row(align=True)
- sub.active = tool_settings.proportional_edit != 'DISABLED'
- sub.prop(tool_settings, "proportional_edit_falloff", icon_only=True)
+ row.prop(tool_settings, attr, icon_only=True, **kw)
+ sub = row.row(align=True)
+ sub.active = getattr(tool_settings, attr)
+ sub.prop_with_popover(
+ tool_settings,
+ "proportional_edit_falloff",
+ text="",
+ icon_only=True,
+ panel="VIEW3D_PT_proportional_edit",
+ )
# grease pencil
if object_mode == 'PAINT_GPENCIL':
@@ -5761,6 +5761,27 @@ class VIEW3D_PT_snapping(Panel):
row.prop(tool_settings, "use_snap_scale", text="Scale", toggle=True)
+class VIEW3D_PT_proportional_edit(Panel):
+ bl_space_type = 'VIEW_3D'
+ bl_region_type = 'HEADER'
+ bl_label = "Proportional Editing"
+ bl_ui_units_x = 8
+
+ def draw(self, context):
+ layout = self.layout
+ tool_settings = context.tool_settings
+ col = layout.column()
+
+ if context.mode != 'OBJECT':
+ col.prop(tool_settings, "use_proportional_connected")
+ sub = col.column()
+ sub.active = not tool_settings.use_proportional_connected
+ sub.prop(tool_settings, "use_proportional_projected")
+ col.separator()
+
+ col.prop(tool_settings, "proportional_edit_falloff", expand=True)
+
+
class VIEW3D_PT_transform_orientations(Panel):
bl_space_type = 'VIEW_3D'
bl_region_type = 'HEADER'
@@ -6479,6 +6500,7 @@ classes = (
VIEW3D_PT_overlay_sculpt,
VIEW3D_PT_pivot_point,
VIEW3D_PT_snapping,
+ VIEW3D_PT_proportional_edit,
VIEW3D_PT_gpencil_origin,
VIEW3D_PT_gpencil_lock,
VIEW3D_PT_gpencil_guide,
diff --git a/source/blender/editors/armature/armature_ops.c b/source/blender/editors/armature/armature_ops.c
index 3401c6ed157..b53ae813f10 100644
--- a/source/blender/editors/armature/armature_ops.c
+++ b/source/blender/editors/armature/armature_ops.c
@@ -161,7 +161,7 @@ void ED_operatormacros_armature(void)
OPTYPE_UNDO | OPTYPE_REGISTER);
WM_operatortype_macro_define(ot, "ARMATURE_OT_duplicate");
otmacro = WM_operatortype_macro_define(ot, "TRANSFORM_OT_translate");
- RNA_enum_set(otmacro->ptr, "proportional", 0);
+ RNA_boolean_set(otmacro->ptr, "use_proportional_edit", false);
ot = WM_operatortype_append_macro("ARMATURE_OT_extrude_move",
"Extrude",
@@ -170,7 +170,7 @@ void ED_operatormacros_armature(void)
otmacro = WM_operatortype_macro_define(ot, "ARMATURE_OT_extrude");
RNA_boolean_set(otmacro->ptr, "forked", false);
otmacro = WM_operatortype_macro_define(ot, "TRANSFORM_OT_translate");
- RNA_enum_set(otmacro->ptr, "proportional", 0);
+ RNA_boolean_set(otmacro->ptr, "use_proportional_edit", false);
/* XXX would it be nicer to just be able to have standard extrude_move,
* but set the forked property separate?
@@ -182,7 +182,7 @@ void ED_operatormacros_armature(void)
otmacro = WM_operatortype_macro_define(ot, "ARMATURE_OT_extr
@@ Diff output truncated at 10240 characters. @@
More information about the Bf-blender-cvs
mailing list