diff options
author | James Cook <james@lindenlab.com> | 2009-12-04 17:33:36 -0800 |
---|---|---|
committer | James Cook <james@lindenlab.com> | 2009-12-04 17:33:36 -0800 |
commit | 7ff7709f9fd07de5cc9b039562d0fe3794f6ce36 (patch) | |
tree | e90e33e04ea849c5f4e6a9141af0da6370b2dc8f /indra/newview/llloginhandler.cpp | |
parent | 738dabede22236e2f9618c402362ada88c785d68 (diff) |
Expose window minimize and restore in LLWindow interface.
Add secondlife:///app/login/reg handler for Reg-In-Client
Reviewed with Ambroff
Diffstat (limited to 'indra/newview/llloginhandler.cpp')
-rw-r--r-- | indra/newview/llloginhandler.cpp | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/indra/newview/llloginhandler.cpp b/indra/newview/llloginhandler.cpp index 2a1f42c3c4..1be3430e07 100644 --- a/indra/newview/llloginhandler.cpp +++ b/indra/newview/llloginhandler.cpp @@ -40,9 +40,12 @@ #include "llurlsimstring.h" #include "llviewercontrol.h" // gSavedSettings #include "llviewernetwork.h" // EGridInfo +#include "llviewerwindow.h" // getWindow() // library includes #include "llmd5.h" +#include "llweb.h" +#include "llwindow.h" // Must have instance to auto-register with LLCommandDispatcher @@ -174,6 +177,32 @@ bool LLLoginHandler::handle(const LLSD& tokens, return true; } + if (tokens.size() == 1 + && tokens[0].asString() == "reg") + { + LLWindow* window = gViewerWindow->getWindow(); + window->incBusyCount(); + window->setCursor(UI_CURSOR_ARROW); + + // Do this first, as it may be slow and we want to keep something + // on the user's screen as long as possible + LLWeb::loadURLExternal( "http://join.eniac15.lindenlab.com/" ); + + window->decBusyCount(); + window->setCursor(UI_CURSOR_ARROW); + + // Then hide the window + window->minimize(); + return true; + } + + // Make sure window is visible + LLWindow* window = gViewerWindow->getWindow(); + if (window->getMinimized()) + { + window->restore(); + } + parse(query_map); //if we haven't initialized stuff yet, this is |