if (gadget_pressed_inside_select_line)
new_gi = NULL;
+
+ StopTextInput();
}
gadget_pressed =
if (gi->textinput.cursor_position != old_cursor_position)
DrawGadget(gi, DG_PRESSED, gi->direct_draw);
+
+ if (press_event)
+ StartTextInput(gi->x, gi->y, gi->width, gi->height);
}
else if (gi->type & GD_TYPE_TEXT_AREA && button != 0 && !motion_status)
{
if (gi->textarea.cursor_position != old_cursor_position)
DrawGadget(gi, DG_PRESSED, gi->direct_draw);
+
+ if (press_event)
+ StartTextInput(gi->x, gi->y, gi->width, gi->height);
}
else if (gi->type & GD_TYPE_SELECTBOX && gi->selectbox.open &&
!keep_selectbox_open)
gi->type & GD_TYPE_SELECTBOX))
return FALSE;
- if (key == KSYM_Return) /* valid for both text input and selectbox */
+ if (key == KSYM_Escape)
+ {
+ StopTextInput();
+ }
+ else if (key == KSYM_Return) /* valid for both text input and selectbox */
{
boolean gadget_changed = ((gi->event_mask & GD_EVENT_TEXT_RETURN) != 0);
strcpy(gi->textinput.last_value, gi->textinput.value);
else
gadget_changed = FALSE;
+
+ StopTextInput();
}
else if (gi->type & GD_TYPE_SELECTBOX)
{