2929/* *************************************************************************/
3030
3131#include " line_edit.h"
32+ #include " line_edit.compat.inc"
3233
3334#include " core/input/input_map.h"
3435#include " core/os/keyboard.h"
4546#include " editor/settings/editor_settings.h"
4647#endif
4748
48- void LineEdit::edit () {
49- _edit (true );
49+ void LineEdit::edit (bool p_hide_focus ) {
50+ _edit (true , p_hide_focus );
5051}
5152
52- void LineEdit::_edit (bool p_show_virtual_keyboard) {
53+ void LineEdit::_edit (bool p_show_virtual_keyboard, bool p_hide_focus ) {
5354 if (!is_inside_tree ()) {
5455 return ;
5556 }
5657
5758 if (!has_focus ()) {
58- grab_focus ();
59+ grab_focus (p_hide_focus );
5960 return ;
6061 }
6162
@@ -415,7 +416,7 @@ void LineEdit::gui_input(const Ref<InputEvent> &p_event) {
415416 }
416417
417418 if (editable && !editing) {
418- edit ();
419+ edit (true );
419420 emit_signal (SNAME (" editing_toggled" ), true );
420421 }
421422
@@ -432,7 +433,7 @@ void LineEdit::gui_input(const Ref<InputEvent> &p_event) {
432433 set_caret_at_pixel_pos (b->get_position ().x );
433434
434435 if (!editing) {
435- edit ();
436+ edit (true );
436437 emit_signal (SNAME (" editing_toggled" ), true );
437438 }
438439
@@ -535,7 +536,7 @@ void LineEdit::gui_input(const Ref<InputEvent> &p_event) {
535536 }
536537
537538 if (editable && !editing) {
538- edit ();
539+ edit (true );
539540 emit_signal (SNAME (" editing_toggled" ), true );
540541 return ;
541542 }
@@ -1099,10 +1100,10 @@ void LineEdit::drop_data(const Point2 &p_point, const Variant &p_data) {
10991100 selection_delete ();
11001101 set_caret_column (caret_column_tmp);
11011102 insert_text_at_caret (p_data);
1102- grab_focus ();
1103+ grab_focus (true );
11031104 } else {
11041105 insert_text_at_caret (p_data);
1105- grab_focus ();
1106+ grab_focus (true );
11061107 }
11071108 select (caret_column_tmp, caret_column);
11081109 if (!text_changed_dirty) {
@@ -3196,7 +3197,7 @@ void LineEdit::_bind_methods() {
31963197 ClassDB::bind_method (D_METHOD (" set_horizontal_alignment" , " alignment" ), &LineEdit::set_horizontal_alignment);
31973198 ClassDB::bind_method (D_METHOD (" get_horizontal_alignment" ), &LineEdit::get_horizontal_alignment);
31983199
3199- ClassDB::bind_method (D_METHOD (" edit" ), &LineEdit::edit);
3200+ ClassDB::bind_method (D_METHOD (" edit" , " hide_focus " ), &LineEdit::edit, DEFVAL ( false ) );
32003201 ClassDB::bind_method (D_METHOD (" unedit" ), &LineEdit::unedit);
32013202 ClassDB::bind_method (D_METHOD (" is_editing" ), &LineEdit::is_editing);
32023203 ClassDB::bind_method (D_METHOD (" set_keep_editing_on_text_submit" , " enable" ), &LineEdit::set_keep_editing_on_text_submit);
0 commit comments