[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [39644] trunk/blender/source/blender/ editors/space_view3d: Make Ctrl+RMB in editmode behave like 2.4x, was re-using center option which worked but used center select too.

Campbell Barton ideasman42 at gmail.com
Tue Aug 23 11:05:12 CEST 2011


Revision: 39644
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=39644
Author:   campbellbarton
Date:     2011-08-23 09:05:12 +0000 (Tue, 23 Aug 2011)
Log Message:
-----------
Make Ctrl+RMB in editmode behave like 2.4x, was re-using center option which worked but used center select too.
instead add 'object' option to VIEW3D_OT_select.

Modified Paths:
--------------
    trunk/blender/source/blender/editors/space_view3d/view3d_ops.c
    trunk/blender/source/blender/editors/space_view3d/view3d_select.c

Modified: trunk/blender/source/blender/editors/space_view3d/view3d_ops.c
===================================================================
--- trunk/blender/source/blender/editors/space_view3d/view3d_ops.c	2011-08-23 08:02:48 UTC (rev 39643)
+++ trunk/blender/source/blender/editors/space_view3d/view3d_ops.c	2011-08-23 09:05:12 UTC (rev 39644)
@@ -263,9 +263,13 @@
 
 	/* selection*/
 	WM_keymap_add_item(keymap, "VIEW3D_OT_select", SELECTMOUSE, KM_PRESS, 0, 0);
-	RNA_boolean_set(WM_keymap_add_item(keymap, "VIEW3D_OT_select", SELECTMOUSE, KM_PRESS, KM_SHIFT, 0)->ptr, "extend", TRUE);
-	RNA_boolean_set(WM_keymap_add_item(keymap, "VIEW3D_OT_select", SELECTMOUSE, KM_PRESS, KM_CTRL, 0)->ptr, "center", TRUE);
-	RNA_boolean_set(WM_keymap_add_item(keymap, "VIEW3D_OT_select", SELECTMOUSE, KM_PRESS, KM_ALT, 0)->ptr, "enumerate", TRUE);
+	kmi = WM_keymap_add_item(keymap, "VIEW3D_OT_select", SELECTMOUSE, KM_PRESS, KM_SHIFT, 0);
+	RNA_boolean_set(kmi->ptr, "extend", TRUE);
+	kmi= WM_keymap_add_item(keymap, "VIEW3D_OT_select", SELECTMOUSE, KM_PRESS, KM_CTRL, 0);
+	RNA_boolean_set(kmi->ptr, "center", TRUE);
+	RNA_boolean_set(kmi->ptr, "object", TRUE); /* use Ctrl+Select for 2 purposes */
+	kmi= WM_keymap_add_item(keymap, "VIEW3D_OT_select", SELECTMOUSE, KM_PRESS, KM_ALT, 0);
+	RNA_boolean_set(kmi->ptr, "enumerate", TRUE);
 
 	/* selection key-combinations */
 	kmi = WM_keymap_add_item(keymap, "VIEW3D_OT_select", SELECTMOUSE, KM_PRESS, KM_SHIFT|KM_CTRL, 0);

Modified: trunk/blender/source/blender/editors/space_view3d/view3d_select.c
===================================================================
--- trunk/blender/source/blender/editors/space_view3d/view3d_select.c	2011-08-23 08:02:48 UTC (rev 39643)
+++ trunk/blender/source/blender/editors/space_view3d/view3d_select.c	2011-08-23 09:05:12 UTC (rev 39644)
@@ -1231,8 +1231,8 @@
 	if(BASACT && BASACT->next) startbase= BASACT->next;
 	
 	/* This block uses the control key to make the object selected by its center point rather than its contents */
-	/* XXX later on, in editmode do not activate */
-	if(vc.obedit==NULL && obcenter) {
+	/* in editmode do not activate */
+	if(obcenter) {
 		
 		/* note; shift+alt goes to group-flush-selecting */
 		if(enumerate) {
@@ -1838,11 +1838,22 @@
 	short extend= RNA_boolean_get(op->ptr, "extend");
 	short center= RNA_boolean_get(op->ptr, "center");
 	short enumerate= RNA_boolean_get(op->ptr, "enumerate");
+	short object= RNA_boolean_get(op->ptr, "object");
 	int	retval = 0;
 
 	view3d_operator_needs_opengl(C);
 
-	if(obedit && center==FALSE) {
+	if(object) {
+		obedit= NULL;
+		obact= NULL;
+
+		/* ack, this is incorrect but to do this correctly we would need an
+		 * alternative editmode/objectmode keymap, this copies the functionality
+		 * from 2.4x where Ctrl+Select in editmode does object select only */
+		center= FALSE;
+	}
+
+	if(obedit && object==FALSE) {
 		if(obedit->type==OB_MESH)
 			retval = mouse_mesh(C, event->mval, extend);
 		else if(obedit->type==OB_ARMATURE)
@@ -1891,6 +1902,7 @@
 	RNA_def_boolean(ot->srna, "extend", 0, "Extend", "Extend selection instead of deselecting everything first.");
 	RNA_def_boolean(ot->srna, "center", 0, "Center", "Use the object center when selecting, in editmode used to extend object selection.");
 	RNA_def_boolean(ot->srna, "enumerate", 0, "Enumerate", "List objects under the mouse (object mode only).");
+	RNA_def_boolean(ot->srna, "object", 0, "Object", "Use object selection (editmode only).");
 }
 
 




More information about the Bf-blender-cvs mailing list