diff options
| author | Mike Antipov <mantipov@productengine.com> | 2009-12-14 12:18:28 +0200 | 
|---|---|---|
| committer | Mike Antipov <mantipov@productengine.com> | 2009-12-14 12:18:28 +0200 | 
| commit | 72032eb8863b0ad39e5d731c30070d17feb9b06b (patch) | |
| tree | 2abc7c8c9f1f2fae02741c2137759a1a6ba473f2 /indra/newview | |
| parent | d345153bfe6065efc990d829722de55d45a551d8 (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')
| -rw-r--r-- | indra/newview/llchiclet.cpp | 15 | 
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;  } | 
