summaryrefslogtreecommitdiff
path: root/indra/newview/llviewerhelputil.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'indra/newview/llviewerhelputil.cpp')
-rw-r--r--indra/newview/llviewerhelputil.cpp63
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);
}