diff options
Diffstat (limited to 'indra/newview')
| -rw-r--r-- | indra/newview/llnotificationofferhandler.cpp | 26 | ||||
| -rw-r--r-- | indra/newview/llviewermessage.cpp | 7 | ||||
| -rw-r--r-- | indra/newview/skins/default/xui/en/notifications.xml | 9 | 
3 files changed, 28 insertions, 14 deletions
diff --git a/indra/newview/llnotificationofferhandler.cpp b/indra/newview/llnotificationofferhandler.cpp index 94e733913d..dea3a0c169 100644 --- a/indra/newview/llnotificationofferhandler.cpp +++ b/indra/newview/llnotificationofferhandler.cpp @@ -92,16 +92,26 @@ bool LLOfferHandler::processNotification(const LLSD& notify)  	if(notify["sigtype"].asString() == "add" || notify["sigtype"].asString() == "change")  	{  		// add message to IM -		LLUUID session_id = LLIMMgr::computeSessionID(IM_NOTHING_SPECIAL, notification->getPayload()["from_id"]); -		if (!LLIMMgr::instance().hasSession(session_id)) +		const std::string +				name = +						notification->getSubstitutions().has("NAME") ? notification->getSubstitutions()["NAME"] +								: notification->getSubstitutions()["[NAME]"]; + +		// don't create IM session with objects +		if (notification->getName() != "ObjectGiveItem" +				&& notification->getName() != "ObjectGiveItemUnknownUser")  		{ -			session_id = LLIMMgr::instance().addSession( -					notification->getSubstitutions()["OBJECTFROMNAME"], IM_NOTHING_SPECIAL, -					notification->getPayload()["from_id"]); +			LLUUID from_id = notification->getPayload()["from_id"]; +			LLUUID session_id = LLIMMgr::computeSessionID(IM_NOTHING_SPECIAL, +					from_id); +			if (!LLIMMgr::instance().hasSession(session_id)) +			{ +				session_id = LLIMMgr::instance().addSession(name, +						IM_NOTHING_SPECIAL, from_id); +			} +			LLIMMgr::instance().addMessage(session_id, LLUUID(), name, +					notification->getMessage());  		} -		LLIMMgr::instance().addMessage(session_id, LLUUID(), -				notification->getSubstitutions()["OBJECTFROMNAME"], -				notification->getMessage());  		LLToastNotifyPanel* notify_box = new LLToastNotifyPanel(notification); diff --git a/indra/newview/llviewermessage.cpp b/indra/newview/llviewermessage.cpp index 11b2f07f1b..8db6d5917a 100644 --- a/indra/newview/llviewermessage.cpp +++ b/indra/newview/llviewermessage.cpp @@ -1372,7 +1372,8 @@ void inventory_offer_handler(LLOfferInfo* info, BOOL from_task)  	payload["from_id"] = info->mFromID;  	args["OBJECTFROMNAME"] = info->mFromName; -	args["NAME"] = LLSLURL::buildCommand("agent", info->mFromID, "about"); +	args["NAME"] = info->mFromName; +	args["NAME_SLURL"] = LLSLURL::buildCommand("agent", info->mFromID, "about");  	std::string verb = "highlight?name=" + msg;  	args["ITEM_SLURL"] = LLSLURL::buildCommand("inventory", info->mObjectID, verb.c_str()); @@ -2115,7 +2116,9 @@ void process_improved_im(LLMessageSystem *msg, void **user_data)  			send_generic_message("requestonlinenotification", strings);  			args["NAME"] = name; -			LLNotifications::instance().add("FriendshipAccepted", args); +			LLSD payload; +			payload["from_id"] = from_id; +			LLNotifications::instance().add("FriendshipAccepted", args, payload);  		}  		break; diff --git a/indra/newview/skins/default/xui/en/notifications.xml b/indra/newview/skins/default/xui/en/notifications.xml index 56cb54c975..4897a4c8ab 100644 --- a/indra/newview/skins/default/xui/en/notifications.xml +++ b/indra/newview/skins/default/xui/en/notifications.xml @@ -4959,7 +4959,7 @@ No valid parcel could be found.     icon="notify.tga"     name="ObjectGiveItem"     type="offer"> -An object named [OBJECTFROMNAME] owned by [NAME] has offered you [OBJECTTYPE]: +An object named [OBJECTFROMNAME] owned by [NAME_SLURL] has offered you [OBJECTTYPE]:  [ITEM_SLURL]      <form name="form">        <button @@ -4980,8 +4980,9 @@ An object named [OBJECTFROMNAME] owned by [NAME] has offered you [OBJECTTYPE]:    <notification     icon="notify.tga"     name="ObjectGiveItemUnknownUser" -   type="notify"> -An object named [OBJECTFROMNAME] owned by (an unknown Resident) has given you a [OBJECTTYPE] named [OBJECTNAME]. +   type="offer"> +An object named [OBJECTFROMNAME] owned by (an unknown Resident) has offered you [OBJECTTYPE]: +[ITEM_SLURL]      <form name="form">        <button         index="0" @@ -5002,7 +5003,7 @@ An object named [OBJECTFROMNAME] owned by (an unknown Resident) has given you a     icon="notify.tga"     name="UserGiveItem"     type="offer"> -[NAME] has offered you [OBJECTTYPE]: +[NAME_SLURL] has offered you [OBJECTTYPE]:  [ITEM_SLURL]      <form name="form">        <button  | 
