summaryrefslogtreecommitdiff
path: root/indra/newview/llimhandler.cpp
diff options
context:
space:
mode:
authorRichard Linden <none@none>2012-04-26 14:39:52 -0700
committerRichard Linden <none@none>2012-04-26 14:39:52 -0700
commita0bb55adc6ff26595f20bed12cb6f1565011e246 (patch)
treecbd25e29777ad9921b2fee2bd0b4d349caa4da61 /indra/newview/llimhandler.cpp
parentd6569db3520f7e0ce2d93febb6f4e26b48c08a3d (diff)
parentdb316f830df45e1b0229ebcbdb5feedc5eb23913 (diff)
merge with viewer-release
Diffstat (limited to 'indra/newview/llimhandler.cpp')
-rw-r--r--indra/newview/llimhandler.cpp30
1 files changed, 3 insertions, 27 deletions
diff --git a/indra/newview/llimhandler.cpp b/indra/newview/llimhandler.cpp
index 07d73c8c66..c7034aea3a 100644
--- a/indra/newview/llimhandler.cpp
+++ b/indra/newview/llimhandler.cpp
@@ -37,10 +37,9 @@
using namespace LLNotificationsUI;
//--------------------------------------------------------------------------
-LLIMHandler::LLIMHandler(e_notification_type type, const LLSD& id)
+LLIMHandler::LLIMHandler()
+: LLSysHandler("IM Notifications", "notifytoast")
{
- mType = type;
-
// Getting a Channel for our notifications
mChannel = LLChannelManager::getInstance()->createNotificationChannel()->getHandle();
}
@@ -59,26 +58,19 @@ void LLIMHandler::initChannel()
}
//--------------------------------------------------------------------------
-bool LLIMHandler::processNotification(const LLSD& notify)
+bool LLIMHandler::processNotification(const LLNotificationPtr& notification)
{
if(mChannel.isDead())
{
return false;
}
- LLNotificationPtr notification = LLNotifications::instance().find(notify["id"].asUUID());
-
- if(!notification)
- return false;
-
// arrange a channel on a screen
if(!mChannel.get()->getVisible())
{
initChannel();
}
- if(notify["sigtype"].asString() == "add" || notify["sigtype"].asString() == "change")
- {
LLSD substitutions = notification->getSubstitutions();
// According to comments in LLIMMgr::addMessage(), if we get message
@@ -103,28 +95,12 @@ bool LLIMHandler::processNotification(const LLSD& notify)
p.notification = notification;
p.panel = im_box;
p.can_be_stored = false;
- p.on_delete_toast = boost::bind(&LLIMHandler::onDeleteToast, this, _1);
LLScreenChannel* channel = dynamic_cast<LLScreenChannel*>(mChannel.get());
if(channel)
channel->addToast(p);
-
- // send a signal to the counter manager;
- mNewNotificationSignal();
- }
- else if (notify["sigtype"].asString() == "delete")
- {
- mChannel.get()->killToastByNotificationID(notification->getID());
}
return false;
}
-//--------------------------------------------------------------------------
-void LLIMHandler::onDeleteToast(LLToast* toast)
-{
- // send a signal to the counter manager
- mDelNotificationSignal();
-}
-
-//--------------------------------------------------------------------------