summaryrefslogtreecommitdiff
path: root/scene/gui
diff options
context:
space:
mode:
authorMartin Chuckeles <martin@jakubik.info>2016-03-04 20:10:31 +0100
committerMartin Chuckeles <martin@jakubik.info>2016-03-04 20:10:31 +0100
commitbd7f2590f19bc3e6e15c532a79823f9a71a4d8ea (patch)
tree7d875d0c6eb044e41b75664bf508954d615e6278 /scene/gui
parent5a9b18b665b250b54c0d8eb80354dc08e363377c (diff)
Add special new line opening
Diffstat (limited to 'scene/gui')
-rw-r--r--scene/gui/text_edit.cpp21
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: {