// Licence: wxWindows license
///////////////////////////////////////////////////////////////////////////////
-// ============================================================================
-// declarations
-// ============================================================================
+#ifdef __GNUG__
+#pragma implementation "iniconf.h"
+#endif
-// ----------------------------------------------------------------------------
-// headers
-// ----------------------------------------------------------------------------
-#include "wx/wxprec.h"
+// For compilers that support precompilation, includes "wx.h".
+#include "wx/wxprec.h"
-#ifdef __BORLANDC__
- #pragma hdrstop
-#endif //__BORLANDC__
+#ifdef __BORLANDC__
+#pragma hdrstop
+#endif
#ifndef WX_PRECOMP
#include <wx/string.h>
#include <wx/intl.h>
+ #include <wx/event.h>
#include <wx/app.h>
+ #include <wx/utils.h>
#endif //WX_PRECOMP
#include <wx/dynarray.h>
// 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('.') == NOT_FOUND )
+ m_strLocalFilename.Find('.') == wxNOT_FOUND )
{
m_strLocalFilename << ".ini";
}
// other functions assume that all this is true, i.e. there are no trailing
// underscores at the end except if the group is the root one
wxASSERT( (m_strPath.IsEmpty() || m_strPath.Last() != PATH_SEP_REPLACE) &&
- (m_strGroup == PATH_SEP_REPLACE ||
+ (m_strGroup == wxString(PATH_SEP_REPLACE) ||
m_strGroup.Last() != PATH_SEP_REPLACE) );
}
// always return abs path
s_str = wxCONFIG_PATH_SEPARATOR;
- if ( m_strGroup == PATH_SEP_REPLACE ) {
+ if ( m_strGroup == wxString(PATH_SEP_REPLACE) ) {
// we're at the root level, nothing to do
}
else {
{
wxString strKey;
- if ( m_strGroup != PATH_SEP_REPLACE )
+ if ( m_strGroup != wxString(PATH_SEP_REPLACE) )
strKey << m_strGroup << PATH_SEP_REPLACE;
if ( !m_strPath.IsEmpty() )
strKey << m_strPath << PATH_SEP_REPLACE;
// is it really nMagic?
lVal = GetPrivateProfileInt(m_strGroup, strKey, nMagic2, m_strLocalFilename);
- if ( lVal == nMagic ) {
+ if ( lVal == nMagic2 ) {
// the nMagic it returned was indeed read from the file
*pl = lVal;
return TRUE;
// delete
// ----------------------------------------------------------------------------
-bool wxIniConfig::DeleteEntry(const char *szKey, bool bGroupIfEmptyAlso)
+bool wxIniConfig::DeleteEntry(const wxString& szKey, bool bGroupIfEmptyAlso)
{
// passing NULL as value to WritePrivateProfileString deletes the key
- if ( !Write(szKey, (const char *)NULL) )
+// if ( !Write(szKey, (const char *)NULL) )
+// return FALSE;
+ wxConfigPathChanger path(this, szKey);
+ wxString strKey = GetPrivateKeyName(path.Name());
+
+ if (WritePrivateProfileString(m_strGroup, szKey,
+ (const char*) NULL, m_strLocalFilename) == 0)
return FALSE;
-
+
if ( !bGroupIfEmptyAlso || !IsEmpty() )
return TRUE;
return bOk;
}
-bool wxIniConfig::DeleteGroup(const char *szKey)
+bool wxIniConfig::DeleteGroup(const wxString& szKey)
{
wxConfigPathChanger path(this, szKey);
return bOk;
}
+#ifndef MAX_PATH
+#define MAX_PATH 256
+#endif
+
bool wxIniConfig::DeleteAll()
{
// first delete our group in win.ini
wxString strFile = szBuf;
strFile << '\\' << m_strLocalFilename;
- if ( !DeleteFile(strFile) ) {
+ if ( !wxRemoveFile(strFile) ) {
wxLogSysError(_("Can't delete the INI file '%s'"), strFile.c_str());
return FALSE;
}
return TRUE;
}
+
+bool wxIniConfig::RenameEntry(const wxString& oldName, const wxString& newName)
+{
+ // Not implemented
+ return FALSE;
+}
+
+bool wxIniConfig::RenameGroup(const wxString& oldName, const wxString& newName)
+{
+ // Not implemented
+ return FALSE;
+}