Dim the UI when exiting the application

This improves user experience a bit when quitting the application,
especially on slower hardware.
This commit is contained in:
Hugo Locurcio 2020-01-15 22:12:21 +01:00
parent 9c9d6a5952
commit 6066d3b871
No known key found for this signature in database
GPG Key ID: 39E8F8BE30B0A49C

View File

@ -298,6 +298,7 @@ func quit() -> void:
if Engine.editor_hint:
emit_signal("quit")
else:
dim_window()
get_tree().quit()
func edit_cut() -> void:
@ -526,6 +527,16 @@ func _exit_tree() -> void:
config_cache.set_value("window", "size", OS.window_size)
config_cache.save("user://cache.ini")
func _notification(what : int) -> void:
if !Engine.editor_hint:
if what == MainLoop.NOTIFICATION_WM_QUIT_REQUEST:
dim_window()
func dim_window() -> void:
# Darken the UI to denote that the application is currently exiting
# (it won't respond to user input in this state).
modulate = Color(0.5, 0.5, 0.5)
func show_background_preview(button_pressed):
$VBoxContainer/HBoxContainer/ProjectsPane/Preview3D.visible = button_pressed
$VBoxContainer/HBoxContainer/ProjectsPane/HBoxContainer/HBoxContainer.visible = button_pressed