diff options
| -rw-r--r-- | indra/llui/llsearcheditor.cpp | 1 | ||||
| -rw-r--r-- | indra/newview/llcallingcard.cpp | 17 | ||||
| -rw-r--r-- | indra/newview/llimfloater.cpp | 1 | ||||
| -rw-r--r-- | indra/newview/llsearchcombobox.cpp | 1 | ||||
| -rw-r--r-- | indra/newview/lltoastnotifypanel.cpp | 9 | 
5 files changed, 28 insertions, 1 deletions
| diff --git a/indra/llui/llsearcheditor.cpp b/indra/llui/llsearcheditor.cpp index 6fa99df82e..838dbbd135 100644 --- a/indra/llui/llsearcheditor.cpp +++ b/indra/llui/llsearcheditor.cpp @@ -60,6 +60,7 @@ LLSearchEditor::LLSearchEditor(const LLSearchEditor::Params& p)  	line_editor_params.keystroke_callback(boost::bind(&LLSearchEditor::handleKeystroke, this));  	mSearchEditor = LLUICtrlFactory::create<LLLineEditor>(line_editor_params); +	mSearchEditor->setPassDelete(TRUE);  	addChild(mSearchEditor);  	if (p.search_button_visible) diff --git a/indra/newview/llcallingcard.cpp b/indra/newview/llcallingcard.cpp index 996139fccc..c3bda26aac 100644 --- a/indra/newview/llcallingcard.cpp +++ b/indra/newview/llcallingcard.cpp @@ -63,6 +63,7 @@  #include "llviewerobjectlist.h"  #include "llviewerwindow.h"  #include "llvoavatar.h" +#include "llavataractions.h"  ///----------------------------------------------------------------------------  /// Local function declarations, constants, enums, and typedefs @@ -711,7 +712,21 @@ void LLAvatarTracker::processNotify(LLMessageSystem* msg, bool online)  		if(notify)  		{  			// Popup a notify box with online status of this agent -			LLNotificationPtr notification = LLNotificationsUtil::add(online ? "FriendOnline" : "FriendOffline", args); +			LLNotificationPtr notification; + +			if (online) +			{ +				notification = +					LLNotificationsUtil::add("FriendOnline", +											 args, +											 LLSD().with("respond_on_mousedown", TRUE), +											 boost::bind(&LLAvatarActions::startIM, agent_id)); +			} +			else +			{ +				notification = +					LLNotificationsUtil::add("FriendOffline", args); +			}  			// If there's an open IM session with this agent, send a notification there too.  			LLUUID session_id = LLIMMgr::computeSessionID(IM_NOTHING_SPECIAL, agent_id); diff --git a/indra/newview/llimfloater.cpp b/indra/newview/llimfloater.cpp index 53cdfcc9b2..94b540a7e1 100644 --- a/indra/newview/llimfloater.cpp +++ b/indra/newview/llimfloater.cpp @@ -271,6 +271,7 @@ BOOL LLIMFloater::postBuild()  	mInputEditor->setCommitOnFocusLost( FALSE );  	mInputEditor->setRevertOnEsc( FALSE );  	mInputEditor->setReplaceNewlinesWithSpaces( FALSE ); +	mInputEditor->setPassDelete( TRUE );  	std::string session_name(LLIMModel::instance().getName(mSessionID)); diff --git a/indra/newview/llsearchcombobox.cpp b/indra/newview/llsearchcombobox.cpp index 93a70b6471..a130878176 100644 --- a/indra/newview/llsearchcombobox.cpp +++ b/indra/newview/llsearchcombobox.cpp @@ -78,6 +78,7 @@ LLSearchComboBox::LLSearchComboBox(const Params&p)  	button_params.click_callback.function(boost::bind(&LLSearchComboBox::onSelectionCommit, this));  	mSearchButton = LLUICtrlFactory::create<LLButton>(button_params);  	mTextEntry->addChild(mSearchButton); +	mTextEntry->setPassDelete(TRUE);  	setButtonVisible(p.dropdown_button_visible);  	mTextEntry->setCommitCallback(boost::bind(&LLComboBox::onTextCommit, this, _2)); diff --git a/indra/newview/lltoastnotifypanel.cpp b/indra/newview/lltoastnotifypanel.cpp index 4d741456c4..980b51337f 100644 --- a/indra/newview/lltoastnotifypanel.cpp +++ b/indra/newview/lltoastnotifypanel.cpp @@ -294,6 +294,15 @@ void LLToastNotifyPanel::adjustPanelForTipNotice()  	mControlPanel->setVisible(FALSE);  	reshape(getRect().getWidth(), mInfoPanel->getRect().getHeight()); + +	if (mNotification->getPayload().has("respond_on_mousedown") +		&& mNotification->getPayload()["respond_on_mousedown"] ) +	{ +		mInfoPanel->setMouseDownCallback( +			boost::bind(&LLNotification::respond, +						mNotification, +						mNotification->getResponseTemplate())); +	}  }  // static | 
