Browse Source

Added a setting to disable autocomplete popup and fixed the autocomplete timer to updated when the setting has changed

Jonas Rudlang 11 years ago
parent
commit
6b1b3fbfa5
2 changed files with 12 additions and 3 deletions
  1. 11 3
      tools/editor/code_editor.cpp
  2. 1 0
      tools/editor/code_editor.h

+ 11 - 3
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");

+ 1 - 0
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;