1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-26 04:57:44 +00:00

HexEditor: Add support for handling PageUp and PageDown key events

In such case, move the cursor up or down the amount of bytes per row,
multiplied by the visible content rectangle height, if possible.
This commit is contained in:
Liav A 2022-02-19 16:55:15 +02:00 committed by Andreas Kling
parent c8e691f917
commit 6a998c1a8b

View file

@ -432,6 +432,22 @@ void HexEditor::keydown_event(GUI::KeyEvent& event)
return;
}
if (event.key() == KeyCode::Key_PageUp) {
auto cursor_location_change = min(bytes_per_row() * visible_content_rect().height(), m_position);
if (cursor_location_change > 0) {
advance_cursor_backwards(cursor_location_change);
}
return;
}
if (event.key() == KeyCode::Key_PageDown) {
auto cursor_location_change = min(bytes_per_row() * visible_content_rect().height(), m_document->size() - m_position);
if (cursor_location_change > 0) {
advance_cursor_forward(cursor_location_change);
}
return;
}
if (!is_readonly() && !event.ctrl() && !event.alt() && !event.text().is_empty()) {
if (m_edit_mode == EditMode::Hex) {
hex_mode_keydown_event(event);