summaryrefslogtreecommitdiffstats
path: root/scene/gui/line_edit.cpp
diff options
context:
space:
mode:
authorRémi Verschelde <rverschelde@gmail.com>2018-06-13 15:26:50 +0200
committerGitHub <noreply@github.com>2018-06-13 15:26:50 +0200
commitd6d8237a5a976317493b9759868c6246c22f39c9 (patch)
tree55f5622e88e75761adf2ac746d7e9b8bd07a3c50 /scene/gui/line_edit.cpp
parent7bb6b39c10135119f9510a6f43f929be5dbeceaa (diff)
parentc5bdb5b1d8893abaf171520412479fb31a697a41 (diff)
downloadredot-engine-d6d8237a5a976317493b9759868c6246c22f39c9.tar.gz
Merge pull request #19509 from SaracenOne/ime
IME context detection.
Diffstat (limited to 'scene/gui/line_edit.cpp')
-rw-r--r--scene/gui/line_edit.cpp3
1 files changed, 3 insertions, 0 deletions
diff --git a/scene/gui/line_edit.cpp b/scene/gui/line_edit.cpp
index f1f1a66b47..71cb01d2ee 100644
--- a/scene/gui/line_edit.cpp
+++ b/scene/gui/line_edit.cpp
@@ -756,6 +756,7 @@ void LineEdit::_notification(int p_what) {
if (has_focus()) {
+ OS::get_singleton()->set_ime_active(true);
OS::get_singleton()->set_ime_position(get_global_position() + Point2(x_ofs, y_ofs + caret_height));
OS::get_singleton()->set_ime_intermediate_text_callback(_ime_text_callback, this);
}
@@ -766,6 +767,7 @@ void LineEdit::_notification(int p_what) {
draw_caret = true;
}
+ OS::get_singleton()->set_ime_active(true);
Point2 cursor_pos = Point2(get_cursor_position(), 1) * get_minimum_size().height;
OS::get_singleton()->set_ime_position(get_global_position() + cursor_pos);
OS::get_singleton()->set_ime_intermediate_text_callback(_ime_text_callback, this);
@@ -778,6 +780,7 @@ void LineEdit::_notification(int p_what) {
OS::get_singleton()->set_ime_position(Point2());
OS::get_singleton()->set_ime_intermediate_text_callback(NULL, NULL);
+ OS::get_singleton()->set_ime_active(false);
ime_text = "";
ime_selection = Point2();