MainMenu: replace textlist with table, remove legacy code

master
MoNTE48 2020-02-09 12:22:02 +01:00
parent 550519dc1d
commit 494eff7911
3 changed files with 12 additions and 37 deletions

View File

@ -40,16 +40,6 @@ local function render_client_count(n)
else return '?' end
end
local function configure_selected_world_params(idx)
local worldconfig = modmgr.get_worldconfig(menudata.worldlist:get_list()[idx].path)
if worldconfig.creative_mode then
core.settings:set("creative_mode", worldconfig.creative_mode)
end
if worldconfig.enable_damage then
core.settings:set("enable_damage", worldconfig.enable_damage)
end
end
--------------------------------------------------------------------------------
function image_column(tooltip)
return "image,tooltip=" .. core.formspec_escape(tooltip) .. "," ..
@ -221,7 +211,6 @@ function menu_handle_key_up_down(fields, textlist, settingname)
newidx = oldidx + 1
end
core.settings:set(settingname, menudata.worldlist:get_raw_index(newidx))
configure_selected_world_params(newidx)
return true
end
return false
@ -336,15 +325,3 @@ function menu_worldmt(selected, setting, value)
return nil
end
end
function menu_worldmt_legacy(selected)
local modes_names = {"creative_mode", "enable_damage", "server_announce"}
for _, mode_name in pairs(modes_names) do
local mode_val = menu_worldmt(selected, mode_name)
if mode_val then
core.settings:set(mode_name, mode_val)
else
menu_worldmt(selected, mode_name, core.settings:get(mode_name))
end
end
end

View File

@ -69,10 +69,8 @@ local function main_button_handler(this, fields, name)
local world_doubleclick = false
if fields["sp_worlds"] ~= nil then
local event = core.explode_textlist_event(fields["sp_worlds"])
local selected = core.get_textlist_index("sp_worlds")
menu_worldmt_legacy(selected)
local event = core.explode_table_event(fields["sp_worlds"])
local selected = core.get_table_index("sp_worlds")
if event.type == "DCL" then
world_doubleclick = true
@ -105,14 +103,14 @@ local function main_button_handler(this, fields, name)
if fields["cb_server_announce"] then
core.settings:set("server_announce", fields["cb_server_announce"])
local selected = core.get_textlist_index("srv_worlds")
local selected = core.get_table_index("srv_worlds")
menu_worldmt(selected, "server_announce", fields["cb_server_announce"])
return true
end
if fields["play"] ~= nil or world_doubleclick or fields["key_enter"] then
local selected = core.get_textlist_index("sp_worlds")
local selected = core.get_table_index("sp_worlds")
gamedata.selected_world = menudata.worldlist:get_raw_index(selected)
core.settings:set("maintab_LAST", "local")
@ -166,7 +164,7 @@ local function main_button_handler(this, fields, name)
end
if fields["world_delete"] ~= nil then
local selected = core.get_textlist_index("sp_worlds")
local selected = core.get_table_index("sp_worlds")
if selected ~= nil and
selected <= menudata.worldlist:size() then
local world = menudata.worldlist:get_list()[selected]
@ -185,7 +183,7 @@ local function main_button_handler(this, fields, name)
end
if fields["world_configure"] ~= nil then
local selected = core.get_textlist_index("sp_worlds")
local selected = core.get_table_index("sp_worlds")
if selected ~= nil then
local configdialog =
create_configure_world_dlg(

View File

@ -17,6 +17,7 @@
--------------------------------------------------------------------------------
local password_save = core.settings:get_bool("password_save")
local password_tmp = ""
local function get_formspec(_, _, tabdata)
-- Update the cached supported proto info,
@ -63,13 +64,10 @@ local function get_formspec(_, _, tabdata)
core.formspec_escape(defaulttexturedir .. "blank.png")
.. ";btn_mp_connect;;true;false]"
local pwd = password_save and core.formspec_escape(core.settings:get("password")) or password_tmp
-- Password
if password_save then
retval = retval .. "pwdfield[10.45,1.81;1.91,0.39;te_pwd;;" ..
core.formspec_escape(core.settings:get("password")) .. "]"
else
retval = retval .. "pwdfield[10.45,1.81;1.91,0.39;te_pwd;;]"
end
retval = retval .. "pwdfield[10.45,1.81;1.91,0.39;te_pwd;;" .. pwd .. "]"
if tabdata.fav_selected and fav_selected then
if gamedata.fav then
@ -160,6 +158,8 @@ local function main_button_handler(_, fields, _, tabdata)
if fields.te_pwd and password_save then
core.settings:set("password", fields.te_pwd)
else
password_tmp = fields.te_pwd
end
if fields.favourites then