diff options
| author | Dessie Linden <dessie@lindenlab.com> | 2010-10-19 13:47:15 -0700 |
|---|---|---|
| committer | Dessie Linden <dessie@lindenlab.com> | 2010-10-19 13:47:15 -0700 |
| commit | 42e397e155239932a75fa694dc77d9dd952e3c09 (patch) | |
| tree | 1d3cb00d99a585879facf6dce5b7133dbd8ad6da /indra/newview/llprogressview.cpp | |
| parent | a63b83775120f7ebe3bafb897da70e4e41bda6a4 (diff) | |
| parent | c683151587067cb2758206432610d4ff4884036e (diff) | |
Merged from 2.3.0-beta1 tag in viewer-development
Diffstat (limited to 'indra/newview/llprogressview.cpp')
| -rw-r--r-- | indra/newview/llprogressview.cpp | 23 |
1 files changed, 18 insertions, 5 deletions
diff --git a/indra/newview/llprogressview.cpp b/indra/newview/llprogressview.cpp index cde99f8d7c..e9504cbba0 100644 --- a/indra/newview/llprogressview.cpp +++ b/indra/newview/llprogressview.cpp @@ -41,6 +41,7 @@ #include "llagent.h" #include "llbutton.h" #include "llfocusmgr.h" +#include "llnotifications.h" #include "llprogressbar.h" #include "llstartup.h" #include "llviewercontrol.h" @@ -90,6 +91,8 @@ BOOL LLProgressView::postBuild() // hidden initially, until we need it LLPanel::setVisible(FALSE); + LLNotifications::instance().getChannel("AlertModal")->connectChanged(boost::bind(&LLProgressView::onAlertModal, this, _1)); + sInstance = this; return TRUE; } @@ -128,15 +131,10 @@ void LLProgressView::setVisible(BOOL visible) if (getVisible() && !visible) { mFadeTimer.start(); - // hiding progress view, so show menu bars - LLUI::getRootView()->getChildView("menu_bar_holder")->setVisible(TRUE); } // showing progress view else if (!getVisible() && visible) { - // showing progress view, so hide menu bars - LLUI::getRootView()->getChildView("menu_bar_holder")->setVisible(FALSE); - setFocus(TRUE); mFadeTimer.stop(); mProgressTimer.start(); @@ -294,3 +292,18 @@ bool LLProgressView::handleUpdate(const LLSD& event_data) } return false; } + +bool LLProgressView::onAlertModal(const LLSD& notify) +{ + // if the progress view is visible, it will obscure the notification window + // in this case, we want to auto-accept WebLaunchExternalTarget notifications + if (isInVisibleChain() && notify["sigtype"].asString() == "add") + { + LLNotificationPtr notifyp = LLNotifications::instance().find(notify["id"].asUUID()); + if (notifyp && notifyp->getName() == "WebLaunchExternalTarget") + { + notifyp->respondWithDefault(); + } + } + return false; +} |
