summaryrefslogtreecommitdiff
path: root/scene/gui
diff options
context:
space:
mode:
authormarynate <mary.w.nate@gmail.com>2014-05-04 11:22:49 +0800
committermarynate <mary.w.nate@gmail.com>2014-05-06 21:06:03 +0800
commit0771020c8357eee5ea9c395782089d867db84c05 (patch)
tree695acca948bd96903290a15372d09659ce27fad9 /scene/gui
parent5044bead5f344a24f971f0bb0c8d282f1785f06a (diff)
Add auto code completion (without press Ctrl+Space manually)
Disalbe auto code completion even there's only one option Hide auto-completion if only one completion option and it's been typed Support use tab key to accept code completion option
Diffstat (limited to 'scene/gui')
-rw-r--r--scene/gui/text_edit.cpp6
1 files changed, 5 insertions, 1 deletions
diff --git a/scene/gui/text_edit.cpp b/scene/gui/text_edit.cpp
index bd15e14ccd..2ac9c66771 100644
--- a/scene/gui/text_edit.cpp
+++ b/scene/gui/text_edit.cpp
@@ -1106,7 +1106,7 @@ void TextEdit::_input_event(const InputEvent& p_input_event) {
return;
}
- if (k.scancode==KEY_RETURN) {
+ if (k.scancode==KEY_RETURN || k.scancode==KEY_TAB) {
_confirm_completion();
accept_event();
@@ -2896,6 +2896,7 @@ void TextEdit::_update_completion_candidates() {
completion_current=completion_options[completion_index];
+#if 0 // even there's only one option, user still get the chance to choose using it or not
if (completion_options.size()==1) {
//one option to complete, just complete it automagically
_confirm_completion();
@@ -2904,6 +2905,9 @@ void TextEdit::_update_completion_candidates() {
return;
}
+#endif
+ if (completion_options.size()==1 && s==completion_options[0])
+ _cancel_completion();
completion_enabled=true;