From 27c1522622715d05f5f17c68934a15c0096a9cc4 Mon Sep 17 00:00:00 2001 From: Thomas Goyne Date: Thu, 17 Apr 2014 17:30:06 -0700 Subject: [PATCH] Use AssDialogue::Row more places --- src/audio_player.cpp | 2 +- src/dialog_translation.cpp | 8 ++------ src/dialog_translation.h | 2 -- src/selection_controller.cpp | 3 +-- 4 files changed, 4 insertions(+), 11 deletions(-) diff --git a/src/audio_player.cpp b/src/audio_player.cpp index 3ec5743d7..4502afe60 100644 --- a/src/audio_player.cpp +++ b/src/audio_player.cpp @@ -88,7 +88,7 @@ std::vector AudioPlayerFactory::GetClasses() { } std::unique_ptr AudioPlayerFactory::GetAudioPlayer(AudioProvider *provider, wxWindow *window) { - if (std::distance(std::begin(factories), std::end(factories)) == 0) + if (std::begin(factories) == std::end(factories)) throw agi::NoAudioPlayersError("No audio players are available.", nullptr); auto preferred = OPT_GET("Audio/Player")->GetString(); diff --git a/src/dialog_translation.cpp b/src/dialog_translation.cpp index d2fb14053..34abf8537 100644 --- a/src/dialog_translation.cpp +++ b/src/dialog_translation.cpp @@ -65,7 +65,6 @@ DialogTranslation::DialogTranslation(agi::Context *c) , active_line_connection(c->selectionController->AddActiveLineListener(&DialogTranslation::OnActiveLineChanged, this)) , active_line(c->selectionController->GetActiveLine()) , line_count(c->ass->Events.size()) -, line_number(std::distance(c->ass->Events.begin(), c->ass->iterator_to(*active_line)) + 1) { SetIcon(GETICON(translation_toolbutton_16)); @@ -173,7 +172,6 @@ void DialogTranslation::OnActiveLineChanged(AssDialogue *new_line) { active_line = new_line; blocks = active_line->ParseTags(); cur_block = 0; - line_number = std::distance(c->ass->Events.begin(), c->ass->iterator_to(*new_line)) + 1; if (bad_block(blocks[cur_block]) && !NextBlock()) { wxMessageBox(_("No more lines to translate.")); @@ -184,7 +182,7 @@ void DialogTranslation::OnActiveLineChanged(AssDialogue *new_line) { void DialogTranslation::OnExternalCommit(int commit_type) { if (commit_type == AssFile::COMMIT_NEW || commit_type & AssFile::COMMIT_DIAG_ADDREM) { line_count = c->ass->Events.size(); - line_number_display->SetLabel(wxString::Format(_("Current line: %d/%d"), (int)line_number, (int)line_count)); + line_number_display->SetLabel(wxString::Format(_("Current line: %d/%d"), active_line->Row + 1, (int)line_count)); } if (commit_type & AssFile::COMMIT_DIAG_TEXT) @@ -202,7 +200,6 @@ bool DialogTranslation::NextBlock() { active_line = new_line; blocks = active_line->ParseTags(); cur_block = 0; - ++line_number; } else ++cur_block; @@ -224,7 +221,6 @@ bool DialogTranslation::PrevBlock() { active_line = new_line; blocks = active_line->ParseTags(); cur_block = blocks.size() - 1; - --line_number; } else --cur_block; @@ -236,7 +232,7 @@ bool DialogTranslation::PrevBlock() { } void DialogTranslation::UpdateDisplay() { - line_number_display->SetLabel(wxString::Format(_("Current line: %d/%d"), (int)line_number, (int)line_count)); + line_number_display->SetLabel(wxString::Format(_("Current line: %d/%d"), active_line->Row, (int)line_count)); original_text->SetReadOnly(false); original_text->ClearAll(); diff --git a/src/dialog_translation.h b/src/dialog_translation.h index 6d2ad804b..72918b131 100644 --- a/src/dialog_translation.h +++ b/src/dialog_translation.h @@ -50,8 +50,6 @@ class DialogTranslation final : public wxDialog { /// Total number of dialogue lines in the file size_t line_count; - /// Line number of the currently active line - size_t line_number; /// Should active line change announcements be ignored? bool switching_lines = false; diff --git a/src/selection_controller.cpp b/src/selection_controller.cpp index 1fa9a9f12..4b222d2a9 100644 --- a/src/selection_controller.cpp +++ b/src/selection_controller.cpp @@ -45,8 +45,7 @@ void SelectionController::OnSubtitlesOpen() { void SelectionController::OnSubtitlesSave() { if (active_line) - context->ass->SaveUIState("Active Line", std::to_string(std::distance( - context->ass->Events.begin(), context->ass->iterator_to(*active_line)))); + context->ass->SaveUIState("Active Line", std::to_string(active_line->Row)); } void SelectionController::SetSelectedSet(Selection new_selection) {