1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-31 18:28:12 +00:00

LibGUI: Ensure the "End" key sets the cursor to the visual line end

We are currently setting the physical mouse position to the visual
cursor content location. In a line containing only a multi-code point
emoji, this would set the cursor to column 1 rather than however many
code points there are.
This commit is contained in:
Timothy Flynn 2023-02-27 08:16:48 -05:00 committed by Tim Flynn
parent a81e1a8c4f
commit 4edd8e8c5e
3 changed files with 17 additions and 5 deletions

View file

@ -271,12 +271,10 @@ void EditingEngine::move_to_line_beginning()
void EditingEngine::move_to_line_end()
{
if (m_editor->is_wrapping_enabled()) {
auto end_position = m_editor->cursor_content_rect().location().translated(m_editor->width(), 0);
m_editor->set_cursor(m_editor->text_position_at_content_position(end_position));
} else {
if (m_editor->is_wrapping_enabled())
m_editor->set_cursor_to_end_of_visual_line();
else
move_to_logical_line_end();
}
}
void EditingEngine::move_to_logical_line_end()