diff options
Diffstat (limited to 'indra/newview/llpanelimcontrolpanel.cpp')
-rw-r--r-- | indra/newview/llpanelimcontrolpanel.cpp | 51 |
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); } } |