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

LibGUI+FontEditor: Restore normalized selections on Undo/Redo

Selections are always normalized when saving undo commands.
The restore_selection() function reverses this process so
negatively sized selections (created right-to-left) continue
to resize correctly with the keyboard when restored.
This commit is contained in:
thankyouverycool 2022-12-17 15:36:02 -05:00 committed by Andreas Kling
parent 02212f373b
commit 40e94a315a
3 changed files with 16 additions and 2 deletions

View file

@ -811,7 +811,7 @@ void MainWidget::undo()
deferred_invoke([this, glyph] {
auto start = m_undo_selection->restored_start();
auto size = m_undo_selection->restored_size();
m_glyph_map_widget->set_selection(start, size, glyph);
m_glyph_map_widget->restore_selection(start, size, glyph);
m_glyph_map_widget->scroll_to_glyph(glyph);
m_glyph_map_widget->set_focus(true);
});
@ -841,7 +841,7 @@ void MainWidget::redo()
deferred_invoke([this, glyph] {
auto start = m_undo_selection->restored_start();
auto size = m_undo_selection->restored_size();
m_glyph_map_widget->set_selection(start, size, glyph);
m_glyph_map_widget->restore_selection(start, size, glyph);
m_glyph_map_widget->scroll_to_glyph(glyph);
m_glyph_map_widget->set_focus(true);
});