From d88e192ae49dd8c30cf4f94f4a50e41b7d912c2d Mon Sep 17 00:00:00 2001 From: Juan Linietsky Date: Fri, 2 Jan 2015 14:27:21 -0300 Subject: [PATCH] -fix readonly issues (#1018) --- scene/gui/text_edit.cpp | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/scene/gui/text_edit.cpp b/scene/gui/text_edit.cpp index 3f2f95bbd97..e152c45e52b 100644 --- a/scene/gui/text_edit.cpp +++ b/scene/gui/text_edit.cpp @@ -829,7 +829,7 @@ void TextEdit::_notification(int p_what) { completion_rect.pos.x=cursor_pos.x-nofs; } - completion_rect.size.width=w; + completion_rect.size.width=w+2; completion_rect.size.height=h; if (completion_options.size()<=maxlines) scrollw=0; @@ -1034,6 +1034,8 @@ void TextEdit::_consume_backspace_for_pair_symbol(int prev_line, int prev_column } void TextEdit::backspace_at_cursor() { + if (readonly) + return; if (cursor.column==0 && cursor.line==0) return; @@ -1251,6 +1253,8 @@ void TextEdit::_input_event(const InputEvent& p_input_event) { return; if (completion_active) { + if (readonly) + break; bool valid=true; if (k.mod.command || k.mod.alt || k.mod.meta) @@ -1400,6 +1404,9 @@ void TextEdit::_input_event(const InputEvent& p_input_event) { if (selection.active) { + if (readonly) + break; + bool clear=false; bool unselect=false; bool dobreak=false; @@ -1513,6 +1520,9 @@ void TextEdit::_input_event(const InputEvent& p_input_event) { case KEY_ENTER: case KEY_RETURN: { + if (readonly) + break; + String ins="\n"; //keep indentation