diff options
| author | Merov Linden <merov@lindenlab.com> | 2012-09-19 17:59:37 -0700 | 
|---|---|---|
| committer | Merov Linden <merov@lindenlab.com> | 2012-09-19 17:59:37 -0700 | 
| commit | f5fc2a9c3af23cc1aaf74e432eb3690d8d376d89 (patch) | |
| tree | 29bcb29b40f9b6e2a839f1f1426c959dba1db21e | |
| parent | fcb010e835d9b894ba6d1012ac8e3a85c5ab3400 (diff) | |
CHUI-340 : WIP : Update time stamp for IM and voice utterance
| -rw-r--r-- | indra/newview/llimfloater.cpp | 3 | ||||
| -rw-r--r-- | indra/newview/llnearbychat.cpp | 3 | ||||
| -rw-r--r-- | indra/newview/llparticipantlist.cpp | 21 | ||||
| -rw-r--r-- | indra/newview/llparticipantlist.h | 9 | ||||
| -rw-r--r-- | indra/newview/llspeakers.cpp | 17 | ||||
| -rw-r--r-- | indra/newview/llspeakers.h | 9 | 
6 files changed, 62 insertions, 0 deletions
| diff --git a/indra/newview/llimfloater.cpp b/indra/newview/llimfloater.cpp index 2474fe0891..fbc1b8e7fe 100644 --- a/indra/newview/llimfloater.cpp +++ b/indra/newview/llimfloater.cpp @@ -907,6 +907,9 @@ void LLIMFloater::updateMessages()  				chat.mText = message;  			} +			// Merov debug +			llinfos << "Merov debug : LLIMFloater::updateMessages, session = " << mSessionID << ", from = " << msg["from"].asString() << ", uuid = " << msg["from_id"].asString() << ", date = " << LLFrameTimer::getElapsedSeconds() << llendl; +  			appendMessage(chat);  			mLastMessageIndex = msg["index"].asInteger(); diff --git a/indra/newview/llnearbychat.cpp b/indra/newview/llnearbychat.cpp index 76626bd5a6..bf47aa06a8 100644 --- a/indra/newview/llnearbychat.cpp +++ b/indra/newview/llnearbychat.cpp @@ -233,6 +233,9 @@ void LLNearbyChat::loadHistory()   			gCacheName->getUUID(legacy_name, from_id);   		} +		// Merov debug +		llinfos << "Merov debug : LLNearbyChat::loadHistory, session = " << mSessionID << ", from = " << msg[IM_FROM].asString() << ", uuid = " << msg[IM_FROM_ID].asString() << ", date = " << LLFrameTimer::getElapsedSeconds() << llendl; +  		LLChat chat;  		chat.mFromName = from;  		chat.mFromID = from_id; diff --git a/indra/newview/llparticipantlist.cpp b/indra/newview/llparticipantlist.cpp index 339cee3f95..8bc6bb60cf 100644 --- a/indra/newview/llparticipantlist.cpp +++ b/indra/newview/llparticipantlist.cpp @@ -224,12 +224,14 @@ LLParticipantList::LLParticipantList(LLSpeakerMgr* data_source,  	mSpeakerRemoveListener = new SpeakerRemoveListener(*this);  	mSpeakerClearListener = new SpeakerClearListener(*this);  	mSpeakerModeratorListener = new SpeakerModeratorUpdateListener(*this); +	mSpeakerUpdateListener = new SpeakerUpdateListener(*this);  	mSpeakerMuteListener = new SpeakerMuteListener(*this);  	mSpeakerMgr->addListener(mSpeakerAddListener, "add");  	mSpeakerMgr->addListener(mSpeakerRemoveListener, "remove");  	mSpeakerMgr->addListener(mSpeakerClearListener, "clear");  	mSpeakerMgr->addListener(mSpeakerModeratorListener, "update_moderator"); +	mSpeakerMgr->addListener(mSpeakerUpdateListener, "update_speaker");  	setSessionID(mSpeakerMgr->getSessionID()); @@ -584,6 +586,17 @@ bool LLParticipantList::onClearListEvent(LLPointer<LLOldEvents::LLEvent> event,  	return true;  } +bool LLParticipantList::onSpeakerUpdateEvent(LLPointer<LLOldEvents::LLEvent> event, const LLSD& userdata) +{ +	const LLSD& evt_data = event->getValue(); +	if ( evt_data.has("id") ) +	{ +		LLUUID id = evt_data["id"]; +		llinfos << "Merov debug : onSpeakerUpdateEvent, session = " << mUUID << ", uuid = " << id << ", date = " << LLFrameTimer::getElapsedSeconds() << llendl; +	} +	return true; +} +  bool LLParticipantList::onModeratorUpdateEvent(LLPointer<LLOldEvents::LLEvent> event, const LLSD& userdata)  {  	const LLSD& evt_data = event->getValue(); @@ -746,6 +759,14 @@ bool LLParticipantList::SpeakerClearListener::handleEvent(LLPointer<LLOldEvents:  }  // +// LLParticipantList::SpeakerUpdateListener +// +bool LLParticipantList::SpeakerUpdateListener::handleEvent(LLPointer<LLOldEvents::LLEvent> event, const LLSD& userdata) +{ +	return mParent.onSpeakerUpdateEvent(event, userdata); +} + +//  // LLParticipantList::SpeakerModeratorListener  //  bool LLParticipantList::SpeakerModeratorUpdateListener::handleEvent(LLPointer<LLOldEvents::LLEvent> event, const LLSD& userdata) diff --git a/indra/newview/llparticipantlist.h b/indra/newview/llparticipantlist.h index f8165aa292..acee68873c 100644 --- a/indra/newview/llparticipantlist.h +++ b/indra/newview/llparticipantlist.h @@ -95,6 +95,7 @@ protected:  	bool onRemoveItemEvent(LLPointer<LLOldEvents::LLEvent> event, const LLSD& userdata);  	bool onClearListEvent(LLPointer<LLOldEvents::LLEvent> event, const LLSD& userdata);  	bool onModeratorUpdateEvent(LLPointer<LLOldEvents::LLEvent> event, const LLSD& userdata); +	bool onSpeakerUpdateEvent(LLPointer<LLOldEvents::LLEvent> event, const LLSD& userdata);  	bool onSpeakerMuteEvent(LLPointer<LLOldEvents::LLEvent> event, const LLSD& userdata);  	/** @@ -136,6 +137,13 @@ protected:  		/*virtual*/ bool handleEvent(LLPointer<LLOldEvents::LLEvent> event, const LLSD& userdata);  	}; +	class SpeakerUpdateListener : public BaseSpeakerListener +	{ +	public: +		SpeakerUpdateListener(LLParticipantList& parent) : BaseSpeakerListener(parent) {} +		/*virtual*/ bool handleEvent(LLPointer<LLOldEvents::LLEvent> event, const LLSD& userdata); +	}; +	  	class SpeakerModeratorUpdateListener : public BaseSpeakerListener  	{  	public: @@ -264,6 +272,7 @@ private:  	LLPointer<SpeakerAddListener>				mSpeakerAddListener;  	LLPointer<SpeakerRemoveListener>			mSpeakerRemoveListener;  	LLPointer<SpeakerClearListener>				mSpeakerClearListener; +	LLPointer<SpeakerUpdateListener>	        mSpeakerUpdateListener;  	LLPointer<SpeakerModeratorUpdateListener>	mSpeakerModeratorListener;  	LLPointer<SpeakerMuteListener>				mSpeakerMuteListener; diff --git a/indra/newview/llspeakers.cpp b/indra/newview/llspeakers.cpp index 07d2f1ad6f..f50ae28421 100644 --- a/indra/newview/llspeakers.cpp +++ b/indra/newview/llspeakers.cpp @@ -84,6 +84,19 @@ bool LLSpeaker::isInVoiceChannel()  	return mStatus <= LLSpeaker::STATUS_VOICE_ACTIVE || mStatus == LLSpeaker::STATUS_MUTED;  } +LLSpeakerUpdateSpeakerEvent::LLSpeakerUpdateSpeakerEvent(LLSpeaker* source) +: LLEvent(source, "Speaker update speaker event"), +mSpeakerID (source->mID) +{ +} + +LLSD LLSpeakerUpdateSpeakerEvent::getValue() +{ +	LLSD ret; +	ret["id"] = mSpeakerID; +	return ret; +} +  LLSpeakerUpdateModeratorEvent::LLSpeakerUpdateModeratorEvent(LLSpeaker* source)  : LLEvent(source, "Speaker add moderator event"),    mSpeakerID (source->mID), @@ -374,6 +387,8 @@ void LLSpeakerMgr::update(BOOL resort_ok)  				{  					speakerp->mLastSpokeTime = mSpeechTimer.getElapsedTimeF32();  					speakerp->mHasSpoken = TRUE; +					llinfos << "Merov debug : LLSpeakerMgr::update, session = " << getSessionID() << ", uuid = " << speaker_id << ", date = " << LLFrameTimer::getElapsedSeconds() << llendl; +					speakerp->fireEvent(new LLSpeakerUpdateSpeakerEvent(speakerp), "update_speaker");  				}  				speakerp->mStatus = LLSpeaker::STATUS_SPEAKING;  				// interpolate between active color and full speaking color based on power of speech output @@ -548,6 +563,8 @@ void LLSpeakerMgr::speakerChatted(const LLUUID& speaker_id)  	{  		speakerp->mLastSpokeTime = mSpeechTimer.getElapsedTimeF32();  		speakerp->mHasSpoken = TRUE; +		llinfos << "Merov debug : LLSpeakerMgr::speakerChatted, session = " << getSessionID() << ", uuid = " << speaker_id << ", date = " << LLFrameTimer::getElapsedSeconds() << llendl; +		speakerp->fireEvent(new LLSpeakerUpdateSpeakerEvent(speakerp), "update_speaker");  	}  } diff --git a/indra/newview/llspeakers.h b/indra/newview/llspeakers.h index 1c6f51e131..8ab08661d3 100644 --- a/indra/newview/llspeakers.h +++ b/indra/newview/llspeakers.h @@ -79,6 +79,15 @@ public:  	BOOL			mModeratorMutedText;  }; +class LLSpeakerUpdateSpeakerEvent : public LLOldEvents::LLEvent +{ +public: +	LLSpeakerUpdateSpeakerEvent(LLSpeaker* source); +	/*virtual*/ LLSD getValue(); +private: +	const LLUUID& mSpeakerID; +}; +  class LLSpeakerUpdateModeratorEvent : public LLOldEvents::LLEvent  {  public: | 
