summaryrefslogtreecommitdiffstats
path: root/editor/window_wrapper.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/window_wrapper.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/window_wrapper.cpp')
-rw-r--r--editor/window_wrapper.cpp14
1 files changed, 11 insertions, 3 deletions
diff --git a/editor/window_wrapper.cpp b/editor/window_wrapper.cpp
index a085c2e44f..b2b237269a 100644
--- a/editor/window_wrapper.cpp
+++ b/editor/window_wrapper.cpp
@@ -315,7 +315,7 @@ void WindowWrapper::set_margins_enabled(bool p_enabled) {
}
WindowWrapper::WindowWrapper() {
- if (SceneTree::get_singleton()->get_root()->is_embedding_subwindows() || EDITOR_GET("interface/editor/single_window_mode") || !EDITOR_GET("interface/multi_window/enable")) {
+ if (!EditorNode::get_singleton()->is_multi_window_enabled()) {
return;
}
@@ -375,7 +375,9 @@ void ScreenSelect::_build_advanced_menu() {
}
void ScreenSelect::_emit_screen_signal(int p_screen_idx) {
- emit_signal("request_open_in_screen", p_screen_idx);
+ if (!is_disabled()) {
+ emit_signal("request_open_in_screen", p_screen_idx);
+ }
}
void ScreenSelect::_bind_methods() {
@@ -436,13 +438,19 @@ void ScreenSelect::pressed() {
}
ScreenSelect::ScreenSelect() {
- set_tooltip_text(TTR("Make this panel floating.\nRight click to open the screen selector."));
set_button_mask(MouseButtonMask::RIGHT);
set_flat(true);
set_toggle_mode(true);
set_focus_mode(FOCUS_NONE);
set_action_mode(ACTION_MODE_BUTTON_PRESS);
+ if (!EditorNode::get_singleton()->is_multi_window_enabled()) {
+ set_disabled(true);
+ set_tooltip_text(EditorNode::get_singleton()->get_multiwindow_support_tooltip_text());
+ } else {
+ set_tooltip_text(TTR("Make this panel floating.\nRight-click to open the screen selector."));
+ }
+
// Create the popup.
const Size2 borders = Size2(4, 4) * EDSCALE;