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/llimhandler.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/llimhandler.cpp')
| -rw-r--r-- | indra/newview/llimhandler.cpp | 99 | 
1 files changed, 49 insertions, 50 deletions
diff --git a/indra/newview/llimhandler.cpp b/indra/newview/llimhandler.cpp index 0fa3dc1110..bc2d9052f1 100644 --- a/indra/newview/llimhandler.cpp +++ b/indra/newview/llimhandler.cpp @@ -1,25 +1,25 @@ -/**  +/**   * @file llimhandler.cpp   * @brief Notification Handler Class for IM 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$   */ @@ -40,10 +40,10 @@ extern void process_dnd_im(const LLSD& notification);  //--------------------------------------------------------------------------  LLIMHandler::LLIMHandler() -:	LLCommunicationNotificationHandler("IM Notifications", "notifytoast") +:   LLCommunicationNotificationHandler("IM Notifications", "notifytoast")  { -	// Getting a Channel for our notifications -	mChannel = LLChannelManager::getInstance()->createNotificationChannel()->getHandle(); +    // Getting a Channel for our notifications +    mChannel = LLChannelManager::getInstance()->createNotificationChannel()->getHandle();  }  //-------------------------------------------------------------------------- @@ -54,9 +54,8 @@ LLIMHandler::~LLIMHandler()  //--------------------------------------------------------------------------  void LLIMHandler::initChannel()  { -	S32 channel_right_bound = gViewerWindow->getWorldViewRectScaled().mRight - gSavedSettings.getS32("NotificationChannelRightMargin");  -	S32 channel_width = gSavedSettings.getS32("NotifyBoxWidth"); -	mChannel.get()->init(channel_right_bound - channel_width, channel_right_bound); +    S32 channel_right_bound = gViewerWindow->getWorldViewRectScaled().mRight - gSavedSettings.getS32("NotificationChannelRightMargin"); +    mChannel.get()->init(channel_right_bound - NOTIFY_BOX_WIDTH, channel_right_bound);  }  //-------------------------------------------------------------------------- @@ -69,47 +68,47 @@ bool LLIMHandler::processNotification(const LLNotificationPtr& notification, boo      }      else      { -	    if(mChannel.isDead()) -	    { -		    return false; -	    } - -	    // arrange a channel on a screen -	    if(!mChannel.get()->getVisible()) -	    { -		    initChannel(); -	    } - -	    LLSD substitutions = notification->getSubstitutions(); - -	    // According to comments in LLIMMgr::addMessage(), if we get message -	    // from ourselves, the sender id is set to null. This fixes EXT-875. -	    LLUUID avatar_id = substitutions["FROM_ID"].asUUID(); -	    if (avatar_id.isNull()) -		    avatar_id = gAgentID; - -	    LLToastIMPanel::Params im_p; -	    im_p.notification = notification; -	    im_p.avatar_id = avatar_id; -	    im_p.from = substitutions["FROM"].asString(); -	    im_p.time = substitutions["TIME"].asString(); -	    im_p.message = substitutions["MESSAGE"].asString(); -	    im_p.session_id = substitutions["SESSION_ID"].asUUID(); - -	    LLToastIMPanel* im_box = new LLToastIMPanel(im_p); - -	    LLToast::Params p; -	    p.notif_id = notification->getID(); -	    p.session_id = im_p.session_id; -	    p.notification = notification; -	    p.panel = im_box; -	    p.can_be_stored = false; -	    LLScreenChannel* channel = dynamic_cast<LLScreenChannel*>(mChannel.get()); -	    if(channel) -		    channel->addToast(p); +        if(mChannel.isDead()) +        { +            return false; +        } + +        // arrange a channel on a screen +        if(!mChannel.get()->getVisible()) +        { +            initChannel(); +        } + +        LLSD substitutions = notification->getSubstitutions(); + +        // According to comments in LLIMMgr::addMessage(), if we get message +        // from ourselves, the sender id is set to null. This fixes EXT-875. +        LLUUID avatar_id = substitutions["FROM_ID"].asUUID(); +        if (avatar_id.isNull()) +            avatar_id = gAgentID; + +        LLToastIMPanel::Params im_p; +        im_p.notification = notification; +        im_p.avatar_id = avatar_id; +        im_p.from = substitutions["FROM"].asString(); +        im_p.time = substitutions["TIME"].asString(); +        im_p.message = substitutions["MESSAGE"].asString(); +        im_p.session_id = substitutions["SESSION_ID"].asUUID(); + +        LLToastIMPanel* im_box = new LLToastIMPanel(im_p); + +        LLToast::Params p; +        p.notif_id = notification->getID(); +        p.session_id = im_p.session_id; +        p.notification = notification; +        p.panel = im_box; +        p.can_be_stored = false; +        LLScreenChannel* channel = dynamic_cast<LLScreenChannel*>(mChannel.get()); +        if(channel) +            channel->addToast(p);      } -	return false; +    return false;  }  | 
