diff options
Diffstat (limited to 'indra/newview/llviewerhelputil.cpp')
-rw-r--r-- | indra/newview/llviewerhelputil.cpp | 63 |
1 files changed, 11 insertions, 52 deletions
diff --git a/indra/newview/llviewerhelputil.cpp b/indra/newview/llviewerhelputil.cpp index c1555eacdc..967a2925e3 100644 --- a/indra/newview/llviewerhelputil.cpp +++ b/indra/newview/llviewerhelputil.cpp @@ -32,23 +32,14 @@ */ #include "llviewerprecompiledheaders.h" +#include "llviewerhelputil.h" -#include "llversionviewer.h" - -//#include "llfloaterhelpbrowser.h" -//#include "llfloaterreg.h" -//#include "llfocusmgr.h" -//#include "llviewercontrol.h" -//#include "llappviewer.h" - +#include "llagent.h" +#include "llsd.h" #include "llstring.h" #include "lluri.h" -#include "llsys.h" - -#include "llcontrol.h" - -#include "llviewerhelputil.h" - +#include "llweb.h" +#include "llviewercontrol.h" ////////////////////////////////////////////// // Build a help URL from a topic and formatter @@ -68,47 +59,15 @@ std::string LLViewerHelpUtil::helpURLEncode( const std::string &component ) return escaped; } -static std::string buildHelpVersion( const U32 ver_int ) -{ - std::ostringstream ver_str; - ver_str << ver_int; - return ver_str.str(); // not encoded - numbers are rfc3986-safe -} - //static -std::string LLViewerHelpUtil::buildHelpURL( const std::string &topic, - LLControlGroup &savedSettings, - const LLOSInfo &osinfo ) +std::string LLViewerHelpUtil::buildHelpURL( const std::string &topic) { - std::string helpURL = savedSettings.getString("HelpURLFormat"); LLSD substitution; substitution["TOPIC"] = helpURLEncode(topic); + substitution["DEBUG_MODE"] = gAgent.isGodlike() ? "/debug" : ""; - substitution["CHANNEL"] = helpURLEncode(savedSettings.getString("VersionChannelName")); - - // *TODO: We should put this version pattern in a central place; this and near - // equivalents are replicated in other code - what's a good location? - std::ostringstream version; - version << LL_VERSION_MAJOR << "." - << LL_VERSION_MINOR << "." - << LL_VERSION_PATCH << "." - << LL_VERSION_BUILD; - substitution["VERSION"] = helpURLEncode(version.str()); - substitution["VERSION_MAJOR"] = buildHelpVersion(LL_VERSION_MAJOR); - substitution["VERSION_MINOR"] = buildHelpVersion(LL_VERSION_MINOR); - substitution["VERSION_PATCH"] = buildHelpVersion(LL_VERSION_PATCH); - substitution["VERSION_BUILD"] = buildHelpVersion(LL_VERSION_BUILD); - - substitution["OS"] = helpURLEncode(osinfo.getOSStringSimple()); - - std::string language = savedSettings.getString("Language"); - if( language.empty() || language == "default" ) - { - language = savedSettings.getString("SystemLanguage"); - } - substitution["LANGUAGE"] = helpURLEncode(language); - - LLStringUtil::format(helpURL, substitution); - - return helpURL; + // get the help URL and expand all of the substitutions + // (also adds things like [LANGUAGE], [VERSION], [OS], etc.) + std::string helpURL = gSavedSettings.getString("HelpURLFormat"); + return LLWeb::expandURLSubstitutions(helpURL, substitution); } |