diff options
Diffstat (limited to 'indra')
| -rw-r--r-- | indra/newview/llappearancemgr.cpp | 18 | ||||
| -rw-r--r-- | indra/newview/llviewerhelp.cpp | 28 | 
2 files changed, 46 insertions, 0 deletions
diff --git a/indra/newview/llappearancemgr.cpp b/indra/newview/llappearancemgr.cpp index 03180b6a9d..1dec8c7bd8 100644 --- a/indra/newview/llappearancemgr.cpp +++ b/indra/newview/llappearancemgr.cpp @@ -35,6 +35,7 @@  #include "llagent.h"  #include "llagentwearables.h"  #include "llappearancemgr.h" +#include "llcommandhandler.h"  #include "llfloatercustomize.h"  #include "llgesturemgr.h"  #include "llinventorybridge.h" @@ -47,6 +48,23 @@  #include "llviewerregion.h"  #include "llwearablelist.h" +// support for secondlife:///app/appearance SLapps +class LLAppearanceHandler : public LLCommandHandler +{ +public: +	// requests will be throttled from a non-trusted browser +	LLAppearanceHandler() : LLCommandHandler("appearance", UNTRUSTED_THROTTLE) {} + +	bool handle(const LLSD& params, const LLSD& query_map, LLMediaCtrl* web) +	{ +		// support secondlife:///app/appearance/show, but for now we just +		// make all secondlife:///app/appearance SLapps behave this way +		LLSideTray::getInstance()->showPanel("sidepanel_appearance", LLSD()); +		return true; +	} +}; +LLAppearanceHandler gAppearanceHandler; +  class LLWearInventoryCategoryCallback : public LLInventoryCallback  {  public: diff --git a/indra/newview/llviewerhelp.cpp b/indra/newview/llviewerhelp.cpp index 7c491ad154..b82538dacb 100644 --- a/indra/newview/llviewerhelp.cpp +++ b/indra/newview/llviewerhelp.cpp @@ -33,6 +33,7 @@  #include "llviewerprecompiledheaders.h" +#include "llcommandhandler.h"  #include "llfloaterhelpbrowser.h"  #include "llfloaterreg.h"  #include "llfocusmgr.h" @@ -43,6 +44,33 @@  #include "llviewerhelputil.h"  #include "llviewerhelp.h" +// support for secondlife:///app/help/{TOPIC} SLapps +class LLHelpHandler : public LLCommandHandler +{ +public: +	// requests will be throttled from a non-trusted browser +	LLHelpHandler() : LLCommandHandler("help", UNTRUSTED_THROTTLE) {} + +	bool handle(const LLSD& params, const LLSD& query_map, LLMediaCtrl* web) +	{ +		LLViewerHelp* vhelp = LLViewerHelp::getInstance(); +		if (! vhelp) +		{ +			return false; +		} + +		// get the requested help topic name, or use the fallback if none +		std::string help_topic = vhelp->defaultTopic(); +		if (params.size() >= 1) +		{ +			help_topic = params[0].asString(); +		} + +		vhelp->showTopic(help_topic); +		return true; +	} +}; +LLHelpHandler gHelpHandler;  //////////////////////////////  // implement LLHelp interface  | 
