2025-04-05 01:19:52 +02:00
|
|
|
-- Luanti
|
|
|
|
-- Copyright (C) 2014 sapier
|
|
|
|
-- SPDX-License-Identifier: LGPL-2.1-or-later
|
2014-04-18 15:39:15 +02:00
|
|
|
|
|
|
|
|
2014-04-21 14:10:59 +02:00
|
|
|
local function delete_world_formspec(dialogdata)
|
2022-06-03 21:46:37 +02:00
|
|
|
return confirmation_formspec(
|
|
|
|
fgettext("Delete World \"$1\"?", dialogdata.delete_name),
|
|
|
|
'world_delete_confirm', fgettext("Delete"),
|
|
|
|
'world_delete_cancel', fgettext("Cancel"))
|
2014-04-18 15:39:15 +02:00
|
|
|
end
|
|
|
|
|
2014-04-21 14:10:59 +02:00
|
|
|
local function delete_world_buttonhandler(this, fields)
|
2014-04-18 15:39:15 +02:00
|
|
|
if fields["world_delete_confirm"] then
|
|
|
|
if this.data.delete_index > 0 and
|
2017-09-30 00:50:42 +07:00
|
|
|
this.data.delete_index <= #menudata.worldlist:get_raw_list() then
|
2014-04-18 15:39:15 +02:00
|
|
|
core.delete_world(this.data.delete_index)
|
|
|
|
menudata.worldlist:refresh()
|
|
|
|
end
|
|
|
|
this:delete()
|
|
|
|
return true
|
|
|
|
end
|
2017-09-30 00:50:42 +07:00
|
|
|
|
2014-04-18 15:39:15 +02:00
|
|
|
if fields["world_delete_cancel"] then
|
|
|
|
this:delete()
|
|
|
|
return true
|
|
|
|
end
|
2017-09-30 00:50:42 +07:00
|
|
|
|
2014-04-18 15:39:15 +02:00
|
|
|
return false
|
|
|
|
end
|
|
|
|
|
|
|
|
|
2017-09-30 00:50:42 +07:00
|
|
|
function create_delete_world_dlg(name_to_del, index_to_del)
|
2014-04-18 15:39:15 +02:00
|
|
|
assert(name_to_del ~= nil and type(name_to_del) == "string" and name_to_del ~= "")
|
|
|
|
assert(index_to_del ~= nil and type(index_to_del) == "number")
|
|
|
|
|
2014-04-21 14:10:59 +02:00
|
|
|
local retval = dialog_create("delete_world",
|
|
|
|
delete_world_formspec,
|
|
|
|
delete_world_buttonhandler,
|
2014-04-18 15:39:15 +02:00
|
|
|
nil)
|
|
|
|
retval.data.delete_name = name_to_del
|
|
|
|
retval.data.delete_index = index_to_del
|
2017-09-30 00:50:42 +07:00
|
|
|
|
2014-04-18 15:39:15 +02:00
|
|
|
return retval
|
|
|
|
end
|