From 26e3b4a58a2e47f626166132108c34843b06f85c Mon Sep 17 00:00:00 2001 From: Haoyu Qiu Date: Wed, 15 Jan 2020 09:42:06 +0800 Subject: [PATCH] Updates LineEdit's min size when necessary These properties will affect the minimum size of LineEdit: * The right icon (`set_right_icon`) * The clear button (`set_editable` and `set_clear_button_enabled`) * The text, when "expand to text length" is enabled (`set_text`) --- scene/gui/line_edit.cpp | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/scene/gui/line_edit.cpp b/scene/gui/line_edit.cpp index a6cd9a0665..0f3328dac5 100644 --- a/scene/gui/line_edit.cpp +++ b/scene/gui/line_edit.cpp @@ -1239,6 +1239,11 @@ void LineEdit::set_text(String p_text) { clear_internal(); append_at_cursor(p_text); + + if (expand_to_text_length) { + minimum_size_changed(); + } + update(); cursor_pos = 0; window_pos = 0; @@ -1482,6 +1487,7 @@ void LineEdit::set_editable(bool p_editable) { editable = p_editable; _generate_context_menu(); + minimum_size_changed(); update(); } @@ -1617,7 +1623,11 @@ bool LineEdit::get_expand_to_text_length() const { } void LineEdit::set_clear_button_enabled(bool p_enabled) { + if (clear_button_enabled == p_enabled) { + return; + } clear_button_enabled = p_enabled; + minimum_size_changed(); update(); } @@ -1653,6 +1663,7 @@ void LineEdit::set_right_icon(const Ref &p_icon) { return; } right_icon = p_icon; + minimum_size_changed(); update(); }