summaryrefslogtreecommitdiffstats
path: root/editor
diff options
context:
space:
mode:
authorBenjamin <mafortion.benjamin@gmail.com>2017-10-24 20:54:40 +0200
committerRémi Verschelde <rverschelde@gmail.com>2017-10-31 09:47:38 +0100
commit2b82997052ad0c37cdae53ecaf2ca9dab85b5244 (patch)
tree98ebeb116170f3bddf2ee8278ee4cfa1efcab76e /editor
parent31a487660ae373632c5ffedff6d269e76426f22a (diff)
downloadredot-engine-2b82997052ad0c37cdae53ecaf2ca9dab85b5244.tar.gz
Use node name as default filename when attaching script.
When attaching a script to a node that isn't saved to a scene file, use its name as default filename. If the edited scene's root node *has* been saved to a file, use that directory.
Diffstat (limited to 'editor')
-rw-r--r--editor/scene_tree_dock.cpp8
1 files changed, 8 insertions, 0 deletions
diff --git a/editor/scene_tree_dock.cpp b/editor/scene_tree_dock.cpp
index f3e59932c4..7438c7671e 100644
--- a/editor/scene_tree_dock.cpp
+++ b/editor/scene_tree_dock.cpp
@@ -319,6 +319,14 @@ void SceneTreeDock::_tool_selected(int p_tool, bool p_confirm_override) {
editor->push_item(existing.ptr());
else {
String path = selected->get_filename();
+ if (path == "") {
+ String root_path = editor_data->get_edited_scene_root()->get_filename();
+ if (root_path == "") {
+ path = "res://" + selected->get_name();
+ } else {
+ path = root_path.get_base_dir() + "/" + selected->get_name();
+ }
+ }
script_create_dialog->config(selected->get_class(), path);
script_create_dialog->popup_centered();
}