From 5346bb043a3dd6a0a33d0dd0c279b10225f4a46a Mon Sep 17 00:00:00 2001 From: EricEzaM Date: Mon, 26 Apr 2021 00:53:50 +1000 Subject: [PATCH] Made default tooltips (non-custom ones) disappear on mouse enter. Matches 3.X behaviour, but does not break custom tooltips where mouse interaction is needed. --- scene/main/viewport.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/scene/main/viewport.cpp b/scene/main/viewport.cpp index 4c9ebe016ec..83caca54ab6 100644 --- a/scene/main/viewport.cpp +++ b/scene/main/viewport.cpp @@ -1563,6 +1563,9 @@ void Viewport::_gui_show_tooltip() { return; } + // Popup window which houses the tooltip content. + TooltipPanel *panel = memnew(TooltipPanel); + // Controls can implement `make_custom_tooltip` to provide their own tooltip. // This should be a Control node which will be added as child to a TooltipPanel. Control *base_tooltip = tooltip_owner->make_custom_tooltip(tooltip_text); @@ -1572,11 +1575,11 @@ void Viewport::_gui_show_tooltip() { gui.tooltip_label = memnew(TooltipLabel); gui.tooltip_label->set_text(tooltip_text); base_tooltip = gui.tooltip_label; + panel->connect("mouse_entered", callable_mp(this, &Viewport::_gui_cancel_tooltip)); } base_tooltip->set_anchors_and_offsets_preset(Control::PRESET_WIDE); - TooltipPanel *panel = memnew(TooltipPanel); panel->set_transient(false); panel->set_flag(Window::FLAG_NO_FOCUS, true); panel->set_wrap_controls(true);