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).");
 }
 
 

_______________________________________________
Bf-blender-cvs mailing list
[email protected]
http://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to