summaryrefslogtreecommitdiff
path: root/indra/newview/llsidepaneliteminfo.cpp
diff options
context:
space:
mode:
authorBrad Payne (Vir Linden) <vir@lindenlab.com>2015-06-30 16:46:45 -0400
committerBrad Payne (Vir Linden) <vir@lindenlab.com>2015-06-30 16:46:45 -0400
commit491f30e43e571fca9939930a5e8d10caa5f65ad2 (patch)
treecd5ccb95b4b32374545a0bda36a49bebd9e5b2a0 /indra/newview/llsidepaneliteminfo.cpp
parent6c6b509aa3d4ca1e4620a80f0b6235393af2a33a (diff)
parent4aa64b99dbe6cafdccf0c25501feaef5ba3445c4 (diff)
merge
Diffstat (limited to 'indra/newview/llsidepaneliteminfo.cpp')
-rwxr-xr-xindra/newview/llsidepaneliteminfo.cpp35
1 files changed, 35 insertions, 0 deletions
diff --git a/indra/newview/llsidepaneliteminfo.cpp b/indra/newview/llsidepaneliteminfo.cpp
index 126f1fb9de..a7cfc173af 100755
--- a/indra/newview/llsidepaneliteminfo.cpp
+++ b/indra/newview/llsidepaneliteminfo.cpp
@@ -44,6 +44,9 @@
#include "llviewercontrol.h"
#include "llviewerinventory.h"
#include "llviewerobjectlist.h"
+#include "llexperienceassociationresponder.h"
+#include "llexperiencecache.h"
+#include "lltrans.h"
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -319,6 +322,15 @@ void LLSidepanelItemInfo::refreshFromItem(LLViewerInventoryItem* item)
is_obj_modify = object->permOwnerModify();
}
+ if(item->getInventoryType() == LLInventoryType::IT_LSL)
+ {
+ getChildView("LabelItemExperienceTitle")->setVisible(TRUE);
+ LLTextBox* tb = getChild<LLTextBox>("LabelItemExperience");
+ tb->setText(getString("loading_experience"));
+ tb->setVisible(TRUE);
+ ExperienceAssociationResponder::fetchAssociatedExperience(item->getParentUUID(), item->getUUID(), boost::bind(&LLSidepanelItemInfo::setAssociatedExperience, getDerivedHandle<LLSidepanelItemInfo>(), _1));
+ }
+
//////////////////////
// ITEM NAME & DESC //
//////////////////////
@@ -674,6 +686,29 @@ void LLSidepanelItemInfo::refreshFromItem(LLViewerInventoryItem* item)
}
}
+
+void LLSidepanelItemInfo::setAssociatedExperience( LLHandle<LLSidepanelItemInfo> hInfo, const LLSD& experience )
+{
+ LLSidepanelItemInfo* info = hInfo.get();
+ if(info)
+ {
+ LLUUID id;
+ if(experience.has(LLExperienceCache::EXPERIENCE_ID))
+ {
+ id=experience[LLExperienceCache::EXPERIENCE_ID].asUUID();
+ }
+ if(id.notNull())
+ {
+ info->getChild<LLTextBox>("LabelItemExperience")->setText(LLSLURL("experience", id, "profile").getSLURLString());
+ }
+ else
+ {
+ info->getChild<LLTextBox>("LabelItemExperience")->setText(LLTrans::getString("ExperienceNameNull"));
+ }
+ }
+}
+
+
void LLSidepanelItemInfo::startObjectInventoryObserver()
{
if (!mObjectInventoryObserver)