wxString wxFileConfig::GetGlobalFileName(const char *szFile)
{
- wxString str = GetLocalDir();
+ wxString str = GetGlobalDir();
str << szFile;
if ( strchr(szFile, '.') == NULL )
: m_strLocalFile(strLocal), m_strGlobalFile(strGlobal)
{
// if the path is not absolute, prepend the standard directory to it
-
- if ( !strLocal.IsEmpty() && !wxIsPathSeparator(strLocal[0u]) )
- m_strLocalFile = GetLocalDir();
- m_strLocalFile << strLocal;
-
- if ( !strGlobal.IsEmpty() && !wxIsPathSeparator(strGlobal[0u]) )
- m_strGlobalFile = GetGlobalDir();
- m_strGlobalFile << strGlobal;
+ if ( !strLocal.IsEmpty() && !wxIsAbsolutePath(strLocal) )
+ {
+ m_strLocalFile = GetLocalDir();
+ m_strLocalFile << strLocal;
+ }
+
+ if ( !strGlobal.IsEmpty() && !wxIsAbsolutePath(strGlobal) )
+ {
+ m_strGlobalFile = GetGlobalDir();
+ m_strGlobalFile << strGlobal;
+ }
Init();
}
ConfigEntry *pEntry = m_pCurrentGroup->FindEntry(path.Name());
if (pEntry == NULL) {
+ if( IsRecordingDefaults() )
+ ((wxFileConfig *)this)->Write(szKey,szDefault);
*pstr = ExpandEnvVars(szDefault);
return FALSE;
}
wxString strName = path.Name();
if ( strName.IsEmpty() ) {
// setting the value of a group is an error
- wxASSERT_MSG( IsEmpty(szValue), "can't set value of a group!" );
+ wxASSERT_MSG( IsEmpty(szValue), _("can't set value of a group!") );
// ... except if it's empty in which case it's a way to force it's creation
m_pCurrentGroup->SetDirty();
{
CleanUp();
- m_strLocalFile = m_strGlobalFile = "";
- Init();
-
const char *szFile = m_strLocalFile;
if ( remove(szFile) == -1 )
wxLogSysError(_("can't delete user configuration file '%s'"), szFile);
- szFile = m_strGlobalFile;
- if ( remove(szFile) )
- wxLogSysError(_("can't delete system configuration file '%s'"), szFile);
+ m_strLocalFile = m_strGlobalFile = "";
+ Init();
return TRUE;
}
break;
case '"':
- if ( bQuote )
+ if ( bQuote ) {
c = '"';
+ break;
+ }
//else: fall through
default: