From cb7304662b8ee24df34c09b2ebd4404ec4cd43b8 Mon Sep 17 00:00:00 2001 From: kobewi Date: Sun, 3 Nov 2024 15:04:50 +0100 Subject: [PATCH] Close toasts instantly when Close button is pressed --- editor/gui/editor_toaster.cpp | 7 ++++++- editor/gui/editor_toaster.h | 1 + 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/editor/gui/editor_toaster.cpp b/editor/gui/editor_toaster.cpp index 4ebd1922a70..ffea1736a3e 100644 --- a/editor/gui/editor_toaster.cpp +++ b/editor/gui/editor_toaster.cpp @@ -375,7 +375,7 @@ Control *EditorToaster::popup(Control *p_control, Severity p_severity, double p_ if (p_time > 0.0) { Button *close_button = memnew(Button); close_button->set_flat(true); - close_button->connect(SceneStringName(pressed), callable_mp(this, &EditorToaster::close).bind(panel)); + close_button->connect(SceneStringName(pressed), callable_mp(this, &EditorToaster::instant_close).bind(panel)); hbox_container->add_child(close_button); toast.close_button = close_button; @@ -501,6 +501,11 @@ void EditorToaster::close(Control *p_control) { toasts[p_control].popped = false; } +void EditorToaster::instant_close(Control *p_control) { + close(p_control); + p_control->set_modulate(Color(1, 1, 1, 0)); +} + EditorToaster *EditorToaster::get_singleton() { return singleton; } diff --git a/editor/gui/editor_toaster.h b/editor/gui/editor_toaster.h index 35a43377463..6fcc2ce3e9e 100644 --- a/editor/gui/editor_toaster.h +++ b/editor/gui/editor_toaster.h @@ -115,6 +115,7 @@ public: Control *popup(Control *p_control, Severity p_severity = SEVERITY_INFO, double p_time = 0.0, const String &p_tooltip = String()); void popup_str(const String &p_message, Severity p_severity = SEVERITY_INFO, const String &p_tooltip = String()); void close(Control *p_control); + void instant_close(Control *p_control); EditorToaster(); ~EditorToaster();