diff options
Diffstat (limited to 'indra/newview')
| -rwxr-xr-x | indra/newview/llconversationview.cpp | 1 | ||||
| -rw-r--r-- | indra/newview/llfloaterimcontainer.cpp | 26 | ||||
| -rw-r--r-- | indra/newview/llfloaterimnearbychat.cpp | 7 | ||||
| -rw-r--r-- | indra/newview/llimview.cpp | 5 | ||||
| -rw-r--r-- | indra/newview/skins/default/xui/en/menu_url_agent.xml | 7 | 
5 files changed, 36 insertions, 10 deletions
| diff --git a/indra/newview/llconversationview.cpp b/indra/newview/llconversationview.cpp index 882ef64715..74b348cd81 100755 --- a/indra/newview/llconversationview.cpp +++ b/indra/newview/llconversationview.cpp @@ -567,6 +567,7 @@ BOOL LLConversationViewParticipant::handleMouseDown( S32 x, S32 y, MASK mask )      		LLFloaterIMContainer *im_container = LLFloaterReg::getTypedInstance<LLFloaterIMContainer>("im_container");      		LLFloaterIMSessionTab* session_floater = LLFloaterIMSessionTab::findConversation(session_id); +			im_container->setSelectedSession(session_id);  			im_container->flashConversationItemWidget(session_id,false);  			im_container->selectFloater(session_floater);  			im_container->collapseMessagesPane(false); diff --git a/indra/newview/llfloaterimcontainer.cpp b/indra/newview/llfloaterimcontainer.cpp index 46ec1d510d..a0c386717b 100644 --- a/indra/newview/llfloaterimcontainer.cpp +++ b/indra/newview/llfloaterimcontainer.cpp @@ -758,11 +758,21 @@ void LLFloaterIMContainer::assignResizeLimits()  	// between the panels are merged into one      S32 number_of_visible_borders = llmin((is_conv_pane_expanded? 2 : 0) + (is_msg_pane_expanded? 2 : 0), 3);      S32 summary_width_of_visible_borders = number_of_visible_borders * LLPANEL_BORDER_WIDTH; -	S32 conv_pane_current_width = is_msg_pane_expanded -			? mConversationsPane->getRect().getWidth() -			: (is_conv_pane_expanded? mConversationsPane->getExpandedMinDim() : mConversationsPane->getMinDim()); +	S32 conv_pane_target_width = is_conv_pane_expanded? +			(is_msg_pane_expanded? +					mConversationsPane->getRect().getWidth() +					: mConversationsPane->getExpandedMinDim()) +			: mConversationsPane->getMinDim();  	S32 msg_pane_min_width  = is_msg_pane_expanded ? mMessagesPane->getExpandedMinDim() : 0; -	S32 new_min_width = conv_pane_current_width + msg_pane_min_width + summary_width_of_visible_borders; +	S32 new_min_width = conv_pane_target_width + msg_pane_min_width + summary_width_of_visible_borders; + +    if (is_conv_pane_expanded) +    { +    	// Save the conversations pane width. +	    gSavedPerAccountSettings.setS32( +	            "ConversationsListPaneWidth", +                mConversationsPane->getRect().getWidth()); +    }  	setResizeLimits(new_min_width, getMinHeight());  } @@ -1947,10 +1957,10 @@ void LLFloaterIMContainer::closeFloater(bool app_quitting/* = false*/)  	// Most of the time the user will never see this state.  	setMinimized(FALSE); -	S32 conv_pane_width = mConversationsPane->getRect().getWidth(); - -	// Save the conversations pane width before collapsing it. -	gSavedPerAccountSettings.setS32("ConversationsListPaneWidth", conv_pane_width); +	// Save the conversations pane width. +	gSavedPerAccountSettings.setS32( +			"ConversationsListPaneWidth", +			mConversationsPane->getRect().getWidth());  	LLFloater::closeFloater(app_quitting);  } diff --git a/indra/newview/llfloaterimnearbychat.cpp b/indra/newview/llfloaterimnearbychat.cpp index 02f54e76db..dfaf4bbdd6 100644 --- a/indra/newview/llfloaterimnearbychat.cpp +++ b/indra/newview/llfloaterimnearbychat.cpp @@ -353,6 +353,13 @@ BOOL LLFloaterIMNearbyChat::handleKeyHere( KEY key, MASK mask )  		sendChat(CHAT_TYPE_SHOUT);  		handled = TRUE;  	} +	else if (KEY_RETURN == key && mask == MASK_SHIFT) +	{ +		// whisper +		sendChat(CHAT_TYPE_WHISPER); +		handled = TRUE; +	} +  	if((mask == MASK_ALT) && isTornOff())  	{ diff --git a/indra/newview/llimview.cpp b/indra/newview/llimview.cpp index d69bd89f13..8f3f5145a9 100644 --- a/indra/newview/llimview.cpp +++ b/indra/newview/llimview.cpp @@ -273,7 +273,7 @@ void on_new_message(const LLSD& msg)  		}      } -    else if("openconversations" == action && !session_floater_is_open) +    else if("openconversations" == action)      {          //User is not focused on conversation containing the message          if(session_floater_not_focused) @@ -291,7 +291,8 @@ void on_new_message(const LLSD& msg)              //useMostItrusiveIMNotification will be called to notify user a message exists              if(session_id.notNull()                   && participant_id.notNull() -                && gAgent.isDoNotDisturb()) +                && gAgent.isDoNotDisturb() +				&& !session_floater_is_open)              {                  LLAvatarNameCache::get(participant_id, boost::bind(&on_avatar_name_cache_toast, _1, _2, msg));  			} diff --git a/indra/newview/skins/default/xui/en/menu_url_agent.xml b/indra/newview/skins/default/xui/en/menu_url_agent.xml index 73f0fa7979..88ae441bd3 100644 --- a/indra/newview/skins/default/xui/en/menu_url_agent.xml +++ b/indra/newview/skins/default/xui/en/menu_url_agent.xml @@ -3,6 +3,13 @@   layout="topleft"   name="Url Popup">      <menu_item_call +     label="Send IM" +     layout="topleft" +     name="show_agent"> +        <menu_item_call.on_click +         function="Url.SendIM" />         +    </menu_item_call> +    <menu_item_call       label="Show Resident Profile"       layout="topleft"       name="show_agent"> | 
