diff options
author | Paul ProductEngine <pguslisty@productengine.com> | 2011-12-13 17:27:54 +0200 |
---|---|---|
committer | Paul ProductEngine <pguslisty@productengine.com> | 2011-12-13 17:27:54 +0200 |
commit | aba090ab9027e5a5c1e9eb114ecca12b9eafa978 (patch) | |
tree | 64f77ca94916056f9b9b6e4b45f2af5f19f17864 /indra/newview | |
parent | e859c3446b5c631fe0a9806434aa19b64a0d9113 (diff) |
EXP-1599 FIXED (Sharing multiple selected inventory folders only shares one folder (no warning for user))
- In case of sharing multiple folders, make the confirmation dialog contain a warning that only one folder can be shared at a time.
Diffstat (limited to 'indra/newview')
-rwxr-xr-x | indra/newview/llavataractions.cpp | 19 | ||||
-rw-r--r-- | indra/newview/skins/default/xui/en/notifications.xml | 20 |
2 files changed, 38 insertions, 1 deletions
diff --git a/indra/newview/llavataractions.cpp b/indra/newview/llavataractions.cpp index 8ca621538f..7abecc643b 100755 --- a/indra/newview/llavataractions.cpp +++ b/indra/newview/llavataractions.cpp @@ -680,12 +680,29 @@ namespace action_give_inventory std::string items; build_items_string(inventory_selected_uuids, items); + int folders_count = 0; + std::set<LLUUID>::const_iterator it = inventory_selected_uuids.begin(); + + //traverse through selected inventory items and count folders among them + for ( ; it != inventory_selected_uuids.end() && folders_count <=1 ; ++it) + { + LLViewerInventoryCategory* inv_cat = gInventory.getCategory(*it); + if (NULL != inv_cat) + { + folders_count++; + } + } + + // EXP-1599 + // In case of sharing multiple folders, make the confirmation + // dialog contain a warning that only one folder can be shared at a time. + std::string notification = (folders_count > 1) ? "ShareFolderConfirmation" : "ShareItemsConfirmation"; LLSD substitutions; substitutions["RESIDENTS"] = residents; substitutions["ITEMS"] = items; LLShareInfo::instance().mAvatarNames = avatar_names; LLShareInfo::instance().mAvatarUuids = avatar_uuids; - LLNotificationsUtil::add("ShareItemsConfirmation", substitutions, LLSD(), &give_inventory_cb); + LLNotificationsUtil::add(notification, substitutions, LLSD(), &give_inventory_cb); } } diff --git a/indra/newview/skins/default/xui/en/notifications.xml b/indra/newview/skins/default/xui/en/notifications.xml index 0ba4b84abe..5b985c9981 100644 --- a/indra/newview/skins/default/xui/en/notifications.xml +++ b/indra/newview/skins/default/xui/en/notifications.xml @@ -6944,6 +6944,26 @@ With the following Residents: <notification icon="notifytip.tga" + name="ShareFolderConfirmation" + type="alertmodal"> +Only one folder at a time can be shared. + +Are you sure you want to share the following items: + +<nolink>[ITEMS]</nolink> + +With the following Residents: + +[RESIDENTS] + <tag>confirm</tag> + <usetemplate + name="okcancelbuttons" + notext="Cancel" + yestext="Ok"/> + </notification> + + <notification + icon="notifytip.tga" name="ItemsShared" type="notifytip"> Items successfully shared. |