Browse Source

Make LineEdit scrolling show as much text as possible

Sofox 1 year ago
parent
commit
8661667dde
1 changed files with 6 additions and 0 deletions
  1. 6 0
      scene/gui/line_edit.cpp

+ 6 - 0
scene/gui/line_edit.cpp

@@ -1713,6 +1713,12 @@ void LineEdit::set_caret_column(int p_column) {
 	} else if (MAX(primary_caret_offset.x, primary_caret_offset.y) >= ofs_max) {
 		scroll_offset += ofs_max - MAX(primary_caret_offset.x, primary_caret_offset.y);
 	}
+
+	// Scroll to show as much text as possible
+	if (text_width + scroll_offset + x_ofs < ofs_max) {
+		scroll_offset = ofs_max - x_ofs - text_width;
+	}
+
 	scroll_offset = MIN(0, scroll_offset);
 
 	queue_redraw();