aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorrubenwardy <rw@rubenwardy.com>2019-02-03 01:49:53 +0000
committerrubenwardy <rw@rubenwardy.com>2019-02-03 13:43:00 +0000
commit809cb9fc0bcf89d247f509a42351db102a0e278c (patch)
tree76d75492b18f9affae2341fdbf72c3c86bf06687
parent7c239767ff2e500c0bdc23c0fd0f3e8a2823c0db (diff)
downloadminetest-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.lua17
-rw-r--r--builtin/mainmenu/pkgmgr.lua7
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