[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