diff options
author | jonyrock <ilms@live.ru> | 2014-04-10 19:57:20 +0400 |
---|---|---|
committer | jonyrock <ilms@live.ru> | 2014-04-10 19:57:20 +0400 |
commit | 89568b9017ec6f2c994697ce4d48de117e71b18e (patch) | |
tree | 8ecc15387cd8d8416e76743622014440b95890d9 /scene/gui/text_edit.cpp | |
parent | a5f556c9ff7c80f5a30559cd22223e8a613d0a60 (diff) |
home button like & whitespace
Diffstat (limited to 'scene/gui/text_edit.cpp')
-rw-r--r-- | scene/gui/text_edit.cpp | 17 |
1 files changed, 15 insertions, 2 deletions
diff --git a/scene/gui/text_edit.cpp b/scene/gui/text_edit.cpp index 233e3bee66..3e4c04873a 100644 --- a/scene/gui/text_edit.cpp +++ b/scene/gui/text_edit.cpp @@ -1349,8 +1349,21 @@ void TextEdit::_input_event(const InputEvent& p_input_event) { if (k.mod.shift) _pre_shift_selection(); - - cursor_set_column(0); + + // compute whitespace symbols seq length + int current_line_whitespace_len = 0; + while(current_line_whitespace_len < text[cursor.line].length()) { + CharType c = text[cursor.line][current_line_whitespace_len]; + if(c != '\t' && c != ' ') + break; + current_line_whitespace_len++; + } + + if(cursor_get_column() == current_line_whitespace_len) + cursor_set_column(0); + else + cursor_set_column(current_line_whitespace_len); + if (k.mod.command) cursor_set_line(0); |