diff options
author | Dalai Felinto <dfelinto@gmail.com> | 2018-05-31 15:34:16 +0300 |
---|---|---|
committer | Dalai Felinto <dfelinto@gmail.com> | 2018-05-31 15:52:05 +0300 |
commit | 25e5ec245c17c95480acbc231600d581a53702c0 (patch) | |
tree | 964eb5ded781bf00f6799a83ab05b2d9bf202b25 /source/blender/editors/space_outliner | |
parent | d0af8edcd12a4b3bebd1bd202eebdb36b3c21141 (diff) |
Support Move / Link to collection in the outliner as well
Diffstat (limited to 'source/blender/editors/space_outliner')
-rw-r--r-- | source/blender/editors/space_outliner/outliner_collections.c | 19 | ||||
-rw-r--r-- | source/blender/editors/space_outliner/outliner_ops.c | 3 |
2 files changed, 22 insertions, 0 deletions
diff --git a/source/blender/editors/space_outliner/outliner_collections.c b/source/blender/editors/space_outliner/outliner_collections.c index ff8868d87e7..909938ad606 100644 --- a/source/blender/editors/space_outliner/outliner_collections.c +++ b/source/blender/editors/space_outliner/outliner_collections.c @@ -42,6 +42,7 @@ #include "DEG_depsgraph_build.h" #include "ED_object.h" +#include "ED_outliner.h" #include "ED_screen.h" #include "WM_api.h" @@ -695,3 +696,21 @@ void OUTLINER_OT_collection_include_set(wmOperatorType *ot) /* flags */ ot->flag = OPTYPE_REGISTER | OPTYPE_UNDO; } + +/** + * Populates the \param objects ListBase with all the outliner selected objects + * We store it as (Object *)LinkData->data + * \param objects expected to be empty + */ +void ED_outliner_selected_objects_get(const bContext *C, ListBase *objects) +{ + SpaceOops *soops = CTX_wm_space_outliner(C); + struct ObjectsSelectedData data = {{NULL}}; + outliner_tree_traverse(soops, &soops->tree, 0, TSE_SELECTED, outliner_find_selected_objects, &data); + LISTBASE_FOREACH (LinkData *, link, &data.objects_selected_array) { + TreeElement *ten_selected = (TreeElement *)link->data; + Object *ob = (Object *)TREESTORE(ten_selected)->id; + BLI_addtail(objects, BLI_genericNodeN(ob)); + } + BLI_freelistN(&data.objects_selected_array); +} diff --git a/source/blender/editors/space_outliner/outliner_ops.c b/source/blender/editors/space_outliner/outliner_ops.c index 9c1b9bf2630..a5a7067cd8e 100644 --- a/source/blender/editors/space_outliner/outliner_ops.c +++ b/source/blender/editors/space_outliner/outliner_ops.c @@ -557,6 +557,9 @@ void outliner_keymap(wmKeyConfig *keyconf) WM_keymap_verify_item(keymap, "OUTLINER_OT_collection_new", CKEY, KM_PRESS, 0, 0); WM_keymap_verify_item(keymap, "OUTLINER_OT_collection_delete", XKEY, KM_PRESS, 0, 0); + WM_keymap_verify_item(keymap, "OBJECT_OT_move_to_collection", MKEY, KM_PRESS, 0, 0); + WM_keymap_verify_item(keymap, "OBJECT_OT_link_to_collection", MKEY, KM_PRESS, KM_SHIFT, 0); + outliner_item_drag_drop_modal_keymap(keyconf); } |