[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [25535] trunk/blender: key shortcits for sculpt back

Campbell Barton ideasman42 at gmail.com
Wed Dec 23 13:13:48 CET 2009


Revision: 25535
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=25535
Author:   campbellbarton
Date:     2009-12-23 13:13:48 +0100 (Wed, 23 Dec 2009)

Log Message:
-----------
key shortcits for sculpt back
- T was 'Flatten Brush', now Shift+T
- added an option to OBJECT_OT_subdivision_set to set the level relatively (so page up/down works), however RNA lets it set one level higher then the maximum, this seems displays OK in the 3D view so not sure whats going on here (as if there is always an extra hidden multires level).

Modified Paths:
--------------
    trunk/blender/release/scripts/op/object.py
    trunk/blender/source/blender/editors/object/object_ops.c
    trunk/blender/source/blender/editors/sculpt_paint/paint_ops.c
    trunk/blender/source/blender/editors/transform/transform_ops.c

Modified: trunk/blender/release/scripts/op/object.py
===================================================================
--- trunk/blender/release/scripts/op/object.py	2009-12-23 11:49:07 UTC (rev 25534)
+++ trunk/blender/release/scripts/op/object.py	2009-12-23 12:13:48 UTC (rev 25535)
@@ -84,27 +84,45 @@
     bl_undo = True
 
     level = IntProperty(name="Level",
-            default=1, min=0, max=100, soft_min=0, soft_max=6)
+            default=1, min=-100, max=100, soft_min=-6, soft_max=6)
 
+    relative = BoolProperty(name="Relative", description="Apply the subsurf level as an offset relative to the current level", default=False)
+
     def poll(self, context):
         obs = context.selected_editable_objects
         return (obs is not None)
 
     def execute(self, context):
         level = self.properties.level
+        relative = self.properties.relative
 
+        if relative and level == 0:
+            return ('CANCELLED',) # nothing to do
+
         def set_object_subd(obj):
             for mod in obj.modifiers:
                 if mod.type == 'MULTIRES':
-                    if level < mod.total_levels:
-                        if obj.mode == 'SCULPT' and mod.sculpt_levels != level:
-                            mod.sculpt_levels = level
-                        elif obj.mode == 'OBJECT' and mod.levels != level:
-                            mod.levels = level
+                    if level <= mod.total_levels:
+                        if obj.mode == 'SCULPT':
+                            if relative:
+                                mod.sculpt_levels += level
+                            else:
+                                if mod.sculpt_levels != level:
+                                    mod.sculpt_levels = level
+                        elif obj.mode == 'OBJECT':
+                            if relative:
+                                mod.levels += level
+                            else:
+                                if mod.levels != level:
+                                    mod.levels = level
                     return
                 elif mod.type == 'SUBSURF':
-                    if mod.levels != level:
-                        mod.levels = level
+                    if relative:
+                        mod.levels += level
+                    else:
+                        if mod.levels != level:
+                            mod.levels = level
+
                     return
 
             # adda new modifier

Modified: trunk/blender/source/blender/editors/object/object_ops.c
===================================================================
--- trunk/blender/source/blender/editors/object/object_ops.c	2009-12-23 11:49:07 UTC (rev 25534)
+++ trunk/blender/source/blender/editors/object/object_ops.c	2009-12-23 12:13:48 UTC (rev 25535)
@@ -317,7 +317,7 @@
 	WM_keymap_verify_item(keymap, "GROUP_OT_objects_add_active", GKEY, KM_PRESS, KM_SHIFT|KM_CTRL, 0);
 	WM_keymap_verify_item(keymap, "GROUP_OT_objects_remove_active", GKEY, KM_PRESS, KM_SHIFT|KM_ALT, 0);
 
