From 30c586e77031f0c9141e8b8b96c344a6a9007876 Mon Sep 17 00:00:00 2001 From: Dmitry Zaporozhan Date: Tue, 16 Mar 2010 17:04:55 +0200 Subject: Updated normal task EXT-5905 - Resolving offers. Update for TeleportOffered and OfferFriendship offers. --HG-- branch : product-engine --- indra/newview/lltoastnotifypanel.cpp | 45 ++++++++++++++++++++++++++++++++++-- indra/newview/llviewermessage.cpp | 2 ++ 2 files changed, 45 insertions(+), 2 deletions(-) (limited to 'indra/newview') diff --git a/indra/newview/lltoastnotifypanel.cpp b/indra/newview/lltoastnotifypanel.cpp index 7805d23f02..2f77936cad 100644 --- a/indra/newview/lltoastnotifypanel.cpp +++ b/indra/newview/lltoastnotifypanel.cpp @@ -384,18 +384,59 @@ disable_button_map_t initUserGiveItemDisableButtonMap() return disable_map; } +disable_button_map_t initTeleportOfferedDisableButtonMap() +{ + disable_button_map_t disable_map; + button_name_set_t buttons; + + buttons.insert("Teleport"); + buttons.insert("Cancel"); + + disable_map.insert(std::make_pair("Teleport", buttons)); + disable_map.insert(std::make_pair("Cancel", buttons)); + + return disable_map; +} + +disable_button_map_t initFriendshipOfferedDisableButtonMap() +{ + disable_button_map_t disable_map; + button_name_set_t buttons; + + buttons.insert("Accept"); + buttons.insert("Decline"); + + disable_map.insert(std::make_pair("Accept", buttons)); + disable_map.insert(std::make_pair("Decline", buttons)); + + return disable_map; +} + button_name_set_t getButtonDisableList(const std::string& notification_name, const std::string& button_name) { static disable_button_map_t user_give_item_disable_map = initUserGiveItemDisableButtonMap(); + static disable_button_map_t teleport_offered_disable_map = initTeleportOfferedDisableButtonMap(); + static disable_button_map_t friendship_offered_disable_map = initFriendshipOfferedDisableButtonMap(); disable_button_map_t::const_iterator it; disable_button_map_t::const_iterator it_end; + disable_button_map_t search_map; if("UserGiveItem" == notification_name) { - it = user_give_item_disable_map.find(button_name); - it_end = user_give_item_disable_map.end(); + search_map = user_give_item_disable_map; } + else if("TeleportOffered" == notification_name) + { + search_map = teleport_offered_disable_map; + } + else if("FriendshipOffered" == notification_name) + { + search_map = friendship_offered_disable_map; + } + + it = search_map.find(button_name); + it_end = search_map.end(); if(it_end != it) { diff --git a/indra/newview/llviewermessage.cpp b/indra/newview/llviewermessage.cpp index e6cf6e45ac..d44f5161f6 100644 --- a/indra/newview/llviewermessage.cpp +++ b/indra/newview/llviewermessage.cpp @@ -2318,6 +2318,7 @@ void process_improved_im(LLMessageSystem *msg, void **user_data) payload["from_id"] = from_id; payload["lure_id"] = session_id; payload["godlike"] = FALSE; + payload["reusable"] = true; LLNotificationsUtil::add("TeleportOffered", args, payload); } } @@ -2386,6 +2387,7 @@ void process_improved_im(LLMessageSystem *msg, void **user_data) } else { + payload["reusable"] = true; args["[MESSAGE]"] = message; LLNotificationsUtil::add("OfferFriendship", args, payload); } -- cgit v1.2.3