// 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() { }
// (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++
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;
ConfigEntry *pEntry = m_pCurrentGroup->FindEntry(path.Name());
if (pEntry == NULL) {
+ if(IsRecordingDefaults())
+ Write(szKey,szDefault);
*pstr = ExpandEnvVars(szDefault);
return FALSE;
}