local nodename = worldedit.normalize_nodename(node)\r
return "size[6.5,3]" .. worldedit.get_formspec_header("worldedit_gui_set") ..\r
string.format("field[0.5,1.5;4,0.8;worldedit_gui_set_node;Name;%s]", minetest.formspec_escape(node)) ..\r
+ "field_close_on_enter[worldedit_gui_set_node;false]" ..\r
"button[4,1.18;1.5,0.8;worldedit_gui_set_search;Search]" ..\r
formspec_node("5.5,1.1", nodename) ..\r
"button_exit[0,2.5;3,0.8;worldedit_gui_set_submit;Set Nodes]"\r
})\r
\r
worldedit.register_gui_handler("worldedit_gui_set", function(name, fields)\r
- if fields.worldedit_gui_set_search or fields.worldedit_gui_set_submit then\r
+ local ret = false\r
+ if fields.worldedit_gui_set_search or fields.key_enter_field == "worldedit_gui_set_node" then\r
gui_nodename1[name] = tostring(fields.worldedit_gui_set_node)\r
worldedit.show_page(name, "worldedit_gui_set")\r
- if fields.worldedit_gui_set_submit then\r
- local n = worldedit.normalize_nodename(gui_nodename1[name])\r
- if n then\r
- minetest.chatcommands["/set"].func(name, n)\r
- end\r
+ ret = true -- fallthrough\r
+ end\r
+ if fields.worldedit_gui_set_submit then\r
+ local n = worldedit.normalize_nodename(gui_nodename1[name])\r
+ if n then\r
+ minetest.chatcommands["/set"].func(name, n)\r
end\r
return true\r
end\r
- return false\r
+ return ret\r
end)\r
\r
worldedit.register_gui_function("worldedit_gui_replace", {\r
local search_nodename, replace_nodename = worldedit.normalize_nodename(search), worldedit.normalize_nodename(replace)\r
return "size[6.5,4]" .. worldedit.get_formspec_header("worldedit_gui_replace") ..\r
string.format("field[0.5,1.5;4,0.8;worldedit_gui_replace_search;Name;%s]", minetest.formspec_escape(search)) ..\r
+ "field_close_on_enter[worldedit_gui_replace_search;false]" ..\r
"button[4,1.18;1.5,0.8;worldedit_gui_replace_search_search;Search]" ..\r
formspec_node("5.5,1.1", search_nodename) ..\r
string.format("field[0.5,2.5;4,0.8;worldedit_gui_replace_replace;Name;%s]", minetest.formspec_escape(replace)) ..\r
+ "field_close_on_enter[worldedit_gui_replace_replace;false]" ..\r
"button[4,2.18;1.5,0.8;worldedit_gui_replace_replace_search;Search]" ..\r
formspec_node("5.5,2.1", replace_nodename) ..\r
"button_exit[0,3.5;3,0.8;worldedit_gui_replace_submit;Replace Nodes]" ..\r
})\r
\r
worldedit.register_gui_handler("worldedit_gui_replace", function(name, fields)\r
+ local ret = false\r
if fields.worldedit_gui_replace_search_search or fields.worldedit_gui_replace_replace_search\r
- or fields.worldedit_gui_replace_submit or fields.worldedit_gui_replace_submit_inverse then\r
+ or table.indexof({"worldedit_gui_replace_search", "worldedit_gui_replace_replace"}, fields.key_enter_field) ~= -1 then\r
gui_nodename1[name] = tostring(fields.worldedit_gui_replace_search)\r
gui_nodename2[name] = tostring(fields.worldedit_gui_replace_replace)\r
worldedit.show_page(name, "worldedit_gui_replace")\r
\r
- local submit = nil\r
- if fields.worldedit_gui_replace_submit then\r
- submit = "replace"\r
- elseif fields.worldedit_gui_replace_submit_inverse then\r
+ ret = true -- fallthrough\r
+ end\r
+ if fields.worldedit_gui_replace_submit or fields.worldedit_gui_replace_submit_inverse then\r
+ local submit = "replace"\r
+ if fields.worldedit_gui_replace_submit_inverse then\r
submit = "replaceinverse"\r
end\r
- if submit then\r
- local n1 = worldedit.normalize_nodename(gui_nodename1[name])\r
- local n2 = worldedit.normalize_nodename(gui_nodename2[name])\r
- if n1 and n2 then\r
- minetest.chatcommands["/"..submit].func(name, string.format("%s %s", n1, n2))\r
- end\r
+ local n1 = worldedit.normalize_nodename(gui_nodename1[name])\r
+ local n2 = worldedit.normalize_nodename(gui_nodename2[name])\r
+ if n1 and n2 then\r
+ minetest.chatcommands["/"..submit].func(name, string.format("%s %s", n1, n2))\r
end\r
return true\r
end\r
- return false\r
+ return ret\r
end)\r
\r
worldedit.register_gui_function("worldedit_gui_sphere_dome", {\r