Merge pull request #28905 from hbina/issue_28585

Now able to "Copy Node Path" from the Remote tab. Fixes #28585.
This commit is contained in:
Rémi Verschelde 2019-05-17 11:28:43 +02:00 committed by GitHub
commit b963bf8253
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 21 additions and 0 deletions

View file

@ -299,6 +299,7 @@ void ScriptEditorDebugger::_scene_tree_rmb_selected(const Vector2 &p_position) {
item_menu->clear();
item_menu->add_icon_item(get_icon("CreateNewSceneFrom", "EditorIcons"), TTR("Save Branch as Scene"), ITEM_MENU_SAVE_REMOTE_NODE);
item_menu->add_icon_item(get_icon("CopyNodePath", "EditorIcons"), TTR("Copy Node Path"), ITEM_MENU_COPY_NODE_PATH);
item_menu->set_global_position(get_global_mouse_position());
item_menu->popup();
}
@ -396,6 +397,7 @@ Size2 ScriptEditorDebugger::get_minimum_size() const {
ms.y = MAX(ms.y, 250 * EDSCALE);
return ms;
}
void ScriptEditorDebugger::_parse_message(const String &p_msg, const Array &p_data) {
if (p_msg == "debug_enter") {
@ -1930,6 +1932,24 @@ void ScriptEditorDebugger::_item_menu_id_pressed(int p_option) {
file_dialog->popup_centered_ratio();
} break;
case ITEM_MENU_COPY_NODE_PATH: {
TreeItem *ti = inspect_scene_tree->get_selected();
String text = ti->get_text(0);
if (ti->get_parent() == NULL) {
text = ".";
} else if (ti->get_parent()->get_parent() == NULL) {
text = ".";
} else {
while (ti->get_parent()->get_parent() != inspect_scene_tree->get_root()) {
ti = ti->get_parent();
text = ti->get_text(0) + "/" + text;
}
}
OS::get_singleton()->set_clipboard(text);
} break;
}
}

View file

@ -66,6 +66,7 @@ class ScriptEditorDebugger : public Control {
enum ItemMenu {
ITEM_MENU_COPY_ERROR,
ITEM_MENU_SAVE_REMOTE_NODE,
ITEM_MENU_COPY_NODE_PATH,
};
AcceptDialog *msgdialog;