summaryrefslogtreecommitdiff
path: root/indra/newview/llchiclet.cpp
diff options
context:
space:
mode:
authorMike Antipov <mantipov@productengine.com>2009-12-14 12:18:28 +0200
committerMike Antipov <mantipov@productengine.com>2009-12-14 12:18:28 +0200
commit72032eb8863b0ad39e5d731c30070d17feb9b06b (patch)
tree2abc7c8c9f1f2fae02741c2137759a1a6ba473f2 /indra/newview/llchiclet.cpp
parentd345153bfe6065efc990d829722de55d45a551d8 (diff)
Improvements for normal task EXT-3147 (Implement new states for message indicators)
-- Fixed: wells should flash every time new message arrives even if "new message" state is already set -- Also fixed: Well leaves in 'Lit' state if incomeing notification is resolved while flashing to the "Lit" state --HG-- branch : product-engine
Diffstat (limited to 'indra/newview/llchiclet.cpp')
-rw-r--r--indra/newview/llchiclet.cpp15
1 files changed, 14 insertions, 1 deletions
diff --git a/indra/newview/llchiclet.cpp b/indra/newview/llchiclet.cpp
index 9671c048ef..960d9e02b2 100644
--- a/indra/newview/llchiclet.cpp
+++ b/indra/newview/llchiclet.cpp
@@ -112,6 +112,11 @@ public:
mEventTimer.start();
}
+ void stopFlashing()
+ {
+ mEventTimer.stop();
+ }
+
private:
callback_t mCallback;
S32 mFlashCount;
@@ -174,10 +179,18 @@ void LLSysWellChiclet::setCounter(S32 counter)
*/
mButton->setForcePressedState(counter > 0);
- if (mCounter == 0 && counter > 0)
+ // we have to flash to 'Lit' state each time new unread message is comming.
+ if (counter > mCounter)
{
mFlashToLitTimer->flash();
}
+ else if (counter == 0)
+ {
+ // if notification is resolved while well is flashing it can leave in the 'Lit' state
+ // when flashing finishes itself. Let break flashing here.
+ mFlashToLitTimer->stopFlashing();
+ }
+
mCounter = counter;
}