diff options
Diffstat (limited to 'scene/gui/line_edit.cpp')
-rw-r--r-- | scene/gui/line_edit.cpp | 17 |
1 files changed, 8 insertions, 9 deletions
diff --git a/scene/gui/line_edit.cpp b/scene/gui/line_edit.cpp index c025e4c706..89c235e101 100644 --- a/scene/gui/line_edit.cpp +++ b/scene/gui/line_edit.cpp @@ -31,6 +31,7 @@ #include "os/os.h" #include "print_string.h" #include "label.h" +#include "translation.h" #ifdef TOOLS_ENABLED #include "tools/editor/editor_settings.h" #endif @@ -117,7 +118,7 @@ void LineEdit::_input_event(InputEvent p_event) { const InputEventMouseMotion& m=p_event.mouse_motion; - if (m.button_mask&1) { + if (m.button_mask&BUTTON_LEFT) { if (selection.creating) { set_cursor_at_pixel_pos(m.x); @@ -615,11 +616,11 @@ void LineEdit::_notification(int p_what) { } break; case ALIGN_CENTER: { - x_ofs=x_ofs=int(size.width-(cached_width))/2; + x_ofs=int(size.width-(cached_width))/2; } break; case ALIGN_RIGHT: { - x_ofs=x_ofs=int(size.width-style->get_offset().x-(cached_width)); + x_ofs=int(size.width-style->get_offset().x-(cached_width)); } break; } @@ -810,6 +811,9 @@ void LineEdit::set_cursor_at_pixel_pos(int p_x) { if ( (pixel_ofs-p_x) < (char_w >> 1 ) ) { ofs+=1; + } else if ( (pixel_ofs-p_x) > (char_w >> 1 ) ) { + + ofs-=1; } break; @@ -947,7 +951,7 @@ String LineEdit::get_text() const { void LineEdit::set_placeholder(String p_text) { - placeholder = p_text; + placeholder = XL_MESSAGE(p_text); update(); } @@ -980,10 +984,6 @@ void LineEdit::set_cursor_pos(int p_pos) { cursor_pos=p_pos; -// if (cursor_pos>(window_pos+get_window_length())) { -// set_window_pos(cursor_pos-get_window_lengt//h()); -// } - if (!is_inside_tree()) { window_pos=cursor_pos; @@ -1002,7 +1002,6 @@ void LineEdit::set_cursor_pos(int p_pos) { if (window_width<0) return; - int width_to_cursor=0; int wp=window_pos; if (font.is_valid()) { |