Display arrow cursor if text is not editable

(cherry picked from commit c3967c80ab)
This commit is contained in:
kobewi 2021-05-07 17:39:55 +02:00 committed by Rémi Verschelde
parent 0454848f4d
commit cb5870dd4a
No known key found for this signature in database
GPG key ID: C3336907360768E1
2 changed files with 4 additions and 3 deletions

View file

@ -648,7 +648,7 @@ void LineEdit::drop_data(const Point2 &p_point, const Variant &p_data) {
}
Control::CursorShape LineEdit::get_cursor_shape(const Point2 &p_pos) const {
if (!text.empty() && is_editable() && _is_over_clear_button(p_pos)) {
if ((!text.empty() && is_editable() && _is_over_clear_button(p_pos)) || (!is_editable() && (!is_selecting_enabled() || text.empty()))) {
return CURSOR_ARROW;
}
return Control::get_cursor_shape(p_pos);

View file

@ -4811,10 +4811,11 @@ Control::CursorShape TextEdit::get_cursor_shape(const Point2 &p_pos) const {
return CURSOR_POINTING_HAND;
}
int gutter = cache.style_normal->get_margin(MARGIN_LEFT) + cache.line_number_w + cache.breakpoint_gutter_width + cache.fold_gutter_width + cache.info_gutter_width;
if ((completion_active && completion_rect.has_point(p_pos))) {
if ((completion_active && completion_rect.has_point(p_pos)) || (is_readonly() && (!is_selecting_enabled() || text.size() == 0))) {
return CURSOR_ARROW;
}
int gutter = cache.style_normal->get_margin(MARGIN_LEFT) + cache.line_number_w + cache.breakpoint_gutter_width + cache.fold_gutter_width + cache.info_gutter_width;
if (p_pos.x < gutter) {
int row, col;
_get_mouse_pos(p_pos, row, col);