![]() |
Audacity 3.2.0
|
#include <Prefs.h>
Public Types | |
using | DefaultValueFunction = std::function< T() > |
Public Member Functions | |
Setting (const SettingBase &path, const T &defaultValue) | |
Usual overload supplies a default value. More... | |
Setting (const SettingBase &path, DefaultValueFunction function) | |
This overload causes recomputation of the default each time it is needed. More... | |
const T & | GetDefault () const |
bool | Read (T *pVar) const |
overload of Read returning a boolean that is true if the value was previously defined */ More... | |
bool | ReadWithDefault (T *pVar, const T &defaultValue) const |
overload of ReadWithDefault returning a boolean that is true if the value was previously defined */ More... | |
T | Read () const |
overload of Read, always returning a value More... | |
T | ReadWithDefault (const T &defaultValue) const |
new direct use is discouraged but it may be needed in legacy code More... | |
bool | Write (const T &value) |
Write value to config and return true if successful. More... | |
bool | Reset () |
Reset to the default value. More... | |
void | Invalidate () override |
![]() | |
CachingSettingBase (const SettingBase &path) | |
![]() | |
virtual void | Invalidate ()=0 |
SettingBase (const char *path) | |
SettingBase (const wxChar *path) | |
SettingBase (const wxString &path) | |
SettingBase (const SettingBase &)=default | |
![]() | |
SettingBase (const char *path) | |
SettingBase (const wxChar *path) | |
SettingBase (const wxString &path) | |
audacity::BasicSettings * | GetConfig () const |
const SettingPath & | GetPath () const |
bool | Delete () |
Delete the key if present, and return true iff it was. More... | |
Protected Member Functions | |
bool | DoWrite () |
Write cached value to config and return true if successful. More... | |
![]() | |
CachingSettingBase (const CachingSettingBase &)=default | |
virtual void | EnterTransaction (size_t depth)=0 |
virtual bool | Commit ()=0 |
virtual void | Rollback () noexcept=0 |
![]() | |
SettingBase (const SettingBase &)=default | |
Protected Attributes | |
const DefaultValueFunction | mFunction |
T | mDefaultValue {} |
std::vector< T > | mPreviousValues |
![]() | |
T | mCurrentValue {} |
bool | mValid {false} |
![]() | |
const SettingPath | mPath |
Private Member Functions | |
void | EnterTransaction (size_t depth) override |
bool | Commit () override |
void | Rollback () noexcept override |
Class template adds default value, read, and write methods to CachingSetingBase and generates TransactionalSettingBase virtual functions
using Setting< T >::DefaultValueFunction = std::function< T() > |
|
inline |
Usual overload supplies a default value.
Definition at line 185 of file Prefs.h.
|
inline |
This overload causes recomputation of the default each time it is needed.
|
inlineoverrideprivatevirtual |
Implements TransactionalSettingBase.
Definition at line 301 of file Prefs.h.
|
inlineprotected |
Write cached value to config and return true if successful.
(But the config object is not flushed)
Definition at line 330 of file Prefs.h.
References SettingBase::GetConfig(), and SettingBase::mPath.
|
inlineoverrideprivatevirtual |
Implements TransactionalSettingBase.
Definition at line 293 of file Prefs.h.
References Read().
|
inline |
Definition at line 197 of file Prefs.h.
Referenced by TracksPrefs::Commit(), DeduceSnapTo(), AudioIOBase::GetDeviceInfo(), AudioIOBase::HandleDeviceChange(), ShuttleGuiBase::TieCheckBox(), anonymous_namespace{GetInfoCommand.cpp}::ShuttleGuiGetDefinition::TieCheckBox(), ShuttleGuiBase::TieCheckBoxOnRight(), anonymous_namespace{GetInfoCommand.cpp}::ShuttleGuiGetDefinition::TieCheckBoxOnRight(), ShuttleGuiBase::TieIntegerTextBox(), anonymous_namespace{GetInfoCommand.cpp}::ShuttleGuiGetDefinition::TieIntegerTextBox(), anonymous_namespace{GetInfoCommand.cpp}::ShuttleGuiGetDefinition::TieNumberAsChoice(), ShuttleGuiBase::TieNumberAsChoice(), anonymous_namespace{GetInfoCommand.cpp}::ShuttleGuiGetDefinition::TieNumericTextBox(), ShuttleGuiBase::TieNumericTextBox(), ShuttleGuiBase::TieSlider(), anonymous_namespace{GetInfoCommand.cpp}::ShuttleGuiGetDefinition::TieSlider(), ShuttleGuiBase::TieSpinCtrl(), anonymous_namespace{GetInfoCommand.cpp}::ShuttleGuiGetDefinition::TieSpinCtrl(), ShuttleGuiBase::TieTextBox(), anonymous_namespace{GetInfoCommand.cpp}::ShuttleGuiGetDefinition::TieTextBox(), and TrackArtist::TrackArtist().
|
inlineoverridevirtual |
Implements TransactionalSettingBase.
Definition at line 287 of file Prefs.h.
Referenced by ApplicationPrefs::Commit(), DevicePrefs::Commit(), GUIPrefs::Commit(), RecordingPrefs::Commit(), TracksBehaviorsPrefs::Commit(), and TracksPrefs::Commit().
|
inline |
overload of Read, always returning a value
The value is the default stored in this in case the key is known to be absent from the config; but it returns type T's default value if there was failure to read the config
Definition at line 231 of file Prefs.h.
|
inline |
overload of Read returning a boolean that is true if the value was previously defined */
Definition at line 205 of file Prefs.h.
Referenced by AudioIO::AudioIO(), cloud::audiocom::OAuthService::AuthoriseRefreshToken(), DeviceToolBar::ChangeDevice(), AudioSetupToolBar::ChangeDeviceLabel(), DeviceToolBar::ChangeHost(), AudioSetupToolBar::ChangeHost(), ProjectAudioManager::ChooseExistingRecordingTracks(), RecordingPrefs::Commit(), ConfirmSave(), ProjectAudioManager::DoRecord(), cloud::audiocom::UserService::DownloadAvatar(), SpectrumVZoomHandle::DoZoom(), EditToolBar::EditToolBar(), ExportAudioDialog::ExportAudioDialog(), FFmpegStartup(), AudioSetupToolBar::FillHostDevices(), DeviceToolBar::FillHostDevices(), AudioSetupToolBar::FillInputChannels(), DeviceToolBar::FillInputChannels(), AudioIOBase::GetDeviceInfo(), cloud::audiocom::UserService::GetDisplayName(), GetEditClipsCanMove(), ProjectManager::GetEstimatedRecordingMinsLeftOnDisk(), GetMIDIDeviceInfo(), GetNextWindowPlacement(), AudioIOBase::getPlayDevIndex(), AudioIOBase::getRecordDevIndex(), FFmpegFunctions::GetSearchPaths(), AudioIOBase::GetSupportedCaptureRates(), anonymous_namespace{EnvelopeHandle.cpp}::GetTimeTrackData(), cloud::audiocom::UserService::GetUserSlug(), AudioIOBase::HandleDeviceChange(), cloud::audiocom::OAuthService::HasRefreshToken(), SpectrogramSettings::Globals::LoadPrefs(), SpectrogramSettings::LoadPrefs(), WaveformSettings::LoadPrefs(), SpectrogramSettings::ColorSchemeEnumSetting::Migrate(), ToolManager::ModifyToolbarMenus(), FrequencyPlotDialog::OnReplot(), anonymous_namespace{PluginMenus.cpp}::OnResetConfig(), UpdateManager::OnTimer(), FFmpegImportPlugin::Open(), FrequencyPlotDialog::Populate(), DevicePrefs::Populate(), FFmpegNotFoundDialog::PopulateOrExchange(), SoundActivatedRecordDialog::PopulateOrExchange(), RecordingPrefs::PopulateOrExchange(), ProjectRate::ProjectRate(), ThemeBase::ReadImageCache(), anonymous_namespace{SelectionBar.cpp}::ReadSelectionMode(), ReadSnapTo(), Journal::RecordEnabled(), ResetPreferences(), FrequencyPlotDialog::Show(), UpdateManager::Start(), AudioIO::StartMonitoring(), AudioIO::StartPortAudioStream(), anonymous_namespace{MIDIPlay.h}::MIDIPlay::StartPortMidiStream(), AudioIO::StartStream(), AudioIO::StopStream(), WaveTrack::SyncLockAdjust(), UpdatePopupDialog::UpdatePopupDialog(), ViewInfo::UpdatePrefs(), AdornedRulerPanel::UpdatePrefs(), SpectrogramSettings::UpdatePrefs(), WaveformSettings::UpdatePrefs(), AudioSetupToolBar::UpdatePrefs(), DeviceToolBar::UpdatePrefs(), TrackArtist::UpdatePrefs(), and MeterPanel::UpdatePrefs().
|
inline |
new direct use is discouraged but it may be needed in legacy code
Use the given default in case the preference is not defined, which may not be the default-default stored in this object.
Definition at line 239 of file Prefs.h.
References SettingBase::GetConfig(), and SettingBase::mPath.
|
inline |
overload of ReadWithDefault returning a boolean that is true if the value was previously defined */
Definition at line 211 of file Prefs.h.
References SettingBase::GetConfig().
Referenced by EffectBase::EffectBase(), WaveTrack::GetDefaultAudioTrackNamePreference(), GetNextWindowPlacement(), AudioIOBase::GetSupportedCaptureRates(), AudioSetupToolBar::UpdatePrefs(), and DeviceToolBar::UpdatePrefs().
|
inline |
Reset to the default value.
Definition at line 282 of file Prefs.h.
Referenced by DevicePrefs::Commit(), RecordingPrefs::Commit(), anonymous_namespace{PluginMenus.cpp}::OnResetConfig(), AudioSetupToolBar::SetDevices(), and DeviceToolBar::SetDevices().
|
inlineoverrideprivatevirtualnoexcept |
Implements TransactionalSettingBase.
Definition at line 315 of file Prefs.h.
|
inline |
Write value to config and return true if successful.
Definition at line 257 of file Prefs.h.
References SettingScope::Add(), SettingScope::Added, SettingBase::GetConfig(), SettingScope::NotAdded, and SettingScope::PreviouslyAdded.
Referenced by DeviceToolBar::ChangeHost(), AudioSetupToolBar::ChangeHost(), cloud::audiocom::UserService::ClearUserData(), DevicePrefs::Commit(), cloud::audiocom::OAuthService::DoAuthorise(), anonymous_namespace{FileMenus.cpp}::DoImport(), cloud::audiocom::UserService::DownloadAvatar(), TimerRecordDialog::ExecutePostRecordActions(), AudioSetupToolBar::FillHostDevices(), DeviceToolBar::FillHostDevices(), AudioSetupToolBar::FillInputChannels(), DeviceToolBar::FillInputChannels(), FindFFmpegLibs(), AudioIO::Init(), LoadFFmpeg(), AudioSetupToolBar::OnChannels(), DeviceToolBar::OnChoice(), UpdatePopupDialog::OnDontShow(), ExportAudioDialog::OnExport(), App::OnInit(), FFmpegNotFoundDialog::OnOk(), BenchmarkDialog::OnRun(), FFmpegImportPlugin::Open(), ProjectRate::ProjectRate(), ReadSnapTo(), SpectrogramSettings::Globals::SavePrefs(), SpectrogramSettings::SavePrefs(), anonymous_namespace{ProjectManager.cpp}::SaveWindowPreferences(), AudioSetupToolBar::SetDevices(), DeviceToolBar::SetDevices(), ProjectTimeSignature::SetLowerTimeSignature(), AudioIO::SetMixer(), Journal::SetRecordEnabled(), ProjectSnap::SetSnapTo(), ProjectTimeSignature::SetTempo(), ProjectTimeSignature::SetUpperTimeSignature(), UpdateManager::Start(), cloud::audiocom::OAuthService::UnlinkAccount(), anonymous_namespace{SelectionBar.cpp}::UpdateSelectionMode(), and cloud::audiocom::UserService::UpdateUserData().
|
mutableprotected |
|
protected |
|
protected |