mirror of
https://github.com/luanti-org/luanti.git
synced 2025-06-27 16:36:03 +00:00
Always show this dialog?
This commit is contained in:
parent
d28a63f22a
commit
792dca6265
3 changed files with 19 additions and 7 deletions
|
@ -49,19 +49,25 @@ local tabs = {
|
||||||
--------------------------------------------------------------------------------
|
--------------------------------------------------------------------------------
|
||||||
local function main_event_handler(tabview, event)
|
local function main_event_handler(tabview, event)
|
||||||
if event == "MenuQuit" then
|
if event == "MenuQuit" then
|
||||||
if not ui.childlist["mainmenu_quit_confirm"] then
|
local show_dialog = core.settings:get_bool("enable_esc_dialog")
|
||||||
|
if not ui.childlist["mainmenu_quit_confirm"] and show_dialog then
|
||||||
tabview:hide()
|
tabview:hide()
|
||||||
local dlg = dialog_create(
|
local dlg = dialog_create(
|
||||||
"mainmenu_quit_confirm",
|
"mainmenu_quit_confirm",
|
||||||
function()
|
function()
|
||||||
return confirmation_formspec(
|
return "size[10,3,true]" ..
|
||||||
fgettext("Are you sure you want to quit?"),
|
"label[0.5,0.5;" .. fgettext("Are you sure you want to quit?") .. "]" ..
|
||||||
"btn_quit_confirm_yes", fgettext("Quit"),
|
"checkbox[0.5,1;cb_show_dialog;" .. fgettext("Always show this dialog.") .. ";" .. tostring(show_dialog) .. "]" ..
|
||||||
"btn_quit_confirm_cancel", fgettext("Cancel")
|
"style[btn_quit_confirm_yes;bgcolor=red]" ..
|
||||||
)
|
"button[0.5,2.0;2.5,0.5;btn_quit_confirm_yes;" .. fgettext("Quit") .. "]" ..
|
||||||
|
"button[7.0,2.0;2.5,0.5;btn_quit_confirm_cancel;" .. fgettext("Cancel") .. "]"
|
||||||
end,
|
end,
|
||||||
function(this, fields)
|
function(this, fields)
|
||||||
if fields.btn_quit_confirm_yes then
|
if fields.cb_show_dialog ~= nil then
|
||||||
|
local value = (fields.cb_show_dialog == "true") and "true" or "false"
|
||||||
|
core.settings:set("enable_esc_dialog", value)
|
||||||
|
return false
|
||||||
|
elseif fields.btn_quit_confirm_yes then
|
||||||
this:delete()
|
this:delete()
|
||||||
core.close()
|
core.close()
|
||||||
return true
|
return true
|
||||||
|
@ -77,6 +83,8 @@ local function main_event_handler(tabview, event)
|
||||||
)
|
)
|
||||||
dlg:set_parent(tabview)
|
dlg:set_parent(tabview)
|
||||||
dlg:show()
|
dlg:show()
|
||||||
|
else
|
||||||
|
core.close()
|
||||||
end
|
end
|
||||||
return true
|
return true
|
||||||
end
|
end
|
||||||
|
|
|
@ -158,6 +158,9 @@ autojump (Automatic jumping) bool false
|
||||||
# On touchscreens, this only affects digging.
|
# On touchscreens, this only affects digging.
|
||||||
safe_dig_and_place (Safe digging and placing) bool false
|
safe_dig_and_place (Safe digging and placing) bool false
|
||||||
|
|
||||||
|
# Enable a confirmation dialog before closing.
|
||||||
|
enable_esc_dialog (Confirmation dialog before closing) bool true
|
||||||
|
|
||||||
[*Keyboard and Mouse]
|
[*Keyboard and Mouse]
|
||||||
|
|
||||||
# Invert vertical mouse movement.
|
# Invert vertical mouse movement.
|
||||||
|
|
|
@ -369,6 +369,7 @@ void set_default_settings()
|
||||||
settings->setDefault("toggle_sneak_key", "false");
|
settings->setDefault("toggle_sneak_key", "false");
|
||||||
settings->setDefault("toggle_aux1_key", "false");
|
settings->setDefault("toggle_aux1_key", "false");
|
||||||
settings->setDefault("autojump", bool_to_cstr(has_touch));
|
settings->setDefault("autojump", bool_to_cstr(has_touch));
|
||||||
|
settings->setDefault("enable_esc_dialog", "true");
|
||||||
settings->setDefault("continuous_forward", "false");
|
settings->setDefault("continuous_forward", "false");
|
||||||
settings->setDefault("enable_joysticks", "false");
|
settings->setDefault("enable_joysticks", "false");
|
||||||
settings->setDefault("joystick_id", "0");
|
settings->setDefault("joystick_id", "0");
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue