Audacity 3.2.0
Public Member Functions | List of all members
TracksViewModeEnumSetting Class Reference
Inheritance diagram for TracksViewModeEnumSetting:
[legend]
Collaboration diagram for TracksViewModeEnumSetting:
[legend]

Public Member Functions

void Migrate (wxString &value) override
 
- Public Member Functions inherited from EnumSetting< WaveChannelViewConstants::Display >
 EnumSetting (Key &&key, EnumValueSymbols symbols, long defaultSymbol, std::vector< WaveChannelViewConstants::Display > values, const wxString &oldKey={})
 
WaveChannelViewConstants::Display ReadEnum () const
 
WaveChannelViewConstants::Display ReadEnumWithDefault (WaveChannelViewConstants::Display defaultValue) const
 
bool WriteEnum (WaveChannelViewConstants::Display value)
 
- Public Member Functions inherited from EnumSettingBase
template<typename Key >
 EnumSettingBase (Key &&key, EnumValueSymbols symbols, long defaultSymbol, std::vector< int > intValues, const wxString &oldKey={})
 
- Public Member Functions inherited from ChoiceSetting
 ChoiceSetting (const SettingPath &, EnumValueSymbols, long=-1)=delete
 
 ChoiceSetting (TransactionalSettingBase &key, EnumValueSymbols symbols, long defaultSymbol=-1)
 
 ChoiceSetting (const SettingBase &key, EnumValueSymbols symbols, long defaultSymbol=-1)
 
const wxString & Key () const
 
const EnumValueSymbolDefault () const
 
const EnumValueSymbolsGetSymbols () const
 
wxString Read () const
 
wxString ReadWithDefault (const wxString &) const
 
bool Write (const wxString &value)
 
void SetDefault (long value)
 

Additional Inherited Members

- Protected Member Functions inherited from EnumSettingBase
int ReadInt () const
 
int ReadIntWithDefault (int defaultValue) const
 
bool WriteInt (int code)
 
size_t FindInt (int code) const
 
void Migrate (wxString &) override
 
- Protected Member Functions inherited from ChoiceSetting
size_t Find (const wxString &value) const
 
virtual void Migrate (wxString &)
 
- Protected Attributes inherited from ChoiceSetting
const wxString mKey
 
const EnumValueSymbols mSymbols
 
TransactionalSettingBase *const mpOtherSettings {}
 
bool mMigrated { false }
 
long mDefaultSymbol
 

Detailed Description

Definition at line 96 of file TracksPrefs.cpp.

Member Function Documentation

◆ Migrate()

void TracksViewModeEnumSetting::Migrate ( wxString &  value)
inlineoverridevirtual

Reimplemented from ChoiceSetting.

Definition at line 101 of file TracksPrefs.cpp.

102 {
103 // Special logic for this preference which was three times migrated!
104
105 // PRL: Bugs 1043, 1044
106 // 2.1.1 writes a NEW key for this preference, which got NEW values,
107 // to avoid confusing version 2.1.0 if it reads the preference file afterwards.
108 // Prefer the NEW preference key if it is present
109
110 static const EnumValueSymbol waveformSymbol{ XO("Waveform") };
111 static const EnumValueSymbol spectrumSymbol{ XO("Spectrogram") };
112
114 int oldMode;
115 wxString newValue;
116 auto stringValue =
118 switch (display) {
120 return spectrumSymbol.Internal();
122 return obsoleteValue;
123 default:
124 return waveformSymbol.Internal();
125 }
126 };
127
128 if (gPrefs->Read(key0, // The very old key
129 &oldMode,
132 newValue = stringValue(viewMode);
133 }
134 else if ( gPrefs->Read(key1,
135 &oldMode,
137 viewMode = static_cast<WaveChannelViewConstants::Display>(oldMode);
138 newValue = stringValue(viewMode);
139 }
140 else
141 gPrefs->Read( key2, &newValue );
142
143 if ( !gPrefs->Read( key3, &value ) ) {
144 if (newValue == obsoleteValue) {
145 newValue = waveformSymbol.Internal();
147 }
148
149 Write( value = newValue );
150 gPrefs->Flush();
151 return;
152 }
153 }
XO("Cut/Copy/Paste")
audacity::BasicSettings * gPrefs
Definition: Prefs.cpp:68
bool Write(const wxString &value)
Definition: Prefs.cpp:424
ComponentInterfaceSymbol pairs a persistent string identifier used internally with an optional,...
virtual bool Flush() noexcept=0
virtual bool Write(const wxString &key, bool value)=0
virtual bool Read(const wxString &key, bool *value) const =0
Display ConvertLegacyDisplayValue(int oldValue)

References WaveChannelViewConstants::ConvertLegacyDisplayValue(), anonymous_namespace{TracksPrefs.cpp}::dbLogValueString, audacity::BasicSettings::Flush(), gPrefs, anonymous_namespace{TracksPrefs.cpp}::key0, anonymous_namespace{TracksPrefs.cpp}::key1, anonymous_namespace{TracksPrefs.cpp}::key2, anonymous_namespace{TracksPrefs.cpp}::key3, anonymous_namespace{TracksPrefs.cpp}::obsoleteValue, WaveChannelViewConstants::obsoleteWaveformDBDisplay, audacity::BasicSettings::Read(), WaveChannelViewConstants::Spectrum, WaveChannelViewConstants::Waveform, anonymous_namespace{TracksPrefs.cpp}::waveformScaleKey, audacity::BasicSettings::Write(), ChoiceSetting::Write(), and XO().

Here is the call graph for this function:

The documentation for this class was generated from the following file: