From 683dd6c0a9cfb4a16de075cc2988f47824fd17f4 Mon Sep 17 00:00:00 2001 From: Thomas Goyne Date: Thu, 15 Sep 2011 05:17:43 +0000 Subject: [PATCH] Kill BaseGrid::SelectVisible Originally committed to SVN as r5600. --- aegisub/src/base_grid.cpp | 19 ------------------- aegisub/src/base_grid.h | 1 - aegisub/src/command/subtitle.cpp | 19 ++++++++++++++++++- 3 files changed, 18 insertions(+), 21 deletions(-) diff --git a/aegisub/src/base_grid.cpp b/aegisub/src/base_grid.cpp index 882b84423..6d6453e72 100644 --- a/aegisub/src/base_grid.cpp +++ b/aegisub/src/base_grid.cpp @@ -324,25 +324,6 @@ void BaseGrid::SelectRow(int row, bool addToSelected, bool select) { RefreshRect(wxRect(0, (row + 1 - yPos) * lineHeight, w, lineHeight), false); } -void BaseGrid::SelectVisible() { - Selection new_selection; - - int rows = GetRows(); - bool selectedOne = false; - for (int i=0;ivideoController->IsLoaded()) return; c->videoController->Stop(); - c->subsGrid->SelectVisible(); + + SubtitleSelectionController::Selection new_selection; + int frame = c->videoController->GetFrameN(); + + for (entryIter it = c->ass->Line.begin(); it != c->ass->Line.end(); ++it) { + AssDialogue *diag = dynamic_cast(*it); + if (diag && + c->videoController->FrameAtTime(diag->Start.GetMS(), agi::vfr::START) <= frame && + c->videoController->FrameAtTime(diag->End.GetMS(), agi::vfr::END) >= frame) + { + if (new_selection.empty()) + c->selectionController->SetActiveLine(diag); + new_selection.insert(diag); + } + } + + c->selectionController->SetSelectedSet(new_selection); } bool Validate(agi::Context *c) {