summaryrefslogtreecommitdiff
path: root/tools
diff options
context:
space:
mode:
Diffstat (limited to 'tools')
-rw-r--r--tools/editor/code_editor.cpp14
-rw-r--r--tools/editor/code_editor.h1
2 files changed, 12 insertions, 3 deletions
diff --git a/tools/editor/code_editor.cpp b/tools/editor/code_editor.cpp
index 734bf48975..d86e48f74e 100644
--- a/tools/editor/code_editor.cpp
+++ b/tools/editor/code_editor.cpp
@@ -484,8 +484,8 @@ void CodeTextEditor::_text_changed() {
}
void CodeTextEditor::_code_complete_timer_timeout() {
-
- text_editor->query_code_comple();
+ if (enable_complete_timer)
+ text_editor->query_code_comple();
}
void CodeTextEditor::_complete_request(const String& p_request, int p_line) {
@@ -534,7 +534,12 @@ void CodeTextEditor::_on_settings_change() {
text_editor->set_auto_brace_completion(
EDITOR_DEF("text_editor/auto_brace_complete", false)
);
-
+
+ code_complete_timer->set_wait_time(
+ EDITOR_DEF("text_editor/code_complete_delay",.3f)
+ );
+
+ enable_complete_timer = EDITOR_DEF("text_editor/enable_code_completion_delay",true);
}
void CodeTextEditor::_text_changed_idle_timeout() {
@@ -584,6 +589,8 @@ CodeTextEditor::CodeTextEditor() {
code_complete_timer = memnew(Timer);
add_child(code_complete_timer);
code_complete_timer->set_one_shot(true);
+ enable_complete_timer = EDITOR_DEF("text_editor/enable_code_completion_delay",true);
+
code_complete_timer->set_wait_time(EDITOR_DEF("text_editor/code_complete_delay",.3f));
error = memnew( Label );
@@ -604,6 +611,7 @@ CodeTextEditor::CodeTextEditor() {
cs.push_back(".");
text_editor->set_completion(true,cs);
idle->connect("timeout", this,"_text_changed_idle_timeout");
+
code_complete_timer->connect("timeout", this,"_code_complete_timer_timeout");
EditorSettings::get_singleton()->connect("settings_changed",this,"_on_settings_change");
diff --git a/tools/editor/code_editor.h b/tools/editor/code_editor.h
index 2ca2ae9873..1804237f18 100644
--- a/tools/editor/code_editor.h
+++ b/tools/editor/code_editor.h
@@ -129,6 +129,7 @@ class CodeTextEditor : public Control {
Label *info;
Timer *idle;
Timer *code_complete_timer;
+ bool enable_complete_timer;
Label *error;