1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-25 15:17:36 +00:00

HexEditor: Make single-character selection display proper start/end

Previously, -1 / -1 was displayed.

Fixes #3555
This commit is contained in:
Rok Povsic 2020-12-27 09:46:08 +01:00 committed by Andreas Kling
parent fec7501d1a
commit 5e66eda688

View file

@ -229,7 +229,7 @@ void HexEditor::mousedown_event(GUI::MouseEvent& event)
m_position = offset; m_position = offset;
m_in_drag_select = true; m_in_drag_select = true;
m_selection_start = offset; m_selection_start = offset;
m_selection_end = -1; m_selection_end = offset;
update(); update();
update_status(); update_status();
} }
@ -250,7 +250,7 @@ void HexEditor::mousedown_event(GUI::MouseEvent& event)
m_byte_position = 0; m_byte_position = 0;
m_in_drag_select = true; m_in_drag_select = true;
m_selection_start = offset; m_selection_start = offset;
m_selection_end = -1; m_selection_end = offset;
m_edit_mode = EditMode::Text; m_edit_mode = EditMode::Text;
update(); update();
update_status(); update_status();
@ -314,10 +314,7 @@ void HexEditor::mouseup_event(GUI::MouseEvent& event)
{ {
if (event.button() == GUI::MouseButton::Left) { if (event.button() == GUI::MouseButton::Left) {
if (m_in_drag_select) { if (m_in_drag_select) {
if (m_selection_end == -1 || m_selection_start == -1) { if (m_selection_end < m_selection_start) {
m_selection_start = -1;
m_selection_end = -1;
} else if (m_selection_end < m_selection_start) {
// lets flip these around // lets flip these around
auto start = m_selection_end; auto start = m_selection_end;
m_selection_end = m_selection_start; m_selection_end = m_selection_start;