diff options
author | Martin Chuckeles <martin@jakubik.info> | 2016-03-04 20:10:31 +0100 |
---|---|---|
committer | Martin Chuckeles <martin@jakubik.info> | 2016-03-04 20:10:31 +0100 |
commit | bd7f2590f19bc3e6e15c532a79823f9a71a4d8ea (patch) | |
tree | 7d875d0c6eb044e41b75664bf508954d615e6278 | |
parent | 5a9b18b665b250b54c0d8eb80354dc08e363377c (diff) |
Add special new line opening
-rw-r--r-- | scene/gui/text_edit.cpp | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/scene/gui/text_edit.cpp b/scene/gui/text_edit.cpp index 5d7436517f..df6bd21a93 100644 --- a/scene/gui/text_edit.cpp +++ b/scene/gui/text_edit.cpp @@ -1677,9 +1677,30 @@ void TextEdit::_input_event(const InputEvent& p_input_event) { ins+="\t"; } } + + bool first_line = false; + if (k.mod.command) { + if (k.mod.shift) { + if (cursor.line > 0) { + cursor_set_line(cursor.line - 1); + cursor_set_column(text[cursor.line].length()); + } + else { + cursor_set_column(0); + first_line = true; + } + } + else { + cursor_set_column(text[cursor.line].length()); + } + } _insert_text_at_cursor(ins); _push_current_op(); + + if (first_line) { + cursor_set_line(0); + } } break; case KEY_ESCAPE: { |