]> git.saurik.com Git - wxWidgets.git/blobdiff - src/msw/iniconf.cpp
Added chapter on collection and container classes to contents
[wxWidgets.git] / src / msw / iniconf.cpp
index e65785791dd66aefec0ebe347dcb8061677746d3..eca894e0db11ffff6ef3354cbe44a3ce9e927210 100644 (file)
   #include  "wx/utils.h"
 #endif  //WX_PRECOMP
 
+// Doesn't yet compile in Unicode mode
+
+#if wxUSE_CONFIG && !wxUSE_UNICODE
+
 #include  "wx/dynarray.h"
 #include  "wx/log.h"
 #include  "wx/config.h"
@@ -60,29 +64,38 @@ wxIniConfig::wxIniConfig(const wxString& strAppName,
                          const wxString& localFilename,
                          const wxString& globalFilename,
                          long style)
-           : wxConfigBase(!strAppName && wxTheApp ? wxTheApp->GetAppName()
+           : wxConfigBase(strAppName, strVendor, localFilename, globalFilename, style)
+
+#if 0 // This is too complex for some compilers, e.g. BC++ 5.01
+           : wxConfigBase((strAppName.IsEmpty() && wxTheApp) ? wxTheApp->GetAppName()
                                                : strAppName,
-                          !strVendor ? (wxTheApp ? wxTheApp->GetVendorName()
+                          strVendor.IsEmpty() ? (wxTheApp ? wxTheApp->GetVendorName()
                                                   : strAppName)
                                       : strVendor,
                           localFilename, globalFilename, style)
+#endif
 {
+    if (strAppName.IsEmpty() && wxTheApp)
+        SetAppName(wxTheApp->GetAppName());
+    if (strVendor.IsEmpty() && wxTheApp)
+        SetVendorName(wxTheApp->GetVendorName());
+
     m_strLocalFilename = localFilename;
     if (m_strLocalFilename.IsEmpty())
     {
-        m_strLocalFilename = GetAppName() + ".ini";
+        m_strLocalFilename = GetAppName() + wxT(".ini");
     }
 
     // append the extension if none given and it's not an absolute file name
     // (otherwise we assume that they know what they're doing)
     if ( !wxIsPathSeparator(m_strLocalFilename[0u]) &&
-        m_strLocalFilename.Find('.') == wxNOT_FOUND )
+        m_strLocalFilename.Find(wxT('.')) == wxNOT_FOUND )
     {
-        m_strLocalFilename << ".ini";
+        m_strLocalFilename << wxT(".ini");
     }
 
     // set root path
-    SetPath("");
+    SetPath(wxT(""));
 }
 
 wxIniConfig::~wxIniConfig()
@@ -371,7 +384,7 @@ bool wxIniConfig::Write(const wxString& szKey, const wxString& szValue)
                                        szValue, m_strLocalFilename) != 0;
 
   if ( !bOk )
-    wxLogLastError("WritePrivateProfileString");
+    wxLogLastError(wxT("WritePrivateProfileString"));
 
   return bOk;
 }
@@ -415,7 +428,7 @@ bool wxIniConfig::DeleteEntry(const wxString& szKey, bool bGroupIfEmptyAlso)
                                        NULL, m_strLocalFilename) != 0;
 
   if ( !bOk )
-    wxLogLastError("WritePrivateProfileString");
+    wxLogLastError(wxT("WritePrivateProfileString"));
 
   return bOk;
 }
@@ -430,7 +443,7 @@ bool wxIniConfig::DeleteGroup(const wxString& szKey)
                                        NULL, m_strLocalFilename) != 0;
 
   if ( !bOk )
-    wxLogLastError("WritePrivateProfileString");
+    wxLogLastError(wxT("WritePrivateProfileString"));
 
   return bOk;
 }
@@ -449,11 +462,11 @@ bool wxIniConfig::DeleteAll()
   size_t nRc = GetWindowsDirectory(szBuf, WXSIZEOF(szBuf));
   if ( nRc == 0 )
   {
-    wxLogLastError("GetWindowsDirectory");
+    wxLogLastError(wxT("GetWindowsDirectory"));
   }
   else if ( nRc > WXSIZEOF(szBuf) )
   {
-    wxFAIL_MSG("buffer is too small for Windows directory.");
+    wxFAIL_MSG(wxT("buffer is too small for Windows directory."));
   }
 
   wxString strFile = szBuf;
@@ -478,3 +491,6 @@ bool wxIniConfig::RenameGroup(const wxString& oldName, const wxString& newName)
     // Not implemented
     return FALSE;
 }
+
+#endif
+    // wxUSE_CONFIG && wxUSE_UNICODE