mirror of
https://github.com/minetest/minetest.git
synced 2024-12-28 00:47:29 +01:00
Don't show Android edit dialog when tapping read-only field (#7337)
* Don't show Android edit dialog when tapping read-only field From Lua API, "If the name is empty the textarea is readonly."
This commit is contained in:
parent
a1598e1b83
commit
2f34797c5c
@ -3026,29 +3026,31 @@ bool GUIFormSpecMenu::preprocessEvent(const SEvent& event)
|
||||
core::position2d<s32>(event.MouseInput.X, event.MouseInput.Y));
|
||||
if ((hovered) && (hovered->getType() == irr::gui::EGUIET_EDIT_BOX)) {
|
||||
bool retval = hovered->OnEvent(event);
|
||||
if (retval) {
|
||||
if (retval)
|
||||
Environment->setFocus(hovered);
|
||||
}
|
||||
m_JavaDialogFieldName = getNameByID(hovered->getID());
|
||||
|
||||
std::string field_name = getNameByID(hovered->getID());
|
||||
/* read-only field */
|
||||
if (field_name.empty())
|
||||
return retval;
|
||||
|
||||
m_JavaDialogFieldName = field_name;
|
||||
std::string message = gettext("Enter ");
|
||||
std::string label = wide_to_utf8(getLabelByID(hovered->getID()));
|
||||
if (label == "") {
|
||||
if (label.empty())
|
||||
label = "text";
|
||||
}
|
||||
message += gettext(label) + ":";
|
||||
|
||||
/* single line text input */
|
||||
int type = 2;
|
||||
|
||||
/* multi line text input */
|
||||
if (((gui::IGUIEditBox*) hovered)->isMultiLineEnabled()) {
|
||||
if (((gui::IGUIEditBox*) hovered)->isMultiLineEnabled())
|
||||
type = 1;
|
||||
}
|
||||
|
||||
/* passwords are always single line */
|
||||
if (((gui::IGUIEditBox*) hovered)->isPasswordBox()) {
|
||||
if (((gui::IGUIEditBox*) hovered)->isPasswordBox())
|
||||
type = 3;
|
||||
}
|
||||
|
||||
porting::showInputDialog(gettext("ok"), "",
|
||||
wide_to_utf8(((gui::IGUIEditBox*) hovered)->getText()),
|
||||
|
Loading…
Reference in New Issue
Block a user