-	for(i=1; i<=5; i++) {
+	for(i=0; i<=5; i++) {
 		kmi = WM_keymap_add_item(keymap, "OBJECT_OT_subdivision_set", ZEROKEY+i, KM_PRESS, KM_CTRL, 0);
 		RNA_int_set(kmi->ptr, "level", i);
 	}
@@ -342,15 +342,15 @@
 	if(do_pet) {
 		/* context ops */
 		km = WM_keymap_add_item(keymap, "WM_OT_context_cycle_enum", OKEY, KM_PRESS, KM_SHIFT, 0);
-		RNA_string_set(km->ptr, "path", "scene.tool_settings.proportional_editing_falloff");
+		RNA_string_set(km->ptr, "path", "tool_settings.proportional_editing_falloff");
 
 		km = WM_keymap_add_item(keymap, "WM_OT_context_toggle_enum", OKEY, KM_PRESS, 0, 0);
-		RNA_string_set(km->ptr, "path", "scene.tool_settings.proportional_editing");
+		RNA_string_set(km->ptr, "path", "tool_settings.proportional_editing");
 		RNA_string_set(km->ptr, "value_1", "DISABLED");
 		RNA_string_set(km->ptr, "value_2", "ENABLED");
 
 		km = WM_keymap_add_item(keymap, "WM_OT_context_toggle_enum", OKEY, KM_PRESS, KM_ALT, 0);
-		RNA_string_set(km->ptr, "path", "scene.tool_settings.proportional_editing");
+		RNA_string_set(km->ptr, "path", "tool_settings.proportional_editing");
 		RNA_string_set(km->ptr, "value_1", "DISABLED");
 		RNA_string_set(km->ptr, "value_2", "CONNECTED");
 	}

Modified: trunk/blender/source/blender/editors/sculpt_paint/paint_ops.c
===================================================================
--- trunk/blender/source/blender/editors/sculpt_paint/paint_ops.c	2009-12-23 11:49:07 UTC (rev 25534)
+++ trunk/blender/source/blender/editors/sculpt_paint/paint_ops.c	2009-12-23 12:13:48 UTC (rev 25535)
@@ -179,6 +179,7 @@
 void ED_keymap_paint(wmKeyConfig *keyconf)
 {
 	wmKeyMap *keymap;
+	wmKeyMapItem *kmi;
 	int i;
 	
 	/* Sculpt mode */
@@ -194,9 +195,51 @@
 
 	ed_keymap_paint_brush_switch(keymap, "tool_settings.sculpt.active_brush_index");
 
-	for(i=1; i<=5; i++)
+	for(i=0; i<=5; i++)
 		RNA_int_set(WM_keymap_add_item(keymap, "OBJECT_OT_subdivision_set", ZEROKEY+i, KM_PRESS, KM_CTRL, 0)->ptr, "level", i);
 
+	/* multires switch */
+	kmi= WM_keymap_add_item(keymap, "OBJECT_OT_subdivision_set", PAGEUPKEY, KM_PRESS, 0, 0);
+	RNA_int_set(kmi->ptr, "level", 1);
+	RNA_boolean_set(kmi->ptr, "relative", 1);
+
+	kmi= WM_keymap_add_item(keymap, "OBJECT_OT_subdivision_set", PAGEDOWNKEY, KM_PRESS, 0, 0);
+	RNA_int_set(kmi->ptr, "level", -1);
+	RNA_boolean_set(kmi->ptr, "relative", 1);
+
+	/* toggles */
+	kmi = WM_keymap_add_item(keymap, "WM_OT_context_toggle", AKEY, KM_PRESS, 0, 0);
+	RNA_string_set(kmi->ptr, "path", "tool_settings.sculpt.brush.use_anchor");
+
+	kmi = WM_keymap_add_item(keymap, "WM_OT_context_toggle", SKEY, KM_PRESS, KM_SHIFT, 0);
+	RNA_string_set(kmi->ptr, "path", "tool_settings.sculpt.brush.use_smooth_stroke");
+
+	/* brush switching */
+	kmi = WM_keymap_add_item(keymap, "WM_OT_context_set_enum", DKEY, KM_PRESS, 0, 0);
+	RNA_string_set(kmi->ptr, "path", "tool_settings.sculpt.brush.sculpt_tool");
+	RNA_string_set(kmi->ptr, "value", "DRAW");
+
+	kmi = WM_keymap_add_item(keymap, "WM_OT_context_set_enum", SKEY, KM_PRESS, 0, 0);
+	RNA_string_set(kmi->ptr, "path", "tool_settings.sculpt.brush.sculpt_tool");
+	RNA_string_set(kmi->ptr, "value", "SMOOTH");
+
+	kmi = WM_keymap_add_item(keymap, "WM_OT_context_set_enum", PKEY, KM_PRESS, 0, 0);
+	RNA_string_set(kmi->ptr, "path", "tool_settings.sculpt.brush.sculpt_tool");
+	RNA_string_set(kmi->ptr, "value", "PINCH");
+
+	kmi = WM_keymap_add_item(keymap, "WM_OT_context_set_enum", GKEY, KM_PRESS, 0, 0);
+	RNA_string_set(kmi->ptr, "path", "tool_settings.sculpt.brush.sculpt_tool");
+	RNA_string_set(kmi->ptr, "value", "GRAB");
+
+	kmi = WM_keymap_add_item(keymap, "WM_OT_context_set_enum", LKEY, KM_PRESS, 0, 0);
+	RNA_string_set(kmi->ptr, "path", "tool_settings.sculpt.brush.sculpt_tool");
+	RNA_string_set(kmi->ptr, "value", "LAYER");
+
+	kmi = WM_keymap_add_item(keymap, "WM_OT_context_set_enum", TKEY, KM_PRESS, KM_SHIFT, 0); /* was just T in 2.4x */
+	RNA_string_set(kmi->ptr, "path", "tool_settings.sculpt.brush.sculpt_tool");
+	RNA_string_set(kmi->ptr, "value", "FLATTEN");
+
+
 	/* Vertex Paint mode */
 	keymap= WM_keymap_find(keyconf, "Vertex Paint", 0, 0);
 	keymap->poll= vertex_paint_poll;

Modified: trunk/blender/source/blender/editors/transform/transform_ops.c
===================================================================
--- trunk/blender/source/blender/editors/transform/transform_ops.c	2009-12-23 11:49:07 UTC (rev 25534)
+++ trunk/blender/source/blender/editors/transform/transform_ops.c	2009-12-23 12:13:48 UTC (rev 25535)
@@ -825,7 +825,7 @@
 			km = WM_keymap_add_item(keymap, OP_MIRROR, MKEY, KM_PRESS, KM_CTRL, 0);
 
 			km = WM_keymap_add_item(keymap, "WM_OT_context_toggle", TABKEY, KM_PRESS, KM_SHIFT, 0);
-			RNA_string_set(km->ptr, "path", "scene.tool_settings.snap");
+			RNA_string_set(km->ptr, "path", "tool_settings.snap");
 
 			km = WM_keymap_add_item(keymap, "TRANSFORM_OT_snap_type", TABKEY, KM_PRESS, KM_SHIFT|KM_CLICK, 0);
 
@@ -902,7 +902,7 @@
 			km = WM_keymap_add_item(keymap, "TRANSFORM_OT_mirror", MKEY, KM_PRESS, KM_CTRL, 0);
 
 			km = WM_keymap_add_item(keymap, "WM_OT_context_toggle", TABKEY, KM_PRESS, KM_SHIFT, 0);
-			RNA_string_set(km->ptr, "path", "scene.tool_settings.snap");
+			RNA_string_set(km->ptr, "path", "tool_settings.snap");
 			break;
 		default:
 			break;





More information about the Bf-blender-cvs mailing list