diff options
author | rubenwardy <rw@rubenwardy.com> | 2019-02-03 01:49:53 +0000 |
---|---|---|
committer | rubenwardy <rw@rubenwardy.com> | 2019-02-03 13:43:00 +0000 |
commit | 809cb9fc0bcf89d247f509a42351db102a0e278c (patch) | |
tree | 76d75492b18f9affae2341fdbf72c3c86bf06687 | |
parent | 7c239767ff2e500c0bdc23c0fd0f3e8a2823c0db (diff) | |
download | minetest-809cb9fc0bcf89d247f509a42351db102a0e278c.tar.gz minetest-809cb9fc0bcf89d247f509a42351db102a0e278c.tar.bz2 minetest-809cb9fc0bcf89d247f509a42351db102a0e278c.zip |
Fix rename modpack dialog not appearing to take affect
-rw-r--r-- | builtin/mainmenu/dlg_rename_modpack.lua | 17 | ||||
-rw-r--r-- | builtin/mainmenu/pkgmgr.lua | 7 |
2 files changed, 19 insertions, 5 deletions
diff --git a/builtin/mainmenu/dlg_rename_modpack.lua b/builtin/mainmenu/dlg_rename_modpack.lua index b39be7f70..ca76a8cbe 100644 --- a/builtin/mainmenu/dlg_rename_modpack.lua +++ b/builtin/mainmenu/dlg_rename_modpack.lua @@ -20,21 +20,30 @@ local function rename_modpack_formspec(dialogdata) local retval = "size[11.5,4.5,true]" .. - "field[2.5,2;7,0.5;te_modpack_name;".. fgettext("Rename Modpack:") .. ";" .. - dialogdata.mod.name .. "]" .. "button[3.25,3.5;2.5,0.5;dlg_rename_modpack_confirm;".. fgettext("Accept") .. "]" .. "button[5.75,3.5;2.5,0.5;dlg_rename_modpack_cancel;".. fgettext("Cancel") .. "]" + local input_y = 2 + if dialogdata.mod.is_name_explicit then + retval = retval .. "textarea[1,0.2;10,2;;;" .. + fgettext("This modpack has an explicit name given in its modpack.conf " .. + "which will override any renaming here.") .. "]" + input_y = 2.5 + end + retval = retval .. + "field[2.5," .. input_y .. ";7,0.5;te_modpack_name;" .. + fgettext("Rename Modpack:") .. ";" .. dialogdata.mod.dir_name .. "]" + return retval end -------------------------------------------------------------------------------- local function rename_modpack_buttonhandler(this, fields) if fields["dlg_rename_modpack_confirm"] ~= nil then - local oldpath = core.get_modpath() .. DIR_DELIM .. this.data.mod.name - local targetpath = core.get_modpath() .. DIR_DELIM .. fields["te_modpack_name"] + local oldpath = this.data.mod.path + local targetpath = this.data.mod.parent_dir .. DIR_DELIM .. fields["te_modpack_name"] os.rename(oldpath, targetpath) pkgmgr.refresh_globals() pkgmgr.selected_mod = pkgmgr.global_mods:get_current_index( diff --git a/builtin/mainmenu/pkgmgr.lua b/builtin/mainmenu/pkgmgr.lua index 7863f1ca1..d85092457 100644 --- a/builtin/mainmenu/pkgmgr.lua +++ b/builtin/mainmenu/pkgmgr.lua @@ -22,7 +22,10 @@ function get_mods(path,retval,modpack) for _, name in ipairs(mods) do if name:sub(1, 1) ~= "." then local prefix = path .. DIR_DELIM .. name - local toadd = {} + local toadd = { + dir_name = name, + parent_dir = path, + } retval[#retval + 1] = toadd -- Get config file @@ -35,11 +38,13 @@ function get_mods(path,retval,modpack) mod_conf = Settings(prefix .. DIR_DELIM .. "modpack.conf"):to_table() if mod_conf.name then name = mod_conf.name + toadd.is_name_explicit = true end else mod_conf = Settings(prefix .. DIR_DELIM .. "mod.conf"):to_table() if mod_conf.name then name = mod_conf.name + toadd.is_name_explicit = true end end |