diff options
| author | Brad Linden <brad@lindenlab.com> | 2024-05-23 11:31:19 -0700 | 
|---|---|---|
| committer | Brad Linden <brad@lindenlab.com> | 2024-05-23 11:31:19 -0700 | 
| commit | a1f49564d670a2c41bfa25c833bba2564b9b7f48 (patch) | |
| tree | 1d205e51bc37621916a17d459ad83782fe41f975 /indra/newview/llnotificationalerthandler.cpp | |
| parent | 6af5db09faf5ea33a2d4c47b64e76f42edae178a (diff) | |
| parent | 6377610f6587989c126b00f490dfc8d527a1c2ce (diff) | |
Merge remote-tracking branch 'origin/DRTVWR-600-maint-A' into brad/merge-maint-a-to-dev
Diffstat (limited to 'indra/newview/llnotificationalerthandler.cpp')
| -rw-r--r-- | indra/newview/llnotificationalerthandler.cpp | 162 | 
1 files changed, 81 insertions, 81 deletions
diff --git a/indra/newview/llnotificationalerthandler.cpp b/indra/newview/llnotificationalerthandler.cpp index 90b9cdc133..3c4ca536e3 100644 --- a/indra/newview/llnotificationalerthandler.cpp +++ b/indra/newview/llnotificationalerthandler.cpp @@ -1,25 +1,25 @@ -/**  +/**   * @file llnotificationalerthandler.cpp   * @brief Notification Handler Class for Alert Notifications   *   * $LicenseInfo:firstyear=2000&license=viewerlgpl$   * Second Life Viewer Source Code   * Copyright (C) 2010, Linden Research, Inc. - *  + *   * This library is free software; you can redistribute it and/or   * modify it under the terms of the GNU Lesser General Public   * License as published by the Free Software Foundation;   * version 2.1 of the License only. - *  + *   * This library is distributed in the hope that it will be useful,   * but WITHOUT ANY WARRANTY; without even the implied warranty of   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU   * Lesser General Public License for more details. - *  + *   * You should have received a copy of the GNU Lesser General Public   * License along with this library; if not, write to the Free Software   * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA - *  + *   * Linden Research, Inc., 945 Battery Street, San Francisco, CA  94111  USA   * $/LicenseInfo$   */ @@ -41,19 +41,19 @@  using namespace LLNotificationsUI;  //-------------------------------------------------------------------------- -LLAlertHandler::LLAlertHandler(const std::string& name, const std::string& notification_type, bool is_modal)  -:	LLSystemNotificationHandler(name, notification_type), -	mIsModal(is_modal) +LLAlertHandler::LLAlertHandler(const std::string& name, const std::string& notification_type, bool is_modal) +:   LLSystemNotificationHandler(name, notification_type), +    mIsModal(is_modal)  { -	LLScreenChannelBase::Params p; -	p.id = LLUUID(gSavedSettings.getString("AlertChannelUUID")); -	p.display_toasts_always = true; -	p.toast_align = NA_CENTRE; -	p.channel_align = CA_CENTRE; - -	// Getting a Channel for our notifications -	mChannel = LLChannelManager::getInstance()->getChannel(p)->getHandle(); -	mChannel.get()->setCanStoreToasts(false); +    LLScreenChannelBase::Params p; +    p.id = ALERT_CHANNEL_UUID; +    p.display_toasts_always = true; +    p.toast_align = NA_CENTRE; +    p.channel_align = CA_CENTRE; + +    // Getting a Channel for our notifications +    mChannel = LLChannelManager::getInstance()->getChannel(p)->getHandle(); +    mChannel.get()->setCanStoreToasts(false);  }  //-------------------------------------------------------------------------- @@ -64,88 +64,88 @@ LLAlertHandler::~LLAlertHandler()  //--------------------------------------------------------------------------  void LLAlertHandler::initChannel()  { -	S32 channel_right_bound = gViewerWindow->getWorldViewRectScaled().getWidth() / 2; -	mChannel.get()->init(channel_right_bound, channel_right_bound); +    S32 channel_right_bound = gViewerWindow->getWorldViewRectScaled().getWidth() / 2; +    mChannel.get()->init(channel_right_bound, channel_right_bound);  }  //--------------------------------------------------------------------------  bool LLAlertHandler::processNotification(const LLNotificationPtr& notification, bool should_log)  { -	if(mChannel.isDead()) -	{ -		return false; -	} - -	// arrange a channel on a screen -	if(!mChannel.get()->getVisible()) -	{ -		initChannel(); -	} - -	if (notification->canLogToIM() && notification->hasFormElements()) -	{ -		const std::string name = LLHandlerUtil::getSubstitutionName(notification); - -		LLUUID from_id = notification->getPayload()["from_id"]; - -		// firstly create session... -		LLHandlerUtil::spawnIMSession(name, from_id); - -		// ...then log message to have IM Well notified about new message -		LLHandlerUtil::logToIMP2P(notification); -	} - -	LLToastAlertPanel* alert_dialog = new LLToastAlertPanel(notification, mIsModal); -	LLToast::Params p; -	p.notif_id = notification->getID(); -	p.notification = notification; -	p.panel = dynamic_cast<LLToastPanel*>(alert_dialog); -	p.enable_hide_btn = false; -	p.can_fade = false; -	p.is_modal = mIsModal; -	p.on_delete_toast = boost::bind(&LLAlertHandler::onDeleteToast, this, _1); - -	// Show alert in middle of progress view (during teleport) (EXT-1093) -	LLProgressView* progress = gViewerWindow->getProgressView(); -	LLRect rc = progress && progress->getVisible() ? progress->getRect() : gViewerWindow->getWorldViewRectScaled(); -	mChannel.get()->updatePositionAndSize(rc); - -	LLScreenChannel* channel = dynamic_cast<LLScreenChannel*>(mChannel.get()); -	if(channel) -		channel->addToast(p); -	 -	return false; +    if(mChannel.isDead()) +    { +        return false; +    } + +    // arrange a channel on a screen +    if(!mChannel.get()->getVisible()) +    { +        initChannel(); +    } + +    if (notification->canLogToIM() && notification->hasFormElements()) +    { +        const std::string name = LLHandlerUtil::getSubstitutionName(notification); + +        LLUUID from_id = notification->getPayload()["from_id"]; + +        // firstly create session... +        LLHandlerUtil::spawnIMSession(name, from_id); + +        // ...then log message to have IM Well notified about new message +        LLHandlerUtil::logToIMP2P(notification); +    } + +    LLToastAlertPanel* alert_dialog = new LLToastAlertPanel(notification, mIsModal); +    LLToast::Params p; +    p.notif_id = notification->getID(); +    p.notification = notification; +    p.panel = dynamic_cast<LLToastPanel*>(alert_dialog); +    p.enable_hide_btn = false; +    p.can_fade = false; +    p.is_modal = mIsModal; +    p.on_delete_toast = boost::bind(&LLAlertHandler::onDeleteToast, this, _1); + +    // Show alert in middle of progress view (during teleport) (EXT-1093) +    LLProgressView* progress = gViewerWindow->getProgressView(); +    LLRect rc = progress && progress->getVisible() ? progress->getRect() : gViewerWindow->getWorldViewRectScaled(); +    mChannel.get()->updatePositionAndSize(rc); + +    LLScreenChannel* channel = dynamic_cast<LLScreenChannel*>(mChannel.get()); +    if(channel) +        channel->addToast(p); + +    return false;  }  void LLAlertHandler::onChange( LLNotificationPtr notification )  { -	LLToastAlertPanel* alert_dialog = new LLToastAlertPanel(notification, mIsModal); -	LLScreenChannel* channel = dynamic_cast<LLScreenChannel*>(mChannel.get()); -	if(channel) -		channel->modifyToastByNotificationID(notification->getID(), (LLToastPanel*)alert_dialog); +    LLToastAlertPanel* alert_dialog = new LLToastAlertPanel(notification, mIsModal); +    LLScreenChannel* channel = dynamic_cast<LLScreenChannel*>(mChannel.get()); +    if(channel) +        channel->modifyToastByNotificationID(notification->getID(), (LLToastPanel*)alert_dialog);  }  //--------------------------------------------------------------------------  LLViewerAlertHandler::LLViewerAlertHandler(const std::string& name, const std::string& notification_type) -	: LLSystemNotificationHandler(name, notification_type) +    : LLSystemNotificationHandler(name, notification_type)  {  }  bool LLViewerAlertHandler::processNotification(const LLNotificationPtr& p, bool should_log)  { -	if (gHeadlessClient) -	{ -		LL_INFOS("LLViewerAlertHandler") << "Alert: " << p->getName() << LL_ENDL; -	} - -	// If we're in mouselook, the mouse is hidden and so the user can't click  -	// the dialog buttons.  In that case, change to First Person instead. -	if( gAgentCamera.cameraMouselook() ) -	{ -		gAgentCamera.changeCameraToDefault(); -	} - -	return false; +    if (gHeadlessClient) +    { +        LL_INFOS("LLViewerAlertHandler") << "Alert: " << p->getName() << LL_ENDL; +    } + +    // If we're in mouselook, the mouse is hidden and so the user can't click +    // the dialog buttons.  In that case, change to First Person instead. +    if( gAgentCamera.cameraMouselook() ) +    { +        gAgentCamera.changeCameraToDefault(); +    } + +    return false;  }  | 
