![]() |
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) | |
wxConfigBase * | 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 180 of file Prefs.h.
|
inline |
This overload causes recomputation of the default each time it is needed.
|
inlineoverrideprivatevirtual |
Implements TransactionalSettingBase.
Definition at line 296 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 325 of file Prefs.h.
References SettingBase::GetConfig(), and SettingBase::mPath.
|
inlineoverrideprivatevirtual |
Implements TransactionalSettingBase.
Definition at line 288 of file Prefs.h.
References Read().
|
inline |
Definition at line 192 of file Prefs.h.
Referenced by TracksPrefs::Commit(), 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(), ShuttleGuiBase::TieNumericTextBox(), anonymous_namespace{GetInfoCommand.cpp}::ShuttleGuiGetDefinition::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 282 of file Prefs.h.
Referenced by ApplicationPrefs::Commit(), DevicePrefs::Commit(), GUIPrefs::Commit(), QualityPrefs::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 226 of file Prefs.h.
|
inline |
overload of Read returning a boolean that is true if the value was previously defined */
Definition at line 200 of file Prefs.h.
Referenced by AudioIO::AudioIO(), cloud::audiocom::OAuthService::AuthoriseRefreshToken(), BuildBeatsFormat(), DeviceToolBar::ChangeDevice(), AudioSetupToolBar::ChangeDeviceLabel(), DeviceToolBar::ChangeHost(), AudioSetupToolBar::ChangeHost(), ProjectAudioManager::ChooseExistingRecordingTracks(), RecordingPrefs::Commit(), ConfirmSave(), ProjectAudioManager::DoRecord(), cloud::audiocom::UserService::DownloadAvatar(), SpectrumVZoomHandle::DoZoom(), EditToolBar::EditToolBar(), ExportWavPack::Export(), 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(), AdornedRulerPanel::OnTimelineFormatChange(), UpdateManager::OnTimer(), FFmpegImportPlugin::Open(), FrequencyPlotDialog::Populate(), DevicePrefs::Populate(), QualityPrefs::Populate(), cloud::audiocom::ShareAudioDialog::InitialStatePanel::PopulateInitialStatePanel(), ExportWavPackOptions::PopulateOrExchange(), FFmpegNotFoundDialog::PopulateOrExchange(), SoundActivatedRecordDialog::PopulateOrExchange(), RecordingPrefs::PopulateOrExchange(), ProjectRate::ProjectRate(), ThemeBase::ReadImageCache(), Journal::RecordEnabled(), AdornedRulerPanel::RefreshTimelineFormat(), 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 234 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 206 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 277 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 310 of file Prefs.h.
|
inline |
Write value to config and return true if successful.
Definition at line 252 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(), QualityPrefs::Commit(), cloud::audiocom::OAuthService::DoAuthorise(), anonymous_namespace{FileMenus.cpp}::DoImport(), cloud::audiocom::UserService::DownloadAvatar(), AudioSetupToolBar::FillHostDevices(), DeviceToolBar::FillHostDevices(), AudioSetupToolBar::FillInputChannels(), DeviceToolBar::FillInputChannels(), FindFFmpegLibs(), AudioIO::Init(), LoadFFmpeg(), AudioSetupToolBar::OnChannels(), DeviceToolBar::OnChoice(), UpdatePopupDialog::OnDontShow(), App::OnInit(), FFmpegNotFoundDialog::OnOk(), BenchmarkDialog::OnRun(), FFmpegImportPlugin::Open(), cloud::audiocom::ShareAudioDialog::InitialStatePanel::PopulateFirstTimeNotice(), ProjectRate::ProjectRate(), SpectrogramSettings::Globals::SavePrefs(), SpectrogramSettings::SavePrefs(), anonymous_namespace{ProjectManager.cpp}::SaveWindowPreferences(), AudioSetupToolBar::SetDevices(), DeviceToolBar::SetDevices(), AudioIO::SetMixer(), Journal::SetRecordEnabled(), UpdateManager::Start(), cloud::audiocom::OAuthService::UnlinkAccount(), cloud::audiocom::anonymous_namespace{ShareAudioDialog.cpp}::UpdatePublicity(), and cloud::audiocom::UserService::UpdateUserData().
|
mutableprotected |
|
protected |
|
protected |