From 26c92453b8e433ec2185d78761aed92d9bbd943a Mon Sep 17 00:00:00 2001 From: Thomas Goyne Date: Wed, 12 Mar 2014 15:10:47 -0700 Subject: [PATCH] Slather on some std::moves when setting the selection --- src/ass_karaoke.cpp | 2 +- src/auto4_lua.cpp | 2 +- src/base_grid.cpp | 8 ++++---- src/command/edit.cpp | 8 ++++---- src/command/subtitle.cpp | 4 ++-- src/dialog_selection.cpp | 6 +----- src/subs_controller.cpp | 2 +- src/visual_tool.cpp | 4 ++-- 8 files changed, 16 insertions(+), 20 deletions(-) diff --git a/src/ass_karaoke.cpp b/src/ass_karaoke.cpp index f9303395c..cafae1878 100644 --- a/src/ass_karaoke.cpp +++ b/src/ass_karaoke.cpp @@ -317,5 +317,5 @@ void AssKaraoke::SplitLines(std::set 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); } diff --git a/src/auto4_lua.cpp b/src/auto4_lua.cpp index 215fdd916..df3968ae4 100644 --- a/src/auto4_lua.cpp +++ b/src/auto4_lua.cpp @@ -943,7 +943,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); diff --git a/src/base_grid.cpp b/src/base_grid.cpp index 5d8e2dab3..37eb6ecdc 100644 --- a/src/base_grid.cpp +++ b/src/base_grid.cpp @@ -269,7 +269,7 @@ void BaseGrid::UpdateMaps() { 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 if (line_index_map.size() && !line_index_map.count(active_line)) @@ -321,7 +321,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; } @@ -643,7 +643,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; } @@ -940,7 +940,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; diff --git a/src/command/edit.cpp b/src/command/edit.cpp index 665215cb3..f0973d9d5 100644 --- a/src/command/edit.cpp +++ b/src/command/edit.cpp @@ -132,7 +132,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); } } @@ -654,7 +654,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 { @@ -783,7 +783,7 @@ static bool try_paste_lines(agi::Context *c) { auto pos = c->ass->Events.iterator_to(*c->selectionController->GetActiveLine()); c->ass->Events.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; } @@ -985,7 +985,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); } diff --git a/src/command/subtitle.cpp b/src/command/subtitle.cpp index 80bfe9544..97213c662 100644 --- a/src/command/subtitle.cpp +++ b/src/command/subtitle.cpp @@ -374,7 +374,7 @@ struct subtitle_select_all : public Command { void operator()(agi::Context *c) override { SubtitleSelection sel; boost::copy(c->ass->Events | agi::address_of, inserter(sel, sel.end())); - c->selectionController->SetSelectedSet(sel); + c->selectionController->SetSelectedSet(std::move(sel)); } }; @@ -403,7 +403,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 { diff --git a/src/dialog_selection.cpp b/src/dialog_selection.cpp index 434dcfdae..d36fab6ee 100644 --- a/src/dialog_selection.cpp +++ b/src/dialog_selection.cpp @@ -221,14 +221,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(); } diff --git a/src/subs_controller.cpp b/src/subs_controller.cpp index ddcdad29f..ee896e39a 100644 --- a/src/subs_controller.cpp +++ b/src/subs_controller.cpp @@ -111,7 +111,7 @@ struct SubsController::UndoInfo { c->subsGrid->BeginBatch(); c->selectionController->SetSelectedSet(std::set{}); c->ass->Commit("", AssFile::COMMIT_NEW); - c->selectionController->SetSelectionAndActive(new_sel, active_line); + c->selectionController->SetSelectionAndActive(std::move(new_sel), active_line); c->subsGrid->EndBatch(); } diff --git a/src/visual_tool.cpp b/src/visual_tool.cpp index ad767ad9d..b1e06fa73 100644 --- a/src/visual_tool.cpp +++ b/src/visual_tool.cpp @@ -301,7 +301,7 @@ void VisualTool::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::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