mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2024-11-13 01:59:14 +03:00
GTextEditor: Fixed bug on KeyCode::Key_Right pressed.
Pressing right did nothing when the very last characters of the buffer were selected. The expected action would be for the cursor to move to the end of the buffer. This patch fixes that.
This commit is contained in:
parent
b50ffaf7e1
commit
ed0553fe10
Notes:
sideshowbarker
2024-07-19 17:44:42 +09:00
Author: https://github.com/aanddrew Commit: https://github.com/SerenityOS/serenity/commit/ed0553fe104 Pull-request: https://github.com/SerenityOS/serenity/pull/488 Reviewed-by: https://github.com/awesomekling
@ -545,24 +545,21 @@ void GTextEditor::keydown_event(GKeyEvent& event)
|
||||
return;
|
||||
}
|
||||
if (event.key() == KeyCode::Key_Right) {
|
||||
int new_line = m_cursor.line();
|
||||
int new_column = m_cursor.column();
|
||||
if (m_cursor.column() < current_line().length()) {
|
||||
int new_column = m_cursor.column() + 1;
|
||||
toggle_selection_if_needed_for_event(event);
|
||||
set_cursor(m_cursor.line(), new_column);
|
||||
if (m_selection.start().is_valid()) {
|
||||
m_selection.set_end(m_cursor);
|
||||
did_update_selection();
|
||||
}
|
||||
new_line = m_cursor.line();
|
||||
new_column = m_cursor.column() + 1;
|
||||
} else if (m_cursor.line() != line_count() - 1) {
|
||||
int new_line = m_cursor.line() + 1;
|
||||
int new_column = 0;
|
||||
toggle_selection_if_needed_for_event(event);
|
||||
set_cursor(new_line, new_column);
|
||||
if (m_selection.start().is_valid()) {
|
||||
m_selection.set_end(m_cursor);
|
||||
did_update_selection();
|
||||
}
|
||||
}
|
||||
new_line = m_cursor.line() + 1;
|
||||
new_column = 0;
|
||||
}
|
||||
toggle_selection_if_needed_for_event(event);
|
||||
set_cursor(new_line, new_column);
|
||||
if (m_selection.start().is_valid()) {
|
||||
m_selection.set_end(m_cursor);
|
||||
did_update_selection();
|
||||
}
|
||||
return;
|
||||
}
|
||||
if (!event.ctrl() && event.key() == KeyCode::Key_Home) {
|
||||
|
Loading…
Reference in New Issue
Block a user