Add a shortcut to the documentation in the scene tree RMB menu
This commit is contained in:
parent
3c62aa778d
commit
980aa276e3
|
@ -689,6 +689,13 @@ void SceneTreeDock::_tool_selected(int p_tool, bool p_confirm_override) {
|
|||
}
|
||||
}
|
||||
} break;
|
||||
case TOOL_OPEN_DOCUMENTATION: {
|
||||
List<Node *> selection = editor_selection->get_selected_node_list();
|
||||
for (int i = 0; i < selection.size(); i++) {
|
||||
ScriptEditor::get_singleton()->goto_help("class_name:" + selection[i]->get_class());
|
||||
}
|
||||
EditorNode::get_singleton()->set_visible_editor(EditorNode::EDITOR_SCRIPT);
|
||||
} break;
|
||||
case TOOL_SCENE_EDITABLE_CHILDREN: {
|
||||
List<Node *> selection = editor_selection->get_selected_node_list();
|
||||
List<Node *>::Element *e = selection.front();
|
||||
|
@ -2027,6 +2034,7 @@ void SceneTreeDock::_tree_rmb(const Vector2 &p_menu_pos) {
|
|||
|
||||
menu->clear();
|
||||
|
||||
Ref<Script> existing_script;
|
||||
if (selection.size() == 1) {
|
||||
|
||||
Node *selected = selection[0];
|
||||
|
@ -2041,16 +2049,20 @@ void SceneTreeDock::_tree_rmb(const Vector2 &p_menu_pos) {
|
|||
menu->add_icon_shortcut(get_icon("Add", "EditorIcons"), ED_GET_SHORTCUT("scene_tree/add_child_node"), TOOL_NEW);
|
||||
menu->add_icon_shortcut(get_icon("Instance", "EditorIcons"), ED_GET_SHORTCUT("scene_tree/instance_scene"), TOOL_INSTANCE);
|
||||
menu->add_separator();
|
||||
existing_script = selected->get_script();
|
||||
}
|
||||
|
||||
menu->add_icon_shortcut(get_icon("ScriptCreate", "EditorIcons"), ED_GET_SHORTCUT("scene_tree/attach_script"), TOOL_ATTACH_SCRIPT);
|
||||
Ref<Script> existing = selected->get_script();
|
||||
if (existing.is_valid()) {
|
||||
if (selection.size() > 1 || existing_script.is_valid()) {
|
||||
menu->add_icon_shortcut(get_icon("ScriptRemove", "EditorIcons"), ED_GET_SHORTCUT("scene_tree/clear_script"), TOOL_CLEAR_SCRIPT);
|
||||
}
|
||||
|
||||
menu->add_separator();
|
||||
if (selection.size() == 1) {
|
||||
menu->add_icon_shortcut(get_icon("Rename", "EditorIcons"), ED_GET_SHORTCUT("scene_tree/rename"), TOOL_RENAME);
|
||||
}
|
||||
menu->add_icon_shortcut(get_icon("Reload", "EditorIcons"), ED_GET_SHORTCUT("scene_tree/change_node_type"), TOOL_REPLACE);
|
||||
|
||||
if (scene_tree->get_selected() != edited_scene) {
|
||||
menu->add_separator();
|
||||
menu->add_icon_shortcut(get_icon("MoveUp", "EditorIcons"), ED_GET_SHORTCUT("scene_tree/move_up"), TOOL_MOVE_UP);
|
||||
|
@ -2086,10 +2098,6 @@ void SceneTreeDock::_tree_rmb(const Vector2 &p_menu_pos) {
|
|||
menu->set_item_checked(menu->get_item_idx_from_text(TTR("Load As Placeholder")), placeholder);
|
||||
}
|
||||
}
|
||||
} else {
|
||||
menu->add_separator();
|
||||
menu->add_icon_shortcut(get_icon("ScriptCreate", "EditorIcons"), ED_GET_SHORTCUT("scene_tree/attach_script"), TOOL_ATTACH_SCRIPT);
|
||||
menu->add_icon_shortcut(get_icon("ScriptRemove", "EditorIcons"), ED_GET_SHORTCUT("scene_tree/clear_script"), TOOL_CLEAR_SCRIPT);
|
||||
}
|
||||
|
||||
if (selection.size() > 1) {
|
||||
|
@ -2097,6 +2105,9 @@ void SceneTreeDock::_tree_rmb(const Vector2 &p_menu_pos) {
|
|||
menu->add_separator();
|
||||
menu->add_icon_shortcut(get_icon("Rename", "EditorIcons"), ED_GET_SHORTCUT("scene_tree/batch_rename"), TOOL_BATCH_RENAME);
|
||||
}
|
||||
menu->add_separator();
|
||||
menu->add_icon_item(get_icon("Help", "EditorIcons"), TTR("Open documentation"), TOOL_OPEN_DOCUMENTATION);
|
||||
|
||||
menu->add_separator();
|
||||
menu->add_icon_shortcut(get_icon("Remove", "EditorIcons"), ED_SHORTCUT("scene_tree/delete", TTR("Delete Node(s)"), KEY_DELETE), TOOL_ERASE);
|
||||
menu->set_size(Size2(1, 1));
|
||||
|
|
|
@ -75,6 +75,7 @@ class SceneTreeDock : public VBoxContainer {
|
|||
TOOL_ERASE,
|
||||
TOOL_COPY_NODE_PATH,
|
||||
TOOL_BUTTON_MAX,
|
||||
TOOL_OPEN_DOCUMENTATION,
|
||||
TOOL_SCENE_EDITABLE_CHILDREN,
|
||||
TOOL_SCENE_USE_PLACEHOLDER,
|
||||
TOOL_SCENE_MAKE_LOCAL,
|
||||
|
|
Loading…
Reference in New Issue