Merge pull request #17247 from poke1024/canvas-select-prio

In CanvasItemEditor, prioritize selected items when dragging
This commit is contained in:
Rémi Verschelde 2018-03-05 21:07:22 +01:00 committed by GitHub
commit 91ed678708
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 16 additions and 1 deletions

View File

@ -1681,7 +1681,22 @@ bool CanvasItemEditor::_gui_input_select(const Ref<InputEvent> &p_event) {
// Find the item to select
CanvasItem *canvas_item = NULL;
Vector<_SelectResult> selection;
_find_canvas_items_at_pos(click, scene, selection, 1);
_find_canvas_items_at_pos(click, scene, selection, editor_selection->get_selection().empty() ? 1 : 0);
for (int i = 0; i < selection.size(); i++) {
if (editor_selection->is_selected(selection[i].item)) {
// Drag the node(s) if requested
List<CanvasItem *> selection = _get_edited_canvas_items();
drag_type = DRAG_ALL;
drag_selection = selection;
drag_from = click;
_save_canvas_item_state(drag_selection);
return true;
}
}
if (!selection.empty())
canvas_item = selection[0].item;