]> git.saurik.com Git - wxWidgets.git/commitdiff
added SetRecordDefaults() and IsRecordingDefaults() methods
authorKarsten Ballüder <ballueder@usa.net>
Wed, 5 Aug 1998 14:15:13 +0000 (14:15 +0000)
committerKarsten Ballüder <ballueder@usa.net>
Wed, 5 Aug 1998 14:15:13 +0000 (14:15 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@438 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

include/wx/config.h
src/common/fileconf.cpp
src/msw/regconf.cpp

index c48ee1c3674e07b559154d4888821f8edd850753..f5b1b195eb94a5965aa1b21bc402570e3e2a1e3f 100644 (file)
@@ -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,7 +214,9 @@ 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;
   static bool          ms_bAutoCreate;
index 0bf48eeb78eb9730b6b70a6fa91f9b04b3404e9a..e2ba1c0aaf1fda257c60edcb00fd884f6a119a48 100644 (file)
@@ -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;
   }
index 220058f609196d10237a8691425a34b9b080f896..635bdf355dd712614fb1b405b7f87fcf472cc575 100644 (file)
@@ -281,6 +281,9 @@ bool wxRegConfig::Read(wxString *pStr,
     return TRUE;
   }
 
+  if(IsRecordingDefaults())
+     Write(szKey,szDefault);
+
   // default value
   *pStr = szDefault;
   return FALSE;