From 5e22a0f15134122de85e70f204028a34c369f09f Mon Sep 17 00:00:00 2001 From: Thomas Goyne Date: Fri, 9 Jul 2010 07:31:43 +0000 Subject: [PATCH] Save selection over undo/redo. Originally committed to SVN as r4668. --- aegisub/src/frame_main_events.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/aegisub/src/frame_main_events.cpp b/aegisub/src/frame_main_events.cpp index d341cd9f8..a9f4b9493 100644 --- a/aegisub/src/frame_main_events.cpp +++ b/aegisub/src/frame_main_events.cpp @@ -1168,17 +1168,25 @@ void FrameMain::OnShiftToFrame (wxCommandEvent &) { /// @brief Undo void FrameMain::OnUndo(wxCommandEvent&) { VideoContext::Get()->Stop(); + std::vector selected_lines = SubsGrid->GetAbsoluteSelection(); + int active_line = SubsGrid->GetDialogueIndex(SubsGrid->GetActiveLine()); AssFile::top->Undo(); UpdateTitle(); SubsGrid->UpdateMaps(); + SubsGrid->SetSelectionFromAbsolute(selected_lines); + SubsGrid->SetActiveLine(SubsGrid->GetDialogue(active_line)); } /// @brief Redo void FrameMain::OnRedo(wxCommandEvent&) { VideoContext::Get()->Stop(); + std::vector selected_lines = SubsGrid->GetAbsoluteSelection(); + int active_line = SubsGrid->GetDialogueIndex(SubsGrid->GetActiveLine()); AssFile::top->Redo(); UpdateTitle(); SubsGrid->UpdateMaps(); + SubsGrid->SetSelectionFromAbsolute(selected_lines); + SubsGrid->SetActiveLine(SubsGrid->GetDialogue(active_line)); } /// @brief Find