summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLeyla Farazha <leyla@lindenlab.com>2010-11-04 11:49:47 -0700
committerLeyla Farazha <leyla@lindenlab.com>2010-11-04 11:49:47 -0700
commitcb3b02acb15ab8868d89f2a6b5894f8324fd077c (patch)
tree6b782cfd6eac760ba41c6b1e9ce3d1773e6acec5
parentbf4ca3922c476fbe3ac2cf393845abf22399ab1d (diff)
DN-132 Top scripts now show complete names
-rw-r--r--indra/newview/llfloatertopobjects.cpp24
-rw-r--r--indra/newview/llfloatertopobjects.h5
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();