1
0
mirror of https://github.com/godotengine/godot.git synced 2025-11-11 13:10:58 +00:00

Merge pull request #84515 from Calinou/editor-multi-window-unavailable-disable-buttons

Disable multi-window buttons instead of hiding them when support is unavailable
This commit is contained in:
Rémi Verschelde
2024-01-29 13:16:01 +01:00
10 changed files with 81 additions and 30 deletions

View File

@@ -3715,6 +3715,10 @@ bool EditorNode::is_scene_open(const String &p_path) {
return false;
}
bool EditorNode::is_multi_window_enabled() const {
return !SceneTree::get_singleton()->get_root()->is_embedding_subwindows() && !EDITOR_GET("interface/editor/single_window_mode") && EDITOR_GET("interface/multi_window/enable");
}
void EditorNode::fix_dependencies(const String &p_for_file) {
dependency_fixer->edit(p_for_file);
}
@@ -4126,6 +4130,20 @@ void EditorNode::request_instantiate_scenes(const Vector<String> &p_files) {
SceneTreeDock::get_singleton()->instantiate_scenes(p_files);
}
String EditorNode::get_multiwindow_support_tooltip_text() const {
if (SceneTree::get_singleton()->get_root()->is_embedding_subwindows()) {
if (DisplayServer::get_singleton()->has_feature(DisplayServer::FEATURE_SUBWINDOWS)) {
return TTR("Multi-window support is not available because the `--single-window` command line argument was used to start the editor.");
} else {
return TTR("Multi-window support is not available because the current platform doesn't support multiple windows.");
}
} else if (EDITOR_GET("interface/editor/single_window_mode")) {
return TTR("Multi-window support is not available because Interface > Editor > Single Window Mode is enabled in the editor settings.");
}
return TTR("Multi-window support is not available because Interface > Multi Window > Enable is disabled in the editor settings.");
}
void EditorNode::_inherit_request(String p_file) {
current_menu_option = FILE_NEW_INHERITED_SCENE;
_dialog_action(p_file);