summaryrefslogtreecommitdiff
path: root/indra/newview/llnamebox.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'indra/newview/llnamebox.cpp')
-rw-r--r--indra/newview/llnamebox.cpp24
1 files changed, 22 insertions, 2 deletions
diff --git a/indra/newview/llnamebox.cpp b/indra/newview/llnamebox.cpp
index 2f4a266198..d434017804 100644
--- a/indra/newview/llnamebox.cpp
+++ b/indra/newview/llnamebox.cpp
@@ -52,6 +52,7 @@ LLNameBox::LLNameBox(const Params& p)
: LLTextBox(p)
{
mNameID = LLUUID::null;
+ mLink = p.link;
LLNameBox::sInstances.insert(this);
setText(LLStringUtil::null);
}
@@ -76,7 +77,7 @@ void LLNameBox::setNameID(const LLUUID& name_id, BOOL is_group)
gCacheName->getGroupName(name_id, name);
}
- setText(name);
+ setName(name, is_group);
}
void LLNameBox::refresh(const LLUUID& id, const std::string& firstname,
@@ -93,7 +94,7 @@ void LLNameBox::refresh(const LLUUID& id, const std::string& firstname,
{
name = firstname;
}
- setText(name);
+ setName(name, is_group);
}
}
@@ -109,3 +110,22 @@ void LLNameBox::refreshAll(const LLUUID& id, const std::string& firstname,
box->refresh(id, firstname, lastname, is_group);
}
}
+
+void LLNameBox::setName(const std::string& name, BOOL is_group)
+{
+ if (mLink)
+ {
+ std::string url;
+
+ if (is_group)
+ url = "[secondlife:///app/group/" + LLURI::escape(name) + "/about " + name + "]";
+ else
+ url = "[secondlife:///app/agent/" + mNameID.asString() + "/about " + name + "]";
+
+ setText(url);
+ }
+ else
+ {
+ setText(name);
+ }
+}