summaryrefslogtreecommitdiff
path: root/indra/newview/llimview.cpp
diff options
context:
space:
mode:
authorMike Antipov <mantipov@productengine.com>2009-12-26 18:56:19 +0200
committerMike Antipov <mantipov@productengine.com>2009-12-26 18:56:19 +0200
commit70e6b5a7f7027b7f9c005ca1ce43601f953dc951 (patch)
tree561a4c63ee5f5199af74000a13b53f5622e1b256 /indra/newview/llimview.cpp
parentc3f2859c9f91d0c26c256b498c29da624afb8fb9 (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.cpp31
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");
}