diff options
author | Jon Wolk <jwolk@lindenlab.com> | 2007-12-19 00:56:59 +0000 |
---|---|---|
committer | Jon Wolk <jwolk@lindenlab.com> | 2007-12-19 00:56:59 +0000 |
commit | 7dd08303a3ebf9718c2c60a4d94b81d5d7845f8c (patch) | |
tree | 6195a8585cc7998647afcaec2167e728e4abd3c1 /indra/newview/llfloaterchat.cpp | |
parent | 4d87303e78c1accde85b217b325e0c08930b0c4c (diff) |
svn merge -r 75354:76103 svn+ssh://svn.lindenlab.com/svn/linden/branches/voice-group-moderation-3 -> release. Finished product of QAR-134
Diffstat (limited to 'indra/newview/llfloaterchat.cpp')
-rw-r--r-- | indra/newview/llfloaterchat.cpp | 30 |
1 files changed, 24 insertions, 6 deletions
diff --git a/indra/newview/llfloaterchat.cpp b/indra/newview/llfloaterchat.cpp index 5fdbf7d408..82fe16172b 100644 --- a/indra/newview/llfloaterchat.cpp +++ b/indra/newview/llfloaterchat.cpp @@ -164,10 +164,16 @@ void LLFloaterChat::onVisibilityChange(BOOL new_visibility) { // Hide the chat overlay when our history is visible. gConsole->setVisible( !new_visibility ); + + // stop chat history tab from flashing when it appears + if (new_visibility) + { + LLFloaterChatterBox::getInstance()->setFloaterFlashing(this, FALSE); + } + LLFloater::onVisibilityChange(new_visibility); } - void add_timestamped_line(LLViewerTextEditor* edit, const LLString& line, const LLColor4& color) { bool prepend_newline = true; @@ -238,6 +244,12 @@ void LLFloaterChat::addChatHistory(const LLChat& chat, bool log_to_file) { chat_floater->mPanel->setSpeaker(chat.mFromID, chat.mFromName, LLSpeaker::STATUS_NOT_IN_CHANNEL, LLSpeaker::SPEAKER_OBJECT); } + + // start tab flashing on incoming text from other users (ignoring system text, etc) + if (!chat_floater->isInVisibleChain() && chat.mSourceType == CHAT_SOURCE_AGENT) + { + LLFloaterChatterBox::getInstance()->setFloaterFlashing(chat_floater, TRUE); + } } // static @@ -246,8 +258,14 @@ void LLFloaterChat::setHistoryCursorAndScrollToEnd() LLViewerTextEditor* history_editor = (LLViewerTextEditor*)LLFloaterChat::getInstance(LLSD())->getChildByName("Chat History Editor", TRUE); LLViewerTextEditor* history_editor_with_mute = (LLViewerTextEditor*)LLFloaterChat::getInstance(LLSD())->getChildByName("Chat History Editor with mute", TRUE); - history_editor->setCursorAndScrollToEnd(); - history_editor_with_mute->setCursorAndScrollToEnd(); + if (history_editor) + { + history_editor->setCursorAndScrollToEnd(); + } + if (history_editor_with_mute) + { + history_editor_with_mute->setCursorAndScrollToEnd(); + } } @@ -269,7 +287,7 @@ void LLFloaterChat::onClickMute(void *data) if (gFloaterMute) { - gFloaterMute->show(); + LLFloaterMute::showInstance(); } } @@ -433,7 +451,7 @@ void* LLFloaterChat::createSpeakersPanel(void* data) //static void* LLFloaterChat::createChatPanel(void* data) { - LLChatBar* chatp = new LLChatBar("floating_chat_bar"); + LLChatBar* chatp = new LLChatBar(); return chatp; } @@ -441,7 +459,7 @@ void* LLFloaterChat::createChatPanel(void* data) void LLFloaterChat::hideInstance(const LLSD& id) { LLFloaterChat* floaterp = LLFloaterChat::getInstance(LLSD()); - // don't do anything when hosted in the chatterbox + if(floaterp->getHost()) { LLFloaterChatterBox::hideInstance(LLSD()); |