DEV-40001: Add support for a pre-login help topic.
Asking for help (e.g., pressing F1) before logging in will now display a specific pre-login help topic, "pre_login_help". This behavior was agreed upon with Rand to allow us to display a custom page to help the user log on successfully.master
parent
02943eca33
commit
434407efc4
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
Loading…
Reference in New Issue