Slather on some std::moves when setting the selection

This commit is contained in:
Thomas Goyne 2014-03-12 15:10:47 -07:00
parent 2b76ee7696
commit f29b2d1fdc
7 changed files with 16 additions and 20 deletions

View File

@ -318,5 +318,5 @@ void AssKaraoke::SplitLines(std::set<AssDialogue*> const& lines, agi::Context *c
AssDialogue *new_active = c->selectionController->GetActiveLine();
if (!sel.count(c->selectionController->GetActiveLine()))
new_active = *sel.begin();
c->selectionController->SetSelectionAndActive(sel, new_active);
c->selectionController->SetSelectionAndActive(std::move(sel), new_active);
}

View File

@ -949,7 +949,7 @@ namespace Automation4 {
AssDialogue *new_active = c->selectionController->GetActiveLine();
if (active_line && (active_idx > 0 || !sel.count(new_active)))
new_active = active_line;
c->selectionController->SetSelectionAndActive(sel, new_active);
c->selectionController->SetSelectionAndActive(std::move(sel), new_active);
}
else
lua_pop(L, 1);

View File

@ -298,7 +298,7 @@ void BaseGrid::UpdateMaps(bool preserve_selected_rows) {
sel.insert(index_line_map[row]);
}
SetSelectedSet(sel);
SetSelectedSet(std::move(sel));
}
else {
auto sorted = index_line_map;
@ -309,7 +309,7 @@ void BaseGrid::UpdateMaps(bool preserve_selected_rows) {
sorted.begin(), sorted.end(),
inserter(new_sel, new_sel.begin()));
SetSelectedSet(new_sel);
SetSelectedSet(std::move(new_sel));
}
// The active line may have ceased to exist; pick a new one if so
@ -369,7 +369,7 @@ void BaseGrid::SelectRow(int row, bool addToSelected, bool select) {
if (!addToSelected) {
Selection sel;
if (select) sel.insert(line);
SetSelectedSet(sel);
SetSelectedSet(std::move(sel));
return;
}
@ -708,7 +708,7 @@ void BaseGrid::OnMouseEvent(wxMouseEvent &event) {
if (ctrl) newsel = selection;
for (int i = i1; i <= i2; i++)
newsel.insert(GetDialogue(i));
SetSelectedSet(newsel);
SetSelectedSet(std::move(newsel));
return;
}
@ -1006,7 +1006,7 @@ void BaseGrid::OnKeyDown(wxKeyEvent &event) {
for (int i = begin; i <= end; i++)
newsel.insert(GetDialogue(i));
SetSelectedSet(newsel);
SetSelectedSet(std::move(newsel));
MakeRowVisible(next);
return;

View File

@ -130,7 +130,7 @@ void paste_lines(agi::Context *c, bool paste_over, Paster&& paste_line) {
c->ass->Commit(_("paste"), paste_over ? AssFile::COMMIT_DIAG_FULL : AssFile::COMMIT_DIAG_ADDREM);
if (!paste_over)
c->selectionController->SetSelectionAndActive(newsel, first);
c->selectionController->SetSelectionAndActive(std::move(newsel), first);
}
}
@ -647,7 +647,7 @@ static void duplicate_lines(agi::Context *c, int shift) {
c->ass->Commit(shift ? _("split") : _("duplicate lines"), AssFile::COMMIT_DIAG_ADDREM);
c->selectionController->SetSelectionAndActive(new_sel, new_active);
c->selectionController->SetSelectionAndActive(std::move(new_sel), new_active);
}
struct edit_line_duplicate : public validate_sel_nonempty {
@ -777,7 +777,7 @@ static bool try_paste_lines(agi::Context *c) {
auto pos = c->ass->Line.iterator_to(*c->selectionController->GetActiveLine());
c->ass->Line.splice(pos, parsed, parsed.begin(), parsed.end());
c->ass->Commit(_("paste"), AssFile::COMMIT_DIAG_ADDREM);
c->selectionController->SetSelectionAndActive(new_selection, new_active);
c->selectionController->SetSelectionAndActive(std::move(new_selection), new_active);
return true;
}
@ -975,7 +975,7 @@ struct edit_line_recombine : public validate_sel_multiple {
// Restore selection
if (!new_sel.count(active_line))
active_line = *new_sel.begin();
c->selectionController->SetSelectionAndActive(new_sel, active_line);
c->selectionController->SetSelectionAndActive(std::move(new_sel), active_line);
c->ass->Commit(_("combining"), AssFile::COMMIT_DIAG_ADDREM | AssFile::COMMIT_DIAG_FULL);
}

View File

@ -364,7 +364,7 @@ struct subtitle_select_all : public Command {
transform(c->ass->Line.begin(), c->ass->Line.end(),
inserter(sel, sel.begin()), cast<AssDialogue*>());
sel.erase(nullptr);
c->selectionController->SetSelectedSet(sel);
c->selectionController->SetSelectedSet(std::move(sel));
}
};
@ -394,7 +394,7 @@ struct subtitle_select_visible : public Command {
}
}
c->selectionController->SetSelectedSet(new_selection);
c->selectionController->SetSelectedSet(std::move(new_selection));
}
bool Validate(const agi::Context *c) override {

View File

@ -233,14 +233,10 @@ void DialogSelection::Process(wxCommandEvent&) {
else
StatusTimeout(message);
if (new_sel.size() && !new_sel.count(con->selectionController->GetActiveLine()))
con->selectionController->SetActiveLine(*new_sel.begin());
con->selectionController->SetSelectedSet(new_sel);
AssDialogue *new_active = con->selectionController->GetActiveLine();
if (new_sel.size() && !new_sel.count(new_active))
new_active = *new_sel.begin();
con->selectionController->SetSelectionAndActive(new_sel, new_active);
con->selectionController->SetSelectionAndActive(std::move(new_sel), new_active);
Close();
}

View File

@ -301,7 +301,7 @@ void VisualTool<FeatureType>::SetSelection(FeatureType *feat, bool clear) {
if (!clear)
sel = c->selectionController->GetSelectedSet();
if (sel.insert(feat->line).second)
c->selectionController->SetSelectedSet(sel);
c->selectionController->SetSelectedSet(std::move(sel));
}
}
@ -324,7 +324,7 @@ void VisualTool<FeatureType>::RemoveSelection(FeatureType *feat) {
if (feat->line == new_active)
new_active = *sel.begin();
c->selectionController->SetSelectionAndActive(sel, new_active);
c->selectionController->SetSelectionAndActive(std::move(sel), new_active);
}
//////// PARSERS