summaryrefslogtreecommitdiff
path: root/indra/newview/llnotificationgrouphandler.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'indra/newview/llnotificationgrouphandler.cpp')
-rw-r--r--indra/newview/llnotificationgrouphandler.cpp24
1 files changed, 8 insertions, 16 deletions
diff --git a/indra/newview/llnotificationgrouphandler.cpp b/indra/newview/llnotificationgrouphandler.cpp
index 9a6a041c35..31753efec9 100644
--- a/indra/newview/llnotificationgrouphandler.cpp
+++ b/indra/newview/llnotificationgrouphandler.cpp
@@ -34,8 +34,8 @@
#include "llnotificationhandler.h"
#include "lltoastgroupnotifypanel.h"
-#include "llagent.h"
#include "llbottomtray.h"
+#include "llgroupactions.h"
#include "llviewercontrol.h"
#include "llfloaterreg.h"
#include "llsyswellwindow.h"
@@ -51,7 +51,7 @@ LLGroupHandler::LLGroupHandler(e_notification_type type, const LLSD& id)
LLBottomTray* tray = LLBottomTray::getInstance();
mChiclet = tray->getSysWell();
LLChannelManager::Params p;
- p.chiclet = mChiclet;
+ p.id = LLUUID(gSavedSettings.getString("NotificationChannelUUID"));
p.channel_right_bound = tray->getRect().mRight - gSavedSettings.getS32("NotificationChannelRightMargin");
p.channel_width = gSavedSettings.getS32("NotifyBoxWidth");
@@ -77,7 +77,10 @@ void LLGroupHandler::processNotification(const LLSD& notify)
p.panel = notify_box;
p.on_toast_destroy = boost::bind(&LLGroupHandler::onToastDestroy, this, _1);
mChannel->addToast(p);
- mChiclet->setCounter(mChiclet->getCounter() + 1);
+ static_cast<LLNotificationChiclet*>(mChiclet)->incUreadSystemNotifications();
+
+ LLGroupActions::refresh_notices();
+
}
else if (notify["sigtype"].asString() == "delete")
{
@@ -88,7 +91,7 @@ void LLGroupHandler::processNotification(const LLSD& notify)
//--------------------------------------------------------------------------
void LLGroupHandler::onToastDestroy(LLToast* toast)
{
- mChiclet->setCounter(mChiclet->getCounter() - 1);
+ static_cast<LLNotificationChiclet*>(mChiclet)->decUreadSystemNotifications();
LLToastPanel* panel = dynamic_cast<LLToastPanel*>(toast->getPanel());
LLFloaterReg::getTypedInstance<LLSysWellWindow>("syswell_window")->removeItemByID(panel->getID());
@@ -97,7 +100,7 @@ void LLGroupHandler::onToastDestroy(LLToast* toast)
if(toast->hasFocus())
mChannel->setHovering(false);
- toast->close();
+ toast->closeFloater();
}
//--------------------------------------------------------------------------
@@ -113,14 +116,3 @@ void LLGroupHandler::onChicletClose(void)
//--------------------------------------------------------------------------
-//--------------------------------------------------------------------------
-
-
-//--------------------------------------------------------------------------
-
-
-//--------------------------------------------------------------------------
-
-
-//--------------------------------------------------------------------------
-