diff options
| -rw-r--r-- | indra/newview/llfloaterconversationpreview.cpp | 8 | ||||
| -rw-r--r-- | indra/newview/llfloaterimcontainer.cpp | 4 | ||||
| -rw-r--r-- | indra/newview/llfloaterimsessiontab.cpp | 11 | ||||
| -rw-r--r-- | indra/newview/llfloaterimsessiontab.h | 1 | 
4 files changed, 18 insertions, 6 deletions
| diff --git a/indra/newview/llfloaterconversationpreview.cpp b/indra/newview/llfloaterconversationpreview.cpp index c93181c0a1..48e0caa0ce 100644 --- a/indra/newview/llfloaterconversationpreview.cpp +++ b/indra/newview/llfloaterconversationpreview.cpp @@ -152,7 +152,13 @@ void LLFloaterConversationPreview::showHistory()  			chat.mSourceType = LLFloaterIMNearbyChat::isWordsName(from) ? CHAT_SOURCE_UNKNOWN : CHAT_SOURCE_OBJECT;  		} -		mChatHistory->appendMessage(chat); +		LLSD chat_args; +		chat_args["use_plain_text_chat_history"] = +						gSavedSettings.getBOOL("PlainTextChatHistory"); +		chat_args["show_time"] = gSavedSettings.getBOOL("IMShowTime"); +		chat_args["show_names_for_p2p_conv"] = gSavedSettings.getBOOL("IMShowNamesForP2PConv"); + +		mChatHistory->appendMessage(chat,chat_args);  	}  } diff --git a/indra/newview/llfloaterimcontainer.cpp b/indra/newview/llfloaterimcontainer.cpp index f73db6b166..565063a0ea 100644 --- a/indra/newview/llfloaterimcontainer.cpp +++ b/indra/newview/llfloaterimcontainer.cpp @@ -431,7 +431,9 @@ bool LLFloaterIMContainer::onConversationModelEvent(const LLSD& event)  		return false;  	}  	LLConversationViewParticipant* participant_view = session_view->findParticipant(participant_id); -    LLFloaterIMSessionTab *conversation_floater = (session_id.isNull() ? (LLFloaterIMSessionTab*)(LLFloaterReg::findTypedInstance<LLFloaterIMNearbyChat>("nearby_chat")) : (LLFloaterIMSessionTab*)(LLFloaterIMSession::findInstance(session_id))); +    LLFloaterIMSessionTab *conversation_floater = (session_id.isNull() ? +    		(LLFloaterIMSessionTab*)(LLFloaterReg::findTypedInstance<LLFloaterIMNearbyChat>("nearby_chat")) +    		: (LLFloaterIMSessionTab*)(LLFloaterIMSession::findInstance(session_id)));  	if (type == "remove_participant")  	{ diff --git a/indra/newview/llfloaterimsessiontab.cpp b/indra/newview/llfloaterimsessiontab.cpp index 0cdfde3975..37404ab716 100644 --- a/indra/newview/llfloaterimsessiontab.cpp +++ b/indra/newview/llfloaterimsessiontab.cpp @@ -60,6 +60,7 @@ LLFloaterIMSessionTab::LLFloaterIMSessionTab(const LLSD& session_id)    , mInputEditorTopPad(0)    , mRefreshTimer(new LLTimer())    , mIsHostAttached(false) +  , mHasVisibleBeenInitialized(false)  {      setAutoFocus(FALSE);  	mSession = LLIMModel::getInstance()->findIMSession(mSessionID); @@ -120,12 +121,14 @@ LLFloaterIMSessionTab* LLFloaterIMSessionTab::getConversation(const LLUUID& uuid  void LLFloaterIMSessionTab::setVisible(BOOL visible)  { -	LLTransientDockableFloater::setVisible(visible); - -	if(visible) +	if(visible && !mHasVisibleBeenInitialized)  	{ -			LLFloaterIMSessionTab::addToHost(mSessionID); +		mHasVisibleBeenInitialized = true; +		LLFloaterReg::getTypedInstance<LLFloaterIMContainer>("im_container")->setVisible(true); +		LLFloaterIMSessionTab::addToHost(mSessionID);  	} + +	LLTransientDockableFloater::setVisible(visible);  }  /*virtual*/ diff --git a/indra/newview/llfloaterimsessiontab.h b/indra/newview/llfloaterimsessiontab.h index 0fa99a46be..beaffc14a6 100644 --- a/indra/newview/llfloaterimsessiontab.h +++ b/indra/newview/llfloaterimsessiontab.h @@ -182,6 +182,7 @@ private:  	bool checkIfTornOff();      bool mIsHostAttached; +    bool mHasVisibleBeenInitialized;  	LLTimer* mRefreshTimer; ///< Defines the rate at which refresh() is called.  }; | 
