git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@438
c3d73ce0-8a6f-49c7-b76d-
6d57e0e08775
// ctor & virtual dtor
// environment variable expansion is on by default
// 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() { }
// empty but ensures that dtor of all derived classes is virtual
virtual ~wxConfigBase() { }
// (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; }
// (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++
wxString ExpandEnvVars(const wxString& str) const
{
wxString tmp; // Required for BC++
private:
// are we doing automatic environment variable expansion?
bool m_bExpandEnvVars;
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;
static bool ms_bAutoCreate;
// static variables
static wxConfigBase *ms_pConfig;
static bool ms_bAutoCreate;
ConfigEntry *pEntry = m_pCurrentGroup->FindEntry(path.Name());
if (pEntry == NULL) {
ConfigEntry *pEntry = m_pCurrentGroup->FindEntry(path.Name());
if (pEntry == NULL) {
+ if(IsRecordingDefaults())
+ Write(szKey,szDefault);
*pstr = ExpandEnvVars(szDefault);
return FALSE;
}
*pstr = ExpandEnvVars(szDefault);
return FALSE;
}
+ if(IsRecordingDefaults())
+ Write(szKey,szDefault);
+
// default value
*pStr = szDefault;
return FALSE;
// default value
*pStr = szDefault;
return FALSE;