Revision: 41851
          
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=41851
Author:   campbellbarton
Date:     2011-11-15 04:11:01 +0000 (Tue, 15 Nov 2011)
Log Message:
-----------
add back feature from 2.4x - Shift+Del to delete objects from all scenes.

Modified Paths:
--------------
    trunk/blender/source/blender/editors/object/object_add.c
    trunk/blender/source/blender/editors/object/object_ops.c

Modified: trunk/blender/source/blender/editors/object/object_add.c
===================================================================
--- trunk/blender/source/blender/editors/object/object_add.c    2011-11-15 
03:48:25 UTC (rev 41850)
+++ trunk/blender/source/blender/editors/object/object_add.c    2011-11-15 
04:11:01 UTC (rev 41851)
@@ -885,10 +885,11 @@
        MEM_freeN(base);
 }
 
-static int object_delete_exec(bContext *C, wmOperator *UNUSED(op))
+static int object_delete_exec(bContext *C, wmOperator *op)
 {
        Main *bmain= CTX_data_main(C);
        Scene *scene= CTX_data_scene(C);
+       const short use_global= RNA_boolean_get(op->ptr, "global");
        /* int islamp= 0; */ /* UNUSED */
        
        if(CTX_data_edit_object(C)) 
@@ -903,6 +904,22 @@
 
                /* remove from current scene only */
                ED_base_object_free_and_unlink(bmain, scene, base);
+
+               if (use_global) {
+                       Scene *scene_iter;
+                       Base *base_other;
+
+                       for (scene_iter= bmain->scene.first; scene_iter; 
scene_iter= scene_iter->id.next) {
+                               if (scene_iter != scene && 
!(scene_iter->id.lib)) {
+                                       base_other= 
object_in_scene(base->object, scene_iter);
+                                       if (base_other) {
+                                               
ED_base_object_free_and_unlink(bmain, scene_iter, base_other);
+                                       }
+                               }
+                       }
+               }
+               /* end global */
+
        }
        CTX_DATA_END;
 
@@ -929,6 +946,8 @@
        
        /* flags */
        ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO;
+
+       RNA_def_boolean(ot->srna, "global", 0, "Delete Globally", "Remove 
object from all scenes");
 }
 
 /**************************** Copy Utilities ******************************/

Modified: trunk/blender/source/blender/editors/object/object_ops.c
===================================================================
--- trunk/blender/source/blender/editors/object/object_ops.c    2011-11-15 
03:48:25 UTC (rev 41850)
+++ trunk/blender/source/blender/editors/object/object_ops.c    2011-11-15 
04:11:01 UTC (rev 41851)
@@ -338,7 +338,10 @@
        WM_keymap_add_item(keymap, "OBJECT_OT_move_to_layer", MKEY, KM_PRESS, 
0, 0);
        
        WM_keymap_add_item(keymap, "OBJECT_OT_delete", XKEY, KM_PRESS, 0, 0);
+       RNA_boolean_set(WM_keymap_add_item(keymap, "OBJECT_OT_delete", XKEY, 
KM_PRESS, KM_SHIFT, 0)->ptr, "global", TRUE);
        WM_keymap_add_item(keymap, "OBJECT_OT_delete", DELKEY, KM_PRESS, 0, 0);
+       RNA_boolean_set(WM_keymap_add_item(keymap, "OBJECT_OT_delete", DELKEY, 
KM_PRESS, KM_SHIFT, 0)->ptr, "global", TRUE);
+
        WM_keymap_add_menu(keymap, "INFO_MT_add", AKEY, KM_PRESS, KM_SHIFT, 0);
 
        WM_keymap_add_item(keymap, "OBJECT_OT_duplicates_make_real", AKEY, 
KM_PRESS, KM_SHIFT|KM_CTRL, 0);

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

Reply via email to