From 0ddeec9c3baf8ca8c3ec26dbd0d894f6186fa142 Mon Sep 17 00:00:00 2001 From: Paul Licameli Date: Sat, 21 Dec 2019 12:21:51 -0500 Subject: [PATCH] TranslatableString for more scale and algorithm names --- src/prefs/SpectrogramSettings.cpp | 26 +++++++++----------------- src/prefs/SpectrogramSettings.h | 2 +- src/prefs/SpectrumPrefs.cpp | 4 +++- src/prefs/WaveformPrefs.cpp | 4 +++- src/prefs/WaveformSettings.cpp | 18 ++++++------------ src/prefs/WaveformSettings.h | 4 ++-- 6 files changed, 24 insertions(+), 34 deletions(-) diff --git a/src/prefs/SpectrogramSettings.cpp b/src/prefs/SpectrogramSettings.cpp index f60b7bdd2..4c690de9a 100644 --- a/src/prefs/SpectrogramSettings.cpp +++ b/src/prefs/SpectrogramSettings.cpp @@ -159,25 +159,17 @@ const TranslatableStrings &SpectrogramSettings::GetScaleNames() } //static -const wxArrayStringEx &SpectrogramSettings::GetAlgorithmNames() +const TranslatableStrings &SpectrogramSettings::GetAlgorithmNames() { - class AlgorithmNamesArray final : public TranslatableStringArray - { - void Populate() override - { - mContents.insert( mContents.end(), { - // Keep in correspondence with enum SpectrogramSettings::Algorithm: - _("Frequencies") , - /* i18n-hint: the Reassignment algorithm for spectrograms */ - _("Reassignment") , - /* i18n-hint: EAC abbreviates "Enhanced Autocorrelation" */ - _("Pitch (EAC)") , - } ); - } + static const TranslatableStrings results{ + // Keep in correspondence with enum SpectrogramSettings::Algorithm: + XO("Frequencies") , + /* i18n-hint: the Reassignment algorithm for spectrograms */ + XO("Reassignment") , + /* i18n-hint: EAC abbreviates "Enhanced Autocorrelation" */ + XO("Pitch (EAC)") , }; - - static AlgorithmNamesArray theArray; - return theArray.Get(); + return results; } bool SpectrogramSettings::Validate(bool quiet) diff --git a/src/prefs/SpectrogramSettings.h b/src/prefs/SpectrogramSettings.h index ef47aaaf6..14c02ae29 100644 --- a/src/prefs/SpectrogramSettings.h +++ b/src/prefs/SpectrogramSettings.h @@ -67,7 +67,7 @@ public: }; static const TranslatableStrings &GetScaleNames(); - static const wxArrayStringEx &GetAlgorithmNames(); + static const TranslatableStrings &GetAlgorithmNames(); static SpectrogramSettings &defaults(); SpectrogramSettings(); diff --git a/src/prefs/SpectrumPrefs.cpp b/src/prefs/SpectrumPrefs.cpp index e2231ab9b..862eeb42b 100644 --- a/src/prefs/SpectrumPrefs.cpp +++ b/src/prefs/SpectrumPrefs.cpp @@ -242,7 +242,9 @@ void SpectrumPrefs::PopulateOrExchange(ShuttleGui & S) mAlgorithmChoice = S.Id(ID_ALGORITHM).TieChoice(_("A&lgorithm:"), mTempSettings.algorithm, - SpectrogramSettings::GetAlgorithmNames()); + transform_container( + SpectrogramSettings::GetAlgorithmNames(), + std::mem_fn( &TranslatableString::Translation ) ) ); S.Id(ID_WINDOW_SIZE).TieChoice(_("Window &size:"), mTempSettings.windowSize, diff --git a/src/prefs/WaveformPrefs.cpp b/src/prefs/WaveformPrefs.cpp index c02b6c80e..25284fc7b 100644 --- a/src/prefs/WaveformPrefs.cpp +++ b/src/prefs/WaveformPrefs.cpp @@ -110,7 +110,9 @@ void WaveformPrefs::PopulateOrExchange(ShuttleGui & S) mScaleChoice = S.Id(ID_SCALE).TieChoice(_("S&cale:"), mTempSettings.scaleType, - WaveformSettings::GetScaleNames()); + transform_container( + WaveformSettings::GetScaleNames(), + std::mem_fn( &TranslatableString::Translation ) ) ); mRangeChoice = S.Id(ID_RANGE).TieChoice(_("Waveform dB &range:"), diff --git a/src/prefs/WaveformSettings.cpp b/src/prefs/WaveformSettings.cpp index 217c440fa..52a02030b 100644 --- a/src/prefs/WaveformSettings.cpp +++ b/src/prefs/WaveformSettings.cpp @@ -147,20 +147,14 @@ void WaveformSettings::NextHigherDBRange() } //static -const wxArrayStringEx &WaveformSettings::GetScaleNames() +const TranslatableStrings &WaveformSettings::GetScaleNames() { - class ScaleNamesArray final : public TranslatableStringArray - { - void Populate() override - { - // Keep in correspondence with enum WaveTrack::WaveTrackDisplay: - mContents.push_back(_("Linear")); - mContents.push_back(_("Logarithmic")); - } + static const TranslatableStrings result{ + // Keep in correspondence with enum WaveTrack::WaveTrackDisplay: + XO("Linear"), + XO("Logarithmic"), }; - - static ScaleNamesArray theArray; - return theArray.Get(); + return result; } WaveformSettings::~WaveformSettings() diff --git a/src/prefs/WaveformSettings.h b/src/prefs/WaveformSettings.h index fb09092dc..25591e6d6 100644 --- a/src/prefs/WaveformSettings.h +++ b/src/prefs/WaveformSettings.h @@ -11,7 +11,7 @@ Paul Licameli #ifndef __AUDACITY_WAVEFORM_SETTINGS__ #define __AUDACITY_WAVEFORM_SETTINGS__ -class wxArrayStringEx; +#include "../Internat.h" // for TranslatableStrings class WaveformSettings { @@ -58,7 +58,7 @@ public: stNumScaleTypes, }; - static const wxArrayStringEx &GetScaleNames(); + static const TranslatableStrings &GetScaleNames(); ScaleType scaleType; int dBRange;