diff options
| author | Merov Linden <merov@lindenlab.com> | 2012-06-26 17:15:48 -0700 | 
|---|---|---|
| committer | Merov Linden <merov@lindenlab.com> | 2012-06-26 17:15:48 -0700 | 
| commit | e8ec428539d951bdd3a26623b1dc38c54a04753b (patch) | |
| tree | 125b780a9c8c3847f7b53925a242ede581fee6f5 | |
| parent | c233f0c9494d7dddbd8baab0f87b0ad54f42b0f9 (diff) | |
| parent | abe106bd9c33fef12dcf4eacca228d5d669d9e34 (diff) | |
Pull merge from richard/viewer-chui
| -rw-r--r-- | indra/llui/llchatentry.cpp | 4 | ||||
| -rw-r--r-- | indra/newview/llimconversation.cpp | 15 | ||||
| -rw-r--r-- | indra/newview/llimconversation.h | 1 | ||||
| -rw-r--r-- | indra/newview/llimfloater.cpp | 84 | ||||
| -rw-r--r-- | indra/newview/skins/default/xui/en/floater_im_session.xml | 2 | ||||
| -rw-r--r-- | indra/newview/skins/default/xui/en/widgets/chat_editor.xml | 4 | 
6 files changed, 62 insertions, 48 deletions
diff --git a/indra/llui/llchatentry.cpp b/indra/llui/llchatentry.cpp index a6ba125406..2a6ccc3dc9 100644 --- a/indra/llui/llchatentry.cpp +++ b/indra/llui/llchatentry.cpp @@ -57,12 +57,12 @@ LLChatEntry::~LLChatEntry()  void LLChatEntry::draw()  { -	LLTextEditor::draw(); -  	if(mIsExpandable)  	{  		expandText();  	} + +	LLTextEditor::draw();  }  void LLChatEntry::onCommit() diff --git a/indra/newview/llimconversation.cpp b/indra/newview/llimconversation.cpp index cbebf3edd3..d3f3e41a29 100644 --- a/indra/newview/llimconversation.cpp +++ b/indra/newview/llimconversation.cpp @@ -103,6 +103,7 @@ BOOL LLIMConversation::postBuild()  	}  	buildParticipantList(); +	updateHeaderAndToolbar();  	if (isChatMultiTab())  	{ @@ -339,6 +340,20 @@ void LLIMConversation::onOpen(const LLSD& key)  	updateHeaderAndToolbar();  } +// virtual +void LLIMConversation::onClose(bool app_quitting) +{ +	// Always suppress the IM from the conversations list on close if present for any reason +	if (LLIMConversation::isChatMultiTab()) +	{ +		LLIMFloaterContainer* im_box = LLIMFloaterContainer::findInstance(); +		if (im_box) +		{ +            im_box->removeConversationListItem(mSessionID); +        } +    } +} +  void LLIMConversation::onTearOffClicked()  {  	onClickTearOff(this); diff --git a/indra/newview/llimconversation.h b/indra/newview/llimconversation.h index f4b8a38242..47c98d6f8b 100644 --- a/indra/newview/llimconversation.h +++ b/indra/newview/llimconversation.h @@ -63,6 +63,7 @@ public:  	// LLFloater overrides  	/*virtual*/ void onOpen(const LLSD& key); +	/*virtual*/ void onClose(bool app_quitting);  	/*virtual*/ BOOL postBuild();  protected: diff --git a/indra/newview/llimfloater.cpp b/indra/newview/llimfloater.cpp index f89bafc7ea..9ea4bec069 100644 --- a/indra/newview/llimfloater.cpp +++ b/indra/newview/llimfloater.cpp @@ -105,51 +105,6 @@ void LLIMFloater::onFocusReceived()  	}  } -// virtual -void LLIMFloater::onClose(bool app_quitting) -{ -	// Always suppress the IM from the conversations list on close if present for any reason -	if (LLIMConversation::isChatMultiTab()) -	{ -		LLIMFloaterContainer* im_box = LLIMFloaterContainer::findInstance(); -		if (im_box) -		{ -            im_box->removeConversationListItem(mSessionID); -        } -    } - -	LLIMModel::LLIMSession* session = LLIMModel::instance().findIMSession( -				mSessionID); - -	if (session == NULL) -	{ -		llwarns << "Empty session." << llendl; -		return; -	} - -	bool is_call_with_chat = session->isGroupSessionType() -			|| session->isAdHocSessionType() || session->isP2PSessionType(); - -	LLVoiceChannel* voice_channel = LLIMModel::getInstance()->getVoiceChannel(mSessionID); - -	if (is_call_with_chat && voice_channel != NULL -			&& voice_channel->isActive()) -	{ -		LLSD payload; -		payload["session_id"] = mSessionID; -		LLNotificationsUtil::add("ConfirmLeaveCall", LLSD(), payload, confirmLeaveCallCallback); -		return; -	} - -	setTyping(false); - -	// The source of much argument and design thrashing -	// Should the window hide or the session close when the X is clicked? -	// -	// Last change: -	// EXT-3516 X Button should end IM session, _ button should hide -	gIMMgr->leaveSession(mSessionID); -}  /* static */  void LLIMFloater::newIMCallback(const LLSD& data) @@ -616,6 +571,45 @@ LLIMFloater* LLIMFloater::getInstance(const LLUUID& session_id)  	return conversation;  } +void LLIMFloater::onClose(bool app_quitting) +{ +	LLIMConversation::onClose(app_quitting); + + +	LLIMModel::LLIMSession* session = LLIMModel::instance().findIMSession( +				mSessionID); + +	if (session == NULL) +	{ +		llwarns << "Empty session." << llendl; +		return; +	} + +	bool is_call_with_chat = session->isGroupSessionType() +			|| session->isAdHocSessionType() || session->isP2PSessionType(); + +	LLVoiceChannel* voice_channel = LLIMModel::getInstance()->getVoiceChannel(mSessionID); + +	if (is_call_with_chat && voice_channel != NULL +			&& voice_channel->isActive()) +	{ +		LLSD payload; +		payload["session_id"] = mSessionID; +		LLNotificationsUtil::add("ConfirmLeaveCall", LLSD(), payload, confirmLeaveCallCallback); +		return; +	} + +	setTyping(false); + +	// The source of much argument and design thrashing +	// Should the window hide or the session close when the X is clicked? +	// +	// Last change: +	// EXT-3516 X Button should end IM session, _ button should hide +	gIMMgr->leaveSession(mSessionID); + +} +  void LLIMFloater::setDocked(bool docked, bool pop_on_undock)  {  	// update notification channel state diff --git a/indra/newview/skins/default/xui/en/floater_im_session.xml b/indra/newview/skins/default/xui/en/floater_im_session.xml index 56e591e2bb..08bc46a506 100644 --- a/indra/newview/skins/default/xui/en/floater_im_session.xml +++ b/indra/newview/skins/default/xui/en/floater_im_session.xml @@ -246,7 +246,7 @@                label="To"                layout="bottomleft"                name="chat_editor" -              max_length="1024" +              max_length="1023"                tab_group="3"                width="240"                wrap="true"> diff --git a/indra/newview/skins/default/xui/en/widgets/chat_editor.xml b/indra/newview/skins/default/xui/en/widgets/chat_editor.xml new file mode 100644 index 0000000000..f9facb593a --- /dev/null +++ b/indra/newview/skins/default/xui/en/widgets/chat_editor.xml @@ -0,0 +1,4 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes" ?> +<chat_editor +  name="chat_editor" +  show_context_menu="true"/>  | 
