diff options
author | Mike Antipov <mantipov@productengine.com> | 2009-12-26 18:56:19 +0200 |
---|---|---|
committer | Mike Antipov <mantipov@productengine.com> | 2009-12-26 18:56:19 +0200 |
commit | 70e6b5a7f7027b7f9c005ca1ce43601f953dc951 (patch) | |
tree | 561a4c63ee5f5199af74000a13b53f5622e1b256 /indra/newview/llimview.cpp | |
parent | c3f2859c9f91d0c26c256b498c29da624afb8fb9 (diff) |
Fixed low bug EXT-3684 ("Default" icon is used always for group calls in the voice notifications instead of group icon)
-- implemented LLGroupIconCtrl to show group icon for passed group UUID.
-- added LLGroupIconCtrl to incoming and outgoing dialogs
--HG--
branch : product-engine
Diffstat (limited to 'indra/newview/llimview.cpp')
-rw-r--r-- | indra/newview/llimview.cpp | 31 |
1 files changed, 27 insertions, 4 deletions
diff --git a/indra/newview/llimview.cpp b/indra/newview/llimview.cpp index 37ab144934..d34bab8c4d 100644 --- a/indra/newview/llimview.cpp +++ b/indra/newview/llimview.cpp @@ -57,6 +57,7 @@ #include "llhttpnode.h" #include "llimfloater.h" #include "llimpanel.h" +#include "llgroupiconctrl.h" #include "llresizebar.h" #include "lltabcontainer.h" #include "llviewercontrol.h" @@ -1495,6 +1496,27 @@ void LLCallDialog::draw() } } +void LLCallDialog::setIcon(const LLSD& session_id, const LLSD& participant_id) +{ + bool is_group = gAgent.isInGroup(session_id); + + LLAvatarIconCtrl* avatar_icon = getChild<LLAvatarIconCtrl>("avatar_icon"); + LLGroupIconCtrl* group_icon = getChild<LLGroupIconCtrl>("group_icon"); + + avatar_icon->setVisible(!is_group); + group_icon->setVisible(is_group); + + if (is_group) + { + group_icon->setValue(session_id); + } + else + { + avatar_icon->setValue(participant_id); + } + +} + bool LLOutgoingCallDialog::lifetimeHasExpired() { if (mLifetimeTimer.getStarted()) @@ -1556,8 +1578,9 @@ void LLOutgoingCallDialog::show(const LLSD& key) LLSD callee_id = mPayload["other_user_id"]; childSetTextArg("calling", "[CALLEE_NAME]", callee_name); childSetTextArg("connecting", "[CALLEE_NAME]", callee_name); - LLAvatarIconCtrl* icon = getChild<LLAvatarIconCtrl>("avatar_icon"); - icon->setValue(callee_id); + + // for outgoing group calls callee_id == group id == session id + setIcon(callee_id, callee_id); // stop timer by default mLifetimeTimer.stop(); @@ -1711,13 +1734,13 @@ BOOL LLIncomingCallDialog::postBuild() LLUICtrl* caller_name_widget = getChild<LLUICtrl>("caller name"); caller_name_widget->setValue(caller_name + " " + call_type); - LLAvatarIconCtrl* icon = getChild<LLAvatarIconCtrl>("avatar_icon"); if (is_avatar) { - icon->setValue(caller_id); + setIcon(session_id, caller_id); } else { + LLAvatarIconCtrl* icon = getChild<LLAvatarIconCtrl>("avatar_icon"); icon->setValue("Avaline_Icon"); } |