浏览代码

Fix LineEdit behavior for deleting all the way to the left/right

passivestar 1 年之前
父节点
当前提交
2c0d0c1473
共有 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) {
 		deselect();
-		text = text.substr(0, caret_column);
+		text = text.substr(caret_column);
+		_shape();
+		set_caret_column(0);
 		_text_changed();
 		return;
 	}
@@ -176,9 +178,8 @@ void LineEdit::_delete(bool p_word, bool p_all_to_right) {
 
 	if (p_all_to_right) {
 		deselect();
-		text = text.substr(caret_column, text.length() - caret_column);
+		text = text.substr(0, caret_column);
 		_shape();
-		set_caret_column(0);
 		_text_changed();
 		return;
 	}