From d0c029c6094bf23ad9a016d9029b830d674a566a Mon Sep 17 00:00:00 2001 From: Dmitry Zaporozhan Date: Mon, 11 Jan 2010 14:12:03 +0200 Subject: Fixed normal bug EXT-3764 - Notifications should not stack when selected from the Well. --HG-- branch : product-engine --- indra/newview/llscreenchannel.cpp | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) (limited to 'indra/newview/llscreenchannel.cpp') diff --git a/indra/newview/llscreenchannel.cpp b/indra/newview/llscreenchannel.cpp index da3f1543dd..d0b537cdfc 100644 --- a/indra/newview/llscreenchannel.cpp +++ b/indra/newview/llscreenchannel.cpp @@ -357,7 +357,6 @@ void LLScreenChannel::loadStoredToastByNotificationIDToChannel(LLUUID id) toast->setIsHidden(false); toast->resetTimer(); mToastList.push_back((*it)); - mStoredToastList.erase(it); redrawToasts(); } @@ -778,6 +777,19 @@ void LLScreenChannel::hideToastsFromScreen() (*it).toast->setVisible(FALSE); } +//-------------------------------------------------------------------------- +void LLScreenChannel::hideToast(const LLUUID& notification_id) +{ + std::vector::iterator it = find(mToastList.begin(), mToastList.end(), notification_id); + if(mToastList.end() != it) + { + ToastElem te = *it; + te.toast->setVisible(FALSE); + te.toast->stopTimer(); + mToastList.erase(it); + } +} + //-------------------------------------------------------------------------- void LLScreenChannel::removeToastsFromChannel() { -- cgit v1.2.3 From 33af1ba1e5beb452a9916c99411f72cc5d33fe46 Mon Sep 17 00:00:00 2001 From: Alexei Arabadji Date: Wed, 13 Jan 2010 17:40:47 +0200 Subject: =?UTF-8?q?implemented=20EXT-4001=20=E2=80=9CNotification=20Well?= =?UTF-8?q?=20window=20interaction=E2=80=9D,=20made=20notification=20that?= =?UTF-8?q?=20restored=20from=20notification=20well=20window=20shows=20as?= =?UTF-8?q?=20inspector;?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --HG-- branch : product-engine --- indra/newview/llscreenchannel.cpp | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'indra/newview/llscreenchannel.cpp') diff --git a/indra/newview/llscreenchannel.cpp b/indra/newview/llscreenchannel.cpp index d0b537cdfc..d0a0dd877f 100644 --- a/indra/newview/llscreenchannel.cpp +++ b/indra/newview/llscreenchannel.cpp @@ -908,3 +908,13 @@ void LLScreenChannel::updateShowToastsState() //-------------------------------------------------------------------------- +LLToast* LLScreenChannel::getToastByNotificationID(LLUUID id) +{ + std::vector::iterator it = find(mStoredToastList.begin(), + mStoredToastList.end(), id); + + if (it == mStoredToastList.end()) + return NULL; + + return it->toast; +} -- cgit v1.2.3