summaryrefslogtreecommitdiffstats
path: root/editor/plugins/shader_editor_plugin.cpp
diff options
context:
space:
mode:
authorRémi Verschelde <rverschelde@gmail.com>2024-01-29 13:16:01 +0100
committerRémi Verschelde <rverschelde@gmail.com>2024-01-29 13:16:01 +0100
commit0796d08b8f8bf590074b9b09f878f933ce867bdd (patch)
treed2f7f3e00af3e02b96bbdc7f7f02b956ecfd59b7 /editor/plugins/shader_editor_plugin.cpp
parent07d290e67e008e8c1d839271ad57a19db0f6be06 (diff)
parent04a930d9a696ca984d2962d8001c50cb65593f29 (diff)
downloadredot-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.cpp23
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);