diff options
| author | Lynx Linden <lynx@lindenlab.com> | 2009-11-11 00:00:21 +0000 | 
|---|---|---|
| committer | Lynx Linden <lynx@lindenlab.com> | 2009-11-11 00:00:21 +0000 | 
| commit | 2d5c6ea8207664ed3ef5de356638f7e30b812836 (patch) | |
| tree | dfa8bb1629eb62a9ad6ba4220df17881b005b0d5 | |
| parent | c50072b5482bea46f62931e075f811fbce92293d (diff) | |
| parent | 434407efc4e4a862cf7b755cd06f2ef6e78d2b8e (diff) | |
Automated merge with ssh://hg.lindenlab.com/viewer/viewer-2-0
| -rw-r--r-- | indra/llui/llhelp.h | 2 | ||||
| -rw-r--r-- | indra/newview/llviewerhelp.cpp | 23 | ||||
| -rw-r--r-- | indra/newview/llviewerhelp.h | 3 | 
3 files changed, 24 insertions, 4 deletions
| diff --git a/indra/llui/llhelp.h b/indra/llui/llhelp.h index c06d29a4bd..82c3bc385f 100644 --- a/indra/llui/llhelp.h +++ b/indra/llui/llhelp.h @@ -40,6 +40,8 @@ class LLHelp  	virtual void showTopic(const std::string &topic) = 0;  	// return default (fallback) topic name suitable for showTopic()  	virtual std::string defaultTopic() = 0; +	// return topic to use before the user logs in +	virtual std::string preLoginTopic() = 0;  };  #endif // headerguard diff --git a/indra/newview/llviewerhelp.cpp b/indra/newview/llviewerhelp.cpp index 0e0727e382..056260791c 100644 --- a/indra/newview/llviewerhelp.cpp +++ b/indra/newview/llviewerhelp.cpp @@ -39,6 +39,7 @@  #include "llviewercontrol.h"  #include "llversionviewer.h"  #include "llappviewer.h" +#include "lllogininstance.h"  #include "llviewerhelputil.h"  #include "llviewerhelp.h" @@ -51,17 +52,25 @@ void LLViewerHelp::showTopic(const std::string &topic)  {  	showHelp(); +	// allow overriding the help server with a local help file  	if( gSavedSettings.getBOOL("HelpUseLocal") )  	{  		LLFloaterHelpBrowser* helpbrowser = dynamic_cast<LLFloaterHelpBrowser*>(LLFloaterReg::getInstance("help_browser"));  		helpbrowser->navigateToLocalPage( "help-offline" , "index.html" ); +		return;  	} -	else  + +	// use a special login topic before the user logs in +	std::string help_topic = topic; +	if (! LLLoginInstance::getInstance()->authSuccess())  	{ -		const LLOSInfo& osinfo = LLAppViewer::instance()->getOSInfo(); -		std::string helpURL = LLViewerHelpUtil::buildHelpURL( topic, gSavedSettings, osinfo ); -		setRawURL( helpURL ); +		help_topic = preLoginTopic();  	} + +	// work out the URL for this topic and display it  +	const LLOSInfo& osinfo = LLAppViewer::instance()->getOSInfo(); +	std::string helpURL = LLViewerHelpUtil::buildHelpURL( help_topic, gSavedSettings, osinfo ); +	setRawURL( helpURL );  }  std::string LLViewerHelp::defaultTopic() @@ -70,6 +79,12 @@ std::string LLViewerHelp::defaultTopic()  	return "this_is_fallbacktopic";  } +std::string LLViewerHelp::preLoginTopic() +{ +	// *hack: to be done properly +	return "pre_login_help"; +} +  //////////////////////////////  // our own interfaces diff --git a/indra/newview/llviewerhelp.h b/indra/newview/llviewerhelp.h index 17aab6f239..dcb5ae32c9 100644 --- a/indra/newview/llviewerhelp.h +++ b/indra/newview/llviewerhelp.h @@ -57,6 +57,9 @@ class LLViewerHelp : public LLHelp, public LLSingleton<LLViewerHelp>  	// return topic derived from viewer UI focus, else default topic  	std::string getTopicFromFocus(); +	// return topic to use before the user logs in +	std::string preLoginTopic(); +   private:  	static void showHelp(); // make sure help UI is visible & raised  	static void setRawURL(std::string url); // send URL to help UI | 
