diff --git a/editor/editor_sub_scene.cpp b/editor/editor_sub_scene.cpp index e4807a37c62d..987033b1233a 100644 --- a/editor/editor_sub_scene.cpp +++ b/editor/editor_sub_scene.cpp @@ -73,8 +73,8 @@ void EditorSubScene::_notification(int p_what) { if (p_what == NOTIFICATION_VISIBILITY_CHANGED) { - if (!is_visible_in_tree()) { - } + if (is_visible() && scene == NULL) + _path_browse(); } } @@ -232,7 +232,7 @@ EditorSubScene::EditorSubScene() { hb->add_child(path); path->set_h_size_flags(SIZE_EXPAND_FILL); Button *b = memnew(Button); - b->set_text(" .. "); + b->set_text(TTR("Browse")); hb->add_child(b); b->connect("pressed", this, "_path_browse"); vb->add_margin_child(TTR("Scene Path:"), hb); diff --git a/editor/scene_tree_dock.cpp b/editor/scene_tree_dock.cpp index 8473230758da..e5fa7fe357a5 100644 --- a/editor/scene_tree_dock.cpp +++ b/editor/scene_tree_dock.cpp @@ -1942,7 +1942,13 @@ void SceneTreeDock::set_selected(Node *p_node, bool p_emit_selected) { void SceneTreeDock::import_subscene() { - import_subscene_dialog->popup_centered_ratio(); + Size2 popup_size = Size2(500, 800) * editor_get_scale(); + Size2 window_size = get_viewport_rect().size; + + popup_size.x = MIN(window_size.x * 0.8, popup_size.x); + popup_size.y = MIN(window_size.y * 0.8, popup_size.y); + + import_subscene_dialog->popup_centered(popup_size); } void SceneTreeDock::_import_subscene() {