merged 2.4 branch into the trunk

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18040 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin
2002-12-04 14:11:26 +00:00
parent 59a944cb63
commit 2b5f62a0b2
1057 changed files with 37805 additions and 24034 deletions

View File

@@ -68,7 +68,8 @@ wxConfigBase::wxConfigBase(const wxString& appName,
long style)
: m_appName(appName), m_vendorName(vendorName), m_style(style)
{
m_bExpandEnvVars = TRUE; m_bRecordDefaults = FALSE;
m_bExpandEnvVars = TRUE;
m_bRecordDefaults = FALSE;
}
wxConfigBase::~wxConfigBase()
@@ -110,7 +111,12 @@ wxConfigBase *wxConfigBase::Create()
{ \
wxCHECK_MSG( val, FALSE, _T("wxConfig::Read(): NULL parameter") ); \
\
return DoRead##name(key, val); \
if ( !DoRead##name(key, val) ) \
return FALSE; \
\
*val = extra(*val); \
\
return TRUE; \
} \
\
bool wxConfigBase::Read(const wxString& key, \
@@ -119,17 +125,20 @@ wxConfigBase *wxConfigBase::Create()
{ \
wxCHECK_MSG( val, FALSE, _T("wxConfig::Read(): NULL parameter") ); \
\
if ( DoRead##name(key, val) ) \
return TRUE; \
\
if ( IsRecordingDefaults() ) \
bool read = DoRead##name(key, val); \
if ( !read ) \
{ \
((wxConfigBase *)this)->DoWrite##name(key, defVal); \
if ( IsRecordingDefaults() ) \
{ \
((wxConfigBase *)this)->DoWrite##name(key, defVal); \
} \
\
*val = defVal; \
} \
\
*val = extra(defVal); \
*val = extra(*val); \
\
return FALSE; \
return read; \
}
@@ -278,10 +287,11 @@ wxString wxExpandEnvVars(const wxString& str)
{
Bracket_None,
Bracket_Normal = ')',
Bracket_Curly = '}'
Bracket_Curly = '}',
#ifdef __WXMSW__
,Bracket_Windows = '%' // yeah, Windows people are a bit strange ;-)
Bracket_Windows = '%', // yeah, Windows people are a bit strange ;-)
#endif
Bracket_Max
};
size_t m;
@@ -342,8 +352,16 @@ wxString wxExpandEnvVars(const wxString& str)
// check the closing bracket
if ( bracket != Bracket_None ) {
if ( m == str.Len() || str[m] != (char)bracket ) {
wxLogWarning(_("Environment variables expansion failed: missing '%c' at position %d in '%s'."),
(char)bracket, m + 1, str.c_str());
// under MSW it's common to have '%' characters in the registry
// and it's annoying to have warnings about them each time, so
// ignroe them silently if they are not used for env vars
//
// under Unix, OTOH, this warning could be useful for the user to
// understand why isn't the variable expanded as intended
#ifndef __WXMSW__
wxLogWarning(_("Environment variables expansion failed: missing '%c' at position %d in '%s'."),
(char)bracket, m + 1, str.c_str());
#endif // __WXMSW__
}
else {
// skip closing bracket unless the variables wasn't expanded
@@ -375,8 +393,6 @@ wxString wxExpandEnvVars(const wxString& str)
}
// this function is used to properly interpret '..' in path
/// separates group and entry names (probably shouldn't be changed)
void wxSplitPath(wxArrayString& aParts, const wxChar *sz)
{
aParts.Empty();