Merge pull request #52172 from kleonc/scene-tree-dock-ensure-single-select
This commit is contained in:
commit
f410852f9c
1 changed files with 7 additions and 5 deletions
|
@ -848,7 +848,7 @@ void SceneTreeDock::_tool_selected(int p_tool, bool p_confirm_override) {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
Ref<MultiNodeEdit> mne = memnew(MultiNodeEdit);
|
Ref<MultiNodeEdit> mne = memnew(MultiNodeEdit);
|
||||||
for (const Map<Node *, Object *>::Element *E = EditorNode::get_singleton()->get_editor_selection()->get_selection().front(); E; E = E->next()) {
|
for (const Map<Node *, Object *>::Element *E = editor_selection->get_selection().front(); E; E = E->next()) {
|
||||||
mne->add_node(root->get_path_to(E->key()));
|
mne->add_node(root->get_path_to(E->key()));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2101,11 +2101,11 @@ void SceneTreeDock::_update_script_button() {
|
||||||
if (!profile_allow_script_editing) {
|
if (!profile_allow_script_editing) {
|
||||||
button_create_script->hide();
|
button_create_script->hide();
|
||||||
button_detach_script->hide();
|
button_detach_script->hide();
|
||||||
} else if (EditorNode::get_singleton()->get_editor_selection()->get_selection().size() == 0) {
|
} else if (editor_selection->get_selection().size() == 0) {
|
||||||
button_create_script->hide();
|
button_create_script->hide();
|
||||||
button_detach_script->hide();
|
button_detach_script->hide();
|
||||||
} else if (EditorNode::get_singleton()->get_editor_selection()->get_selection().size() == 1) {
|
} else if (editor_selection->get_selection().size() == 1) {
|
||||||
Node *n = EditorNode::get_singleton()->get_editor_selection()->get_selected_node_list()[0];
|
Node *n = editor_selection->get_selected_node_list()[0];
|
||||||
if (n->get_script().is_null()) {
|
if (n->get_script().is_null()) {
|
||||||
button_create_script->show();
|
button_create_script->show();
|
||||||
button_detach_script->hide();
|
button_detach_script->hide();
|
||||||
|
@ -2128,10 +2128,12 @@ void SceneTreeDock::_update_script_button() {
|
||||||
}
|
}
|
||||||
|
|
||||||
void SceneTreeDock::_selection_changed() {
|
void SceneTreeDock::_selection_changed() {
|
||||||
int selection_size = EditorNode::get_singleton()->get_editor_selection()->get_selection().size();
|
int selection_size = editor_selection->get_selection().size();
|
||||||
if (selection_size > 1) {
|
if (selection_size > 1) {
|
||||||
//automatically turn on multi-edit
|
//automatically turn on multi-edit
|
||||||
_tool_selected(TOOL_MULTI_EDIT);
|
_tool_selected(TOOL_MULTI_EDIT);
|
||||||
|
} else if (selection_size == 1) {
|
||||||
|
editor->push_item(editor_selection->get_selection().front()->key());
|
||||||
} else if (selection_size == 0) {
|
} else if (selection_size == 0) {
|
||||||
editor->push_item(nullptr);
|
editor->push_item(nullptr);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue