added SetRecordDefaults() and IsRecordingDefaults() methods
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@438 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
parent
2bb0cd285a
commit
baeed2892d
@ -101,7 +101,7 @@ public:
|
||||
|
||||
// ctor & virtual dtor
|
||||
// environment variable expansion is on by default
|
||||
wxConfigBase() { m_bExpandEnvVars = TRUE; }
|
||||
wxConfigBase() { m_bExpandEnvVars = TRUE; m_bRecordDefaults = FALSE; }
|
||||
// empty but ensures that dtor of all derived classes is virtual
|
||||
virtual ~wxConfigBase() { }
|
||||
|
||||
@ -172,7 +172,10 @@ public:
|
||||
// (this option is on by default, you can turn it on/off at any time)
|
||||
bool IsExpandingEnvVars() const { return m_bExpandEnvVars; }
|
||||
void SetExpandEnvVars(bool bDoIt = TRUE) { m_bExpandEnvVars = bDoIt; }
|
||||
// does expansion only if needed
|
||||
// recording of default values
|
||||
void SetRecordDefaults(bool bDoIt = TRUE) { m_bRecordDefaults = bDoIt; }
|
||||
bool IsRecordingDefaults() const { return m_bRecordDefaults; }
|
||||
// does expansion only if needed
|
||||
wxString ExpandEnvVars(const wxString& str) const
|
||||
{
|
||||
wxString tmp; // Required for BC++
|
||||
@ -211,6 +214,8 @@ protected:
|
||||
private:
|
||||
// are we doing automatic environment variable expansion?
|
||||
bool m_bExpandEnvVars;
|
||||
// do we record default values?
|
||||
bool m_bRecordDefaults;
|
||||
|
||||
// static variables
|
||||
static wxConfigBase *ms_pConfig;
|
||||
|
@ -532,6 +532,8 @@ bool wxFileConfig::Read(wxString *pstr,
|
||||
|
||||
ConfigEntry *pEntry = m_pCurrentGroup->FindEntry(path.Name());
|
||||
if (pEntry == NULL) {
|
||||
if(IsRecordingDefaults())
|
||||
Write(szKey,szDefault);
|
||||
*pstr = ExpandEnvVars(szDefault);
|
||||
return FALSE;
|
||||
}
|
||||
|
@ -281,6 +281,9 @@ bool wxRegConfig::Read(wxString *pStr,
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
if(IsRecordingDefaults())
|
||||
Write(szKey,szDefault);
|
||||
|
||||
// default value
|
||||
*pStr = szDefault;
|
||||
return FALSE;
|
||||
|
Loading…
Reference in New Issue
Block a user