summaryrefslogtreecommitdiff
path: root/indra/newview/llpanelimcontrolpanel.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'indra/newview/llpanelimcontrolpanel.cpp')
-rw-r--r--indra/newview/llpanelimcontrolpanel.cpp51
1 files changed, 35 insertions, 16 deletions
diff --git a/indra/newview/llpanelimcontrolpanel.cpp b/indra/newview/llpanelimcontrolpanel.cpp
index b79a4f359a..572dc9aa6b 100644
--- a/indra/newview/llpanelimcontrolpanel.cpp
+++ b/indra/newview/llpanelimcontrolpanel.cpp
@@ -89,7 +89,7 @@ void LLPanelChatControlPanel::updateCallButton()
if (!session)
{
- childSetEnabled("call_btn", false);
+ getChildView("call_btn")->setEnabled(false);
return;
}
@@ -99,14 +99,14 @@ void LLPanelChatControlPanel::updateCallButton()
BOOL enable_connect = session_initialized
&& voice_enabled
&& callback_enabled;
- childSetEnabled("call_btn", enable_connect);
+ getChildView("call_btn")->setEnabled(enable_connect);
}
void LLPanelChatControlPanel::updateButtons(bool is_call_started)
{
- childSetVisible("end_call_btn_panel", is_call_started);
- childSetVisible("voice_ctrls_btn_panel", is_call_started);
- childSetVisible("call_btn_panel", ! is_call_started);
+ getChildView("end_call_btn_panel")->setVisible( is_call_started);
+ getChildView("voice_ctrls_btn_panel")->setVisible( is_call_started);
+ getChildView("call_btn_panel")->setVisible( ! is_call_started);
updateCallButton();
}
@@ -162,7 +162,7 @@ BOOL LLPanelIMControlPanel::postBuild()
childSetAction("share_btn", boost::bind(&LLPanelIMControlPanel::onShareButtonClicked, this));
childSetAction("teleport_btn", boost::bind(&LLPanelIMControlPanel::onTeleportButtonClicked, this));
childSetAction("pay_btn", boost::bind(&LLPanelIMControlPanel::onPayButtonClicked, this));
- childSetEnabled("add_friend_btn", !LLAvatarActions::isFriend(getChild<LLAvatarIconCtrl>("avatar_icon")->getAvatarId()));
+ getChildView("add_friend_btn")->setEnabled(!LLAvatarActions::isFriend(getChild<LLAvatarIconCtrl>("avatar_icon")->getAvatarId()));
setFocusReceivedCallback(boost::bind(&LLPanelIMControlPanel::onFocusReceived, this));
@@ -186,7 +186,7 @@ void LLPanelIMControlPanel::onViewProfileButtonClicked()
void LLPanelIMControlPanel::onAddFriendButtonClicked()
{
LLAvatarIconCtrl* avatar_icon = getChild<LLAvatarIconCtrl>("avatar_icon");
- std::string full_name = avatar_icon->getFirstName() + " " + avatar_icon->getLastName();
+ std::string full_name = avatar_icon->getFullName();
LLAvatarActions::requestFriendshipDialog(mAvatarID, full_name);
}
@@ -215,12 +215,12 @@ void LLPanelIMControlPanel::setSessionId(const LLUUID& session_id)
LLAvatarTracker::instance().addParticularFriendObserver(mAvatarID, this);
// Disable "Add friend" button for friends.
- childSetEnabled("add_friend_btn", !LLAvatarActions::isFriend(mAvatarID));
+ getChildView("add_friend_btn")->setEnabled(!LLAvatarActions::isFriend(mAvatarID));
// Disable "Teleport" button if friend is offline
if(LLAvatarActions::isFriend(mAvatarID))
{
- childSetEnabled("teleport_btn", LLAvatarTracker::instance().isBuddyOnline(mAvatarID));
+ getChildView("teleport_btn")->setEnabled(LLAvatarTracker::instance().isBuddyOnline(mAvatarID));
}
getChild<LLAvatarIconCtrl>("avatar_icon")->setValue(mAvatarID);
@@ -231,24 +231,43 @@ void LLPanelIMControlPanel::setSessionId(const LLUUID& session_id)
im_model.findIMSession(session_id);
if( im_session && !im_session->mOtherParticipantIsAvatar )
{
- childSetEnabled("view_profile_btn", FALSE);
- childSetEnabled("add_friend_btn", FALSE);
+ getChildView("view_profile_btn")->setEnabled(FALSE);
+ getChildView("add_friend_btn")->setEnabled(FALSE);
- childSetEnabled("share_btn", FALSE);
- childSetEnabled("teleport_btn", FALSE);
- childSetEnabled("pay_btn", FALSE);
+ getChildView("share_btn")->setEnabled(FALSE);
+ getChildView("teleport_btn")->setEnabled(FALSE);
+ getChildView("pay_btn")->setEnabled(FALSE);
+
+ getChild<LLTextBox>("avatar_name")->setValue(im_session->mName);
+ getChild<LLTextBox>("avatar_name")->setToolTip(im_session->mName);
+ }
+ else
+ {
+ // If the participant is an avatar, fetch the currect name
+ gCacheName->get(mAvatarID, false,
+ boost::bind(&LLPanelIMControlPanel::onNameCache, this, _1, _2, _3));
}
}
//virtual
void LLPanelIMControlPanel::changed(U32 mask)
{
- childSetEnabled("add_friend_btn", !LLAvatarActions::isFriend(mAvatarID));
+ getChildView("add_friend_btn")->setEnabled(!LLAvatarActions::isFriend(mAvatarID));
// Disable "Teleport" button if friend is offline
if(LLAvatarActions::isFriend(mAvatarID))
{
- childSetEnabled("teleport_btn", LLAvatarTracker::instance().isBuddyOnline(mAvatarID));
+ getChildView("teleport_btn")->setEnabled(LLAvatarTracker::instance().isBuddyOnline(mAvatarID));
+ }
+}
+
+void LLPanelIMControlPanel::onNameCache(const LLUUID& id, const std::string& full_name, bool is_group)
+{
+ if ( id == mAvatarID )
+ {
+ std::string avatar_name = full_name;
+ getChild<LLTextBox>("avatar_name")->setValue(avatar_name);
+ getChild<LLTextBox>("avatar_name")->setToolTip(avatar_name);
}
}