X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/b713f8919c649822292f04bb7095291585d96550..848332140be2d53aea32d0702f4c0e06c149d24b:/src/common/config.cpp diff --git a/src/common/config.cpp b/src/common/config.cpp index 3248e1e59a..8e5572cf39 100644 --- a/src/common/config.cpp +++ b/src/common/config.cpp @@ -13,9 +13,6 @@ // ---------------------------------------------------------------------------- // headers // ---------------------------------------------------------------------------- -#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA) - #pragma implementation "confbase.h" -#endif #include "wx/wxprec.h" @@ -91,6 +88,8 @@ wxConfigBase *wxConfigBase::Create() ms_pConfig = #if defined(__WXMSW__) && wxUSE_CONFIG_NATIVE new wxRegConfig(wxTheApp->GetAppName(), wxTheApp->GetVendorName()); + #elif defined(__WXPALMOS__) && wxUSE_CONFIG_NATIVE + new wxPrefConfig(wxTheApp->GetAppName()); #else // either we're under Unix or wish to use files even under Windows new wxFileConfig(wxTheApp->GetAppName()); #endif @@ -226,8 +225,9 @@ bool wxConfigBase::DoWriteBool(const wxString& key, bool value) // ---------------------------------------------------------------------------- wxConfigPathChanger::wxConfigPathChanger(const wxConfigBase *pContainer, - const wxString& strEntry) + const wxString& strEntry) { + m_bChanged = false; m_pContainer = (wxConfigBase *)pContainer; // the path is everything which precedes the last slash @@ -244,7 +244,7 @@ wxConfigPathChanger::wxConfigPathChanger(const wxConfigBase *pContainer, { if ( m_pContainer->GetPath() != strPath ) { - // do change the path + // we do change the path so restore it later m_bChanged = true; /* JACS: work around a memory bug that causes an assert @@ -269,7 +269,6 @@ wxConfigPathChanger::wxConfigPathChanger(const wxConfigBase *pContainer, } else { // it's a name only, without path - nothing to do - m_bChanged = false; m_strName = strEntry; } } @@ -291,24 +290,25 @@ wxConfigPathChanger::~wxConfigPathChanger() // understands both Unix and Windows (but only under Windows) environment // variables expansion: i.e. $var, $(var) and ${var} are always understood // and in addition under Windows %var% is also. + +// don't change the values the enum elements: they must be equal +// to the matching [closing] delimiter. +enum Bracket +{ + Bracket_None, + Bracket_Normal = ')', + Bracket_Curly = '}', +#ifdef __WXMSW__ + Bracket_Windows = '%', // yeah, Windows people are a bit strange ;-) +#endif + Bracket_Max +}; + wxString wxExpandEnvVars(const wxString& str) { wxString strResult; strResult.Alloc(str.Len()); - // don't change the values the enum elements: they must be equal - // to the matching [closing] delimiter. - enum Bracket - { - Bracket_None, - Bracket_Normal = ')', - Bracket_Curly = '}', -#ifdef __WXMSW__ - Bracket_Windows = '%', // yeah, Windows people are a bit strange ;-) -#endif - Bracket_Max - }; - size_t m; for ( size_t n = 0; n < str.Len(); n++ ) { switch ( str[n] ) { @@ -378,8 +378,8 @@ wxString wxExpandEnvVars(const wxString& str) // 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()); + wxLogWarning(_("Environment variables expansion failed: missing '%c' at position %u in '%s'."), + (char)bracket, (unsigned int) (m + 1), str.c_str()); #endif // __WXMSW__ } else {