[Bf-blender-cvs] [5529e51] pie-menus: Extrude operator sticky key pie:

Antony Riakiotakis noreply at git.blender.org
Tue Jul 8 21:58:10 CEST 2014


Commit: 5529e51a210936bcbf5e9c6388b6276ef736933a
Author: Antony Riakiotakis
Date:   Tue Jul 8 22:57:50 2014 +0300
https://developer.blender.org/rB5529e51a210936bcbf5e9c6388b6276ef736933a

Extrude operator sticky key pie:

* Press once to extrude along normals
* Hold to spawn pie with options
* Removed the Alt-E shortcut.

===================================================================

M	release/scripts/startup/bl_ui/space_view3d.py
M	source/blender/editors/mesh/mesh_ops.c
M	source/blender/editors/object/object_ops.c

===================================================================

diff --git a/release/scripts/startup/bl_ui/space_view3d.py b/release/scripts/startup/bl_ui/space_view3d.py
index 3ba8435..d8cb0a9 100644
--- a/release/scripts/startup/bl_ui/space_view3d.py
+++ b/release/scripts/startup/bl_ui/space_view3d.py
@@ -2154,6 +2154,8 @@ class VIEW3D_MT_edit_mesh_extrude(Menu):
             layout.operator("view3d.edit_mesh_extrude_move_normal", text="Region"),
         'REGION_VERT_NORMAL': lambda layout:
             layout.operator("view3d.edit_mesh_extrude_move_shrink_fatten", text="Region (Vertex Normals)"),
+        'NULL': lambda layout:
+            layout.separator(),
     }
 
     @staticmethod
@@ -2164,10 +2166,16 @@ class VIEW3D_MT_edit_mesh_extrude(Menu):
         menu = []
         if mesh.total_face_sel:
             menu += ['REGION', 'REGION_VERT_NORMAL', 'FACE']
+        else:
+            menu += ['NULL', 'NULL', 'NULL']
         if mesh.total_edge_sel and (select_mode[0] or select_mode[1]):
             menu += ['EDGE']
+        else:
+            menu += ['NULL']
         if mesh.total_vert_sel and select_mode[0]:
             menu += ['VERT']
+        else:
+            menu += ['NULL']
 
         # should never get here
         return menu
@@ -2175,9 +2183,10 @@ class VIEW3D_MT_edit_mesh_extrude(Menu):
     def draw(self, context):
         layout = self.layout
         layout.operator_context = 'INVOKE_REGION_WIN'
+        pie = layout.menu_pie()
 
         for menu_id in self.extrude_options(context):
-            self._extrude_funcs[menu_id](layout)
+            self._extrude_funcs[menu_id](pie)
 
 
 class VIEW3D_MT_edit_mesh_vertices(Menu):
diff --git a/source/blender/editors/mesh/mesh_ops.c b/source/blender/editors/mesh/mesh_ops.c
index cf1f338..f550dfd 100644
--- a/source/blender/editors/mesh/mesh_ops.c
+++ b/source/blender/editors/mesh/mesh_ops.c
@@ -209,7 +209,7 @@ void ED_operatormacros_mesh(void)
 {
 	wmOperatorType *ot;
 	wmOperatorTypeMacro *otmacro;
-	
+
 	ot = WM_operatortype_append_macro("MESH_OT_loopcut_slide", "Loop Cut and Slide", "Cut mesh loop and slide it",
 	                                  OPTYPE_UNDO | OPTYPE_REGISTER);
 	WM_operatortype_macro_define(ot, "MESH_OT_loopcut");
@@ -281,6 +281,11 @@ void ED_operatormacros_mesh(void)
 	otmacro = WM_operatortype_macro_define(ot, "TRANSFORM_OT_translate");
 	RNA_enum_set(otmacro->ptr, "proportional", 0);
 	RNA_boolean_set(otmacro->ptr, "mirror", false);
+
+	WM_operator_pie_macro("VIEW3D_OT_edit_mesh_extrude_sticky", "Extrude Sticky",
+	                      "Extrude the mesh surface",
+	                      OPTYPE_UNDO | OPTYPE_REGISTER, "VIEW3D_OT_edit_mesh_extrude_move_normal",  /* python operator */
+	                      "VIEW3D_MT_edit_mesh_extrude");
 }
 
 /* note mesh keymap also for other space? */
@@ -358,8 +363,7 @@ void ED_keymap_mesh(wmKeyConfig *keyconf)
 	kmi = WM_keymap_add_item(keymap, "MESH_OT_normals_make_consistent", NKEY, KM_PRESS, KM_SHIFT | KM_CTRL, 0);
 	RNA_boolean_set(kmi->ptr, "inside", true);
 	
-	WM_keymap_add_item(keymap, "VIEW3D_OT_edit_mesh_extrude_move_normal", EKEY, KM_PRESS, 0, 0); /* python operator */
-	WM_keymap_add_menu(keymap, "VIEW3D_MT_edit_mesh_extrude", EKEY, KM_PRESS, KM_ALT, 0);
+	WM_keymap_add_item(keymap, "VIEW3D_OT_edit_mesh_extrude_sticky", EKEY, KM_PRESS, 0, 0);
 	
 	WM_keymap_add_item(keymap, "TRANSFORM_OT_edge_crease", EKEY, KM_PRESS, KM_SHIFT, 0);
 	
diff --git a/source/blender/editors/object/object_ops.c b/source/blender/editors/object/object_ops.c
index 455baf1..b205980 100644
--- a/source/blender/editors/object/object_ops.c
+++ b/source/blender/editors/object/object_ops.c
@@ -496,12 +496,6 @@ void ED_keymap_proportional_editmode(struct wmKeyConfig *UNUSED(keyconf), struct
 
 	kmi = WM_keymap_add_item(keymap, "WM_OT_proportional_mode_sticky", OKEY, KM_PRESS, 0, 0);
 
-	/*
-	RNA_string_set(kmi->ptr, "data_path", "tool_settings.proportional_edit");
-	RNA_string_set(kmi->ptr, "value_1", "DISABLED");
-	RNA_string_set(kmi->ptr, "value_2", "ENABLED");
-	*/
-
 	/* for modes/object types that allow 'connected' mode, add the Alt O key */
 	if (do_connected) {
 		kmi = WM_keymap_add_item(keymap, "WM_OT_context_toggle_enum", OKEY, KM_PRESS, KM_ALT, 0);




More information about the Bf-blender-cvs mailing list