mirror of
https://github.com/minetest/minetest.git
synced 2024-11-13 03:03:44 +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));
|
core::position2d<s32>(event.MouseInput.X, event.MouseInput.Y));
|
||||||
if ((hovered) && (hovered->getType() == irr::gui::EGUIET_EDIT_BOX)) {
|
if ((hovered) && (hovered->getType() == irr::gui::EGUIET_EDIT_BOX)) {
|
||||||
bool retval = hovered->OnEvent(event);
|
bool retval = hovered->OnEvent(event);
|
||||||
if (retval) {
|
if (retval)
|
||||||
Environment->setFocus(hovered);
|
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 message = gettext("Enter ");
|
||||||
std::string label = wide_to_utf8(getLabelByID(hovered->getID()));
|
std::string label = wide_to_utf8(getLabelByID(hovered->getID()));
|
||||||
if (label == "") {
|
if (label.empty())
|
||||||
label = "text";
|
label = "text";
|
||||||
}
|
|
||||||
message += gettext(label) + ":";
|
message += gettext(label) + ":";
|
||||||
|
|
||||||
/* single line text input */
|
/* single line text input */
|
||||||
int type = 2;
|
int type = 2;
|
||||||
|
|
||||||
/* multi line text input */
|
/* multi line text input */
|
||||||
if (((gui::IGUIEditBox*) hovered)->isMultiLineEnabled()) {
|
if (((gui::IGUIEditBox*) hovered)->isMultiLineEnabled())
|
||||||
type = 1;
|
type = 1;
|
||||||
}
|
|
||||||
|
|
||||||
/* passwords are always single line */
|
/* passwords are always single line */
|
||||||
if (((gui::IGUIEditBox*) hovered)->isPasswordBox()) {
|
if (((gui::IGUIEditBox*) hovered)->isPasswordBox())
|
||||||
type = 3;
|
type = 3;
|
||||||
}
|
|
||||||
|
|
||||||
porting::showInputDialog(gettext("ok"), "",
|
porting::showInputDialog(gettext("ok"), "",
|
||||||
wide_to_utf8(((gui::IGUIEditBox*) hovered)->getText()),
|
wide_to_utf8(((gui::IGUIEditBox*) hovered)->getText()),
|
||||||
|
Loading…
Reference in New Issue
Block a user