summaryrefslogtreecommitdiff
path: root/indra/newview/llnearbychathandler.cpp
diff options
context:
space:
mode:
authorDon Kjer <don@lindenlab.com>2010-12-13 12:34:39 -0800
committerDon Kjer <don@lindenlab.com>2010-12-13 12:34:39 -0800
commit9a322d1b7a6ee5380f8724b33a20c56c9583f093 (patch)
tree70ee8e942f30ac3ed2f371b60cfcba9adfd961c2 /indra/newview/llnearbychathandler.cpp
parentf4884faf3a020a718c611f34aa534e80d8a8b666 (diff)
parente27bcbe0d20c87556b0bcb1e3feaaea6544d3e16 (diff)
Merge from viewer-development
Diffstat (limited to 'indra/newview/llnearbychathandler.cpp')
-rw-r--r--indra/newview/llnearbychathandler.cpp66
1 files changed, 16 insertions, 50 deletions
diff --git a/indra/newview/llnearbychathandler.cpp b/indra/newview/llnearbychathandler.cpp
index dfbbaa0941..cebfac86e7 100644
--- a/indra/newview/llnearbychathandler.cpp
+++ b/indra/newview/llnearbychathandler.cpp
@@ -121,7 +121,7 @@ protected:
if (!toast) return;
LL_DEBUGS("NearbyChat") << "Pooling toast" << llendl;
toast->setVisible(FALSE);
- toast->stopFading();
+ toast->stopTimer();
toast->setIsHidden(true);
// Nearby chat toasts that are hidden, not destroyed. They are collected to the toast pool, so that
@@ -165,20 +165,11 @@ public:
: LLToast(p),
mNearbyChatScreenChannelp(nc_channelp)
{
- updateTransparency();
- setMouseEnterCallback(boost::bind(&LLNearbyChatToast::updateTransparency, this));
- setMouseLeaveCallback(boost::bind(&LLNearbyChatToast::updateTransparency, this));
}
/*virtual*/ void onClose(bool app_quitting);
- /*virtual*/ void setBackgroundOpaque(BOOL b);
-
-protected:
- /*virtual*/ void setTransparentState(bool transparent);
private:
- void updateTransparency();
-
LLNearbyChatScreenChannel* mNearbyChatScreenChannelp;
};
@@ -305,7 +296,7 @@ void LLNearbyChatScreenChannel::addNotification(LLSD& notification)
{
panel->addMessage(notification);
toast->reshapeToPanel();
- toast->startFading();
+ toast->startTimer();
arrangeToasts();
return;
@@ -350,7 +341,7 @@ void LLNearbyChatScreenChannel::addNotification(LLSD& notification)
panel->init(notification);
toast->reshapeToPanel();
- toast->startFading();
+ toast->startTimer();
m_active_toasts.push_back(toast->getHandle());
@@ -391,7 +382,10 @@ void LLNearbyChatScreenChannel::showToastsBottom()
return;
LLRect toast_rect;
- S32 bottom = getRect().mBottom;
+ updateBottom();
+ S32 channel_bottom = getRect().mBottom;
+
+ S32 bottom = channel_bottom;
S32 margin = gSavedSettings.getS32("ToastGap");
//sort active toasts
@@ -523,6 +517,14 @@ void LLNearbyChatHandler::processChat(const LLChat& chat_msg, const LLSD &args)
}
nearby_chat->addMessage(chat_msg, true, args);
+
+ if(chat_msg.mSourceType == CHAT_SOURCE_AGENT
+ && chat_msg.mFromID.notNull()
+ && chat_msg.mFromID != gAgentID)
+ {
+ LLFirstUse::otherAvatarChatFirst();
+ }
+
if( nearby_chat->getVisible()
|| ( chat_msg.mSourceType == CHAT_SOURCE_AGENT
&& gSavedSettings.getBOOL("UseChatBubbles") ) )
@@ -582,13 +584,7 @@ void LLNearbyChatHandler::processChat(const LLChat& chat_msg, const LLSD &args)
notification["font_size"] = (S32)LLViewerChat::getChatFontSize() ;
channel->addNotification(notification);
}
-
- if(chat_msg.mSourceType == CHAT_SOURCE_AGENT
- && chat_msg.mFromID.notNull()
- && chat_msg.mFromID != gAgentID)
- {
- LLFirstUse::otherAvatarChatFirst();
- }
+
}
void LLNearbyChatHandler::onDeleteToast(LLToast* toast)
@@ -606,34 +602,4 @@ void LLNearbyChatToast::onClose(bool app_quitting)
mNearbyChatScreenChannelp->onToastDestroyed(this, app_quitting);
}
-// virtual
-void LLNearbyChatToast::setBackgroundOpaque(BOOL b)
-{
- // We don't want background changes: transparency is handled differently.
- LLToast::setBackgroundOpaque(TRUE);
-}
-
-// virtual
-void LLNearbyChatToast::setTransparentState(bool transparent)
-{
- LLToast::setTransparentState(transparent);
- updateTransparency();
-}
-
-void LLNearbyChatToast::updateTransparency()
-{
- ETypeTransparency transparency_type;
-
- if (isHovered())
- {
- transparency_type = TT_ACTIVE;
- }
- else
- {
- transparency_type = getTransparentState() ? TT_FADING : TT_INACTIVE;
- }
-
- LLFloater::updateTransparency(transparency_type);
-}
-
// EOF