summaryrefslogtreecommitdiff
path: root/indra/newview/llsyswellwindow.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'indra/newview/llsyswellwindow.cpp')
-rw-r--r--indra/newview/llsyswellwindow.cpp17
1 files changed, 17 insertions, 0 deletions
diff --git a/indra/newview/llsyswellwindow.cpp b/indra/newview/llsyswellwindow.cpp
index ca7cb0f59f..ae13071b6b 100644
--- a/indra/newview/llsyswellwindow.cpp
+++ b/indra/newview/llsyswellwindow.cpp
@@ -51,6 +51,7 @@
LLSysWellWindow::LLSysWellWindow(const LLSD& key) : LLDockableFloater(NULL, key),
mChannel(NULL),
mMessageList(NULL),
+ mSysWellChiclet(NULL),
mSeparator(NULL),
NOTIFICATION_WELL_ANCHOR_NAME("notification_well_panel"),
IM_WELL_ANCHOR_NAME("im_well_panel")
@@ -80,6 +81,9 @@ BOOL LLSysWellWindow::postBuild()
mMessageList->addItem(mSeparator);
+ // click on SysWell Window should clear "new message" state (and 'Lit' status). EXT-3147.
+ setMouseDownCallback(boost::bind(&LLSysWellWindow::releaseNewMessagesState, this));
+
return LLDockableFloater::postBuild();
}
@@ -174,6 +178,11 @@ void LLSysWellWindow::setVisible(BOOL visible)
mChannel->updateShowToastsState();
mChannel->redrawToasts();
}
+
+ if (visible)
+ {
+ releaseNewMessagesState();
+ }
}
//---------------------------------------------------------------------------------
@@ -227,6 +236,14 @@ void LLSysWellWindow::reshapeWindow()
}
}
+void LLSysWellWindow::releaseNewMessagesState()
+{
+ if (NULL != mSysWellChiclet)
+ {
+ mSysWellChiclet->setNewMessagesState(false);
+ }
+}
+
//---------------------------------------------------------------------------------
bool LLSysWellWindow::isWindowEmpty()
{