diff options
Diffstat (limited to 'builtin/mainmenu/dlg_rename_modpack.lua')
-rw-r--r-- | builtin/mainmenu/dlg_rename_modpack.lua | 46 |
1 files changed, 25 insertions, 21 deletions
diff --git a/builtin/mainmenu/dlg_rename_modpack.lua b/builtin/mainmenu/dlg_rename_modpack.lua index 9e252408a..ca76a8cbe 100644 --- a/builtin/mainmenu/dlg_rename_modpack.lua +++ b/builtin/mainmenu/dlg_rename_modpack.lua @@ -18,37 +18,41 @@ -------------------------------------------------------------------------------- local function rename_modpack_formspec(dialogdata) - - dialogdata.mod = modmgr.global_mods:get_list()[dialogdata.selected] - local retval = - "size[12.4,5,true]" .. - "label[1.75,1;".. fgettext("Rename Modpack:") .. "]".. - "field[4.5,1.4;6,0.5;te_modpack_name;;" .. - dialogdata.mod.name .. - "]" .. - "button[5,4.2;2.6,0.5;dlg_rename_modpack_confirm;".. + "size[11.5,4.5,true]" .. + "button[3.25,3.5;2.5,0.5;dlg_rename_modpack_confirm;".. fgettext("Accept") .. "]" .. - "button[7.5,4.2;2.8,0.5;dlg_rename_modpack_cancel;".. + "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"] - core.copy_dir(oldpath,targetpath,false) - modmgr.refresh_globals() - modmgr.selected_mod = modmgr.global_mods:get_current_index( - modmgr.global_mods:raw_index_by_uid(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( + pkgmgr.global_mods:raw_index_by_uid(fields["te_modpack_name"])) + this:delete() return true end - + if fields["dlg_rename_modpack_cancel"] then this:delete() return true @@ -58,12 +62,12 @@ local function rename_modpack_buttonhandler(this, fields) end -------------------------------------------------------------------------------- -function create_rename_modpack_dlg(selected_index) +function create_rename_modpack_dlg(modpack) local retval = dialog_create("dlg_delete_mod", rename_modpack_formspec, rename_modpack_buttonhandler, nil) - retval.data.selected = selected_index + retval.data.mod = modpack return retval end |