Work on low task EXT-3682 (Dedicated icon is required for AvaLine callers in the VCP)

-- improved changes for bug EXT-3684 ("Default" icon is used always for group calls in the voice notifications instead of group icon) to process avaline calls

--HG--
branch : product-engine
Mike Antipov 2009-12-28 12:24:47 +02:00
parent 70e6b5a7f7
commit e9f9a19ecc
2 changed files with 14 additions and 12 deletions

View File

@ -1498,7 +1498,10 @@ void LLCallDialog::draw()
void LLCallDialog::setIcon(const LLSD& session_id, const LLSD& participant_id)
{
bool is_group = gAgent.isInGroup(session_id);
// *NOTE: 12/28/2009: check avaline calls: LLVoiceClient::isParticipantAvatar returns false for them
bool participant_is_avatar = LLVoiceClient::getInstance()->isParticipantAvatar(session_id);
bool is_group = participant_is_avatar && gAgent.isInGroup(session_id);
LLAvatarIconCtrl* avatar_icon = getChild<LLAvatarIconCtrl>("avatar_icon");
LLGroupIconCtrl* group_icon = getChild<LLGroupIconCtrl>("group_icon");
@ -1510,11 +1513,15 @@ void LLCallDialog::setIcon(const LLSD& session_id, const LLSD& participant_id)
{
group_icon->setValue(session_id);
}
else
else if (participant_is_avatar)
{
avatar_icon->setValue(participant_id);
}
else
{
avatar_icon->setValue("Avaline_Icon");
avatar_icon->setToolTip(std::string(""));
}
}
bool LLOutgoingCallDialog::lifetimeHasExpired()
@ -1734,15 +1741,7 @@ BOOL LLIncomingCallDialog::postBuild()
LLUICtrl* caller_name_widget = getChild<LLUICtrl>("caller name");
caller_name_widget->setValue(caller_name + " " + call_type);
if (is_avatar)
{
setIcon(session_id, caller_id);
}
else
{
LLAvatarIconCtrl* icon = getChild<LLAvatarIconCtrl>("avatar_icon");
icon->setValue("Avaline_Icon");
}
setIcon(session_id, caller_id);
childSetAction("Accept", onAccept, this);
childSetAction("Reject", onReject, this);

View File

@ -506,6 +506,9 @@ protected:
* Sets icon depend on session.
*
* If passed session_id is a group id group icon will be shown, otherwise avatar icon for participant_id
*
* @param session_id - UUID of session
* @param participant_id - UUID of other participant
*/
void setIcon(const LLSD& session_id, const LLSD& participant_id);