Просмотр исходного кода

Merge pull request #88057 from passivestar/cmd-backspace-lineedit

Fix LineEdit behavior for deleting all the way to the left/right
Rémi Verschelde 1 год назад
Родитель
Сommit
768ab25562
1 измененных файлов с 4 добавлено и 3 удалено
  1. 4 3
      scene/gui/line_edit.cpp

+ 4 - 3
scene/gui/line_edit.cpp

@@ -140,7 +140,9 @@ void LineEdit::_backspace(bool p_word, bool p_all_to_left) {
 
 
 	if (p_all_to_left) {
 	if (p_all_to_left) {
 		deselect();
 		deselect();
-		text = text.substr(0, caret_column);
+		text = text.substr(caret_column);
+		_shape();
+		set_caret_column(0);
 		_text_changed();
 		_text_changed();
 		return;
 		return;
 	}
 	}
@@ -176,9 +178,8 @@ void LineEdit::_delete(bool p_word, bool p_all_to_right) {
 
 
 	if (p_all_to_right) {
 	if (p_all_to_right) {
 		deselect();
 		deselect();
-		text = text.substr(caret_column, text.length() - caret_column);
+		text = text.substr(0, caret_column);
 		_shape();
 		_shape();
-		set_caret_column(0);
 		_text_changed();
 		_text_changed();
 		return;
 		return;
 	}
 	}