MainMenu: Save 'hide gamemods' and 'hide modpack contents' checkbox state (fixes #1960)
This commit is contained in:
parent
91c00d29a5
commit
86cfbc21da
@ -118,6 +118,7 @@ local function handle_buttons(this, fields)
|
|||||||
if fields["world_config_modlist"] ~= nil then
|
if fields["world_config_modlist"] ~= nil then
|
||||||
local event = core.explode_textlist_event(fields["world_config_modlist"])
|
local event = core.explode_textlist_event(fields["world_config_modlist"])
|
||||||
this.data.selected_mod = event.index
|
this.data.selected_mod = event.index
|
||||||
|
core.setting_set("world_config_selected_mod", event.index)
|
||||||
|
|
||||||
if event.type == "DCL" then
|
if event.type == "DCL" then
|
||||||
enable_mod(this)
|
enable_mod(this)
|
||||||
@ -152,20 +153,28 @@ local function handle_buttons(this, fields)
|
|||||||
current = {}
|
current = {}
|
||||||
end
|
end
|
||||||
|
|
||||||
|
if fields["cb_hide_gamemods"] ~= nil then
|
||||||
if core.is_yes(fields["cb_hide_gamemods"]) then
|
if core.is_yes(fields["cb_hide_gamemods"]) then
|
||||||
current.hide_game = true
|
current.hide_game = true
|
||||||
this.data.hide_gamemods = true
|
this.data.hide_gamemods = true
|
||||||
|
core.setting_set("world_config_hide_gamemods", "true")
|
||||||
else
|
else
|
||||||
current.hide_game = false
|
current.hide_game = false
|
||||||
this.data.hide_gamemods = false
|
this.data.hide_gamemods = false
|
||||||
|
core.setting_set("world_config_hide_gamemods", "false")
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
if fields["cb_hide_mpcontent"] ~= nil then
|
||||||
if core.is_yes(fields["cb_hide_mpcontent"]) then
|
if core.is_yes(fields["cb_hide_mpcontent"]) then
|
||||||
current.hide_modpackcontents = true
|
current.hide_modpackcontents = true
|
||||||
this.data.hide_modpackcontents = true
|
this.data.hide_modpackcontents = true
|
||||||
|
core.setting_set("world_config_hide_modpackcontents", "true")
|
||||||
else
|
else
|
||||||
current.hide_modpackcontents = false
|
current.hide_modpackcontents = false
|
||||||
this.data.hide_modpackcontents = false
|
this.data.hide_modpackcontents = false
|
||||||
|
core.setting_set("world_config_hide_modpackcontents", "false")
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
this.data.list:set_filtercriteria(current)
|
this.data.list:set_filtercriteria(current)
|
||||||
@ -237,10 +246,12 @@ function create_configure_world_dlg(worldidx)
|
|||||||
handle_buttons,
|
handle_buttons,
|
||||||
nil)
|
nil)
|
||||||
|
|
||||||
--TODO read from settings
|
dlg.data.hide_gamemods = core.setting_getbool("world_config_hide_gamemods")
|
||||||
dlg.data.hide_gamemods = false
|
dlg.data.hide_modpackcontents = core.setting_getbool("world_config_hide_modpackcontents")
|
||||||
dlg.data.hide_modpackcontents = false
|
dlg.data.selected_mod = tonumber(core.setting_get("world_config_selected_mod"))
|
||||||
|
if dlg.data.selected_mod == nil then
|
||||||
dlg.data.selected_mod = 0
|
dlg.data.selected_mod = 0
|
||||||
|
end
|
||||||
|
|
||||||
dlg.data.worldspec = core.get_worlds()[worldidx]
|
dlg.data.worldspec = core.get_worlds()[worldidx]
|
||||||
if dlg.data.worldspec == nil then dlg:delete() return nil end
|
if dlg.data.worldspec == nil then dlg:delete() return nil end
|
||||||
@ -278,6 +289,11 @@ function create_configure_world_dlg(worldidx)
|
|||||||
gameid = dlg.data.worldspec.gameid }
|
gameid = dlg.data.worldspec.gameid }
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
if dlg.data.selected_mod > dlg.data.list:size() then
|
||||||
|
dlg.data.selected_mod = 0
|
||||||
|
end
|
||||||
|
|
||||||
dlg.data.list:set_filtercriteria(
|
dlg.data.list:set_filtercriteria(
|
||||||
{
|
{
|
||||||
hide_game=dlg.data.hide_gamemods,
|
hide_game=dlg.data.hide_gamemods,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user