X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/9f4ed8613c2853dbf8b190b41dbdafa960b33a85..3a5bcc4db0851bf8cd3063917511b0b17c7f9679:/src/xrc/xmlres.cpp diff --git a/src/xrc/xmlres.cpp b/src/xrc/xmlres.cpp index 7fa32e14ac..bbe8ce47c5 100644 --- a/src/xrc/xmlres.cpp +++ b/src/xrc/xmlres.cpp @@ -410,7 +410,11 @@ bool wxXmlResource::UpdateResources() } ProcessPlatformProperty(m_data[i].Doc->GetRoot()); +#if wxUSE_FILESYSTEM m_data[i].Time = file->GetModificationTime(); +#else + m_data[i].Time = wxDateTime(wxFileModificationTime(m_data[i].File)); +#endif } # if wxUSE_FILESYSTEM @@ -752,7 +756,8 @@ int wxXmlResourceHandler::GetStyle(const wxString& param, int defaults) wxString wxXmlResourceHandler::GetText(const wxString& param, bool translate) { - wxString str1(GetParamValue(param)); + wxXmlNode *parNode = GetParamNode(param); + wxString str1(GetNodeContent(parNode)); wxString str2; const wxChar *dt; wxChar amp_char; @@ -788,11 +793,31 @@ wxString wxXmlResourceHandler::GetText(const wxString& param, bool translate) else str2 << *dt; } - if (translate && m_resource->GetFlags() & wxXRC_USE_LOCALE) - return wxGetTranslation(str2); + if (m_resource->GetFlags() & wxXRC_USE_LOCALE) + { + if (translate && parNode && + parNode->GetPropVal(wxT("translate"), wxEmptyString) != wxT("0")) + { + return wxGetTranslation(str2); + } + else + { +#if wxUSE_UNICODE + return str2; +#else + // The string is internally stored as UTF-8, we have to convert + // it into system's default encoding so that it can be displayed: + return wxString(str2.mb_str(wxConvUTF8), wxConvLocal); +#endif + } + } else + { + // If wxXRC_USE_LOCALE is not set, then the string is already in + // system's default encoding in ANSI build, so we don't have to + // do anything special here. return str2; - + } }