[Bf-blender-cvs] [1422c0650c9] blender2.8: UI: move pivot to the topbar
Campbell Barton
noreply at git.blender.org
Sat May 12 22:04:48 CEST 2018
Commit: 1422c0650c951f21bee2555e4e7f03bb8c64cace
Author: Campbell Barton
Date: Sat May 12 21:56:47 2018 +0200
Branches: blender2.8
https://developer.blender.org/rB1422c0650c951f21bee2555e4e7f03bb8c64cace
UI: move pivot to the topbar
Pivot variables are now stored in scene toolsettings.
===================================================================
M release/scripts/startup/bl_ui/space_topbar.py
M release/scripts/startup/bl_ui/space_userpref.py
M source/blender/blenkernel/intern/scene.c
M source/blender/editors/gpencil/gpencil_edit.c
M source/blender/editors/object/object_transform.c
M source/blender/editors/space_view3d/space_view3d.c
M source/blender/editors/space_view3d/view3d_header.c
M source/blender/editors/space_view3d/view3d_snap.c
M source/blender/editors/transform/transform_conversions.c
M source/blender/editors/transform/transform_generics.c
M source/blender/editors/transform/transform_manipulator_3d.c
M source/blender/editors/uvedit/uvedit_unwrap_ops.c
M source/blender/makesdna/DNA_scene_types.h
M source/blender/makesdna/DNA_userdef_types.h
M source/blender/makesdna/DNA_view3d_types.h
M source/blender/makesrna/RNA_enum_types.h
M source/blender/makesrna/intern/rna_scene.c
M source/blender/makesrna/intern/rna_space.c
M source/blender/makesrna/intern/rna_userdef.c
===================================================================
diff --git a/release/scripts/startup/bl_ui/space_topbar.py b/release/scripts/startup/bl_ui/space_topbar.py
index 995d8bbcc99..6e1cd63d52c 100644
--- a/release/scripts/startup/bl_ui/space_topbar.py
+++ b/release/scripts/startup/bl_ui/space_topbar.py
@@ -199,22 +199,29 @@ class TOPBAR_HT_lower_bar(Header):
scene = context.scene
obj = context.active_object
- if obj:
- # Set above:
- # mode = obj.mode
+ object_mode = 'OBJECT' if obj is None else obj.mode
+
+ # Pivit & Orientation
+ row = layout.row(align=True)
+ row.prop(toolsettings, "transform_pivot_point", text="", icon_only=True)
+ if (obj is None) or (mode in {'OBJECT', 'POSE', 'WEIGHT_PAINT'}):
+ row.prop(toolsettings, "use_transform_pivot_point_align", text="")
+ layout.prop(scene, "transform_orientation", text="")
+
+ if obj:
# Proportional editing
if context.gpencil_data and context.gpencil_data.use_stroke_edit_mode:
row = layout.row(align=True)
row.prop(toolsettings, "proportional_edit", icon_only=True)
if toolsettings.proportional_edit != 'DISABLED':
row.prop(toolsettings, "proportional_edit_falloff", icon_only=True)
- elif mode in {'EDIT', 'PARTICLE_EDIT'}:
+ elif object_mode in {'EDIT', 'PARTICLE_EDIT'}:
row = layout.row(align=True)
row.prop(toolsettings, "proportional_edit", icon_only=True)
if toolsettings.proportional_edit != 'DISABLED':
row.prop(toolsettings, "proportional_edit_falloff", icon_only=True)
- elif mode == 'OBJECT':
+ elif object_mode == 'OBJECT':
row = layout.row(align=True)
row.prop(toolsettings, "use_proportional_edit_objects", icon_only=True)
if toolsettings.use_proportional_edit_objects:
@@ -232,7 +239,7 @@ class TOPBAR_HT_lower_bar(Header):
if obj is None:
show_snap = True
else:
- if mode not in {'SCULPT', 'VERTEX_PAINT', 'WEIGHT_PAINT', 'TEXTURE_PAINT'}:
+ if object_mode not in {'SCULPT', 'VERTEX_PAINT', 'WEIGHT_PAINT', 'TEXTURE_PAINT'}:
show_snap = True
else:
paint_settings = UnifiedPaintPanel.paint_settings(context)
@@ -251,9 +258,9 @@ class TOPBAR_HT_lower_bar(Header):
else:
row.prop(toolsettings, "snap_target", text="")
if obj:
- if mode == 'EDIT':
+ if object_mode == 'EDIT':
row.prop(toolsettings, "use_snap_self", text="")
- if mode in {'OBJECT', 'POSE', 'EDIT'} and snap_element != 'VOLUME':
+ if object_mode in {'OBJECT', 'POSE', 'EDIT'} and snap_element != 'VOLUME':
row.prop(toolsettings, "use_snap_align_rotation", text="")
if snap_element == 'VOLUME':
@@ -263,14 +270,9 @@ class TOPBAR_HT_lower_bar(Header):
# AutoMerge editing
if obj:
- if (mode == 'EDIT' and obj.type == 'MESH'):
+ if (object_mode == 'EDIT' and obj.type == 'MESH'):
layout.prop(toolsettings, "use_mesh_automerge", text="", icon='AUTOMERGE_ON')
-
- layout.prop(scene, "transform_orientation", text="")
-
-
-
# Command Settings (redo)
op = context.active_operator
row = layout.row()
diff --git a/release/scripts/startup/bl_ui/space_userpref.py b/release/scripts/startup/bl_ui/space_userpref.py
index 566bcfc6b3e..1c6bf490f7a 100644
--- a/release/scripts/startup/bl_ui/space_userpref.py
+++ b/release/scripts/startup/bl_ui/space_userpref.py
@@ -257,7 +257,6 @@ class USERPREF_PT_interface(Panel):
col.prop(view, "use_mouse_depth_navigate")
col.prop(view, "use_zoom_to_mouse")
col.prop(view, "use_rotate_around_active")
- col.prop(view, "use_global_pivot")
col.prop(view, "use_camera_lock_parent")
col.separator()
diff --git a/source/blender/blenkernel/intern/scene.c b/source/blender/blenkernel/intern/scene.c
index f20d48c5eef..7875a4e2076 100644
--- a/source/blender/blenkernel/intern/scene.c
+++ b/source/blender/blenkernel/intern/scene.c
@@ -655,6 +655,8 @@ void BKE_scene_init(Scene *sce)
sce->toolsettings->uv_selectmode = UV_SELECT_VERTEX;
sce->toolsettings->autokey_mode = U.autokey_mode;
+
+ sce->toolsettings->transform_pivot_point = V3D_AROUND_CENTER_MEAN;
sce->toolsettings->snap_node_mode = SCE_SNAP_MODE_GRID;
sce->toolsettings->curve_paint_settings.curve_type = CU_BEZIER;
diff --git a/source/blender/editors/gpencil/gpencil_edit.c b/source/blender/editors/gpencil/gpencil_edit.c
index d8cbbb16542..d2f291f69fb 100644
--- a/source/blender/editors/gpencil/gpencil_edit.c
+++ b/source/blender/editors/gpencil/gpencil_edit.c
@@ -1606,7 +1606,7 @@ static int gp_snap_cursor_to_sel(bContext *C, wmOperator *UNUSED(op))
}
}
- if (v3d->around == V3D_AROUND_CENTER_MEAN && count) {
+ if (scene->toolsettings->transform_pivot_point == V3D_AROUND_CENTER_MEAN && count) {
mul_v3_fl(centroid, 1.0f / (float)count);
copy_v3_v3(cursor, centroid);
}
diff --git a/source/blender/editors/object/object_transform.c b/source/blender/editors/object/object_transform.c
index 6acd4b84641..a862ef718d2 100644
--- a/source/blender/editors/object/object_transform.c
+++ b/source/blender/editors/object/object_transform.c
@@ -788,7 +788,7 @@ static int object_origin_set_exec(bContext *C, wmOperator *op)
View3D *v3d = CTX_wm_view3d(C);
copy_v3_v3(cursor, ED_view3d_cursor3d_get(scene, v3d)->location);
if (v3d && !RNA_struct_property_is_set(op->ptr, "center"))
- around = v3d->around;
+ around = scene->toolsettings->transform_pivot_point;
}
zero_v3(cent);
diff --git a/source/blender/editors/space_view3d/space_view3d.c b/source/blender/editors/space_view3d/space_view3d.c
index 4014874a5b9..d6413e8bdfb 100644
--- a/source/blender/editors/space_view3d/space_view3d.c
+++ b/source/blender/editors/space_view3d/space_view3d.c
@@ -336,7 +336,6 @@ static SpaceLink *view3d_new(const ScrArea *UNUSED(sa), const Scene *scene)
v3d->far = 1000.0f;
v3d->twflag |= U.manipulator_flag & V3D_MANIPULATOR_DRAW;
- v3d->around = V3D_AROUND_CENTER_MEAN;
v3d->bundle_size = 0.2f;
v3d->bundle_drawtype = OB_PLAINAXES;
diff --git a/source/blender/editors/space_view3d/view3d_header.c b/source/blender/editors/space_view3d/view3d_header.c
index 7ae65f6db87..e7f6cf36476 100644
--- a/source/blender/editors/space_view3d/view3d_header.c
+++ b/source/blender/editors/space_view3d/view3d_header.c
@@ -328,7 +328,6 @@ void uiTemplateHeader3D(uiLayout *layout, struct bContext *C)
Object *obedit = CTX_data_edit_object(C);
bGPdata *gpd = CTX_data_gpencil_data(C);
uiBlock *block;
- uiLayout *row;
bool is_paint = (
ob && !(gpd && (gpd->flag & GP_DATA_STROKE_EDITMODE)) &&
ELEM(ob->mode,
@@ -344,11 +343,14 @@ void uiTemplateHeader3D(uiLayout *layout, struct bContext *C)
/* other buttons: */
UI_block_emboss_set(block, UI_EMBOSS);
- row = uiLayoutRow(layout, true);
+ /* moved to topbar */
+#if 0
+ uiLayout *row = uiLayoutRow(layout, true);
uiItemR(row, &v3dptr, "pivot_point", UI_ITEM_R_ICON_ONLY, "", ICON_NONE);
if (!ob || ELEM(ob->mode, OB_MODE_OBJECT, OB_MODE_POSE, OB_MODE_WEIGHT_PAINT)) {
uiItemR(row, &v3dptr, "use_pivot_point_align", UI_ITEM_R_ICON_ONLY, "", ICON_NONE);
}
+#endif
if (obedit == NULL && is_paint) {
/* Currently Python calls this directly. */
diff --git a/source/blender/editors/space_view3d/view3d_snap.c b/source/blender/editors/space_view3d/view3d_snap.c
index f177a88240c..95ab30d3352 100644
--- a/source/blender/editors/space_view3d/view3d_snap.c
+++ b/source/blender/editors/space_view3d/view3d_snap.c
@@ -222,7 +222,7 @@ static int snap_selected_to_location(bContext *C, const float snap_target_global
int a;
if (use_offset) {
- if ((v3d && v3d->around == V3D_AROUND_ACTIVE) &&
+ if ((v3d && scene->toolsettings->transform_pivot_point == V3D_AROUND_ACTIVE) &&
snap_calc_active_center(C, true, center_global))
{
/* pass */
@@ -582,7 +582,7 @@ static bool snap_curs_to_sel_ex(bContext *C, float cursor[3])
minmax_v3v3_v3(min, max, vec);
}
- if (v3d->around == V3D_AROUND_CENTER_MEAN) {
+ if (scene->toolsettings->transform_pivot_point == V3D_AROUND_CENTER_MEAN) {
mul_v3_fl(centroid, 1.0f / (float)tvs.transverts_tot);
copy_v3_v3(cursor, centroid);
}
@@ -634,7 +634,7 @@ static bool snap_curs_to_sel_ex(bContext *C, float cursor[3])
return false;
}
- if (v3d->around == V3D_AROUND_CENTER_MEAN) {
+ if (scene->toolsettings->transform_pivot_point == V3D_AROUND_CENTER_MEAN) {
mul_v3_fl(centroid, 1.0f / (float)count);
copy_v3_v3(cursor, centroid);
}
diff --git a/source/blender/editors/transform/transform_conversions.c b/source/blender/editors/transform/transform_conversions.c
index 6572aa0f443..dbbdf07ded2 100644
--- a/source/blender/editors/transform/transform_conversions.c
+++ b/source/blender/editors/transform/transform_conversions.c
@@ -5929,22 +5929,22 @@ void autokeyframe_ob_cb_func(bContext *C, Scene *scene, ViewLayer *view_layer, V
do_loc = true;
}
else if (ELEM(tmode, TFM_ROTATION, TFM_TRACKBALL)) {
- if (v3d->around == V3D_AROUND_ACTIVE) {
+ if (scene->toolsettings->transform_pivot_point == V3D_AROUND_ACTIVE) {
if (ob != OBACT(view_layer))
do_loc = true;
}
- else if (v3d->around == V3D_AROUND_CURSOR)
+ else if (scene->toolsettings->transform_pivot_point == V3D_AROUND_CURSOR)
do_loc = true;
if ((v3d->flag & V3D_ALIGN) == 0)
do_rot = true;
}
else if (tmode == TFM_RESIZE) {
- if (v3d->around == V3D_AROUND_ACTIVE) {
+ if (scene->toolsettings->transform_pivot_point == V3D_AROUND_ACTIVE) {
if (ob != OBACT(view_layer))
do_loc = true;
}
- else if (v3d->around == V3D_AROUND_CURSOR)
+ else if (scene->toolsettings->transform_pivot_point == V3D_AROUND_CURSOR)
do_loc = true;
if ((v3d->flag & V3D_ALIGN) == 0)
@@ -6074,
@@ Diff output truncated at 10240 characters. @@
More information about the Bf-blender-cvs
mailing list