From d28a63f22a967330bbe5370552397548523534e2 Mon Sep 17 00:00:00 2001 From: siliconsniffer <97843108+siliconsniffer@users.noreply.github.com> Date: Thu, 22 May 2025 09:03:33 +0200 Subject: [PATCH] Are you sure you want to quit? --- builtin/mainmenu/init.lua | 31 ++++++++++++++++++++++++++++++- 1 file changed, 30 insertions(+), 1 deletion(-) diff --git a/builtin/mainmenu/init.lua b/builtin/mainmenu/init.lua index 14185a484..6865d5fcc 100644 --- a/builtin/mainmenu/init.lua +++ b/builtin/mainmenu/init.lua @@ -49,7 +49,36 @@ local tabs = { -------------------------------------------------------------------------------- local function main_event_handler(tabview, event) if event == "MenuQuit" then - core.close() + if not ui.childlist["mainmenu_quit_confirm"] then + tabview:hide() + local dlg = dialog_create( + "mainmenu_quit_confirm", + function() + return confirmation_formspec( + fgettext("Are you sure you want to quit?"), + "btn_quit_confirm_yes", fgettext("Quit"), + "btn_quit_confirm_cancel", fgettext("Cancel") + ) + end, + function(this, fields) + if fields.btn_quit_confirm_yes then + this:delete() + core.close() + return true + elseif fields.btn_quit_confirm_cancel or fields.key_escape or fields.quit then + this:delete() + if tabview and tabview.show then + tabview:show() + end + return true + end + end, + nil + ) + dlg:set_parent(tabview) + dlg:show() + end + return true end return true end