diff options
author | Rémi Verschelde <rverschelde@gmail.com> | 2024-01-29 13:16:01 +0100 |
---|---|---|
committer | Rémi Verschelde <rverschelde@gmail.com> | 2024-01-29 13:16:01 +0100 |
commit | 0796d08b8f8bf590074b9b09f878f933ce867bdd (patch) | |
tree | d2f7f3e00af3e02b96bbdc7f7f02b956ecfd59b7 /editor/plugins/shader_editor_plugin.cpp | |
parent | 07d290e67e008e8c1d839271ad57a19db0f6be06 (diff) | |
parent | 04a930d9a696ca984d2962d8001c50cb65593f29 (diff) | |
download | redot-engine-0796d08b8f8bf590074b9b09f878f933ce867bdd.tar.gz |
Merge pull request #84515 from Calinou/editor-multi-window-unavailable-disable-buttons
Disable multi-window buttons instead of hiding them when support is unavailable
Diffstat (limited to 'editor/plugins/shader_editor_plugin.cpp')
-rw-r--r-- | editor/plugins/shader_editor_plugin.cpp | 23 |
1 files changed, 12 insertions, 11 deletions
diff --git a/editor/plugins/shader_editor_plugin.cpp b/editor/plugins/shader_editor_plugin.cpp index 5798ff9d99..a018ec095b 100644 --- a/editor/plugins/shader_editor_plugin.cpp +++ b/editor/plugins/shader_editor_plugin.cpp @@ -643,20 +643,21 @@ ShaderEditorPlugin::ShaderEditorPlugin() { file_menu->get_popup()->set_item_disabled(file_menu->get_popup()->get_item_index(i), true); } - if (window_wrapper->is_window_available()) { - Control *padding = memnew(Control); - padding->set_h_size_flags(Control::SIZE_EXPAND_FILL); - menu_hb->add_child(padding); - - make_floating = memnew(ScreenSelect); - make_floating->set_flat(true); + Control *padding = memnew(Control); + padding->set_h_size_flags(Control::SIZE_EXPAND_FILL); + menu_hb->add_child(padding); + + make_floating = memnew(ScreenSelect); + make_floating->set_flat(true); + make_floating->connect("request_open_in_screen", callable_mp(window_wrapper, &WindowWrapper::enable_window_on_screen).bind(true)); + if (!make_floating->is_disabled()) { + // Override default ScreenSelect tooltip if multi-window support is available. make_floating->set_tooltip_text(TTR("Make the shader editor floating.")); - make_floating->connect("request_open_in_screen", callable_mp(window_wrapper, &WindowWrapper::enable_window_on_screen).bind(true)); - - menu_hb->add_child(make_floating); - window_wrapper->connect("window_visibility_changed", callable_mp(this, &ShaderEditorPlugin::_window_changed)); } + menu_hb->add_child(make_floating); + window_wrapper->connect("window_visibility_changed", callable_mp(this, &ShaderEditorPlugin::_window_changed)); + shader_list = memnew(ItemList); shader_list->set_auto_translate(false); shader_list->set_v_size_flags(Control::SIZE_EXPAND_FILL); |