summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormaxim@mnikolenko <maxim@mnikolenko>2013-01-28 14:57:51 +0200
committermaxim@mnikolenko <maxim@mnikolenko>2013-01-28 14:57:51 +0200
commitaa524b18e5486b19aede990cb30fb89a0b48c083 (patch)
treec0075ebfa9b0634ad60a2fff8ab59bca57933271
parentdaa9db305a5ae2c0c5b0c2425d6482de6dee7b2c (diff)
CHUI-701 FIXED Don't show toasts and flashing, if conversation is opened but isn't focused.
-rw-r--r--indra/newview/llfloaterimnearbychathandler.cpp8
-rw-r--r--indra/newview/llimview.cpp19
2 files changed, 16 insertions, 11 deletions
diff --git a/indra/newview/llfloaterimnearbychathandler.cpp b/indra/newview/llfloaterimnearbychathandler.cpp
index f64cfd0245..8870d54cd2 100644
--- a/indra/newview/llfloaterimnearbychathandler.cpp
+++ b/indra/newview/llfloaterimnearbychathandler.cpp
@@ -604,6 +604,14 @@ void LLFloaterIMNearbyChatHandler::processChat(const LLChat& chat_msg,
toast_msg = chat_msg.mText;
}
+ //Don't show nearby toast, if conversation is visible but not focused
+ LLFloaterIMSessionTab* session_floater = LLFloaterIMSessionTab::getConversation(LLUUID());
+ if (session_floater
+ && session_floater->isInVisibleChain() && !session_floater->isMinimized()
+ && !(session_floater->getHost() && session_floater->getHost()->isMinimized()))
+ {
+ return;
+ }
//Will show toast when chat preference is set
if(gSavedSettings.getString("NotificationNearbyChatOptions") == "toast")
diff --git a/indra/newview/llimview.cpp b/indra/newview/llimview.cpp
index cb03c1d234..433ddad35d 100644
--- a/indra/newview/llimview.cpp
+++ b/indra/newview/llimview.cpp
@@ -204,19 +204,16 @@ void on_new_message(const LLSD& msg)
bool conversation_floater_not_focused =
conversation_floater_is_closed || !im_box->hasFocus();
+ // Skip toasting and flashing if we have open window of IM with this session id
+ if (session_floater
+ && session_floater->isInVisibleChain()
+ && !session_floater->isMinimized()
+ && !(session_floater->getHost() && session_floater->getHost()->isMinimized()))
+ {
+ return;
+ }
if ("toast" == action)
{
- // Skip toasting and flashing if we have open window of IM with this session id
- if (session_floater
- && session_floater->isInVisibleChain()
- && session_floater->hasFocus()
- && !session_floater->isMinimized()
- && !(session_floater->getHost() && session_floater->getHost()->isMinimized())
- )
- {
- return;
- }
-
//User is not focused on conversation containing the message
if(session_floater_not_focused)
{