Don't paint insertion point if text is immutable (#1523)
This commit is contained in:
parent
c70c72ef61
commit
888cd9c3eb
1 changed files with 18 additions and 15 deletions
|
@ -579,23 +579,26 @@ impl<'t> TextEdit<'t> {
|
||||||
// We paint the cursor on top of the text, in case
|
// We paint the cursor on top of the text, in case
|
||||||
// the text galley has backgrounds (as e.g. `code` snippets in markup do).
|
// the text galley has backgrounds (as e.g. `code` snippets in markup do).
|
||||||
paint_cursor_selection(ui, &painter, text_draw_pos, &galley, &cursor_range);
|
paint_cursor_selection(ui, &painter, text_draw_pos, &galley, &cursor_range);
|
||||||
let cursor_pos = paint_cursor_end(
|
|
||||||
ui,
|
|
||||||
row_height,
|
|
||||||
&painter,
|
|
||||||
text_draw_pos,
|
|
||||||
&galley,
|
|
||||||
&cursor_range.primary,
|
|
||||||
);
|
|
||||||
|
|
||||||
if response.changed || selection_changed {
|
if text.is_mutable() {
|
||||||
ui.scroll_to_rect(cursor_pos, None); // keep cursor in view
|
let cursor_pos = paint_cursor_end(
|
||||||
}
|
ui,
|
||||||
|
row_height,
|
||||||
|
&painter,
|
||||||
|
text_draw_pos,
|
||||||
|
&galley,
|
||||||
|
&cursor_range.primary,
|
||||||
|
);
|
||||||
|
|
||||||
if interactive && text.is_mutable() {
|
if response.changed || selection_changed {
|
||||||
// egui_web uses `text_cursor_pos` when showing IME,
|
ui.scroll_to_rect(cursor_pos, None); // keep cursor in view
|
||||||
// so only set it when text is editable and visible!
|
}
|
||||||
ui.ctx().output().text_cursor_pos = Some(cursor_pos.left_top());
|
|
||||||
|
if interactive {
|
||||||
|
// egui_web uses `text_cursor_pos` when showing IME,
|
||||||
|
// so only set it when text is editable and visible!
|
||||||
|
ui.ctx().output().text_cursor_pos = Some(cursor_pos.left_top());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue