Selected text is now deselected on ctrl+home/end
This fixes Issue #7694 and also the error mentioned in the comments of that issue.
(cherry picked from commit 1169f4e040
)
This commit is contained in:
parent
97fef612fb
commit
31260bb720
1 changed files with 26 additions and 15 deletions
|
@ -2370,6 +2370,8 @@ void TextEdit::_input_event(const InputEvent& p_input_event) {
|
|||
|
||||
if (k.mod.shift)
|
||||
_post_shift_selection();
|
||||
else if(k.mod.command || k.mod.control)
|
||||
deselect();
|
||||
|
||||
} break;
|
||||
#else
|
||||
|
@ -2379,25 +2381,30 @@ void TextEdit::_input_event(const InputEvent& p_input_event) {
|
|||
if (k.mod.shift)
|
||||
_pre_shift_selection();
|
||||
|
||||
// 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)
|
||||
if (k.mod.command) {
|
||||
cursor_set_line(0);
|
||||
cursor_set_column(0);
|
||||
}
|
||||
else {
|
||||
// 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.shift)
|
||||
_post_shift_selection();
|
||||
else if(k.mod.command || k.mod.control)
|
||||
deselect();
|
||||
_cancel_completion();
|
||||
completion_hint="";
|
||||
|
||||
|
@ -2420,6 +2427,8 @@ void TextEdit::_input_event(const InputEvent& p_input_event) {
|
|||
|
||||
if (k.mod.shift)
|
||||
_post_shift_selection();
|
||||
else if(k.mod.command || k.mod.control)
|
||||
deselect();
|
||||
|
||||
} break;
|
||||
#else
|
||||
|
@ -2434,6 +2443,8 @@ void TextEdit::_input_event(const InputEvent& p_input_event) {
|
|||
|
||||
if (k.mod.shift)
|
||||
_post_shift_selection();
|
||||
else if(k.mod.command || k.mod.control)
|
||||
deselect();
|
||||
|
||||
_cancel_completion();
|
||||
completion_hint="";
|
||||
|
|
Loading…
Reference in a new issue