summaryrefslogtreecommitdiff
path: root/indra/newview/llimfloatercontainer.cpp
diff options
context:
space:
mode:
authorTofu Linden <tofu.linden@lindenlab.com>2010-03-05 11:13:26 +0000
committerTofu Linden <tofu.linden@lindenlab.com>2010-03-05 11:13:26 +0000
commitf1a4dc710d3978a96bb05482643df0960f6e8fd4 (patch)
treebd6dc85cc4c06329c09510e318b58cc8dfa1df5d /indra/newview/llimfloatercontainer.cpp
parent6ecec59fda7d248d2640cb0a4fd95276604755a9 (diff)
parenta5c202dcfd1eb8240e1f03d3a9d42a360b41bab2 (diff)
merge from viewer-2-0
Diffstat (limited to 'indra/newview/llimfloatercontainer.cpp')
-rw-r--r--indra/newview/llimfloatercontainer.cpp27
1 files changed, 25 insertions, 2 deletions
diff --git a/indra/newview/llimfloatercontainer.cpp b/indra/newview/llimfloatercontainer.cpp
index d518318b0e..9eb11a6ac4 100644
--- a/indra/newview/llimfloatercontainer.cpp
+++ b/indra/newview/llimfloatercontainer.cpp
@@ -96,8 +96,29 @@ void LLIMFloaterContainer::addFloater(LLFloater* floaterp,
LLUUID session_id = floaterp->getKey();
- floaterp->mCloseSignal.connect(boost::bind(&LLIMFloaterContainer::onCloseFloater, this, session_id));
- mSessions[session_id] = floaterp;
+ LLIconCtrl* icon = 0;
+
+ if(gAgent.isInGroup(session_id, TRUE))
+ {
+ LLGroupIconCtrl::Params icon_params = LLUICtrlFactory::instance().getDefaultParams<LLGroupIconCtrl>();
+ icon_params.group_id = session_id;
+ icon = LLUICtrlFactory::instance().createWidget<LLGroupIconCtrl>(icon_params);
+
+ mSessions[session_id] = floaterp;
+ floaterp->mCloseSignal.connect(boost::bind(&LLIMFloaterContainer::onCloseFloater, this, session_id));
+ }
+ else
+ {
+ LLUUID avatar_id = LLIMModel::getInstance()->getOtherParticipantID(session_id);
+
+ LLAvatarIconCtrl::Params icon_params = LLUICtrlFactory::instance().getDefaultParams<LLAvatarIconCtrl>();
+ icon_params.avatar_id = avatar_id;
+ icon = LLUICtrlFactory::instance().createWidget<LLAvatarIconCtrl>(icon_params);
+
+ mSessions[session_id] = floaterp;
+ floaterp->mCloseSignal.connect(boost::bind(&LLIMFloaterContainer::onCloseFloater, this, session_id));
+ }
+ mTabContainer->setTabImage(floaterp, icon);
}
void LLIMFloaterContainer::onCloseFloater(LLUUID& id)
@@ -134,6 +155,8 @@ void LLIMFloaterContainer::setMinimized(BOOL b)
if (isMinimized() == b) return;
LLMultiFloater::setMinimized(b);
+ // Hide minimized floater (see EXT-5315)
+ setVisible(!b);
if (isMinimized()) return;