diff options
author | Paulo Gomes <tuga3d@gmail.com> | 2017-09-06 02:02:51 +0100 |
---|---|---|
committer | Paulo Gomes <tuga3d@gmail.com> | 2017-09-06 19:23:09 +0100 |
commit | 9b72f0804268b99b341c0c700cdac5617162216d (patch) | |
tree | 4c2624cd01ea038ad99302640bea1a3498012854 | |
parent | 0b8fa1e01068af9924742ade2625e021ccd2c5a8 (diff) | |
download | redot-engine-9b72f0804268b99b341c0c700cdac5617162216d.tar.gz |
second take at autocomplete logic, using a TextOperation check.
-rw-r--r-- | editor/code_editor.cpp | 6 | ||||
-rw-r--r-- | scene/gui/text_edit.cpp | 4 | ||||
-rw-r--r-- | scene/gui/text_edit.h | 2 |
3 files changed, 10 insertions, 2 deletions
diff --git a/editor/code_editor.cpp b/editor/code_editor.cpp index 8c153d2745..5dd8b8a800 100644 --- a/editor/code_editor.cpp +++ b/editor/code_editor.cpp @@ -1023,8 +1023,10 @@ void CodeTextEditor::_line_col_changed() { void CodeTextEditor::_text_changed() { - code_complete_timer->start(); - idle->start(); + if (text_editor->is_insert_text_operation()) { + code_complete_timer->start(); + idle->start(); + } } void CodeTextEditor::_code_complete_timer_timeout() { diff --git a/scene/gui/text_edit.cpp b/scene/gui/text_edit.cpp index 1738e303aa..4f930c5139 100644 --- a/scene/gui/text_edit.cpp +++ b/scene/gui/text_edit.cpp @@ -4255,6 +4255,10 @@ bool TextEdit::is_insert_mode() const { return insert_mode; } +bool TextEdit::is_insert_text_operation() { + return (current_op.type == TextOperation::TYPE_INSERT); +} + uint32_t TextEdit::get_version() const { return current_op.version; } diff --git a/scene/gui/text_edit.h b/scene/gui/text_edit.h index 68ef559f46..7e61c4e8b1 100644 --- a/scene/gui/text_edit.h +++ b/scene/gui/text_edit.h @@ -386,6 +386,8 @@ public: void begin_complex_operation(); void end_complex_operation(); + bool is_insert_text_operation(); + void set_text(String p_text); void insert_text_at_cursor(const String &p_text); void insert_at(const String &p_text, int at); |