diff options
| -rw-r--r-- | indra/newview/llfloatertopobjects.cpp | 24 | ||||
| -rw-r--r-- | indra/newview/llfloatertopobjects.h | 5 | 
2 files changed, 28 insertions, 1 deletions
diff --git a/indra/newview/llfloatertopobjects.cpp b/indra/newview/llfloatertopobjects.cpp index 2aaf403d5f..e5c4547226 100644 --- a/indra/newview/llfloatertopobjects.cpp +++ b/indra/newview/llfloatertopobjects.cpp @@ -147,6 +147,17 @@ void LLFloaterTopObjects::handle_land_reply(LLMessageSystem* msg, void** data)  } +void LLFloaterTopObjects::onAvatarNameCache(const LLUUID& agent_id, +									   const LLAvatarName& av_name, +									   LLSD element) +{	 +	LLScrollListCtrl *list = getChild<LLScrollListCtrl>("objects_list"); + +	element["columns"][2]["value"] = av_name.getCompleteName(); + +	list->addElement(element); +} +  void LLFloaterTopObjects::handleReply(LLMessageSystem *msg, void** data)  {  	U32 request_flags; @@ -171,6 +182,7 @@ void LLFloaterTopObjects::handleReply(LLMessageSystem *msg, void** data)  		F32 mono_score = 0.f;  		bool have_extended_data = false;  		S32 public_urls = 0; +		LLUUID owner_id;  		msg->getU32Fast(_PREHASH_ReportData, _PREHASH_TaskLocalID, task_local_id, block);  		msg->getUUIDFast(_PREHASH_ReportData, _PREHASH_TaskID, task_id, block); @@ -186,8 +198,10 @@ void LLFloaterTopObjects::handleReply(LLMessageSystem *msg, void** data)  			msg->getU32("DataExtended", "TimeStamp", time_stamp, block);  			msg->getF32("DataExtended", "MonoScore", mono_score, block);  			msg->getS32(_PREHASH_ReportData,"PublicURLs",public_urls,block); +			msg->getUUID("DataExtended","OwnerID",owner_id,block);  		} +  		LLSD element;  		element["id"] = task_id; @@ -238,8 +252,16 @@ void LLFloaterTopObjects::handleReply(LLMessageSystem *msg, void** data)  			columns[6]["font"] = "SANSSERIF";  		}  		element["columns"] = columns; -		list->addElement(element); +		if (!owner_id.isNull()) +		{ +			LLAvatarNameCache::get(owner_id, boost::bind(&LLFloaterTopObjects::onAvatarNameCache, this, _1, _2, element)); +		} +		else +		{ +			list->addElement(element); +		} +  		mObjectListData.append(element);  		mObjectListIDs.push_back(task_id); diff --git a/indra/newview/llfloatertopobjects.h b/indra/newview/llfloatertopobjects.h index a608ca20f1..edd91c491f 100644 --- a/indra/newview/llfloatertopobjects.h +++ b/indra/newview/llfloatertopobjects.h @@ -29,8 +29,11 @@  #include "llfloater.h" +class LLAvatarName;  class LLUICtrl; +#include <boost/signals2.hpp>	// boost::signals2::trackable +  class LLFloaterTopObjects : public LLFloater  {  	friend class LLFloaterReg; @@ -51,6 +54,8 @@ public:  	static void setMode(U32 mode); +	void onAvatarNameCache(const LLUUID& id, const LLAvatarName& av_name, LLSD element); +  private:  	LLFloaterTopObjects(const LLSD& key);  	~LLFloaterTopObjects();  | 
